Nécessite : dh-make et devscripts Je vais créer un paquet qui installe simplement vlc et supprimer trackerd mkdir mon-first-paquet-1.0 cd mon-first-paquet-1.0 {{{ mon-first-paquet-1.0$ dh_make --createorig Type of package: single binary, multiple binary, library, kernel module or cdbs? [s/m/l/k/b] s Maintainer name : Alexandre Domont Email-Address : alexandre.domont@auf.org Date : Wed, 15 Oct 2008 11:31:10 +0200 Package Name : mon-first-paquet Version : 1.0 License : blank Type of Package : Single Hit to confirm: Currently there is no top level Makefile. This may require additional tuning. Done. Please edit the files in the debian/ subdirectory now. You should also check that the mon-first-paquet Makefiles install into $DESTDIR and not in / . }}} {{{ `-- debian |-- README.Debian |-- changelog |-- compat |-- control |-- copyright |-- cron.d.ex |-- dirs |-- docs |-- emacsen-install.ex |-- emacsen-remove.ex |-- emacsen-startup.ex |-- init.d.ex |-- init.d.lsb.ex |-- manpage.1.ex |-- manpage.sgml.ex |-- manpage.xml.ex |-- menu.ex |-- mon-first-paquet-default.ex |-- mon-first-paquet.doc-base.EX |-- postinst.ex |-- postrm.ex |-- preinst.ex |-- prerm.ex |-- rules `-- watch.ex }}} Fichier 'debian/control' AVANT {{{ Source: mon-first-paquet Section: unknown Priority: extra Maintainer: Alexandre Domont Build-Depends: debhelper (>= 5) Standards-Version: 3.7.2 Package: mon-first-paquet Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: }}} Fichier 'debian/control' APRES {{{ Source: mon-first-paquet Section: AUF Priority: optional Maintainer: Alexandre Domont Build-Depends: debhelper (>= 5) Standards-Version: 3.7.2 Package: mon-first-paquet Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, vlc Conflicts: trackerd Description: Un paquet pour installer vlc et desinstaller trackerd !! }}} (./) Version du paquet dans le changelog avec dch {{{ GNU nano 2.0.7 Fichier : debian/changelog.dch Modifié mon-first-paquet (1.0-1) hardy; urgency=low * Initial release (Closes: #nnnn) * Pouette pouette un paquet qui installe ksnapshot et supprime evolution -- Alexandre Domont Wed, 15 Oct 2008 11:53:37 +0200 }}} (./) vi Makefile {{{ all: build build: install: clean: }}} (./) debuild -us -uc {{{ fakeroot debian/rules clean dh_testdir dh_testroot rm -f build-stamp configure-stamp # Add here commands to clean up after the build process. /usr/bin/make clean make[1]: entrant dans le répertoire « /home/alex/test/mon-first-paquet-1.0 » make[1]: Rien à faire pour « clean ». make[1]: quittant le répertoire « /home/alex/test/mon-first-paquet-1.0 » dh_clean dpkg-source -b mon-first-paquet-1.0 dpkg-source : construction de mon-first-paquet à partir de mon-first-paquet_1.0.orig.tar.gz dpkg-source : construction de mon-first-paquet dans mon-first-paquet_1.0-1.diff.gz dpkg-source: avertissement: le fichier « debian/docs », nouvellement créé, ne sera pas représenté dans le diff dpkg-source : construction de mon-first-paquet dans mon-first-paquet_1.0-1.dsc debian/rules build dh_testdir # Add here commands to configure the package. touch configure-stamp dh_testdir # Add here commands to compile the package. /usr/bin/make make[1]: entrant dans le répertoire « /home/alex/test/mon-first-paquet-1.0 » make[1]: Rien à faire pour « all ». make[1]: quittant le répertoire « /home/alex/test/mon-first-paquet-1.0 » #docbook-to-man debian/mon-first-paquet.sgml > mon-first-paquet.1 touch build-stamp fakeroot debian/rules binary dh_testdir dh_testroot dh_clean -k dh_installdirs # Add here commands to install the package into debian/mon-first-paquet. /usr/bin/make DESTDIR=/home/alex/test/mon-first-paquet-1.0/debian/mon-first-paquet install make[1]: entrant dans le répertoire « /home/alex/test/mon-first-paquet-1.0 » make[1]: Rien à faire pour « install ». make[1]: quittant le répertoire « /home/alex/test/mon-first-paquet-1.0 » dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_installexamples dh_installman dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dpkg-gencontrol: avertissement: variable de substitution inconnue ${shlibs:Depends} dpkg-gencontrol: avertissement: variable de substitution inconnue ${misc:Depends} dh_md5sums dh_builddeb dpkg-deb : construction du paquet « mon-first-paquet » dans « ../mon-first-paquet_1.0-1_all.deb ». dpkg-genchanges dpkg-genchanges: inclusion du code source original dans l'envoi (« upload ») dpkg-buildpackage (debuild emulation): full upload (original source is included) alex@phalange:~/test/mon-first-paquet-1.0$ ls build-stamp configure-stamp debian Makefile }}} (./) ls .. {{{ drwxr-xr-x 3 alex alex 4096 2008-10-15 12:48 mon-first-paquet-1.0 -rw-r--r-- 1 alex alex 1746 2008-10-15 12:48 mon-first-paquet_1.0-1_all.deb -rw-r--r-- 1 alex alex 10324 2008-10-15 12:48 mon-first-paquet_1.0-1.diff.gz -rw-r--r-- 1 alex alex 358 2008-10-15 12:48 mon-first-paquet_1.0-1.dsc -rw-r--r-- 1 alex alex 0 2008-10-15 12:44 mon-first-paquet_1.0-1.dsc.asc -rw-r--r-- 1 alex alex 2326 2008-10-15 12:48 mon-first-paquet_1.0-1_i386.build -rw-r--r-- 1 alex alex 929 2008-10-15 12:48 mon-first-paquet_1.0-1_i386.changes -rw-r--r-- 1 alex alex 130 2008-10-15 12:42 mon-first-paquet_1.0.orig.tar.gz }}} (./) Ensuite pour tester le paquet, on peut soit le mettre sur un dépôt APT soit avec gdebi Le log dans :/var/log/dpkg.log Maintenant, je vais incrémenter la version de mon paquet en modifiant une bricole (./) vi debian/control {{{ Source: mon-first-paquet Section: AUF Priority: optional Maintainer: Alexandre Domont Build-Depends: debhelper (>= 5) Standards-Version: 3.7.2 Package: mon-first-paquet Architecture: all Depends: ${shlibs:Depends}, ${misc:Depends}, vlc, gftp Conflicts: trackerd, p7zip Description: Un paquet pour installer vlc, gftp et desinstaller trackerd, p7zip !! }}} (./) debuild -us -uc {{{ This package has a Debian revision number but there does not seem to be an appropriate original tar file or .orig directory in the parent directory; (expected mon-first-paquet_1.1.orig.tar.gz or mon-first-paquet-1.1.orig) continue anyway? (y/n) y fakeroot debian/rules clean dh_testdir dh_testroot rm -f build-stamp configure-stamp # Add here commands to clean up after the build process. /usr/bin/make clean make[1]: entrant dans le répertoire « /home/alex/test/mon-first-paquet-1.1 » make[1]: Rien à faire pour « clean ». make[1]: quittant le répertoire « /home/alex/test/mon-first-paquet-1.1 » dh_clean dpkg-source -b mon-first-paquet-1.1 dpkg-source : construction de mon-first-paquet dans mon-first-paquet_1.1-1.tar.gz dpkg-source : construction de mon-first-paquet dans mon-first-paquet_1.1-1.dsc debian/rules build dh_testdir # Add here commands to configure the package. touch configure-stamp dh_testdir # Add here commands to compile the package. /usr/bin/make make[1]: entrant dans le répertoire « /home/alex/test/mon-first-paquet-1.1 » make[1]: Rien à faire pour « all ». make[1]: quittant le répertoire « /home/alex/test/mon-first-paquet-1.1 » #docbook-to-man debian/mon-first-paquet.sgml > mon-first-paquet.1 touch build-stamp fakeroot debian/rules binary dh_testdir dh_testroot dh_clean -k dh_installdirs # Add here commands to install the package into debian/mon-first-paquet. /usr/bin/make DESTDIR=/home/alex/test/mon-first-paquet-1.1/debian/mon-first-paquet install make[1]: entrant dans le répertoire « /home/alex/test/mon-first-paquet-1.1 » make[1]: Rien à faire pour « install ». make[1]: quittant le répertoire « /home/alex/test/mon-first-paquet-1.1 » dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_installexamples dh_installman dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dpkg-gencontrol: avertissement: variable de substitution inconnue ${shlibs:Depends} dpkg-gencontrol: avertissement: variable de substitution inconnue ${misc:Depends} dh_md5sums dh_builddeb dpkg-deb : construction du paquet « mon-first-paquet » dans « ../mon-first-paquet_1.1-1_all.deb ». dpkg-genchanges dpkg-genchanges: inclusion du code source original dans l'envoi (« upload ») dpkg-buildpackage (debuild emulation): full upload; Debian-native package (full source is included) }}} (./) dpkg --info ../mon-first-paquet_1.1-1_all.deb {{{ nouveau paquet Debian, version 2.0. taille 1816 octets : archive de contrôle = 486 octets. 295 octets, 10 lignes control 239 octets, 3 lignes md5sums Package: mon-first-paquet Version: 1.1-1 Architecture: all Maintainer: Alexandre Domont Installed-Size: 44 Depends: gftp, vlc Conflicts: p7zip, trackerd Section: AUF Priority: optional Description: Un paquet pour installer vlc, gftp et desinstaller trackerd, p7zip !! }}} (./) dch -i {{{ mon-first-paquet (1.2-1) hardy; urgency=low * sup p7zip et ajout gftp -- Alexandre Domont Mon, 20 Oct 2008 16:13:36 +0200 }}} (./) debuild -us -uc (./) ls ../*.deb -la {{{ -rw-r--r-- 1 alex alex 1750 2008-10-20 15:54 ../mon-first-paquet_1.0-1_all.deb -rw-r--r-- 1 alex alex 1816 2008-10-20 16:10 ../mon-first-paquet_1.1-1_all.deb -rw-r--r-- 1 alex alex 1844 2008-10-20 16:16 ../mon-first-paquet_1.2-1_all.deb }}}