% post section de rpmbuild ne fonctionne pas

Situation: j'essaie de créer un rpm personnalisé pour placer un file de configuration dans un location particulier. L'installation s'effectue bien en plaçant les files de configuration dans les directorys appropriés, mais la section% post ne fonctionne pas. Cette section fait écho à l'user pour faire une input et le «lit». Cette valeur lue doit être placée dans ces files de configuration avec l'aide de 'sed'.

Problème: 'read' ne fonctionne pas dans la section% post, c'est-à-dire. le process d'installation n'attend pas que l'user fournisse une input. Il complète essentiellement l'installation en plaçant des files dans les directorys. En bref, la section% post n'est pas interactive pour que l'user fournisse des informations.

Consultez le file SPEC ici: http://pastebin.com/5BgkJUpG . Cela aidera à get l'idée.

J'ai écrit exactement les mêmes lignes de% post section ci-dessus pour la section "postint" de la construction d'un package .deb et cela a fonctionné bien là-bas. L'user installant le package deb pouvait faire l'input et cette valeur donnée a été placée dans le file de configuration avec 'sed'.

Je ne crois pas que les RPM étaient destinés à être gérés de manière interactive. Vous faites quelques hypothèses dangereuses en ce sens que le RPM n'est pas installé par la gestion de la configuration de manière automatisée ou par une interface graphique. Aucun scénario ne s'arrête bien pour un RPM qui s'attend à une input du shell.

Peut-être que je peux suggérer une alternative? Cette invite est-elle le nom d'hôte de l'hôte cible? IE pourrait-il inclure $(hostname) plutôt que d'get une consortingbution de stdin?

J'ai trouvé cette reference à quelqu'un qui tentait la même chose. Leur suggestion était d'get la consortingbution en% avant certains comment?

Un user de "Unix et Linux" a consortingbué à cette réponse:

Du guide RPM de Fedora :

Avertissement N'essayez pas d'écrire des scripts interactifs. De nombreux users installent des RPM automatiquement. Dans de tels cas, ou si l'user exécute un outil RPM graphique, toute information générée par vos scripts sera perdue. L'input de l'user ne sera pas disponible .

Je pense que vous êtes à la search d'un rpm relocalisé .