-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Update to OpenSSL 3 by default #12807
Conversation
Notifying maintainers: |
80755d7
to
9f80049
Compare
Shouldn't only the ports using the default openssl version be rev bumped? |
my script rev-bumps ports that depend on the openssl shim port. nothing more nothing less... |
to be clear, I have no plans to do any more or less than my script does. if that rev bumps ports that do not need it (unlikely) or misses ports, so be it.. |
In terms of the logistics of ultimately merging this, do we expect the buildbots to handle this without dying? At the very least, the watchers are going to be tied up for a LONG time, processing the full dependency list. So before merging, we might want to break this up into at a few separate commits. (Preferably no more than 100 rev-bumps each.) @jmroot and @ryandesign Can you folks offer some guidance? |
no. they will almost certainly timeout...
ultimately I believe it comes down to a judgement call. do we 'merge and deal with the aftermath as is' or .... personally I am not sure there is much of an or... |
Just be 100% clear, I assume you are referring to the CI test builds here ? these will probably timeout. The macports buildbots will handle then update though just fine... |
Nope, I'm talking about the buildbots. If it's one giant commit, the watchers will be tied up for an eternity, whilst leaving the builders idle. |
My recommendation - barring more definitive guidance from Josh and Ryan - would be to limit the number of rev-bumps to no more than 50 per commit. And while we're not dealing with thousands of rev-bumps, I'm concerned we might have an issue like this from a few months ago: https://lists.macports.org/pipermail/macports-dev/2021-June/043605.html |
I am not going to do that. I don’t thing this PR is that large that merging it as is is that much of an issue. |
That doesn't appear to be the case. For example python26 is bumped and it only depends on openssl10. |
My script is probably not perfect. Bar doing it by hand, which I am not going to do, its better than nothing. |
if python26 should not appear in the list above, thats a bug in base. |
It's a bug in your regex. Try |
Hey Chris, bear in mind that we're not trying to be critical of what you've done here. And we appreciate you taking the initiative, which is often the most important step! Others are happy to assist, to help refine all of this. Whether that means breaking up the commits into smaller chunks, trimming the list of rev-bumps, or whatever. As long as you don't block commits to this PR by your fellow members, we'll help too! p.s. We love ya Man! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM for my ports
I'm happy with whatever is the consensus and if the ports build. |
However, you can test if your port builds against openssl 3 by adding |
I've managed to check stressdrive against openssl-3, but for that I needed to change include and lib paths in |
Please do not hardcode the paths above, but use the proc methods provided in the PG to access the correct include and lib paths. i.e. But yes, there are two main ways you can use openssl.
Right now without this PR to test against openss3 you have to follow 2., as the default is 1.1. Once this PR is committed though you are correct the default will become 3, so if your port is OK with this you can if you prefer carry on with approach 1. and just use the shim port, with a rev-bump to trigger a rebuild. |
I do not guarantee all the ports build as a) many don't build anyway, regardless of the openssl version and b) If a port needs to be pinned back to openssl 1.1 this will need to be done separately to this PR, I am not going to do that here. This can be tested and done before, or after, this PR is merged. |
I was not aware of that - Useful to know thanks... |
I got clean rebuilds on all my packages. However, I found two issues unrelated to this PR:
|
aec6004
to
66d7cd1
Compare
I think I am going to go ahead and merge this, as given the number of ports it touches I am constantly having to rebase it to fix conflicts as those ports get independent updates. We seem to have approval here and I have not heard anything on the mailing lists objecting. I know it hasn't been a very long period, but we are going to have to hit go on this sometime to switch to the latest openssl so it might as well be now... |
I'm testing both |
On Sunday November 07 2021 04:38:34 Chris Jones wrote:
Merged #12807 into master.
No offense, but you *could* have left a little bit more reacting time for those of us who've been too busy with more (sic) urgent matters, esp. on a sunday...
I was under the impression that I was (still) co-maintainer on port:qca (and then only port:qca-qt5) so didn't say anything about it. I'll have to take a look how this is going to work out for the qca*-ossl and -pkcs11 subports.
|
Geez Chris, thanks for tying up the Buildbot Watchers for hours... ;-) Just kidding... |
Looks like the relevant php subports did not end up getting revbumped in this PR after all; I'll do them. afflib was missed too; see f08053a. I wonder if any others were missed. |
Thus far, the failures have been few and far between, so that's good! There is one notable failure though, for
https://ports.macports.org/port/cargo-c/builds/ The port has a dependency on p.s. I'm also seeing a build failure locally, as is at least one of our users. Note that this is definitely not specific to Monterey, as my failure is occuring on 10.13: 63848 - cargo-c @0.7.3_1 error: pasting formed 'RUST_VERSION_OPENSSL_ |
Two more Cargo-dependent ports, exhibiting the same issue (due to a broken openssl dylib on the buildbots):
CC: @herbygillot |
As I mentioned on the bug tracker, ruby30 seems to be broken. It's mysterious because it's part of portgroup openssl 1.0 |
Cargo-c indeed seems to be failing, coincidentally the port is very outdated. |
the cargo port needed a rev-bump, it was missed here. I have already submitted that. |
fixed by a |
So, mostly out of curiosity, now that I'm merging these changes into my own ports tree:
Am I right that there was no immediate need to rev-bump the dependents because they would have continued to find the OpenSSL 1.1.1 libraries in the same locations?
I also have my questions as to the use of an all-in subprefix in libexec with a bunch of symlinks, instead of using `configure` options to specify the same versioned directories (like lib/openssl-XY) to install just the categories that contain files which have the same name for all opensslXY ports. I've been doing that in my own implementation and it works just fine, but well, whatever :)
|
Now that NLNetLabs has fixed their cert I wanted to go on with an NSD update and that also means OpenSSL3 (as that has been released in MacPorts). I started a compile of the existing NSD version. OpenSSL3 breaks the existing NSD port (v4.2.1) as openssl has removed ERR_GET_FUNC NSD 4.3.8 builds fine. I am testing (lightly) and will prepare a pull request for NSD asap. |
Closes: 63801 - python ports: update to use openssl 3, allowing dependent binaries to be redistributed
macports-bump-rev.sh.txt