Development #40372
python3: debian packaging
0%
Description
Peut-être en profiter pour passer à uwsgi aussi.
Fichiers
Demandes liées
Révisions associées
drop deprecated python-raven sentry client config (#40372)
Revert "python3: adapt debian packaging (#40372)"
This reverts commit 4e3c28e08e2d76096a3e0f4ecbb0f745acaef0de.
python3: adapt debian packaging (#40372)
Historique
Mis à jour par Frédéric Péters il y a environ 4 ans
- Lié à Development #29297: passer à uwsgi ajouté
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Nouveau à En cours
Début de branche basée sur #28276 , http://git.entrouvert.org/authentic.git/log/?h=wip/40372-python3-debian-packaging
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Lié à Development #41221: paquet python3-django-sekizai ajouté
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Lié à Development #41222: paquet python3 ajouté
Mis à jour par Paul Marillonnet il y a environ 4 ans
En python3 le fichier de surcharge des dépendances python en paquets debian utilisé par dh-python3 doit se nommer py3dist-overrides
.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Assigné à changé de Benjamin Dauvergne à Paul Marillonnet
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Fichier 0002-drop-deprecated-python-raven-sentry-client-config-40.patch 0002-drop-deprecated-python-raven-sentry-client-config-40.patch ajouté
- Fichier 0001-python3-adapt-debian-packaging-40372.patch 0001-python3-adapt-debian-packaging-40372.patch ajouté
- Patch proposed changé de Non à Oui
La dernière fois que j'avais joué avec cowbuilder pour tester la construction d'un paquet ça s'était mal passé :)
Je vais ré-essayer ici puisque de toute évidence un test s'impose, avec les deux patches joints.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Paul Marillonnet a écrit :
La dernière fois que j'avais joué avec cowbuilder pour tester la construction d'un paquet ça s'était mal passé :)
Je vais ré-essayer ici puisque de toute évidence un test s'impose, avec les deux patches joints.
Tu peux aussi faire un debuild -uc -us -b
dans le cas de la construction du binaire uniquement, sans consutruction du paquet source, on peut se passer d'eobuilder, mais ça ne teste pas dépendances de build il me semble.
Mis à jour par Paul Marillonnet il y a environ 4 ans
Benjamin Dauvergne a écrit :
Tu peux aussi faire un
debuild -uc -us -b
dans le cas de la construction du binaire uniquement, sans consutruction du paquet source, on peut se passer d'eobuilder, mais ça ne teste pas dépendances de build il me semble.
Nickel merci, après installation des paquets listés dans Build-Depends
, la construction des paquets se passe sans encombre. Je vais taper un debootstrap pour tester l'installation sur stretch.
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Fichier 0002-drop-deprecated-python-raven-sentry-client-config-40.patch 0002-drop-deprecated-python-raven-sentry-client-config-40.patch ajouté
- Fichier 0001-python3-adapt-debian-packaging-40372.patch 0001-python3-adapt-debian-packaging-40372.patch ajouté
- Statut changé de En cours à Solution proposée
- on dirait que des trucs on bougé dans les versions récentes de django-import-export. Lors du runserver pour authentic2-multitenant, je me mange cette erreur :
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7fdf00129840> Traceback (most recent call last): File "/usr/lib/python3/dist-packages/django/utils/autoreload.py", line 228, in wrapper fn(*args, **kwargs) File "/usr/lib/python3/dist-packages/django/core/management/commands/runserver.py", line 124, in inner_run self.check(display_num_errors=True) […] File "/usr/lib/python3/dist-packages/authentic2/manager/urls.py", line 22, in <module> from . import views, role_views, ou_views, user_views, service_views File "/usr/lib/python3/dist-packages/authentic2/manager/role_views.py", line 35, in <module> from . import tables, views, resources, forms, app_settings File "/usr/lib/python3/dist-packages/authentic2/manager/resources.py", line 20, in <module> from import_export.resources import ModelResource File "/usr/lib/python3/dist-packages/import_export/resources.py", line 10, in <module> from diff_match_patch import diff_match_patch ModuleNotFoundError: No module named 'diff_match_patch'
Après installation du paquet python3-diff-match-patch ça fonctionne. Sans doute une erreur de packaging de django-import-export.
- Un setting manquant au paramétrage postinst du paquet authentic2 :
[....] Updating authentic2: authentic2[info] Applying new migrations ... Traceback (most recent call last): File "/usr/lib/authentic2/manage.py", line 21, in <module> execute_from_command_line(sys.argv[:1] + argv) File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 364, in execute_from_command_line utility.execute() File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 308, in execute settings.INSTALLED_APPS File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 56, in __getattr__ self._setup(name) File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 41, in _setup self._wrapped = Settings(settings_module) File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 110, in __init__ mod = importlib.import_module(self.SETTINGS_MODULE) File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/usr/lib/python3/dist-packages/authentic2/settings.py", line 349, in <module> exec(fd.read()) File "<string>", line 300, in <module> NameError: name 'DEFAULT_FROM_EMAIL' is not defined
Mis à jour par Paul Marillonnet il y a environ 4 ans
Pour le premier des deux soucis je taperais bien, dans notre dépôt debian/django-import-export :
diff --git a/debian/control b/debian/control
index d12ce86..8a6c310 100644
--- a/debian/control
+++ b/debian/control
@@ -7,12 +7,12 @@ Standards-Version: 3.9.1
Package: python-django-import-export
Architecture: all
-Depends: ${misc:Depends}, ${python:Depends}
+Depends: ${misc:Depends}, ${python:Depends}, python-diff-match-patch
Description: Django application and library for importing and exporting data
with included admin integration.
Package: python3-django-import-export
Architecture: all
-Depends: ${misc:Depends}, ${python:Depends}
+Depends: ${misc:Depends}, ${python:Depends}, python3-diff-match-patch
Description: Django application and library for importing and exporting data
with included admin integration.
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Statut changé de Solution proposée à Information nécessaire
(Oulà je voulais passer le ticket dans le statut qui lui convient mais c'était sans compter sur le bout de JS qui le met furtivement en “Solution proposée” dès qu'un patch est joint…)
Mis à jour par Thomas Noël il y a environ 4 ans
Paul Marillonnet a écrit :
Pour le premier des deux soucis je taperais bien, dans notre dépôt debian/django-import-export :
C'était
-Depends: ${misc:Depends}, ${python:Depends} +Depends: ${misc:Depends}, ${python3:Depends}
c'est packagé dans les x-eobuilder et x-testing.
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Fichier 0002-drop-deprecated-python-raven-sentry-client-config-40.patch 0002-drop-deprecated-python-raven-sentry-client-config-40.patch ajouté
- Fichier 0001-python3-adapt-debian-packaging-40372.patch 0001-python3-adapt-debian-packaging-40372.patch ajouté
- Statut changé de Information nécessaire à Solution proposée
Thomas Noël a écrit :
c'est packagé dans les x-eobuilder et x-testing.
Merci c'était bien ça, bien vu.
Paquets générés avec debuild et apt-installés dans un debootstrap debian/stable, it works.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution proposée à Résolu (à déployer)
Tu peux virer ça :
VERSION=`dpkg-query --show --showformat '${Version}' python-django` VERSION=`dpkg-query --show --showformat '${Version}' python3-django` if dpkg --compare-versions $VERSION lt 1.7; then su $USER -p -c "$MANAGE_SCRIPT syncdb --migrate --noinput" else
on risque plus de mettre à jour une version <1.7 avec django-south, on fait la migration normale.
Pour le DEFAULT_FROM_EMAIL ça du se casser avec :
commit 96d6282d56525d0bc444a9cec98c65a7ef493311 Author: Emmanuel Cazenave <ecazenave@entrouvert.com> Date: Wed Jun 6 16:45:50 2018 +0200 dont' import everything from global_settings (#24081)
Tu peux juste remplacer la ligne if·DEFAULT_FROM_EMAIL·==·'webmaster@localhost':
par
if not locals().get('DEFAULT_FROM_EMAIL'):
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Fichier 0002-drop-deprecated-python-raven-sentry-client-config-40.patch 0002-drop-deprecated-python-raven-sentry-client-config-40.patch ajouté
- Fichier 0001-python3-adapt-debian-packaging-40372.patch 0001-python3-adapt-debian-packaging-40372.patch ajouté
- Statut changé de Résolu (à déployer) à Solution proposée
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Paul Marillonnet il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ac89d290cefa11cca42c54cdccd7ace84714cdc3 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Wed Apr 1 11:09:05 2020 +0200 drop deprecated python-raven sentry client config (#40372) commit 4e3c28e08e2d76096a3e0f4ecbb0f745acaef0de Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sun Mar 1 12:11:17 2020 +0100 python3: adapt debian packaging (#40372)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Paul Marillonnet il y a presque 4 ans
- Statut changé de Solution déployée à En cours
Benj, quelles sont les dépendances pas à jour dont il était question sur jabber ?
Mis à jour par Frédéric Péters il y a presque 4 ans
Je notais ça ailleurs, c'était à propos de la branche wip/py3-packaging,
- mv $(CURDIR)/debian/python-authentic2/usr/bin/authentic2-ctl $(CURDIR)/debian/python-authentic2/usr/lib/authentic2/manage.py + mv $(CURDIR)/debian/python3-authentic2/usr/bin/authentic2-ctl $(CURDIR)/debian/python3-authentic2/usr/lib/authentic2/manage.py
sans conflicts/replaces de python3-authentic2 sur python-authentic2, ça va amener à avoir les deux installés et ça va râler sur le fait que le /usr/lib/authentic2/manage.py est déjà distribué par python-authentic2.
Dans combo ça a été géré indépendamment de la migration (#36508) mais il n'y a pas de problème particulier à mêler les deux. (ça peut même être plus simple, et terminer sur un système où le paquet python-authentic2 n'est plus installé).
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Frédéric Péters a écrit :
sans conflicts/replaces de python3-authentic2 sur python-authentic2, ça va amener à avoir les deux installés et ça va râler sur le fait que le /usr/lib/authentic2/manage.py est déjà distribué par python-authentic2.
Ok j'ai ajouté ça sur la branche dans un commit temporaire, peux-tu me dire si c'est ok ?
diff --git a/debian/control b/debian/control index a5d3c2a1..26fdf096 100644 --- a/debian/control +++ b/debian/control @@ -40,6 +40,8 @@ Depends: ${misc:Depends}, ${python3:Depends}, python3-attr (>=17), python3-pycryptodome, python3-atomicwrites +Conflicts: python-authentic2 +Replaces: python-authentic2 Description: Versatile identity server Authentic is a versatile identity provider aiming to address a broad range of needs, from simple to complex setups; it has support for many
Bon à part ça je viens de tester le paquet sur un systemd-nspawn/buster à part le paquet python3-ldaptools qui n'était pas dans notre dépôt buster de prod, ça s'est installé sans souci, je pense que je vais pousser et tester ensuite le paquet eobuilder sur la dév, qu'elle serve un peu, pour voir en mise à jour ce que ça donne.
Mis à jour par Frédéric Péters il y a presque 4 ans
Ok j'ai ajouté ça sur la branche dans un commit temporaire, peux-tu me dire si c'est ok ?
C'est brutal mais ça doit marcher mais ailleurs on a plutôt déplacé le manage.py dans le paquet de l'application. (mais sans doute ce n'est pas possible dans authentic qui crée deux paquets applicatifs).
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Assigné à changé de Paul Marillonnet à Benjamin Dauvergne
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de En cours à Résolu (à déployer)
commit 7ef148e0c56631eae8fda050c17c5a11545f5037 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Sun Mar 1 12:11:17 2020 +0100 python3: adapt debian packaging (#40372)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
python3: adapt debian packaging (#40372)