Page 1 sur 2
[Paquets]Petites questions (répondu)
Publié : mer. 09 juil. 2008, 16:23
par chaoswizard
Salut à tous,
Je viens de compiler la dernières version du jeu Wesnoth sous Archlinux (c'était vraiment simple, ça me surprend presque !) et j'ai quelques petites questions à vous poser :
Dans le répertoire où le programme a été compiler, je récupère un fichier wesnoth-devel-1.5.1-1-i686.pkg.tar.gz (j'ai ensuite utiliser yaourt pour l'installer) et un dossier pkg avec toute l'"arborescence" du programme (je ne vois pas comment le dire autrement...).
Est-ce que je peux avec ces fichiers construire un paquet deb pour mes systèmes sous Debian ?
Si je pose la question, c'est que je me souviens avoir vu dans une documentation Debian un passage qu disait qu'il ne valait mieux pas créer de paquet avec des sources que l'on a soit même compilé ... (j'ai jamais vraiment compris pourquoi...)
Ensuite, je me demandais si je pouvais réutiliser le fichier pkg.tar.gz pour une autre machine ?
Si oui, pourquoi n'y a t-il pas de fichier déjà compiler dans les dépôts d'Arch ?
Dernière question : quand on compile des fichiers depuis AUR, yaourt n'installe pas les dépendances, on est obligé de le faire à la main ?
Merci !
Publié : mer. 09 juil. 2008, 16:49
par tuxce
salut, j'ai pas tout saisi, mais je vais essayer de répondre:
1/ sous debian, tu peux utiliser checkinstall pour construire un paquet depuis une compilation.
il se peut que copier le .pkg.tar.gz fonctionne mais ce n'est pas le but
pas compris le truc de ne pas créer de paquet avec des sources compilées.
2/ oui si c'en est une sous archlinux
3/ les dépots officiels d'arch n'ont que des paquets binaires
4/ yaourt installe les dépendances qui sont spécifiées, s'il en manque une, il faut le signaler au mainteneur.
l'installation des paquets faisant partie de la catégorie "base" est considéré comme implicite.
Publié : mer. 09 juil. 2008, 16:55
par chaoswizard
sous debian, tu peux utiliser checkinstall pour construire un paquet depuis une compilation.
pas compris le truc de ne pas créer de paquet avec des sources compilées.
A voilà, c'est ça : la doc expliquait qu'il ne fallait jamais distribuer de paquets crées avec la commande checkinstall.
Mais avec les fichiers du répertoire pkg, je peux ?
les dépots officiels d'arch n'ont que des paquets binaires
Et comment je fais un paquet binaire avec mon pkg.tar.gz ou les fichiers du repertoire pkg ?
yaourt installe les dépendances qui sont spécifiées
Pour les installations depuis AUR, il ne me les installe pas...
Publié : mer. 09 juil. 2008, 16:59
par tuxce
chaoswizard a écrit :
A voilà, c'est ça : la doc expliquait qu'il ne fallait jamais distribuer de paquets crées avec la commande checkinstall.
Mais avec les fichiers du répertoire pkg, je peux ?
ils sont déjà distribués vu que tu les as installé depuis AUR si j'ai bien compris.
pour le reste, documente toi un peu sur le principe des paquets et différences entre les distribs
chaoswizard a écrit :
Et comment je fais un paquet binaire avec mon pkg.tar.gz ou les fichiers du repertoire pkg ?
??
chaoswizard a écrit :
Pour les installations depuis AUR, il ne me les installe pas...
un exemple? tu as vérifié si les dites dépendances sont spécifiés par le mainteneur?
Publié : mer. 09 juil. 2008, 17:07
par chaoswizard
ils sont déjà distribuer vu que tu les as installé depuis AUR si j'ai bien compris
Heu, j'ai juste récupéré le fichier PKGBUILD + sources du programme.
??
Ben tu me dis que "les dépots officiels d'arch n'ont que des paquets binaires", donc il doit bien y avoir un moyen de les faire ses paquets binaires...
Je suppose que c'est différent de ce qu'il y a dans les pkg.tar.gz vu ta réponse !
un exemple?
Ben quand je veux installer le paquet kdeless depuis AUR, il me met :
Code : Tout sélectionner
==> kdeless dependencies:
- kdelibs (already installed)
- imlib (already installed)
- zip (already installed)
- unzip (already installed)
- rar (package found)
- libusb (already installed)
mais il ne m'installe pas pour autant le paquet rar...
Publié : mer. 09 juil. 2008, 17:16
par tuxce
les dépots officiels et supportés de arch sont core et extra, community est supporté par la communauté, "archlinuxfr" est le dépot propre de ce site, ces 4 contiennent des paquets binaires.
AUR n'est pas un dépot à proprement parler, il ne contient que les PKGBUILD et les fichiers nécessaires pour créer le paquet, n'importe qui peut soumettre une archive (il faut donc faire attention à ce qu'on récupère)
pour kdeless, tu es allé jusqu'à la fin ou pas?
si c'est le cas et qu'il ne t'installe pas "rar", poste la sortie pour voir (dans pastebin si c'est long).
Publié : mer. 09 juil. 2008, 17:18
par chaoswizard
Code : Tout sélectionner
==> Building and installing package
==> WARNING: the arch variable is missing !
yaourt will add arch=('i686') automatically.
==> Création du paquet kdeless 3.5.2-2 (mer. juil. 9 10:17:36 CEST 2008)
==> Vérification des dépendances...
==> Dépendances manquantes:
-> rar
==> Vérification des dépendances pour la compilation...
==> ERREUR: Échec de résolution des dépendances.
Error: Makepkg was unable to build kdeless package.
Donc pour moi, il lui manque la dépendance : si je l'ajoute à la main (j'ai fais ça pour un autre programme), ça devrait marcher...
Publié : mer. 09 juil. 2008, 17:23
par tuxce
tu as le dépot archlinuxfr dans ta config?
Publié : mer. 09 juil. 2008, 17:26
par chaoswizard
tuxce a écrit :tu as le dépot archlinuxfr dans ta config?
Oui, oui :
pacman.conf
Code : Tout sélectionner
[archlinuxfr]
Server = http://repo.archlinux.fr/i686
[current]
# Add your preferred servers here, they will be used first
Server = http://mir.archlinux.fr/current/os/i686
Server = ftp://mir1.archlinuxfr.org/archlinux/current/os/i686
Server = ftp://mir2.archlinuxfr.org/archlinux/current/os/i686
#Include = /etc/pacman.d/current
[extra]
# Add your preferred servers here, they will be used first
Server = http://mir.archlinux.fr/extra/os/i686
Server = ftp://mir1.archlinuxfr.org/archlinux/extra/os/i686
Server = ftp://mir2.archlinuxfr.org/archlinux/extra/os/i686
#Include = /etc/pacman.d/extra
[unstable]
# Add your preferred servers here, they will be used first
Server = http://mir.archlinux.fr/unstable/os/i686
Server = ftp://mir1.archlinuxfr.org/archlinux/unstable/os/i686
Server = ftp://mir2.archlinuxfr.org/archlinux/unstable/os/i686
#Include = /etc/pacman.d/unstable
[community]
# Add your preferred servers here, they will be used first
Server = http://mir.archlinux.fr/community/os/i686
Server = ftp://mir1.archlinuxfr.org/archlinux/community/os/i686
Server = ftp://mir2.archlinuxfr.org/archlinux/community/os/i686
#Include = /etc/pacman.d/community
Publié : mer. 09 juil. 2008, 17:39
par maxi_jac
Euh je pense que c'est "normal" ca me fait pareil, il me dit les packages manquants mais ne les installe pas seul.
Je dois installer ce qui manque et relancer yaourt pour construire mon package.
++ B.
Publié : mer. 09 juil. 2008, 17:43
par chaoswizard
Bon, donc ça me rassure, je ne suis pas le seul !
Publié : mer. 09 juil. 2008, 18:16
par tuxce
je vois que ton pacman.conf utilise encore current, tu as mis à jour ton système?
c'est quoi la version de pacman
et yaourt par la même occasion:
Publié : mer. 09 juil. 2008, 18:19
par chaoswizard
tuxce a écrit :je vois que ton pacman.conf utilise encore current, tu as mis à jour ton système?
Heu oui, oui un yaourt -Syu
Je ne devrais pas avoir les dépôts current ?
Sinon :
Code : Tout sélectionner
Pacman v3.1.4 - libalpm v2.3.1
yaourt 0.9.00 is a pacman frontend with AUR support and more
Publié : mer. 09 juil. 2008, 18:33
par tuxce
la, ca devient bizarre...
télécharge le .tar.gz de kdeless depuis aur, décompresse le et lance:
pour voir
Publié : mer. 09 juil. 2008, 18:36
par chaoswizard
Heu, c'est quoi le tarball (fichier tar.gz) ?
Sinon, j'obtiens :
Terminal classique :
Code : Tout sélectionner
==> ERREUR: Sudo introuvable! Est-il installé?
Les dépendances manquantes ne peuvent pas être installés ou désinstallés par un utilisateur normal
sans sudo; installez et configurez sudo pour que les dépendances soient résolus automatiquement.
Terminal root :
Code : Tout sélectionner
==> ERREUR: Lancer makepkg en root est une MAUVAISE idée et peut causer
des dommages permanents et catastrophiques à votre système. Si vous
souhaitez le lancer en root, utilisez l'option --asroot.
Donc il faut installer sudo ?
Publié : mer. 09 juil. 2008, 18:42
par tuxce
ah oui, j'avais raté la ligne ou yaourt teste si sudo existe, effectivement, il te le faut

sinon, pour le dépot current:
http://archlinux.fr/news/news-archlinux ... linux.html
au fait si tu pouvais modifier le titre tel qu'indiqué ici:
http://forums.archlinux.fr/topic68.html
Publié : mer. 09 juil. 2008, 18:58
par chaoswizard
Bon, j'ai fais les modifs current ==> core
J'ai installer sudo et maintenant, yaourt installe bien les dépendances ! (il faudrait pi être le dire dans le wiki non ?).
J'ai aussi modifier le titre !
Reste mon problème de départ compilation Arch/Paquets deb !
En tous cas, merci tuxce !
Publié : mer. 09 juil. 2008, 19:21
par cycyx
Bon, déjà, je pense qu'une mise au point s'impose : lorsque tu as fini de compiler ton programme, le .pkg.tar.gz est un paquet binaire !
Tu peux le copier sur une autre machine Arch, l'installer ailleurs, etc.
Donc voilà, tu as un paquet.
Ensuite, pourquoi veux-tu utiliser les fichiers du répertoire pkg pour créer un paquet Debian ?
Tu vas sur ta Debian, tu choppes les sources de Wesnoth, tu fais ta compil et ton checkinstall et voilà.
Si tu te prends la tête à essayer d'utiliser les binaires/objets compilé sur Arch, tu risques de te retrouver confronter à des différences de version de bibliothèques, de chemin d'accès à des objets partagés (.so), ...
Bref, trop de complication et de prise de tête pour un résultat probablement peu probant.
Publié : mer. 09 juil. 2008, 19:32
par chaoswizard
Bon, déjà, je pense qu'une mise au point s'impose : lorsque tu as fini de compiler ton programme, le .pkg.tar.gz est un paquet binaire !
Bon, c'est bien ce que je pensais !
Ensuite, pourquoi veux-tu utiliser les fichiers du répertoire pkg pour créer un paquet Debian ?
Pour ne pas avoir à compiler 4 fois le même programme, c'est un peu dommage je trouve...
Si tu te prends la tête à essayer d'utiliser les binaires/objets compilé sur Arch, tu risques de te retrouver confronter à des différences de version de bibliothèques, de chemin d'accès à des objets partagés (.so), ...
Oui, donc, je ne peux pas ?!
Mais dans ce cas là, pourquoi je n'aurais pas le même problème sur une autre machine avec Arch : qui me dit que les versions de bibliothèques sont les mêmes (sauf si les 2 systemes sont à jour...) ?
Publié : mer. 09 juil. 2008, 19:50
par cycyx
Bin tu t'es partiellement répondu : sur Arch, un paquet indique les dépendances dont il a besoin (si le PKGBUILD est bien fait), donc logiquement, pour installer un paquet, si tu n'as pas la bonne version d'une bibliothèque (et que la nouvelle version est dispo), il y aura une mise à jour.
Mais bon : tous tes systèmes sont à jour non ? :p
Quant au fait de devoir compiler 3 ou 4 fois un programme, tant que ce n'est pas OpenOffice.org...
