Problème: certains projets (git par exemple) ne proposent pas de
make uninstall
. Comment faire ? Créer un package.Les solutions existantes:
- checkinstall: je n'aime pas trop, il essaie de détecter ce qui est installer, sans garantie qu'il y arrive complètement. Et en plus il n'est plus maintenu et n'est pas dans les dépôts Fedora.
- alien: pareil, pas dans les dépôts. Et il faut créer une archite tar.gz avant (enfin je suppose qu'il arrive a convertir, je n'ai pas vraiment essayé).
Donc, j'ai fait un petit script zsh qui va tout faire tout seul. Il crée un fichier .spec et lance rpmbuild dessus pour créer un paquet rpm.
Bien sûr, le paquet rpm n'aura aucune dépendance, sera très mal fait, minimaliste ... mais je m'en fous, je veux juste pouvoir le désinstaller à la fin, proprement. Je ne cherche pas a publier le paquet.
Un petit exemple:
$ make prefix=/usr/local all doc info
$ make prefix=/usr/local DESTDIR=root install install-doc install-html install-info
J'ai maintenant git installé dans
./root/usr/local
Je veux créer un paquet:
$ dir2rpm.sh root local-git-1.6.4.2
...
...
rpmbuild -bb --rcfile root.rc --define '_topdir /usr/local/src/git-1.6.4.2/root.rpmbuild' root.spec
...
...
Created local-git-1.6.4.2-1.i686.rpm
Il ne reste plus qu'a l'installer:
$ sudo rpm -ivh local-git-1.6.4.2-1.i686.rpm
Preparing... ########################################### [100%]
1:local-git ########################################### [100%]
Si ça vous intéresse, le script se trouve par là: http://gitorious.org/dir2rpm
Si vous avez des alternatives, ça m'intéresse aussi.
Mildred
# slackware
Posté par polytan . Évalué à 4.
[^] # Re: slackware
Posté par theblatte . Évalué à 4.
[^] # Re: slackware
Posté par Mildred (site web personnel) . Évalué à 4.
Finalement, j'utilise Fedora, il y a d'autres aspects que j'apprécie (entre autre le fait qu'ils sont en avance sur certains projets, qu'on dispose de PackageKit, de NetworkManager 0.7 ...).
Pendant un temps, j'ai essayé de créer des paquets pour tous les programmes dont j'avais besoin et qui n'étaient pas packagés. Mais c'était long ... difficile. Donc j'ai abandonné, et je n'utilise plus vraiment d'applications non packagées.
Jusqu'à ce que je décide d'installer la dernière version de git.
J'espère que ça pourra être utile. Pour ma part, je pense que je ne vais pas me priver d'utiliser ce script.
[^] # Re: slackware
Posté par Ririsoft . Évalué à 2.
J'ai récemment voulu retourner sous Arch pour voir, mais il n'y a pas moyen : Fedora est la distro qui me convient. Quand au gestionnaire de paquet, il n'y a pas photo : pacman est bien supérieur à yum ! Et faire un rpm c'est loin d'être immédiat. Mais je m'y suis fait ... Et la qualité des paquets est un vrai plus chez Fedora.
[^] # Re: slackware
Posté par Mildred (site web personnel) . Évalué à 3.
Par contre du coté RPM, on a des signatures GPG, une distinction paquet source - plusieurs paquets binaires. la philosophie est clairement différente. Pacman ne pourrait pas convenir à une distribution comme Fedora, ce n'est pas assez sécurisé, et pas assez poussé sur certains points.
J'espère pouvoir dans le futur améliorer cet outil pour qu'on puisse faire de vrais paquets, avec toutes les métadonnées. Seulement avec une approche différente de rpmbuild. J'aimerais bien avoir ça pour toutes les distributions. Du coup, un programmeur pourrait facilement créer plein de paquets dans son Makefile.
Même si ce ne seront pas des paquets adaptés à la distribution, ce sera sûrement mieux que rien.
[^] # Re: slackware
Posté par B16F4RV4RD1N . Évalué à 3.
Par rapport aux 2 projets que tu cites, je vois que sur archlinux networkmanager est en version 0.7.1 dans extra, et packagekit existe dans AUR.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: slackware
Posté par Mildred (site web personnel) . Évalué à 1.
Enfin, il faut dire qu'a l'époque, NM 0.7 n'existait pas encore, seulement pratiquement toutes les distributions l'utilisaient déjà.
[^] # Re: slackware
Posté par bubar🦥 (Mastodon) . Évalué à 6.
Néanmoins il n'est pas mis en avant (comme le souligne le journal "pas de publication de ces rpm", pas fait pour !), mais permet exactement ce qui est décrit ici, avec en plus gestion d'adresses multiples pour les sources, gestion des dépendances, et autres fonctions sympathiques. Il n'arrive pas à se débrouiller sur certains éléments, mais est très efficace sur de nombreux.
L'avantage est donc d'avoir un rpm pas trop sale, même assez propre, bien intégré dans une mandriva, tout en conservant par défaut l'aspect local (et pas de volonté de publications).
Super ton script, merci bien, marrant :) Aussi pour les flemmards qui l'utiliseront pour se créer un squelette de spec initial, en fait (en faisant sauter la fin). Manque quant même la license dudit logiciel empaqueté, ainsi qu'une adresse pour les sources, pour avoir un zoli 'spec-make-template' :p
Merci :)
# stow
Posté par Guillaume Savaton (site web personnel) . Évalué à 8.
Ça permet d'installer chaque logiciel dans un dossier séparé, généralement placé dans /usr/local/stow.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.