Re: Fichiers install et postinst

2007-09-17 Par sujet Eric DECORNOD
Le 14.09.2007, à 15:50:23, David Dumortier a écrit:
 Bonjour à tous,
Bonjour,

Le dimanche 16 septembre 2007, Ludovic Rousseau a écrit :
 Bonjour, [...]
 installer le script dans /usr/share/mon_paquet et faire
 un lien symbolique depuis le répertoire choisi
 postinst crée le lien, prerm l'enlève
Tout pareil que L. Rousseau et R. Hertzog.

Si le chemin doit être demandé à la configuration, c'est qu'une autre 
application l'utilise ? Dans ce cas, AMHA il serait sage de faire un paquet 
avec cette dernière en la patchant si nécessaire afin de fixer l'emplacement 
du script.
C'est toujours mieux de bien ranger les choses, cela évite de perdre du temps 
à chercher ou est truc et machin pour trouver finalement le chemin d'accès à 
chose...
(En plus j'aime pas quand l'installeur me pose plein de question auxquelle je 
n'ai pas envie de répondre dans n'importe quel ordre)

Sinon, si le script est appelé directement par l'utilisateur et/ou l'admin, 
adapter l'utilisateur est je pense mieux que d'adapter le paquet :
Soit c'est dispo direct en ligne de commande (accessible via /usr/bin par 
exemple), soit c'est dans le dpkg -L paquet et dans ce cas je m'attends assez 
à le touver dans /usr/share/pkg...

  Pour précision, ce script est déstiné à de la maintenance locale
  (/usr/local/monrep) il n'a pas les contraintes fortes Debian [...].
Personnellement, je réserve local à tout ce qui n'est pas en paquet.
Donc tout ce que j'empaquette sort de local pour aller dans l'arborescence qui 
me parait la plus pertinente : /usr/share/pkg, /usr/bin et autres. Et ce 
même pour des trucs « super locaux/spécifiques ».

Comme cela je sais que ce qui traîne dans local est « tout pourrit », mal 
maintenu et qu'il serait temps de songer à le « packager ».

PS: Pour faire clairement la différence entre mes paquets « locaux » et les 
autres, je les préfixe (ou suffixe).

PPS: pour répondre directement à la question, je ferai un lien symbolique 
de /usr/share/leboscript-moi/script.pl vers l'endroit posé par une question 
debconf dans le script « config », avec les vérifications d'usage...
Mais ceci pose quelques problèmes :
 - il faut faire attention à ce qu'il pourrait écraser (ce serait dommage de 
remplacer /etc/passwd...)
 - il faut vérifier qu'une version antérieure n'existe pas et la supprimer le 
cas échéant (cas du dpkg-reconfigure)
 - il ne faut pas poser la question que lorsque c'est pertinent (pas à 
l'upgrade par exemple)
 - il faut le supprimer dans le postrm (apt-get remove)
 - il faut vérifier que  l'emplacement est pertinent dans le cas ou le script 
est appelé par une application tierce : est-elle installée, etc...

Cordialement,
-- 
Eric DÉCORNOD



Re: Fichiers install et postinst

2007-09-17 Par sujet David Dumortier
Bonjour à tous,

Raphael Hertzog a écrit :
 Bonjour,

[...]

 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.

[...]

 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.

Oui, j'espèrais un peu dessus, je m'imaginais un espace temporaire créé
par l'outil de paquet lors de l'installation. Je vais faire comme c'est
indiqué ci-dessous.

 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 

En fait il n'est pas forcement compliqué une fois qu'on a un peu
tripatouillé dedans. Et puis quelques paquets sources permettent de voir
la mécanique.

[...]

Merci Raphaël et Ludovic pour vos réponse.
-- 
David
--
Ce courrier électronique a été vérifié et est exempt de virus connus à ce jour.
Contactez votre administrateur pour plus de renseignement.
[EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Fichiers install et postinst

2007-09-16 Par sujet Raphael Hertzog
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/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Fichiers install et postinst

2007-09-14 Par sujet David Dumortier
Bonjour à tous,

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).
Je ne sais pas où mettre mon script.sh dans l'arborescence du source de
paquet 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.
Mon idée soumise à votre jugement expert :
- abandonner le install
- 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 ?

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.

Merci à vous
-- 
David Dumortier

--
Ce courrier électronique a été vérifié et est exempt de virus connus à ce jour.
Contactez votre administrateur pour plus de renseignement.
[EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]