[PKGBUILD] remplacer la dépendance à catalyst-utils par libg

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

[PKGBUILD] remplacer la dépendance à catalyst-utils par libg

Message par celmir »

Bonjour,

Je continue mon apprentissage de l'Art de la création de paquet sous Arch et je rencontre un problème qui doit être récurent mais pour lequel je ne vois pas de solution.
http://celmir.tuxfamily.org/?13-creatio ... oswars-2-5

Comment remplacer la dépendance à catalyst-utils par libgl sur ma machine ?
si j'essaye d'installer libgl via pacman , le contrôle de dépendance m'interdit de continuer sauf à remplacer les packages en conflit ce que je ne souhaite pas.

Une installation manuelle ou un paquet libgl customisé ne me semble pas forcément une bonne chose sauf si je suis sur que le processus de compilation va utiliser la bibliothèque pour statiquement incorporer la dépendance dans le paquet boswars ?

Merci d'avance pour vos suggestions

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

Salut,

Tu peux te baser sur le PKGBUILD existant sur AUR :
http://aur.archlinux.org/packages/boswa ... s/PKGBUILD
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

après un 'yaourt -S boswars' lorsque je teste la qualité du paquet sur AUR j'obtiens :

Code : Tout sélectionner

==>  Continue installing boswars? [Y/n]
==>  [v]iew package contents [c]heck package with namcap
==>   ----------------------------------------------
==>c




boswars    E: Dependency detected and not included (gcc-libs) from files ['opt/bos/boswars']
boswars    E: Dependency detected and not included (libgl) from files ['opt/bos/boswars']
boswars    E: Dependency detected and not included (libpng) from files ['opt/bos/boswars']
boswars    W: Dependency included but already satisfied (zlib)
boswars    W: Dependency included but already satisfied (libogg)
boswars    W: Dependency included and not needed (libmikmod)
Donc finalement je n'ai pas à rougir de mon paquet et j'avoue que cela ne m'apprends rien sauf que je ferais peut-etre mieux de me faire une vm avec libgl et mesa installés de manière à éviter la dépendance à catalyst-utils ?

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

Je crois que pour la dépendance il faut utiliser 'mesa' qui est générique à tous les pilotes 3D.
Certains jeux 3D ont 'mesa' dans leurs dépendances.
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

j'avais essayé hier mais sans succès.
Par contre sur ma vm sans nvidia-* et catalyst-* avec libgl et mesa installés le paquet passe le test de qualité avec le PKGBUILD suivant

Code : Tout sélectionner

# $Id: PKGBUILD,v 1.00 2008/09/27 11:00:00 celmir Exp $
# Contributor: Celmir 
# Maintainer: Celmir 
pkgname=boswars
pkgver=2.5
pkgrel=2
pkgdesc="real time strategy game"
arch=(i686)
license=('GPL')
url="http://www.boswars.org/"
makedepends=('scons')
depends=('gcc-libs' 'libgl' 'lua' 'sdl' 'libvorbis' 'libpng' 'libtheora')
source=(http://www.boswars.org/dist/releases/$pkgname-$pkgver-src.tar.gz astar.patch stratagus.patch)
md5sums=('9d280d086ccf81119f40bde98eb9a795' '9b463eb67db0638d17d61964fcc65655' '0d45c2de70b213e6bc14860a79adb74e')
install=boswars.install
build() {
	cd $startdir/src/$pkgname-$pkgver-src
	mkdir -p $startdir/pkg/usr/share/games/$pkgname
	patch -Np0 -i $startdir/src/astar.patch || return 1
  	patch -Np0 -i $startdir/src/stratagus.patch || return 1
	scons release || return 1
	for _replist in campaigns doc engine graphics intro languages maps scripts sounds tools units
	do
		cp -r $startdir/src/$pkgname-$pkgver-src/$_replist $startdir/pkg/usr/share/games/$pkgname
	done
	chown -R root:root $startdir/pkg/usr/share/games/$pkgname
	chmod -R ug=rwX,o=rX $startdir/pkg/usr/share/games/$pkgname
	install -o root -g root -m 0755 $pkgname $startdir/pkg/usr/share/games/$pkgname/$pkgname
}
Plus de dépendances à catalyst-utils !
Name : boswars
Version : 2.5-2
URL : http://www.boswars.org/
Licenses : GPL
Groups : None
Provides : None
Depends On : gcc-libs libgl lua sdl libvorbis libpng libtheora
Optional Deps : None
Required By : None
Conflicts With : None
Replaces : None
Installed Size : 83700.00 K
Packager : Unknown Packager
Architecture : i686
Build Date : Thu Oct 2 14:36:37 2008
Install Date : Thu Oct 2 14:51:24 2008
Install Reason : Explicitly installed
Install Script : Yes
Description : real time strategy game
Je le teste sur mon PC ce soir mais bon j'imagine qu'il doit bien y avoir une solution plus élégante et professionnelle.
:)

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

Je ne comprends pas ce que je dois faire pour éviter de passer par une vm !

ldd renvoie des informations identiques entre le paquet dépendant de catalyst-utils et celui dépendant de libgl.

Code : Tout sélectionner

ldd /usr/share/games/boswars/boswars
	linux-gate.so.1 =>  (0xb7f55000)
	libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7f2d000)
	libz.so.1 => /usr/lib/libz.so.1 (0xb7f19000)
	libdl.so.2 => /lib/libdl.so.2 (0xb7efd000)
	liblua.so => /usr/lib/liblua.so (0xb7ed6000)
	libGL.so.1 => /usr/lib/libGL.so.1 (0xb7e5b000)
	libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7e33000)
	libtheora.so.0 => /usr/lib/libtheora.so.0 (0xb7de9000)
	libogg.so.0 => /usr/lib/libogg.so.0 (0xb7de4000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0xb7cf5000)
	libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7c61000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xb7c49000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7b59000)
	libm.so.6 => /lib/libm.so.6 (0xb7b32000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7b25000)
	libc.so.6 => /lib/libc.so.6 (0xb79e3000)
	/lib/ld-linux.so.2 (0xb7f56000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0xb79d5000)
	libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb79d3000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb79ba000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0xb79b7000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb79b2000)
Par contre les informations sur les paquets sont différentes.
pacman -Qi boswars
Nom : boswars
Version : 2.5-2
URL : http://www.boswars.org/
Licences : GPL
Groupes : --
Fournit : --
Dépend de : gcc-libs libgl lua sdl libvorbis libpng
libtheora
Dépendances opt. : --
Requis par : --
Incompatible avec : --
Remplace : --
Taille (installé) : 83700,00 K
Paqueteur : Unknown Packager
Architecture : i686
Compilé le : jeu. 02 oct. 2008 14:36:37 CEST
Installé le : sam. 04 oct. 2008 13:52:43 CEST
Motif d'installation : Explicitement installé
Script d'installation : Oui
Description : real time strategy game
pacman -Qi boswars
Nom : boswars
Version : 2.5-2
URL : http://www.boswars.org/
Licences : GPL
Groupes : --
Fournit : --
Dépend de : catalyst-utils lua sdl libvorbis libpng libtheora
Dépendances opt. : --
Requis par : --
Incompatible avec : --
Remplace : --
Taille (installé) : 83700,00 K
Paqueteur : Unknown Packager
Architecture : i686
Compilé le : sam. 04 oct. 2008 20:05:18 CEST
Installé le : sam. 04 oct. 2008 20:06:40 CEST
Motif d'installation : Explicitement installé
Script d'installation : Oui
Description : real time strategy game
ce problème doit etre récurent alors comment le résoudre ?

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

je me demande s'il ne faudrait pas que le paquet catalyst-utils soit complété par :

Code : Tout sélectionner

provides = libgl
afin que la dépendance soit résolu en mettant libgl dans le PKGBUILD de mon paquet (si cela s'avérait exact la même remarque serait valable pour nvidia-utils) ?

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

j'ai pas vraiment saisi ce que tu veux faire, si j'ai +/- compris
- tu veux installer boswars sans installer libgl
- libgl équivalent à catalyst-utils
- d'après "pacman -Si catalyst-utils", ce dernier fournit libgl

du coup, je vois pas le problème, il suffit de mettre "libgl" en dépendance.

libgl s'installera par défaut, mais si tu veux catalyst-utils, il suffira de l'installer avant.
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

Désolé de mettre autant de temps à répondre ...

je suis d'accord avec toi mais dans la pratique j'ai comme un problème :

Si le paquet catalyst-utils comporte bien la clause 'provides = libgl'

Code : Tout sélectionner

 pacman -Qi catalyst-utils
Nom                   : catalyst-utils
Version               : 8.8-1
URL                   : http://www.ati.amd.com
Licences              : custom  
Groupes               : --
Fournit               : libgl  
Dépend de             : xorg-server>=1.1.1  libdrm  libstdc++5  netkit-bsd-finger  
                        libxrandr  libsm  fontconfig  libxcursor  libxi  gcc-libs  
Dépendances opt.      : --
Requis par            : boswars  catalyst  compiz-core  dangerdeep  freedroidrpg  
                        gnome-screensaver  mesa  mplayer  supertux  supertuxkart  
                        tuxracer  
Incompatible avec     : libgl  ati-drivers-module  ati-drivers  nvidia  
Remplace              : ati-drivers  ati-fglrx-utils  fglrx-utils  
Taille (installé)     : 55028,00 K
Paqueteur             : Andreas Radke <andyrtr@archlinux.org>
Architecture          : i686
Compilé le            : ven. 22 août 2008 18:41:45 CEST
Installé le           : sam. 23 août 2008 09:12:26 CEST
Motif d'installation  : Explicitement installé
Script d'installation : Oui
Description           : Proprietary AMD/ATI userspace tools and libraries for Radeon brand
                        cards.
le test de qualité après fabrication du paquet boswars me donne toujours la même erreur :

Code : Tout sélectionner

namcap boswars-2.5-2-i686.pkg.tar.gz 
boswars    E: Dependency detected and not included (catalyst-utils) from files ['usr/share/games/boswars/boswars']
Mon pkgbuild :

Code : Tout sélectionner

 cat PKGBUILD 
# $Id: PKGBUILD,v 1.00 2008/09/27 11:00:00 celmir Exp $
# Contributor: Celmir 
# Maintainer: Celmir 
pkgname=boswars
pkgver=2.5
pkgrel=2
pkgdesc="real time strategy game"
arch=(i686)
license=('GPL')
url="http://www.boswars.org/"
makedepends=('scons')
depends=('libgl' 'lua' 'sdl' 'libvorbis' 'libpng' 'libtheora')
source=(http://www.boswars.org/dist/releases/$pkgname-$pkgver-src.tar.gz astar.patch stratagus.patch)
md5sums=('9d280d086ccf81119f40bde98eb9a795' '9b463eb67db0638d17d61964fcc65655' '0d45c2de70b213e6bc14860a79adb74e')
install=boswars.install
build() {
	cd $startdir/src/$pkgname-$pkgver-src
	mkdir -p $startdir/pkg/usr/share/games/$pkgname
	patch -Np0 -i $startdir/src/astar.patch || return 1
  	patch -Np0 -i $startdir/src/stratagus.patch || return 1
	scons release || return 1
	for _replist in campaigns doc engine graphics intro languages maps scripts sounds tools units
	do
		cp -r $startdir/src/$pkgname-$pkgver-src/$_replist $startdir/pkg/usr/share/games/$pkgname
	done
	chown -R root:root $startdir/pkg/usr/share/games/$pkgname
	chmod -R ug=rwX,o=rX $startdir/pkg/usr/share/games/$pkgname
	install -o root -g root -m 0755 $pkgname $startdir/pkg/usr/share/games/$pkgname/$pkgname
}


Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

celmir a écrit :
le test de qualité après fabrication du paquet boswars me donne toujours la même erreur :

Code : Tout sélectionner

namcap boswars-2.5-2-i686.pkg.tar.gz 
boswars    E: Dependency detected and not included (catalyst-utils) from files ['usr/share/games/boswars/boswars']
ca doit etre parce que tu le compiles chez toi et que tu as catalyst-utils
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

Je suis de nouveau d'accord avec toi, mais je cherche donc une solution pour éviter de passer par une vm sachant que je ne me vois pas bricoler à chaque fois la configuration de mon poste physique. Je résume :
1- je ne peux pas installer libgl car j'ai catalyst-utils et c'est incompatible avec libgl.
2- Même si je spécifie ligl au lieu de catalyst-utils dans le PKGBUILD et bien que catalyst-utils soit indiqué comme fournissant libgl. J'ai une erreur namcap quand je compile sur ma machine physique.
3- la seule solution que j'ai trouvé c'est une vm sous qemu avec arch utilisant libgl+mesa, et là ca passe.

donc je voudrais savoir si mon problème est récurent ou s'il s'agit d'un bogue de pacman/namcap. Ici je m'adresse surtout aux personnes ayant rencontré la même difficulté avec d'autre paquet dépendant de (catalyst ou nvidia* )-utils

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

tu veux fournir un paquet binaire ?
si c'est le cas, tu es obligé de passer par une vm ou indiquer clairement catalyst-utils dans les dépendances, par contre pour fournir seulement le PKGBUILD, je vois pas ce qui te gène... namcap affiche des infos, ce n'est nullement bloquant pour fournir juste PKGBUILD
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

C'est pas faux comme dirais un célèbre chevalier.
[edit]
ok pas d'autre solution :x

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Répondre