[PKGBUILD] cups minimaliste (résolu)

Mise à jour / Création /debug de paquetages
yopmail
Hankyu
Messages : 17
Inscription : dim. 18 janv. 2009, 12:07

[PKGBUILD] cups minimaliste (résolu)

Message par yopmail »

Bonjour,

étonné de certaines dépendances par défaut de cups (avahi, slp...) à installer sur mon modeste serveur familial, je suis en train de modifier le PKGBUILD récupéré via abs afin de me faire mon propre paquet.

voici le PKGBUILD

Code : Tout sélectionner

# $Id: PKGBUILD 44882 2009-07-04 19:24:06Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>

pkgname=cups
pkgver=1.3.11
pkgrel=1
pkgdesc="The CUPS Printing System"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
depends=('acl' 'pam' "libcups>=${pkgver}" 'xdg-utils' 'heimdal>=1.2.1-5' 'gnutls>=2.8.1' 'poppler>=0.10.7-2')
makedepends=('xinetd' 'gzip' 'autoconf')
install=cups.install
backup=(etc/cups/cupsd.conf
        etc/cups/mime.convs
        etc/cups/mime.types
        etc/cups/snmp.conf
        etc/dbus-1/system.d/cups.conf
        etc/logrotate.d/cups
        etc/pam.d/cups
        etc/xinetd.d/cups-lpd)
source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
        cups cups.logrotate cups.pam
	gnutls-pkgconfig.dpatch)
options=('!emptydirs') #'!makeflags') seems smp safe now; find pkg/ | sort | wc -l gives 1815
md5sums=('17f3e2bcb3cae3dd9dceb65a2bfd295f'
         '5c85b7d8d2ddd02c2c64955cebbf55ea'
         'f861b18f4446c43918c8643dcbbd7f6d'
         '96f82c38f3f540b53f3e5144900acf17'
	 '7322c46c2f33863dce85eb75a1d9ccab')

build() {
  cd ${srcdir}/${pkgname}-${pkgver}
  # http://patch-tracking.debian.net/patch/series/view/cups/1.3.10-5/gnutls-pkgconfig.dpatch
  patch -Np1 -i ${srcdir}/gnutls-pkgconfig.dpatch || return 1
  aclocal
  autoconf
  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
     --with-logdir=/var/log/cups -with-docdir=/usr/share/cups/doc \
     --with-cups-user=daemon --with-cups-group=lp --without-php \
     --enable-pam=yes --disable-slp --disable-dnssd --disable-ldap \
     --disable-pap \
     --without-icondir --without-menudir \
     --libdir=/usr/lib --enable-raw-printing \
     --enable-dbus --with-dbusdir=/etc/dbus-1 --enable-ssl=yes --enable-gnutls \
     --enable-pdftops --with-pdftops=pdftops --with-optim="$CFLAGS"
  make || return 1

  #Wreck out cups library installation
  sed -i -e 's/^DIRS\s=\scups/DIRS = /' Makefile

  make BUILDROOT=${pkgdir} install

  #Wreck out some stuff included in libcups
  
  if [ "$CARCH" = "x86_64" ]; then 
    if [ -f $pkgdir/usr/lib64 ]; then
	 rm -rf ${pkgdir}/usr/lib64/
    fi
  fi
  rm -f ${startdir}/pkg/usr/lib/libcupsimage.so* 
  rm -f ${startdir}/pkg/usr/bin/cups-config
  rm -rf ${startdir}/pkg/usr/include

  # kill the sysv stuff
  rm -rf ${startdir}/pkg/etc/rc*.d
  rm -rf ${startdir}/pkg/etc/init.d
  install -D -m755 ../cups ${startdir}/pkg/etc/rc.d/cups
  install -D -m644 ../cups.logrotate ${startdir}/pkg/etc/logrotate.d/cups
  install -D -m644 ../cups.pam ${startdir}/pkg/etc/pam.d/cups
  
  # fix perms on /var/spool and /etc
  chmod 755 ${startdir}/pkg/var/spool
  chmod 755 ${startdir}/pkg/etc

  # fix .desktop file
  sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' $startdir/pkg/usr/share/applications/cups.desktop
  
  # compress some driver files, adopted from Fedora
  find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f
}
j'ai viré le superflu et mis quelques trucs en disable (slp, pap...), suivi d'un

Code : Tout sélectionner

$ fakeroot makepkg --asroot
pas de soucis, mais lorsque j'installe le paquet c'est le drame :

Code : Tout sélectionner

# pacman -U cups-1.3.11-1-i686.pkg.tar.gz
(1/1) Analyse des conflits entre fichiers [###########] 100%
(1/1) Mise à jour de cups [###########] 100%
Erreur: la commande n'a pas pu être exécutée correctement
A priori le service a l'air de marcher lorsque je le start.

D'où viendrait cette erreur ? et comment la virer afin d'avoir un truc propre ?
merci
Dernière modification par yopmail le mar. 01 sept. 2009, 16:44, modifié 1 fois.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Re: [PKGBUILD] cups minimaliste

Message par marc[i1] »

yopmail a écrit :

Code : Tout sélectionner

$ fakeroot makepkg --asroot
:shock:
ça sert à rien de faire ça !!!

ça c’est le bien :

Code : Tout sélectionner

$ makepkg
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Re: [PKGBUILD] cups minimaliste

Message par marc[i1] »

yopmail a écrit : D'où viendrait cette erreur ? et comment la virer afin d'avoir un truc propre ?
merci
Tu as modifié le cups.install ?
Ne vous emmerdez plus, emmerdez les autres.
yopmail
Hankyu
Messages : 17
Inscription : dim. 18 janv. 2009, 12:07

Re: [PKGBUILD] cups minimaliste (résolu)

Message par yopmail »

autant pour moi. Disons que j'ai voulu suivre la doc http://wiki.archlinux.org/index.php/AUR_User_Guidelines qui a un moment parle du parametre "s" à makepkg. Pareil sur le wiki français. Et comme j'utilise pas sudo j'ai pris l'option fakeroot.

Effectivement ça venait bien du cups.install qui lançait xdg-icon-ressource alors que j'ai viré la dépendance. Ya une doc rapide qq part au sujet des fichiers .install ?

Merci !
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [PKGBUILD] cups minimaliste (résolu)

Message par tuxce »

yopmail a écrit :Et comme j'utilise pas sudo j'ai pris l'option fakeroot.
c'est pas l'une ou l'autre :)
sudo est utilisé pour installé les dépendances avec le "-s" et installer le paquet et fakeroot est utilisé pendant la construction et est appelé par makepkg lui même.
yopmail a écrit :Ya une doc rapide qq part au sujet des fichiers .install ?
ça charge le fichier puis execute {pre,post}_{upgrade,install,remove} selon l'état.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Re: [PKGBUILD] cups minimaliste (résolu)

Message par marc[i1] »

yopmail a écrit :Ya une doc rapide qq part au sujet des fichiers .install ?

Code : Tout sélectionner

$ man PKGBUILD
:wink:
Ne vous emmerdez plus, emmerdez les autres.
yopmail
Hankyu
Messages : 17
Inscription : dim. 18 janv. 2009, 12:07

Re: [PKGBUILD] cups minimaliste (résolu)

Message par yopmail »

ok pour le makepkg -s c'est plus clair maintenant. J'en reviens toujours pas la facilité déconcertante à créer un paquet puis l'installer proprement sans polluer l'arbo. Moi qui était un accro debian depuis plusieurs année, j'ai viré de bord.

merci à tous les 2, le man PKGBUILD m'attend.
Répondre