[PKGBUILD] Problème de repository (résolu)

Mise à jour / Création /debug de paquetages
kochka
newbie
Messages : 6
Inscription : mer. 16 oct. 2013, 17:39

[PKGBUILD] Problème de repository (résolu)

Message par kochka »

Bonjour,

Nouveau sur Arch, j'ai donc une question de débutant sur les PKG AUR.

Je me suis fait un package Nginx perso pour avoir certain modules spécifiques. Le truc bizarre c'est que yaourt le prends comme un package de community.

Code : Tout sélectionner

yaourt -Q nginx
community/nginx 1.4.3-1
Le matching se fait par nom ? J'ai gardé le nom nginx en espérant que ça puisse assurer les autres dépendances sur nginx. Quelle est la bonne pratique ?

Code : Tout sélectionner

# $Id$
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Maintainer: Sébastien Luttringer
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl>

pkgname=nginx
pkgver=1.4.3
pkgrel=1
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
arch=('i686' 'x86_64')
url='http://nginx.org'
license=('custom')
depends=('pcre' 'zlib' 'openssl')
optdepends=(
  'php-fpm: php support'
)
backup=('etc/nginx/fastcgi.conf'
        'etc/nginx/fastcgi_params'
        'etc/nginx/koi-win'
        'etc/nginx/koi-utf'
        'etc/nginx/mime.types'
        'etc/nginx/nginx.conf'
        'etc/nginx/scgi_params'
        'etc/nginx/uwsgi_params'
        'etc/nginx/win-utf'
        'etc/logrotate.d/nginx')
install=install
source=("http://nginx.org/download/nginx-$pkgver.tar.gz"
        'service'
        'logrotate'
        'upload-progress.source.tar.gz::https://github.com/masterzen/nginx-upload-progress-module/archive/v0.9.0.tar.gz'
        'sticky.source.tar.gz::https://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-1.1.tar.gz')
sha256sums=('ae123885c923a6c3f5bab0a8b7296ef21c4fdf6087834667ebbc16338177de84'
            '7b24ef87021738a3714cfbe1104071f439c08ca0f9c9d3b8a6b5cbd8ae1a6a73'
            'c26c9a9e4a80b1f4496a93818194f90da3f9f480766434eaa1c0ca5caa829243'
            '93e29b9b437a2e34713de54c2861ea51151624aca09f73f9f44d1caaff01a6b1'
            '6c18334d29d055bf9f21d59f9e9fb093e4dad017577f54b37c9358d315b05587')

build() {
    cd $pkgname-$pkgver
    ./configure \
        --prefix=/etc/nginx \
        --conf-path=/etc/nginx/nginx.conf \
        --sbin-path=/usr/bin/nginx \
        --pid-path=/run/nginx.pid \
        --lock-path=/run/lock/nginx.lock \
        --user=http \
        --group=http \
        --http-log-path=/var/log/nginx/access.log \
        --error-log-path=/var/log/nginx/error.log \
        --http-client-body-temp-path=/var/lib/nginx/client-body \
        --http-proxy-temp-path=/var/lib/nginx/proxy \
        --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
        --http-scgi-temp-path=/var/lib/nginx/scgi \
        --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
        --with-imap \
        --with-imap_ssl_module \
        --with-ipv6 \
        --with-pcre-jit \
        --with-file-aio \
        --with-http_dav_module \
        --with-http_gunzip_module \
        --with-http_gzip_static_module \
        --with-http_realip_module \
        --with-http_spdy_module \
        --with-http_ssl_module \
        --with-http_stub_status_module \
        --with-http_addition_module \
        --with-http_degradation_module \
        --with-http_flv_module \
        --with-http_mp4_module \
        --with-http_secure_link_module \
        --with-http_sub_module \
        --add-module=$srcdir/nginx-upload-progress-module-0.9.0 \
        --add-module=$srcdir/nginx-sticky-module-1.1 \
        --add-module=/usr/local/rvm/gems/ruby-1.9.3-p448/gems/passenger-4.0.20/ext/nginx/
    make
}

package() {
    cd $pkgname-$pkgver
    make DESTDIR="$pkgdir" install

    sed -e 's|\<user\s\+\w\+;|user html;|g' \
        -e '44s|html|/usr/share/nginx/html|' \
        -e '54s|html|/usr/share/nginx/html|' \
        -i "$pkgdir"/etc/nginx/nginx.conf
    rm "$pkgdir"/etc/nginx/*.default

    install -d "$pkgdir"/var/lib/nginx
    install -dm700 "$pkgdir"/var/lib/nginx/proxy

    chmod 750 "$pkgdir"/var/log/nginx
    chown http:log "$pkgdir"/var/log/nginx

    install -d "$pkgdir"/usr/share/nginx
    mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx

    install -Dm644 "$srcdir"/logrotate "$pkgdir"/etc/logrotate.d/nginx
    install -Dm644 "$srcdir"/service "$pkgdir"/usr/lib/systemd/system/nginx.service
    install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
    rmdir "$pkgdir/run"
}

# vim:set ts=4 sw=4 et:
Dernière modification par kochka le jeu. 24 oct. 2013, 13:58, modifié 1 fois.
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [PKGBUILD] Problème de repository

Message par MrMen »

Je ne comprends pas tout, mais il faut éviter de mettre le même nom. Quand tu vas appeler yaourt, il va aller regarder si un paquet du même nom n'est pas dans les dépôts : ce qui est ton cas !
Tu passes par makepkg ? Tu modifies ton PKGBUILD, et tu balances un makepkg et ça devrait le faire.
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] Problème de repository

Message par benjarobin »

Il est fortement déconseillé de faire ainsi.
Nomme ton paquet autrement, par exemple nginx-perso, et rajoute ces 2 lignes au PKGBUILD

Code : Tout sélectionner

provides=('nginx')
conflicts=('nginx')
Tout est expliqué dans le Wiki Standard_paquetage
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
kochka
newbie
Messages : 6
Inscription : mer. 16 oct. 2013, 17:39

Re: [PKGBUILD] Problème de repository

Message par kochka »

Nickel merci, j'étais passé à coté de provides :D
Répondre