[openssl] port update to OpenSSL 3.0.0 #20428
[openssl] port update to OpenSSL 3.0.0 #20428luncliff wants to merge 10 commits intomicrosoft:masterfrom luncliff:port/openssl3
Conversation
|
We will be seeking to replace our |
|
Not sure I can work for existing ports with this. As I said it's too many for me. |
AFAIU there is relevant API change. Wouldn't it be better to use separate names? Or at least move the old port to openssl1? (Cf. the wxwidgets gtk problem on x64-linux.) |
|
@dg0yt If so, I'd like to hear about the vcpkg team opinion. I didn't check there was an API change. |
|
@luncliff I don't know if it is that bad after re-reading https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final/: |
|
Thanks for the link, @dg0yt. I will check it with the guides in the source. (I have to find where, but anyway) vcpkg CI can check whether ports break or not. So I will try port rename then review the failure logs... |
Yes, but be aware of cascaded skips, in particular for linux, and non-default features. On windows and osx, the default features may select OS crypto functions instead of openssl. |
All is true, but this wouldn't really be a problem if specifying a minimum/maximum/particular version of a dependency was actually possible in the manifest file. |
* this is will prevent ugly git histroy
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 33f02c0ae50c262da487d21ace4f5d67ae949c18 -- versions
./vcpkg x-add-version --allDiff
diff --git a/versions/baseline.json b/versions/baseline.json
index 2a9df52..199fc1e 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -4900,6 +4900,10 @@
"baseline": "1.1.1h",
"port-version": 2
},
+ "openssl1": {
+ "baseline": "1.1.1l",
+ "port-version": 1
+ },
"opensubdiv": {
"baseline": "3.4.3",
"port-version": 2* move baseline to openssl 3.0
| get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) | ||
| vcpkg_add_to_path(PREPEND "${NASM_EXE_PATH}") | ||
| # note: jom is not for `vcpkg_add_to_path` | ||
| vcpkg_find_acquire_program(JOM) |
There was a problem hiding this comment.
Do we want to use jom when cross-compiling to windows?
There was a problem hiding this comment.
We can use NMake but I wanted to use parallel build with it.
There was a problem hiding this comment.
No, it is not about jom vs nmake. It is about Linux hosts building with VCPKG_TARGET_IS_WINDOWS. We probably want to use make there. Since you start that block with if not else I thought you really mean VCPKG_TARGET_IS_WINDOWS not VCPKG_HOST_IS_WINDOWS, didn't you?
There was a problem hiding this comment.
Indeed. I didn't considered cross compiling from Linux to Windows.
There was a problem hiding this comment.
I will try the case when I get some time. That would be an intersting case for this port 🤔
At a glance the project's windows-makefile.tmpl doesn't contain Supporting |
I see. IIRC I also looked into this aspect some months ago. It is probably easier to add three files to the port. |
Work Note + Error Review (In Progress)1. azure-c-shared-utilityUnexpected version range #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L)
SSL_CTX_clear_extra_chain_certs(ssl_ctx);
#elseProper expression for OpenSSL 3.0 ? #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x30100000L)
SSL_CTX_clear_extra_chain_certs(ssl_ctx);
#else2. libwebsockets, open62541Using deprecaed API with 3. libmysql, freerdpRequires FIPS. This is removed API. 4. s2nUsing deprecated API. 5. drogonUsing deprecated API (MD5) 6. wangleinvalid conversion. |
|
Ah, indeed there is a removed API... It doesn't look like a simple problem if there are more. |
|
Sorry for no updates... I'm lack of time to keep up this work. I don't know how to deal with those removed API now. 🤔 I will resume this work in next week |
|
So can you continue this PR? |
|
Honestly, no. I will close this. 😑 |
|
@luncliff I think we should have do it in a different approach. |
|
Resurrecting e392457 is easy, but there was another releases after that. Hope there were not much changes. Sadly I can't manage my schedule right now. 😭 |
What does your PR fix?
Resolve #20031
Most of the part is from #17949.
Currently, no
featureis defined. It was too many for me to check.Hope (future) actual users can contribute to it.
Which triplets are supported/not supported? Have you updated the CI baseline?
Every non-community triplet in the mainstream.
Does your PR follow the maintainer guide?
Checked.
no-zlib,no-makedependversion-semverusagefor CMakeFindOpenSSL,FindPkgConfig