Issue #910, #48, #102 - Require Python 3.9 in RPM package#398
Issue #910, #48, #102 - Require Python 3.9 in RPM package#398jiridanek wants to merge 5 commits intoskupperproject:mainfrom
Conversation
4d787af to
2950de8
Compare
2950de8 to
c279b6f
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #398 +/- ##
==========================================
- Coverage 78.00% 77.93% -0.08%
==========================================
Files 239 239
Lines 60753 60754 +1
Branches 5585 5585
==========================================
- Hits 47392 47348 -44
- Misses 10748 10781 +33
- Partials 2613 2625 +12
Flags with carried forward coverage won't be shown. Click here to find out more.
|
c279b6f to
4f0e8fa
Compare
7c7e13e to
7c8ec14
Compare
aafc473 to
6945406
Compare
|
The idea is that as we need to build skupper RPMs, we cannot depend on python39-qpid-proton (because, I am assuming, it is not yet available). Therefore, it is necessary to build the python binding for proton here, and ship it (in rpm skupper-router-common). That is the cause for most of the changes in the PR diff Next, replacing python3 with python39 constitutes the rest of the diff. |
|
I tried building this on COPR, which showed the following repeated test fail I am wanting to dismiss this as just some timing issue on lowpowered build machine, but it happens everywhere! The build results are at https://copr.fedorainfracloud.org/coprs/jdanek/skupper-router/build/5281012/, the |
6945406 to
095d954
Compare
packaging/skupper-router.spec.rpkg
Outdated
| BuildRequires: openssl-devel | ||
| BuildRequires: cyrus-sasl-devel | ||
| # python-qpid-proton requirements | ||
| BuildRequires: swig |
There was a problem hiding this comment.
yeah, this is now out of date, proton python is using cffi; but early this week it still worked with main
|
Yes please, thanks. |
|
@jiridanek Can this PR can be closed in favor of #1120 ? |
I like the idea of building python-qpid-proton as part of this RPM build, so that we would no longer mix embedded proton with nonembedded proton. That's something I think can still be used. What was the long-term plan about embedding proton, anyways? I think that it will be done for the foreseeable future, yes? It is not something we want to abandon. In that case, I'd completely remove dependency on python3-qpid-proton and build the proton python here, and embed it for private use by skstat and skmanage. Wdyt?, thanks |
095d954 to
390ac86
Compare
As the linked issue explains, Python 3.6 is out-of-upstream-support. Is it possible to use a newer Python on ubi8? Yes! Is it advisable? Not sure. Can it be done for RPMs too? Yes! It would be easy if there was python-proton packaged for python39. But there is not one.
The solution needed for the RPM is a real mess (and it is only a good fortune that it plugs into an already existing mess with
skupper-router-internalandsys.pathmodifications that the router already implements).I think that if Python >3.6 was deemed worth the effort, it would be necessary to either have a python39-qpid-proton RPM package (which does not have file conflicts with the python3-qpid-proton package) or decide only package the skrouterd in a RPM and distribute the sktools using pip, or something along these lines.
I am not myself convinced this Python 3.9 is a good idea, overall. It is interesting, though, that CentOS/ubi has support for using non-system version of Python for RPMs. On CentOS, there is even automatic rewrite of the
#!in scripts to use Python 3.9 (or whichever version is chosen).