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:mainPuis 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-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)/usr/bin/manage.py $(CURDIR)/debian/ /usr/lib/ /manage.py
debian/combo-manage /usr/bin debian/settings.py /etc/combo debian/uwsgi.ini /etc/combo debian/debian_config.py /usr/lib/comboLe 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 pushh2. 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 -- eobuilderh2. 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@: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... ...
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.dh2. 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