Création d'un paquet debian simple d'installation de fichier

Bonjour,

Je souhaiterais empaqueter un ensemble de fichiers pour les placer automatiquement dans les bons répertoires lors d’un déploiement massif.
J’ai donc lu pas mal de documentation mais malheureusement elles ne concernent que les paquets avec du code à compiler. (des programmes en C par exemple)
Malgré cela, j’ai quand même trouvé qu’il fallait faire :

editez un fichier install :

Puis lancer :

[code]dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set LDFLAGS to default value: -Wl,-Bsymbolic-functions
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: source package ie
dpkg-buildpackage: source version 0.1-1
dpkg-buildpackage: source changed by Toto
dpkg-buildpackage: host architecture i386
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
dh_clean
debian/rules build
dh build
dh_testdir
dh_auto_configure
dh_auto_build
dh_auto_test
fakeroot debian/rules binary-indep
dh binary-indep
dh_testroot -i
dh_prep -i
dh_installdirs -i
dh_auto_install -i
dh_install -i
dh_installdocs -i
dh_installchangelogs -i
dh_installexamples -i
dh_installman -i
dh_installcatalogs -i
dh_installcron -i
dh_installdebconf -i
dh_installemacsen -i
dh_installifupdown -i
dh_installinfo -i
dh_pysupport -i
dh_installinit -i
Duplicate specification “O=s” for option "O"
dh_installmenu -i
dh_installmime -i
dh_installmodules -i
dh_installlogcheck -i
dh_installlogrotate -i
dh_installpam -i
dh_installppp -i
dh_installudev -i
dh_installwm -i
dh_installxfonts -i
dh_bugfiles -i
dh_lintian -i
dh_gconf -i
dh_icons -i
dh_perl -i
dh_usrlocal -i
dh_usrlocal: debian/tata/usr/local/tata/toto is not a directory

rmdir: failed to remove `debian/tata/usr/local/tata’: Directory not empty
dh_usrlocal: rmdir debian/tata/usr/local/tata returned exit code 1
make: *** [binary-indep] Error 1
dpkg-buildpackage: error: fakeroot debian/rules binary-indep gave error exit status 2[/code]

Pouvez-vous m’aider, me signaler une piste ou une erreur ?

Merci d’avance.

Cf chapitre 3 ou 7 de faire-un-paquet-version-complete-t4691.html (rubrique trucs et astuces) ou sur le Wiki.

Bonjour,

Merci de ta réponse même si j’avais déjà vu ce wiki.

Le chapitre 7 m’interroge car j’ai toruvé un article disant son contraire :
raphaelhertzog.fr/2011/11/04/ne- … vec-dpkg-b

Quant à mon problème, j’ai compris le soucis de dh_usrlocal :
debian.org/doc/debian-policy … tml#s9.1.2
lintian.debian.org/tags/file-in-usr-local.html

Quand je remplace mes répertoires de destinations par /etc ou quoique ce soit d’autres il n’y a pas de soucis. Donc je me demande comment contourner ce soucis.

perso je créer une arborécense comme suit:

mkdir repnomdufuturepaquet
cd repnomdufuturepaquet
mkdir DEBIAN
repnomdufuturepaquet sera l’équivalent du / aprés install donc rajouter vaut fichiers en fonction.pansser aux droits (modifiable via postinst voir plus bas)

créer en suite les fichiers de conf du deb tous placer dans le repertoir DEBIAN:
le principale et indispansable
control
exemple:

[quote]Package: debian-multimedia-keyring
Version: 2010.12.26
Architecture: all
Bugs: mailto:marillat@debian.org
Maintainer: Christian Marillat marillat@debian.org
Installed-Size: 64
Depends: gnupg (>= 1.0.6-4)
Section: misc
Priority: important
Homepage: debian-multimedia.org
Description: GnuPG archive key of the debian-multimedia repository
The debian-multimedia repository digitally signs its Release files. This
package contains the repository key used for that.
[/quote]
et les fichiers optionnels preinst, postinst, prerm, and postrm script
qui sont des script bash lancers respectivement avant install , aprés install, avant supression et aprés suppretion du paquet

pour générer le paquet
ce placer en dehors de repnomdufuturepaquet
dpkg -b repnomdufuturepaquet

[quote=“Gamoth”]Bonjour,

Merci de ta réponse même si j’avais déjà vu ce wiki.

Le chapitre 7 m’interroge car j’ai toruvé un article disant son contraire :
raphaelhertzog.fr/2011/11/04/ne- … vec-dpkg-b

Quant à mon problème, j’ai compris le soucis de dh_usrlocal :
debian.org/doc/debian-policy … tml#s9.1.2
lintian.debian.org/tags/file-in-usr-local.html

Quand je remplace mes répertoires de destinations par /etc ou quoique ce soit d’autres il n’y a pas de soucis. Donc je me demande comment contourner ce soucis.[/quote]

(C’est moi qui ai rédigé ce tutoriel) Oui, certes, Raphael Hertzog explique que c’est un peu stupide de faire un paquet d’un programme complet avec dpkg-deb -b. Il dit simplement que par cette méthode tu ne bénéficies pas des programmes automatiques gérant les dépendances. Mais si il s’agit d’installer des fichiers, ou de faire une diversion d’un programme existant, ou de faire un meta paquet, dpkg-deb -b est idéal. Ce serait différent dans le cas d’un programme binaire avec des sources.