tickets #162092
openPrepare openSUSE:infrastructure* for 15.6
0%
Description
Add a build target for 15.6 to all our OBS projects and repair any resulting build failures.
Checklist
- Repair minimal VM Kiwi build
- Repair container builds
- Repair Helios build
- Repair Kanidm build
Updated by crameleon 6 months ago
- Status changed from New to In Progress
- added to all projects except for o:i:redmine => requires 15.6 in devel:languages:ruby:extension first, asked in #opensuse-factory
- asked @dimstar regarding home:dimstar:hw19 (used on osc-collab.i.o.o) => should move to a subproject of o:i to comply with our policy and to allow for inclusion in our process
- created o:i:Images:15.6 for new Kiwi build
Updated by crameleon 6 months ago
https://build.opensuse.org/project/show/openSUSE:infrastructure:osc-collab ready as replacement for h:dimstart:hw19.
Updated by crameleon 6 months ago
- Checklist item Repair Kanidm build added
Kanidm is not shipped with Leap 15.6, linked from Factory to o:i, but build against Leap fails:
https://build.opensuse.org/package/live_build_log/openSUSE:infrastructure/kanidm/15.6/x86_64
Updated by crameleon 6 months ago
- Precedes tickets #162326: Leap 15.6 upgrade diary added
Updated by crameleon 6 months ago
- Checklist item Repair minimal VM Kiwi build set to Done
- Assignee set to crameleon
VM image is building now, required commenting out the <keytable>
setting (I assume some required files are no longer shipped by default or included in a package no longer pulled in by another package) and removing the removal of /var/lib/systemd/random-seed (file does not exist albeit being owned by udev, maybe Kiwi takes care of removing it now or it is only created through some logic during first boot now?).
Updated by crameleon 6 months ago
Helios requires three packages no longer shipped with 15.6:
nothing provides python3-django-webtest
nothing provides python3-django-picklefield
nothing provides python3-validate_email
I linked these from devel:languages:python:backports to openSUSE:infrastructure:helios.opensuse.org. Unfortunately, django-pytest down in the chain now only builds against Python 3.11 (I tried building it against 3.6 by removing sle15_python_module_pythons, but it failed) but we use Helios on the system Python stack (3.6). I then linked an old version from openSUSE:Backports:SLE-15-SP5, but it fails to build, with the test suite complaining about the missing sqlite3
module:
[ 22s] ImportError: Module 'sqlite3' is not installed.
[ 22s] Use:
[ 22s] sudo zypper install python36
[ 22s] to install it.
There does not seem to be a package for it at all and the suggestion to install Python, well, there is Python, otherwise Pytest wouldn't run at all. ;-)
Skipping all the tests needing sqlite3 would require lots of decoration, I then patched python-pytest-django and python-django-webtest to not run any tests, which brought the effort a bit further, but now there's python-picklefield and python-validate_email again only building against 3.11.
I think we are better off switching the Helios stack to 3.11.
Updated by crameleon 5 months ago · Edited
Attempted to build helios-server against Python 3.11 (using sle15_python_module_pythons):
- many dependencies exist in 15.6 backports, but do not have sle15_python_module_pythons in their .spec file yet - after linking various newer versions to o:i:elections.o.o the chain was found to be too big -> settled with building against devel:languages:python:backports directly (which is not ideal, as it requires adding that at runtime as well, but also not terrible)
- python-boto no longer exists, not sure if python-boto3 would work
- python-oauth2client no longer exists, removed from factory with log entry "deprecated upstream, no users" (no users, very funny)
- python-rollbar missed sle15_python_module_pythons in d:l:p:bp, submitted as https://build.opensuse.org/request/show/1187338
- python-django-webtest misses sle15_python_module_pythons in d:l:p:bp, but so do many of the dependencies in its chain - would require lots of patches - can be worked around by patching out the WebTest class in Helios
- python-Django in d:l:p:bp is too new (Helios requires 2.2.24, we are already at 5.x) -> linked 2.x from 15.5 backports and patched to build with Python 3.11, but various tests fail (unsure how serious, but likely not a good idea to just patch out)