[yaourt] yaourt ne comprends pas PKGBUILD [RESOLU]

Annonces, dépannage, évolution du projet yaourt
webjdm
Hankyu
Messages : 43
Inscription : sam. 17 mai 2008, 17:43

[yaourt] yaourt ne comprends pas PKGBUILD [RESOLU]

Message par webjdm » mer. 03 sept. 2008, 23:03

Salut,
J'ai créé un PKGBUILD pour faire fonctionner mon imprimante Lexmark ( :evil: ) et je vérifies de temps en temps son bon fonctionnement dans AUR...
Voici son début:

Code : Tout sélectionner

pkgname=lexmarkz-cups
pkgver=1
pkgrel=4
pkgdesc="Lexmark Z35, Z55, Z65, Z600 and Z700 Printer Drivers for CUPS"
arch=('i686' 'x86_64')
url="http://www.lexmark.com/"
license=('custom')
if [ "$CARCH" = "x86_64" ]; then
	depends=('cups' 'lib32-gcc-libs' 'lib32-heimdal' 'lib32-libcups' 'lib32-libgnutls13' 'lib32-libstdc++5')
else
	depends=('cups' 'gcc-libs' 'libgnutls13' 'libstdc++5')
fi
makedepends=('rpmunpack' 'cpio' 'gzip' 'bash')
...
Comme vous l'avez peut-être remarquer, j'ai un peu bidouiller la ligne depends, car les paquets i686 et x86_64 ne sont pas tous les même...
Le probleme: Si je fais un makepkg avec tous ce qu'il faut, chez moi ça marche... Si j'essais de l'installer avec yaourt, il voudra m'installer les dépendences i686 que je veux pas, puis les dépendences x86_64...

Alors que faire?? Créer un deuxième paquet (pour chaques architectures), ou bien coder un truc [plus propre/comprehensible] par yaourt...

Cordialement,
webjdm
Dernière modification par webjdm le ven. 05 sept. 2008, 18:37, modifié 1 fois.

farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Message par farvardin » jeu. 04 sept. 2008, 22:16

je n'y connais pas grand chose, mais c'est quoi ce "$CARCH" ? Chez moi echo $CARCH ne donne rien du tout.

Cela ne serait pas mieux un :

Code : Tout sélectionner

if [ `arch` = "x86_64" ] /.../

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

Message par tuxce » jeu. 04 sept. 2008, 23:39

ca vient du fait que $CARCH est définie dans le /etc/makepkg.conf, donc makepkg prend les dépendances x86_64 parce que CARCH est défini, alors que yaourt teste les dépendances avant de lire le /etc/makepkg.conf, CARCH n'est pas encore définie, il prend donc les dépendances i686, puis lorsqu'il appelle "makepkg -s" il veut installer les dependances x86_64

fais le test avec $(arch) comme indiqué par farabi

webjdm
Hankyu
Messages : 43
Inscription : sam. 17 mai 2008, 17:43

Message par webjdm » ven. 05 sept. 2008, 18:36

Effectivement c'etait un problème de variable... merci à vous deux :)

Répondre