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

Re: Création d'un paquet pour un programme python



Le 05/06/2015 18:05, Thuban a écrit :

> je cherche à créer un paquet pour un programme python. J'aimerai que à
> l'installation, des fichiers .pyc soient automatiquement générés.

Attention, les fichiers .pyc ne doivent pas être générés dans le
paquet .deb. Ils doivent être générés au moment de l'installation
sur la machine « cible » par le script <paquet>.postinst. Et
normalement, tu n'as pas à t'en préoccuper, les debhelpers (ie les
dh_*) se chargent pour toi d'ajouter les commandes qui-vont-bien
dans le script postinst... à condition tout de même que ton appli
python possède un fichier setup.py « correct ».

> J'ai essayé de mettre dans le fichier rules : 
> 
>     %:
>         dh $@ --with python2

Oui, je crois bien que ça, c'est la bonne pratique pour du python 2.

> cependant, les fichiers .pyc ne sont pas créés.
> Quelques explications supplémentaires. Comme pour gajim, j'ai un
> exécutable dans /usr/bin qui lance le programme python : 
> 
> /usr/bin/monappli :
> 
>     #!/bin/sh
>     exec python -OO /usr/share/monappli/monappli.py
> 
> dans /usr/share/monappli, j'ai plusieurs fichiers .py dont dépent
> monappli.py.

Ça, par contre, ce n'est pas la bonne pratique je pense. Tout ce qui est
lib python doit se trouver dans des répertoires bien spécifiques. Je ne
sais plus lesquels mais ce n'est pas dans /usr/share/<appli>/. Mais là
aussi, tu te moques de savoir où exactement doivent finir ces lib car les
debhelpers s'en chargent pour toi à nouveau... mais encore une fois à
condition que ton appli possède le fameux setup.py.

> Quelle est la marche à suivre pour "compiler" ces fichiers python?

Je crois que ton souci, c'est plus au niveau de l'appli python que
du packaging. Pour résumer, ton fichier rules est correct, et si
tu fabriques un fichier setup.py correct pour ton appli, les debhelpers
te fabriqueront un paquet respectueux de la Debian policy où tes lib
python seront aux bons endroits et où tes .pyc seront générés par le
postinst là où il faut etc. sans que tu aies à te préoccuper de quoi
que ce soit.

Bref, renseigne-toi sur la conception du setup.py pour ton appli
python. J'avoue que c'est pas forcément évidemment dans le sens
où les docs sont loin d'êtres claires (à mon sens). J'en ai fait
un une fois et j'ai un peu tout oublié (désolé).

-- 
François Lafont


Reply to: