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

Mise à jour / Création /debug de paquetages
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

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

Message par Tristelune »

Salut à tous,

J'ai récemment eu un problème avec le paquet

https://aur.archlinux.org/packages/cnijfilter-mg6300/

que j'ai créé suite à l'achat de mon imprimante canon. Un des binaires du paquet utilise la librairie
libpng:

Code : Tout sélectionner

$ ldd /usr/bin/cifmg6300 
        linux-vdso.so.1 (0x00007fffcf898000)
        libtiff.so.5 => /usr/lib/libtiff.so.5 (0x00007f5c65250000)
        libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f5c6501b000)
        libcnbpcnclapi408.so => /usr/lib/libcnbpcnclapi408.so (0x00007f5c655ae000)
        libcnbpcnclui408.so => /usr/lib/libcnbpcnclui408.so (0x00007f5c64f14000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0x00007f5c64d08000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f5c6495b000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f5c64738000)
        libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007f5c644e7000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f5c642d1000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f5c63fd3000)
        libcnbpcnclbjcmd408.so => /usr/lib/libcnbpcnclbjcmd408.so (0x00007f5c63ece000)
        libcnbpcmcm408.so => /usr/lib/libcnbpcmcm408.so (0x00007f5c63dc2000)
        libcnbpess408.so => /usr/lib/libcnbpess408.so (0x00007f5c63c41000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f5c63a3d000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f5c654c3000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f5c63821000)
Lorsque j'ai compilé mon paquet, la version 1.5 de libpng (ou 15 je ne sais pas comment ça fonctionne) était installée. Lors d'une récente mise à jour, la version 1.6 a été installée et ensuite il a été impossible d'imprimer. J'ai dû recompiler le paquet pour que tout rentre dans l'ordre.
Je me suis alors demandé comment éviter ce problème à l'avenir. Comme actuellement libpng est en version 1.6, j'ai pensé ajouter la dépendance suivante au PKGBUILD:

Code : Tout sélectionner

depends=('libpng=1.6') 
Mais ça ne passe pas. J'obtiens:

Code : Tout sélectionner

==> Making package: cnijfilter-mg6300 3.80-5 (Sat May 25 01:23:29 CEST 2013)
==> Checking runtime dependencies...
==> Missing dependencies:
  -> libpng=1.6
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
Si je mets

Code : Tout sélectionner

depends=('libpng=1.6.2') 
ça passe. Mais ce que je veux c'est lui indiquer que cnijfilter-mg6300 dépend de libpng 1.6.x. Comment lui spécifier ça ?
En passant: ce n'est que mon idée. On s'y prend peut-être autrement pour éviter que le problème ne se reproduise. Dans ce cas je suis ouvert à toutes suggestions.

Merci!
Dernière modification par Tristelune le sam. 25 mai 2013, 15:12, modifié 1 fois.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] Problème de dépendances

Message par FoolEcho »

Salut,

Utilise < ou <= plutôt, car le égal contraint une version précise.

Code : Tout sélectionner

depends=('libpng<=1.7.0') 
Tristelune a écrit :Lorsque j'ai compilé mon paquet, la version 1.5 de libpng (ou 15 je ne sais pas comment ça fonctionne) était installée.
Pour info et parce que ça peut servir (si par exemple tu as un paquet précompilé qui nécessite une version précise), chaque précédente version de libpng change de nom (libpng est devenu libpng15 lorsque libpng est passé en 1.6).
«The following statement is not true. The previous statement is true.» :nage:
Tristelune
Elfe
Messages : 516
Inscription : mer. 01 août 2007, 16:38

Re: [PKGBUILD] Problème de dépendances

Message par Tristelune »

J'étais tellement fixé sur mettre un = dans la dépendance que je n'ai même pas pensé à la version que tu proposes...
Désolé.... :oops:

C'est bon comme ça, merci pour le coup de main!
Répondre