h1. HowDoWeDoDebianPackages Pour un backport de paquet qui existe déjà dans Debian, on peut utiliser dgit :
 $ dgit clone django-haystack
 $ cd django-haystack
 $ # si debian/patches/series existe, le retirer, parce que eobuilder va recréer le .orig.tar.gz avec les patchs déjà appliqués
 $ git rm -f debian/patches/series && git commit debian/patches/series
 $ git remote add eo git@git.entrouvert.org:debian/django-haystack
 $ git push -u eo dgit/sid:main
Puis lancer https://jenkins.entrouvert.org/job/debs/.
curl -X POST --user user:token "https://jenkins.entrouvert.org/job/debs/buildWithParameters?GIT_PROJECT=debian/django-haystack&DEBIAN_VERSIONS=buster,bullseye"
h2. Paquets python * utiliser pybuild * déclarer le nom de la distribution python * désactiver les tests * pour les paquets d'applications Django, recopier manage.py du paquet python vers le paquet démon h4. @debian/rules@

#!/usr/bin/make -f
# -*- makefile -*-

export PYBUILD_NAME=combo <-- ici nom de la distribution déclaré dans setup.py ou pyproject.ml, ou plutôt suffix qui suivra python(3)- dans le nom du paquet, j'ai un doute ici
export PYBUILD_DISABLE=test

%:
	dh $@ --with python3 --buildsystem=pybuild <-- rajouter python2 si besoin, systemd si brique

override_dh_install: <-- uniquement pour les briques
	dh_install
	mv $(CURDIR)/debian/python3-/usr/bin/manage.py $(CURDIR)/debian//usr/lib//manage.py
h4. @debian/python(3)-x.install@ Inutile. h4. @debian/project.install@ pour les briques (applications Django) On ne doit trouver que ces fichiers (.init, .service, .cron, etc.. installé automatiquement)
debian/combo-manage       /usr/bin
debian/settings.py        /etc/combo
debian/uwsgi.ini          /etc/combo
debian/debian_config.py   /usr/lib/combo
Le manage surchargé, le settings de base, le uwsgi de base et le debian_config.py de base. h4. Mettre à jour un paquet issu d'un projet externe Exemple :
git clone ssh://git@git.entrouvert.org/debian/factur-x
git remote add github https://github.com/akretion/factur-x.git
... merge et mise à jour éventuelle de trucs dans debian/, etc.
git push
h2. Notes eoday * debian-$dist/ dans master * pas de job *-deb dans jenkins (un job unique) * génération d'un changelog from scratch * génération VERSION depuis tag ou prendre 0.0 ex de fichier changelog à générer :
wcs (1.12.12.5.g46a0062-1~eob70+1)

  * (46a0062) tests: check forgotten page where user can set password (#6506)
  * (edbd295) hobos: change command to only deploy one instance, given as arg (#6486)
  * (0a58b8f) hobos: rename command to hobo_deploy, to match others (#6486)
  * (d0e2120) hobos: read json from a file if a filename is given on the command line (#6486)
  * (377911a) email: do starttls if advertised by the server (#6453)

wcs (1.12.12-0) $dist; urgency=low

  * (8df6312) release 1.12.12
  * (c631b0a) ctl: fix display of list of commands
  * (b199f1d) update french translation

 -- eobuilder    Date...

wcs (1.12.11-0) $dist; urgency=low

  * (a563be0) release 1.12.11
  * (e54d2eb) form: fix handling of date in iso format in French-configured sites (#6390)
  * (1505495) use new password entry widget for register page (#5805)
  * (4a91c26) form: turn file type check into a hard check (#6134)
  * ...

 -- eobuilder    Date...

...
h2. Comment modifier la configuration d'un paquet debian d'un de nos projets ? Dans la dépôt git du projet, les fichiers qui sont "usuellement" édités sont à la racine du dépôt dans le dossier @debian/@ * Exemple de fichier @debian/control@:
Package: publik-base-theme
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, python-xstatic-abrilfatface
Conflicts: python-authentic2 (< 2.1.20.742.gb6ee096-0)
Breaks: combo (< 0.7.1)
Description: Publik Base Theme
* Exemple de fichier @debian/publik-base-theme.dirs@:
/etc/combo/settings.d
* Exemple de fichier @debian/publik-base-theme.install@:
debian/fonts.py        /etc/combo/settings.d
h2. Comment tester localement l'empaquetage debian ? Pour ne pas avoir à pousser sur master et attendre de voir la tâche jenkins de notre paquet (par ex. https://jenkins.entrouvert.org/job/publik-base-theme-deb/), on peut localement tester ça sur sa debian avec :
sudo apt install devscripts
cd monprojet
debuild -uc -us -b