Page 1 sur 1

[IDEE LOUFOQUE] Faire renaître un paquet, comme dpkg-repack.

Publié : ven. 20 avr. 2007, 12:21
par mélodie
Bonjour,
J'ai demandé sur le chan si ça existe ? Quel usage me direz-vous peut-être ?
Si vous n'avez plus le paquet d'origine, et que vous voulez vous épargner de le retélécharger, ou retélécharger et compiler pour votre machine...

ou comme me l'a dit Warnaud sur le chan:
tu peux faire un pkg d'une appli avant de la virer pour la réinstaller plus vite si la nouvelle version est atomisée, exemple :
le passage de xorg 6.X à 7.0, tu te fais un pkg de ta version installée de 6.X, t'installe la 7.0 si ça déconne, tu remonte avec le pkg la 6.X
Pour lire sur dpkg-repack...
http://linuxfr.org/tips/233.html
Si vous ne parvenez plus à mettre la main sur un paquet que vous avez installé, ou bien que vous ne l'aviez pas installé et qu'un(e) copain(e) l'a sur son système, dpkg-repack est là pour vous aider ! Cet utilitaire permet de recréer le paquet depuis sa version installée sur le système (...)
Warnaud me signale aussi chez les gentooistesune option de emerge qui le fait:
http://gentoo-wiki.com/MAN_quickpkg_1

Quelqu'un serait intéressé d'étudier l'idée de faire renaître un paquet à partir d'une application installée dans une Arch Linux ?

Publié : ven. 20 avr. 2007, 12:26
par warnaud
yes c'est quickpkg http://gentoo-wiki.com/MAN_quickpkg_1 !
ça poutre grave :p

Publié : ven. 20 avr. 2007, 13:59
par Cactus
Je sais que les hébergements ne sont pas gratuits (quoique, je ne suis pas expert en la matière), mais il serait encore plus simple d'avoir une base de données de toutes les versions (au moins majeures) des paquets.

Typiquement, je verrais bien :
- les vieilles iso des différentes versions d'Arch
- les avant-derniers et derniers paquets (individuellement).

Ce serait un bon complément à current/extra.

Si pour une raison financière, on ne peut le faire, on pourrait au moins "désigner" 3 ou 4 utilisateurs (enfin, ce sont eux qui doivent se proposer) pour stocker ça chez eux et simplement les contacter si besoin (ML, etc...). A l'huere où les DD deviennent rentables, ce ne serait pas un gros sacrifice d'un point de vue individuel. Ex : j'ai un DD de 160 Go où je peux aisément stocker ça. Mais je n'ai pas envie de le mettre 24h/24 en ligne... ;)

Qu'en pensez-vous ?

Publié : ven. 20 avr. 2007, 14:01
par wain
makepkg fournit dans pacman3 une option capable "d'empaqueter" le contenu d'un dossier.
L'idée de départ c'est d'avoir un répertoire $startdir/pkg qui contient les données à mettre dans le pkg, et de recréer le paquet à l'aide du PKGBUILD sans exécuter la fonction build().

Tu pourrais donc:

1. lister les fichiers du paquetage à compiler: pacman -Ql xorg
2. copier tous ces fichiers dans un répertoire pkg/
3. recréer un PKGBUILD correspondant (la fonction build n'est pas nécessaire)
4. relancer le makepkg avec l'option qui permet de refaire le paquetage :-)

Publié : sam. 21 avr. 2007, 13:43
par mimas
Un petit oubli :

2a) copier aussi le fichier /var/lib/pacman/local/<paquet-version>/install si il existe. [s]Et ne pas oublier de l'indiquer dans le PKGBUILD.[/s]

Publié : mer. 02 mai 2007, 10:06
par mélodie
mimas a écrit :Un petit oubli :

2a) copier aussi le fichier /var/lib/pacman/local/<paquet-version>/install si il existe. Et ne pas oublier de l'indiquer dans le PKGBUILD.
Dans ce répertoire, les fichiers des paquets sont:

Code : Tout sélectionner

depends  desc  files
soit dans trois fichiers plus ou moins le contenu des informations données par un 'pacman -Qi' ?

Alors que mettre dans le 'pkgrebuild' ? qq chose comme "pacman -Qi > $startdir/pkg/infopackage.txt" ?

Publié : mer. 02 mai 2007, 22:06
par gyo
Juste ai fait-je le(tm)

Ça semblait tout con à faire mais en fait il y avait pas mal de subtilités à prendre en compte, mais je l'ai fait et ça marche ! (oui il y a aussi les fichiers .FILELIST, .INSTALL et .PKGINFO dedans !)

hop !

Publié : jeu. 03 mai 2007, 09:31
par marc[i1]
reste plus qu'a l'intégrer à yaourt :D

bravo gyo !
pour que gyo tinne !
yo gyo !

PS : jeux de mots :capello:

MAJ de repacman.sh

Publié : jeu. 03 mai 2007, 12:40
par gyo
Une nouvelle version de repacman.sh !

On passe direct de la version 0.1 à la version 0.9 (ben oui pourquoi pas héhéhé), ben parce que pas mal de changement et c'est là que je vais écrire un chtit Changelog (trop bien la classe ! ) :

* Version 0.1 à 0.9 :
- Prise en compte du fichier depends pour ajouter les infos suivants : depends, conflicts et provides dans .PKGINFO du paquet tgz,
- Prise en compte de la section %BACKUP% du fichier files toujours pour .PKGINFO,
- Le programme détecte si un paquet pkg.tar.gz existe déjà pour le paquet demandé (détecte si c'est la même version),
- divers débugages.

Bug connu : il a du mal avec les liens...

voilà !

c'est toujours la même adresse : http://foulmetal.free.fr/archlinux/repacman-0.9.sh

Publié : jeu. 03 mai 2007, 13:09
par mélodie
Terrible ! Je pourrais dire "Archlinux.fr communauté magique !"

Demandes, et tu recevras... :oops:

:D

Publié : jeu. 03 mai 2007, 21:40
par mélodie
J'ai installé Pingus dans Archlinux sous Qemu. J'ai supprimé le paquet du répertoire /var/cache/pacman/pkg, et je l'ai reconstitué avec le script de gyo avant de l'upgrader sur lui-même : RAS ! :)

Sauf que la version 0.6.0-2 est bien mignonne !

Publié : jeu. 03 mai 2007, 22:42
par wain
Bien joué gyo ! tu devrais ouvrir un nouveau post dans la rubrique développement 8)

Publié : jeu. 03 mai 2007, 22:59
par gyo
Et voilà une nouvelle release de repacman.sh qui sort en version 0.95 ! :onmeritepas:
Celui-ci corrige le bug cité un peu plus haut que j'expliquerai plus tard (c'est melodie qui veut qu'on explique tout)

voilà, disponible par ici ! --> http://foulmetal.free.fr/archlinux/repacman-0.95.sh

Ok wain ! je vais faire ça de suite :)

Publié : jeu. 03 mai 2007, 23:22
par gyo
Voilà maintenant ça se passe dans cette rubrique : http://forums.archlinux.fr/topic631.html