Bonjour,
je suis actuellement en train d'essayer de réaliser la création d'un RPM vide, stocké dans un repo local, permettant l'installation d'autres fichier RPM (inclu dans le repo local) lors de son installation via yum.
J'ai essayé les options Provides, Requires, etc mais sans trop de succès. Si quelqu'un pouvait m’aiguiller.
J'ai également créé un RPM contenant tous mes RPM mais au moment de l'appel de la commande /bin/rpm -i je me retrouve avec une erreur (requires /bin/sh).
Merci bcp pour votre aide
# Trojan !
Posté par ze_lionix (site web personnel) . Évalué à 0.
réaliser la création d'un RPM vide, stocké dans un repo local, permettant l'installation d'autres fichier RPM
Ce qui revient à installer des truc en douce, un rpm trojan quoi ! Nuuuut ! Pas bien.
La solution correcte c'est définitivement la déclaration des dépendances entre tes paquets.
Ne peux pas t'aider sur ce coup hélas mais je crois qu'il y a un fichier de description de ton paquet dans lequel tu déclares ça… Une bonne âme t'en diras certainement plus.
Fuse : j'en Use et Abuse !
[^] # Re: Trojan !
Posté par Power . Évalué à 0.
En fait l'idéal serait de mettre dans ce "RPM vide" les dépendances à installer automatiquement. Afin de réaliser plusieurs releases/version par an contenant tous les packages nécessaires.
merci pour ta réponse :)
# manque d'infos
Posté par eric gerbier (site web personnel) . Évalué à 2.
si tu pouvais poster le fichier spec ainsi que le message d'erreur, ce serait beaucoup plus simple pour t'aider …
sinon, il faut utiliser le tag requires en donnant le nom du package dont il dépends
tu peux tout mettre sur une seule ligne, ou une ligne par dépendance (au choix)
et pour finir : un peu de doc
# exemple task-lamp
Posté par BAud (site web personnel) . Évalué à 3.
Sur mageia, tu as un meta-paquet task-lamp qui t'installe apache, mariadb, php et perl
Voir http://svnweb.mageia.org/packages/cauldron/task-lamp/current/SPECS/task-lamp.spec?view=markup
bon, tu as des macros (
%files
par exemple) mais cela ne devrait pas demander trop de transposition.comme indiqué ci-dessus, poster ton essai et les erreurs obtenues simplifierait ;-)
# Merci
Posté par Power . Évalué à 1.
Hello à tous,
merci pour vos commentaires qu im'ont permis de résoudre mon problème. Je n'avais pas compris qu'il était nécessaire de spécifier le nom de mon package avec la directive %files pour forcer l'installation des dépendances.
Ce qui donne au final un fichier relativement simple pour l'exemple :
Summary: First test package
Name: power
Version: 1.0
Release: 1
Distribution: RHEL
License: GPL
Vendor: Perso
Packager: toto
%description
A package including all rpm files needed to install Apache / PHP
%package php
Summary: Apache PHP
License: GPL
Requires: httpd-tools = 2.2.15
Requires: httpd
%description php
Package de test
%files php
%changelog
Merci à tous
P.S : Oui j'ai beaucoup lu mais il n'est pas tjrs évident de comprendre facilement les docs, le 3ième oeil est souvent utile.
[^] # Re: Merci
Posté par GeneralZod . Évalué à 4. Dernière modification le 06 juillet 2012 à 17:12.
La bonne façon de faire sur les distros Fedora-based c'est de créer des groupes de paquets. Les méta-paquets sont déconseillés (la seule exception admise étant pour les paquets générés à partir du même src.rpm)
Pour ça, tu édites un fichier comps.xml qui doit ressembler à ça
<comps>
<group>
<id>machin</id><!-- identifiant du groupe -->
<name>machin truc bidule</name><!-- nom du groupe -->
<default>false</default>
<uservisible>true</uservisible><!-- visibilité dans les outils d'installation -->
<packagelist><!-- liste des paquets du groupe -->
<packagereq type="default">machin</packagereq><!-- paquet installé par défaut à l'installation du groupe -->
<packagereq type="optional">machin-truc</packagereq><!-- paquet non installé par défaut -->
</group>
...
</comps>
à la création du dépôt: createrepo -g comps.xml /chemin/vers/mon/dépôt (man createrepo)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.