Je suis relativement nouveau dans la construction et la distribution de paquets avec RPM.Spécifier installdir/builddir avec RPM
Je suis en train de réaliser les fonctionnalités suivantes, et je suis un peu confus sur la façon de gérer que:
- Sur la machine de construction, le paquetage RPM doit être construit sous mon compte, par exemple sous/home/nom d'utilisateur/rpmbuild. Ce dossier a la structure appropriée (par exemple contient SPECS, RPMS, SOURCES, etc.). Le fichier que je veux empaqueter est essentiellement les binaires d'un fichier .tgz situé dans le répertoire SOURCES. J'ai aussi un accès root, donc ça ne devrait pas poser de problème.
- Sur les machines '' client '', le logiciel doit être installé sous un répertoire spécifique, par ex./specific_mountpoint/nom_programme. Cela devrait arriver même si les utilisateurs doivent exécuter une simple commande rpm -ivh nom_rpm.rpm sans paramètre supplémentaire.
J'ai les questions suivantes:
- Ma compréhension actuelle du processus RPM est que la machine de construction doit refléter la machine client au cours du processus rpmbuild. Si c'est correct, alors je dois avoir/specific_mountpoint/nom_programme créé par le processus rpmbuild sur la machine de construction, n'est-ce pas? Est-ce que cela signifie que je dois copier des fichiers de RPM_BUILD_ROOT dans ce répertoire ou existe-t-il un moyen de surcharger RPM_BUILD_ROOT dans le fichier spec? Mon problème est alors que sous% fichiers dans le fichier spec, je ne peux pas être capable de pointer rpmbuild pour prendre les fichiers de/specific_mountpoint/nom_programme (comme il va actuellement dans le dossier/home/username/rpmbuild/BUILDROOT). J'ai essayé de contourner ce comportement sans succès.
Toutes les idées et les fichiers de spécifications concrètes sont plus que bienvenus. J'utilise RPM version 4.8. Je mentionne ceci puisque les drapeaux spécifiques ont été dépréciés de ce que je lis.
Merci beaucoup!
Merci beaucoup! Cela a fonctionné parfaitement. –