Création de paquets DEB (méthode2 : devscripts)

    Cette fois ci, on va se simplifier la vie:

1/ Pour commencer, nous faisons un dossier avec le nom du paquet, par exemple pour playonlinux:
$ mkdir /home/sebastien/packaging/playonlinux
$ cd /home/sebastien/packaging/playonlinux

2/ On télécharge les sources debian du paquet:
$ apt-get source playonlinux

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Note : la maintenance du paquet de « playonlinux » est réalisée dans le système de suivi de versions « Svn » à l'adresse :
svn://anonscm.debian.org/pkg-games/packages/trunk/playonlinux/
Nécessité de prendre 3 211 ko dans les sources.
Réception de : 1 http://ftp.fr.debian.org/debian/ testing/contrib playonlinux 4.2.6-1 (dsc) [1 978 B]
Réception de : 2 http://ftp.fr.debian.org/debian/ testing/contrib playonlinux 4.2.6-1 (tar) [3 203 kB]
Réception de : 3 http://ftp.fr.debian.org/debian/ testing/contrib playonlinux 4.2.6-1 (diff) [6 684 B]
3 211 ko réceptionnés en 4s (780 ko/s)  
dpkg-source: info: extraction de playonlinux dans playonlinux-4.2.6
dpkg-source: info: extraction de playonlinux_4.2.6.orig.tar.gz
dpkg-source: info: extraction de playonlinux_4.2.6-1.debian.tar.xz
dpkg-source: info: mise en place de set_debian_env.diff
dpkg-source: info: mise en place de remove_binary_plugin.diff

3/ On télécharge en ROOT, les paquets nécessaire pour construire ce paquet:
# apt-get build-dep playonlinux

4/ On se remet en simple utilisateur, puis on rentre dans le dossier des sources debian:
$ cd '/home/sebastien/packaging/playonlinux/playonlinux-4.2.6'

5/ On va dans voir le fichier /debian/watch qui permet, si bien fait, de faire tout automatiquement avec la commande uscan. Les sources mises à jour seront automatiquement recherchées, téléchargées, et la commande uupdate sera exécutée.
$ uscan

playonlinux: Newer version (4.2.8) available on remote site:
  https://www.playonlinux.com/script_files/PlayOnLinux/4.2.8/PlayOnLinux_4.2.8.tar.gz
  (local version is 4.2.6)
Successfully downloaded updated package PlayOnLinux_4.2.8.tar.gz
Successfully symlinked ../PlayOnLinux_4.2.8.tar.gz to ../playonlinux_4.2.8.orig.tar.gz.
New Release will be 4.2.8-1.
-- Untarring the new sourcecode archive ../playonlinux_4.2.8.orig.tar.gz
Unpacking the debian/ directory from version 4.2.6-1 worked fine.
Remember: Your current directory is the OLD sourcearchive!
Do a "cd ../playonlinux-4.2.8" to see the new package

Si la commande uscan télécharge les sources mises à jour mais n’exécute pas la commande uupdate, vous devriez corriger le fichier debian/watch pour avoir debian uupdate après l’URL.

6/ Normalement tout a été fait si le fichier watch est bien fait, du coup reste plus qu’a fabriquer le deb:
$ cd '/home/sebastien/packaging/playonlinux/playonlinux-4.2.8'
$ debuild

dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: paquet source playonlinux
dpkg-buildpackage: version source 4.2.8-1
dpkg-buildpackage: distribution source UNRELEASED
dpkg-buildpackage: source changé par Sebastien CHAVAUX <sebastien@debianlinux.schavfr>
 dpkg-source --before-build playonlinux-4.2.8
dpkg-buildpackage: architecture hôte amd64
dpkg-source: info: mise en place de set_debian_env.diff
dpkg-source: info: mise en place de remove_binary_plugin.diff
 fakeroot debian/rules clean
dh clean --with python2
   dh_testdir
   dh_auto_clean
   dh_clean
 dpkg-source -b playonlinux-4.2.8
dpkg-source: info: utilisation du format source « 3.0 (quilt) »
dpkg-source: info: construction de playonlinux en utilisant le ./playonlinux_4.2.8.orig.tar.gz existant
dpkg-source: info: construction de playonlinux dans playonlinux_4.2.8-1.debian.tar.xz
dpkg-source: info: construction de playonlinux dans playonlinux_4.2.8-1.dsc
 debian/rules build
dh build --with python2
   dh_testdir
   dh_auto_configure
   debian/rules override_dh_auto_build-indep
make[1]: Entering directory '/home/sebastien/packaging/playonlinux/playonlinux-4.2.8'
convert -monitor -resize 32x32 /home/sebastien/packaging/playonlinux/playonlinux-4.2.8/etc/playonlinux.png /home/sebastien/packaging/playonlinux/playonlinux-4.2.8/playonlinux.xpm
Load/Image//home/sebastien/packaging/playonlinux/playonlinux-4.2.8/etc[playonlinux.png]: 0 of 128, 00% cLoad/Image//home/sebastien/packaging/playonlinux/playonlinux-4.2.8/etc[playonlinux.png]: 1 of 128, 00% cLoad/Image//home/sebastien/packaging/playonlinux/playonlinux-4.2.8/etc[playonlinux.png]: 2 of 128, 01% cLoad/Image//home/sebastien/packaging/playonlinux/playonlinux-4.2.8/etc[playonlinux.png]: 3 of 128, 02% cLoad/Image//home/sebastien/packaging/playonlinux/playonlinux-4.2.8/etc[playonlinux.png]: 4 of 128, 03% c......
Save/Image//home/sebastien/packaging/playonlinux/playonlinux-4.2.8[playonlinux.xpm]: 30 of 32, 96% complSave/Image//home/sebastien/packaging/playonlinux/playonlinux-4.2.8[playonlinux.xpm]: 31 of 32, 100% complete
make[1]: Leaving directory '/home/sebastien/packaging/playonlinux/playonlinux-4.2.8'
   dh_auto_test
 fakeroot debian/rules binary
dh binary --with python2
   dh_testroot
   dh_prep
   dh_auto_install
   debian/rules override_dh_install
make[1]: Entering directory '/home/sebastien/packaging/playonlinux/playonlinux-4.2.8'
dh_install
chmod +x debian/playonlinux/usr/share/playonlinux/bash/startup_after_server
chmod +x debian/playonlinux/usr/share/playonlinux/bash/read_pc_cd
chmod +x debian/playonlinux/usr/share/playonlinux/bash/find_python
make[1]: Leaving directory '/home/sebastien/packaging/playonlinux/playonlinux-4.2.8'
   dh_installdocs
   dh_installchangelogs
   dh_installman
   dh_python2
W: dh_python2:479: Please add dh-python package to Build-Depends
   dh_installmenu
   dh_perl
   dh_link
   dh_compress
   dh_fixperms
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: avertissement: champ Depends du paquet playonlinux : variable de substitution inconnue ${shlibs:Depends}
   dh_md5sums
   dh_builddeb
dpkg-deb : construction du paquet « playonlinux » dans « ../playonlinux_4.2.8-1_all.deb ».
 dpkg-genchanges  >../playonlinux_4.2.8-1_amd64.changes
dpkg-genchanges: inclusion du code source original dans l'envoi (« upload »)
 dpkg-source --after-build playonlinux-4.2.8
dpkg-source: info: retrait de remove_binary_plugin.diff
dpkg-source: info: retrait de set_debian_env.diff
dpkg-buildpackage: envoi complet (inclusion du code source d'origine)
Now running lintian...
W: playonlinux source: changelog-should-mention-nmu
W: playonlinux source: source-nmu-has-incorrect-version-number 4.2.8-1
Finished running lintian.
Now signing changes and any dsc files...
 signfile playonlinux_4.2.8-1.dsc 0x100F502F

You need a passphrase to unlock the secret key for
user: "Sebastien XXXX (seb95) <xxxxx@xxx.xx>"
2048-bit RSA key, ID 100F502F, created 2015-05-19

                  
 signfile playonlinux_4.2.8-1_amd64.changes 0x100F502F

You need a passphrase to unlock the secret key for
user: "Sebastien XXXXXX (seb95) <xxxx.xxx@xx.xx>"
2048-bit RSA key, ID 100F502F, created 2015-05-19

                  
Successfully signed dsc and changes files

On aura de jolies paquets deb, et pour finir un coup de debuild clean.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *