-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support multiple openssl versions #5996
Conversation
Tested build:
|
NOTE: Latest is not being used currently but builds ok.
@hgy59 ready for a review. This in preparation to republishing python-3.10 and updating python-3.11 with re-enablement of both armv5 and qoriq. |
@th0ma7 please read OpenSSL release strategy
OpenSSL 1 is EOL (1.1.1 since 2023-09-23) The only LTS Version of OpenSSL is 3.0. I noticed this after releasing cross/openssl3 with 3.1.x and was hoping that 3.2 will be an LTS version too. But this is not the case. So the best solution for the OpenSSL dependency would be to move towards OpenSSL 3.0.x and to remove OpenSSL 1.1.1 as soon as possible. BTW: |
@hgy59 there is a few points in here:
Then this needs to be retested against python. Last I played with that python wasn't building ok due to atomic. If that's no longer the case then agreed, lets remove it entirely. If it doesn't work, then question is: do we decommission armv5 as now unsupported?
Currently armv5 is being "decommissionned" from multiple builds due to the openssl/libatomic issue. Some more testing is then needed to confirm what and when this breaks. EDIT: Maybe the issue isn't existing with version 3.0.x ? |
If we cannot solve the libatomic issue, we finally have to say goodbye to Python 3.11 for ARMv5 archs. Or - if you really want it - build python 3.11 for ARMv5 with openssl 1.1.1 but do not affect other packages that use openssl3 for ARMv5 archs. |
let's see 🤞 |
digging into this: We build This is required for both OpenSSL versions 3.1.4 and 3.0.12, i.e. downgrade to openssl 3.0 will not solve this issue. Since the build of openssl3 succeeds for all archs, I guess cross/cryptography does not regard that openssl is built without the need of libatomic, or cryptography has its own dependency for atomics. |
So this is what's going on when building with a
In turn this disable EDIT: I also tried the |
So how was it possible to build python310 v3.10.13-19 for ARMv5? |
It should have read python-311 ... but checking with my python-3.10 test build and issue is there as well. I believe it actually started hapening during the 3.10.x cycle and had raise an issue about it or followed one (that I can't find anymore). So issue is (unless something was overlooked):
|
@hgy59 re-reading ... it is possible, but will lack |
ok, got it:
|
Exactly! I'd be willing to declare armv5 best effort with a banner on our website that explains the risks? Actually dsm6 altogether is in that boat. Also, we may be able to use red hat, Ubuntu or other LTS distribution who may provide additional patches that can be easily applied where we maintain our own backport |
@th0ma7 ARMv5 toolchains come with gcc 4.6.4 and glibc 2.15 but not with libatomic. Even that gcc supports atomic operations since gcc 4.4, the toolchain does not include libatomic (but has libpthread). Some information on libatomic is availabale at https://gcc.gnu.org/wiki/Atomic If we could create newer gcc for ARMv5 archs (i.e. gcc 4.9.3 with glibc 2.20) we might get libatomic as part of gcc. Otherwise we must drop openssl 3 and python 3.11 support for ARMv5. |
I don't think that would work as further reading in the links you provided it also requires a 3.1 or newer kernel (away from keyboard but if i recall armv5 runs a 2.6 kernel) If that's right then options are:
I'd personally go with 2 to let it live a little longer. |
since #6025 we don't have to use openssl 1.1.1 for ARMv5. Regarding future versions of OpenSSL, there is no anouncement of the next LTS version yet. In the past, there was an LTS version every about 3 years and my guess is, that there will be a new LTS version later this year:
IMHO we don't need openssl 3.2 now, and should wait for the next LTS version (3.3, 4.0 ???). And I think we should stay on OpenSSL 3.1 that is supported until 14.03.2025. I don't see any reason to go back to version 3.0. For the far future, we should provide only LTS versions of OpenSSL (it was my oversight when creating cross/openssl3 with v3.1). BTW |
I think adding a known vulnerable SSL lib is asking for trouble, people tend not to read warnings, If people want to compile it themselves that's fine. I'm of the opinion that we should avoid knowingly publishing any package with CVEs (at the time of publishing). My 2c https://www.openssl.org/news/vulnerabilities.html search for "premium support" e.g. Fixed in OpenSSL 1.1.1x (premium support) |
Good point, and further as @hgy59 found a workaround for armv5. I'll mark this pr as closed. |
Description
Re-integrate support for armv5 using openssl.
Fixes #
Checklist
all-supported
completed successfully --> from withincross/openssl
&cross/openssl-latest
Type of change
Related
This is for:
How?
IMPORTANT
This in turn will enable by default openssl3 for all other packages which hasn't yet been migrated. On later updates some may fail and require to enforce using
openssl-1.1
.