[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fichiers install et postinst



Bonjour,

On Fri, 14 Sep 2007, David Dumortier wrote:
> je souhaite faire un paquet fournissant un script dans un répertoire
> choisi au moment de la configuration de mon paquet. Jusque là je
> recopiais mon script dans le fichier install et le configurais dans le
> postinst en m'appuyant sur un chemin codé en dur, mais je souhaite
> rendre celà plus propre et plus générique (et aussi en apprendre un peu
> plus sur la "mécanique").

Il faudrait détailler quelques peu le pourquoi de ta demande... parce que
sans détails, je ne vois pas l'intérêt de placer un script à un endroit
pour finalement le rendre accessible par ailleurs.

Dans l'absolu, la solution qui t'a été suggéré doit fonctionner mais si
cela se trouve, il y a peut-être mieux pour répondre à ta problématique
réelle.

> Je ne sais pas où mettre mon script.sh dans l'arborescence du source de
> paquet 

Peu importe. Le source du paquet c'est toi qui en est le maître. Il faut
juste que les chemins correspondent avec ceux que tu vas employer dans
debian/rules ou debian/install selon le cas.

> et je ne sais pas comment faire pour le recopier au bon endroit
> en m'assurant qu'il sera enlevé proprement à la dés-installation.

Si tu le recopies grâce à une commande du postinst, il faudra prévoir le
nettoyage correspondant dans le prerm.

> Mon idée soumise à votre jugement expert :
> - abandonner le install

Si tu parles de debian/install il faudra bien un moyen de mettre le script
dans le paquet binaire... parce que sinon tu n'as rien à copier au bon
endroit.

> - obtenir mon parametre de construction du chemin final dans debconf
> - copier d'un endroit x (le . du paquet source) vers mon répertoire
> construit dans le postinst
> - détruire le fichier dans le pre|postrm
> Qu'en pensez vous ?

Tu mélanges allègrement l'étape de compilation du paquet source ("le . du
paquet source") et l'étape d'installation du paquet binaire ("le
postinst"). Tu ne peux pas accéder au paquet source depuis le postinst.

Il faut placer ton script dans le paquet binaire d'une manière ou d'une
autre (avec dh_install par exemple) a priori dans un répertoire
/usr/share/<monpaquet>/. Ensuite tu peux effectivement
utiliser debconf dans le postinst et le prerm pour obtenir le choix d'un
répertoire par l'utilisateur et faire en sorte que le postinst copie
/usr/share/<monpaquet>/<monscript> vers le répertoire choisi.

Mais debconf n'est pas forcément facile d'emploi et 

> Pour précision, ce script est déstiné à de la maintenance locale
> (/usr/local/monrep) il n'a pas les contraintes fortes Debian, et je ne
> suis pas inscrit à la liste, si vous pouviez me CC les réponse.

Pourquoi ne pas installer directement ton script dans /usr/bin ou
/usr/local/bin ?

A+
-- 
Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :
http://www.ouaza.com/livre/admin-debian/



Reply to: