2013-08-08 4 views
1

J'ai une question à propos du fichier RPM spec.RPM spec files

  1. Quel est le point de vue de l'exécution du fichier spec? Le fichier spec signifie-t-il les contrôles de ce qui se passe lorsque rpmbuild est exécuté sur la machine source, ou que se passe-t-il lorsque le RPM est installé sur la machine cible?
  2. Si mon idée est simplement de prendre les dossiers et les fichiers dans le tar.gz, placez-les dans un RPM et les au niveau du point d'installation RPM ont ces dossiers et fichiers déployés. Que dois-je faire dans les sections% build et% install?
  3. Comment référencer les fichiers que je veux finalement déployer sur la machine cible dans la section% files? Est-ce que je les référence comme étant sur la machine source ou sur la machine cible.

Je suis désolé de ces questions semblent vagues ou amateurisme, mais je vraiment des problèmes avec le concept et les différents sites dont j'ai parlé toute utilisation make install

Répondre

6
  1. deux (Si je comprends bien votre question) . Dans% prep,% build% install, vous contrôlez ce qui est en cours d'exécution sur le serveur de génération. Dans le% pre, post, preun, postun, vous contrôlez ce qui est en cours d'exécution sur le serveur cible pendant RPM un/install.
  2. Si vous ne construisez rien, le% build peut être vide. Voulez-vous emballer les fichiers tar dans le RPM et les décompresser sur le serveur cible? Ce n'est pas une bonne approche. Il est préférable d'empaqueter les fichiers dans le tar et laisser RPM gérer les changements, etc.
  3. Comme ils seront sur la machine cible.
+0

ad 1: Pour rester général, * toutes les autres sections * sont exécutées sur le système cible. Il y en a plus que ceux que vous avez mentionnés: il y a des scriptlets '% verify', des scriptlets'% trigger', etc ... – glglgl

+0

Correct, merci. –

+0

Cela a été très utile et m'a vraiment commencé dans la bonne direction. J'ai pu enfin RPM tous mes fichiers (sans tar :-)) – Gerrie

0

annonce 2 .: Dans l'une des étapes, vous déballez votre goudron dans le %buildroot, et les autres restent vides. Les tâches pour les étapes sont plus ou moins délibérées: dans %prep, vous déballez normalement votre source, dans %build vous construisez les binaires et dans %install vous mettez les binaires dans votre racine de construction. Comme vous n'avez aucun processus de construction ici, vous pouvez le laisser vide. Maintenant, il devient philosophique: déballe votre tar dans le dossier de destination %prep "déballage" ou "installation"? Je pense que c'est les deux, alors vous pouvez choisir l'un ou l'autre.

La théorie pure serait de déballer la source sur votre espace de travail dans %prep et de copier les fichiers dans %install, mais cela semble académique et inutile pour moi.