Skip to content
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

[openssl] update to 3.0.2 #22878

Merged
merged 185 commits into from
Apr 6, 2022
Merged

[openssl] update to 3.0.2 #22878

merged 185 commits into from
Apr 6, 2022

Conversation

Thomas1664
Copy link
Contributor

@Thomas1664 Thomas1664 commented Jan 31, 2022

Describe the pull request
This PR updates openssl to version 3.0.2. The consensus is to update openssl and to create a new port called openssl1 for future updates to openssl 1.1.1.
No port depends or should ever depend on openssl1. All ports that were incompatible to OpenSSL 3 were updated or patched.

See below.

@ghost
Copy link

ghost commented Jan 31, 2022

CLA assistant check
All CLA requirements met.

@ras0219-msft
Copy link
Contributor

Thanks for this PR!

Please change this to upgrade the existing openssl port in place; see the discussion as part of #20031.

@Thomas1664
Copy link
Contributor Author

Thomas1664 commented Feb 1, 2022

Seems like the URL to "https://www.openssl.org/source/3.0.1/openssl-${OPENSSL_VERSION}.tar.gz" is not stable as it will change to "https://www.openssl.org/source/OLD/3.0.1/openssl-${OPENSSL_VERSION}.tar.gz" if additional versions will be released. Should I remove this URL or should I keep it for now?

Update: In fact, both of these URLs don't work. I had to remove them.

@Thomas1664 Thomas1664 changed the title [Openssl3] add port [Openssl3] update to 3.0.1 Feb 1, 2022
@Thomas1664 Thomas1664 changed the title [Openssl3] update to 3.0.1 [Openssl] update to 3.0.1 Feb 1, 2022
@Thomas1664

This comment was marked as outdated.

@ras0219-msft
Copy link
Contributor

Yes, unfortunately openssl is widely used so any change tends to rebuild the world so CI will unfortunately be slow.

This log is indicating that the patch for UWP support1 is no longer able to apply to the source code because it changed too much for the tools to match. I'll take a look at the openssl source and come back with next steps.

@ras0219-msft
Copy link
Contributor

It looks like the patch may no longer be required, as openssl has official guidance1 for building on UWP. Could you try removing the patch and applying the build suggestions?

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ec79067966d563cc75c251db04586ead3479c99b -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/o-/openssl.json b/versions/o-/openssl.json
index f61e720..d03a7a2 100644
--- a/versions/o-/openssl.json
+++ b/versions/o-/openssl.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "9d7143e27bffb1e4f32ab89a948b6d15b06eb9e6",
+      "git-tree": "5404fbd6de3513a40c14ae8b7032ba879e3e080d",
       "version-string": "3.0.1",
       "port-version": 9
     },

You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/openssl/vcpkg.json

Valid values for the license field are listed at https://spdx.org/licenses/

@Thomas1664
Copy link
Contributor Author

Thomas1664 commented Feb 2, 2022

@ras0219-msft Build fails for ~10 packages. Is it sufficient to change their openssl version to the previous one?

@JackBoosY JackBoosY added the category:port-update The issue is with a library, which is requesting update new revision label Feb 3, 2022
@Thomas1664
Copy link
Contributor Author

Thomas1664 commented Feb 3, 2022

UWP builds working fine!
All other ports that depend on openssl and where build fails have the issue:
Command failed: D:/downloads/tools/cmake-3.21.1-windows/cmake-3.21.1-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j33

Seems like they are incompatible with openssl 3.0.1

OSX:

  • libmysql ✔
  • librabbitmq ✔
  • freerdp ✔
  • uthenticode ✔
  • boinc ✔
  • wangle ✔

x64_uwp:

  • libu2f-server ✔
  • librtmp ✔
  • open62541 ✔
  • libdatachannel ✔
  • librabbitmq ✔
  • libssh2 ✔

arm_uwp:

  • libdatachannel: C4996 ✔
  • libssh2: C4996 ✔
  • open62541: C2220 + C4090 (warnings about different const qualifiers as error) ✔
  • librtmp: C4996 ✔
  • librabbitmq ✔

x64_linux:

  • open62541 ✔
  • qpid-proton ✔
  • libmysql ✔
  • uthenticode ✔
  • azure-c-shared-utility ✔
  • wangle ✔
  • boinc ✔
  • aws-sdk-cpp ✔

x64_windows

  • libwebsockets ✔
  • luasec ✔
  • open62541 ✔
  • uthenticode ✔
  • boinc ✔
  • idevicerestore ✔
  • freerdp ✔
  • librabbitmq ✔
  • libfido2 ✔
  • libmysql ✔

x64_windows_static

  • boinc ✔
  • uthenticode ✔
  • open62541 ✔
  • freerdp ✔
  • libwebsockets ✔
  • libfido2 ✔
  • libmysql ✔

x64_windows_static_md

  • libfido2 ✔
  • luasec ✔ (luasec doesn't support static)
  • uthenticode ✔
  • libwebsockets ✔
  • boinc ✔
  • libmysql ✔
  • freerdp ✔

arm64_windows

  • librabbitmq ✔
  • libwebsockets ✔
  • open62541 ✔
  • uthenticode ✔
  • luasec ✔

x86_windows

  • boinc ✔
  • libwebsockets ✔
  • luasec ✔
  • open62541 ✔
  • idevicerestore ✔
  • librabbitmq ✔
  • freerdp ✔
  • uthenticode ✔
  • libfido2 ✔

@JackBoosY
Copy link
Contributor

Can you please resolve the file conflicts since the qtinterfaceframework regression was fixed?

Thanks.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 4f778cf094a65f836167eb301bdf62b7ba632c68 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index 437c0e9..71ed258 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -4018,7 +4018,7 @@
     },
     "libssh2": {
       "baseline": "1.10.0",
-      "port-version": 3
+      "port-version": 4
     },
     "libstemmer": {
       "baseline": "2017-9",
diff --git a/versions/l-/libssh2.json b/versions/l-/libssh2.json
index 0dd36d4..8216159 100644
--- a/versions/l-/libssh2.json
+++ b/versions/l-/libssh2.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "4db9291a8156c9f6198677b5d7947b7a59d8de23",
+      "git-tree": "5d6f965bcf911a4750731aad9785a4b40686a2b3",
       "version": "1.10.0",
       "port-version": 4
     },
diff --git a/versions/o-/openssl.json b/versions/o-/openssl.json
index 53d7ed5..8028661 100644
--- a/versions/o-/openssl.json
+++ b/versions/o-/openssl.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "bdd75c2029855c55e0a22525dfab89da9b287624",
+      "git-tree": "251975d3dd3d436462c713c1c91e1ab111e618c6",
       "version": "3.0.2",
       "port-version": 0
     },

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/aws-sdk-cpp/vcpkg.json
  • ports/idevicerestore/vcpkg.json
  • ports/libdatachannel/vcpkg.json
  • ports/libmysql/vcpkg.json
  • ports/librabbitmq/vcpkg.json
  • ports/librtmp/vcpkg.json
  • ports/libu2f-server/vcpkg.json
  • ports/libwebsockets/vcpkg.json
  • ports/luasec/vcpkg.json
  • ports/qpid-proton/vcpkg.json
  • ports/uthenticode/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/aws-sdk-cpp/vcpkg.json
  • ports/idevicerestore/vcpkg.json
  • ports/libdatachannel/vcpkg.json
  • ports/libmysql/vcpkg.json
  • ports/librabbitmq/vcpkg.json
  • ports/librtmp/vcpkg.json
  • ports/libu2f-server/vcpkg.json
  • ports/libwebsockets/vcpkg.json
  • ports/luasec/vcpkg.json
  • ports/qpid-proton/vcpkg.json
  • ports/uthenticode/vcpkg.json

Valid values for the license field can be found in the documentation

@JackBoosY
Copy link
Contributor

JackBoosY commented Mar 31, 2022

I will take a look at the quickfix regressions.
Is the regressions related to this changes?

@dg0yt
Copy link
Contributor

dg0yt commented Mar 31, 2022

I will take a look at the quickfix regressions. Is the regressions related to this changes?

The quickfix regressions are related to a baseline "fail" bug in vcpkg tool since the last update, cf. #23862, #23886.
And @Thomas1664 offers a PR to remove quickfix "fail" from the baseline, #23878.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/aws-sdk-cpp/vcpkg.json
  • ports/idevicerestore/vcpkg.json
  • ports/libdatachannel/vcpkg.json
  • ports/libmysql/vcpkg.json
  • ports/librabbitmq/vcpkg.json
  • ports/librtmp/vcpkg.json
  • ports/libu2f-server/vcpkg.json
  • ports/libwebsockets/vcpkg.json
  • ports/luasec/vcpkg.json
  • ports/qpid-proton/vcpkg.json
  • ports/uthenticode/vcpkg.json

Valid values for the license field can be found in the documentation

@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Apr 2, 2022
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/aws-sdk-cpp/vcpkg.json
  • ports/idevicerestore/vcpkg.json
  • ports/libdatachannel/vcpkg.json
  • ports/libmysql/vcpkg.json
  • ports/librabbitmq/vcpkg.json
  • ports/librtmp/vcpkg.json
  • ports/libu2f-server/vcpkg.json
  • ports/libwebsockets/vcpkg.json
  • ports/luasec/vcpkg.json
  • ports/qpid-proton/vcpkg.json
  • ports/uthenticode/vcpkg.json

Valid values for the license field can be found in the documentation

ports/openssl/vcpkg-cmake-wrapper.cmake.in Outdated Show resolved Hide resolved
@strega-nil-ms
Copy link
Contributor

@Thomas1664 I just want to know if that's intentional, then I'll merge

@Thomas1664
Copy link
Contributor Author

@Thomas1664 I just want to know if that's intentional, then I'll merge

@strega-nil-ms this should be 2. Should I make the commit or will you fix this on merge?

@strega-nil-ms
Copy link
Contributor

I'll fix it.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 01d6f6ff1e5332b926099f0c23bda996940ad4e8 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/o-/openssl.json b/versions/o-/openssl.json
index 8028661..1ea6e85 100644
--- a/versions/o-/openssl.json
+++ b/versions/o-/openssl.json
@@ -1,7 +1,7 @@
 {
   "versions": [
     {
-      "git-tree": "251975d3dd3d436462c713c1c91e1ab111e618c6",
+      "git-tree": "2ba2e59ee4f32c11e30aeccc0ecabc09b69c5d22",
       "version": "3.0.2",
       "port-version": 0
     },

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/aws-sdk-cpp/vcpkg.json
  • ports/idevicerestore/vcpkg.json
  • ports/libdatachannel/vcpkg.json
  • ports/libmysql/vcpkg.json
  • ports/librabbitmq/vcpkg.json
  • ports/librtmp/vcpkg.json
  • ports/libu2f-server/vcpkg.json
  • ports/libwebsockets/vcpkg.json
  • ports/luasec/vcpkg.json
  • ports/qpid-proton/vcpkg.json
  • ports/uthenticode/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/aws-sdk-cpp/vcpkg.json
  • ports/idevicerestore/vcpkg.json
  • ports/libdatachannel/vcpkg.json
  • ports/libmysql/vcpkg.json
  • ports/librabbitmq/vcpkg.json
  • ports/librtmp/vcpkg.json
  • ports/libu2f-server/vcpkg.json
  • ports/libwebsockets/vcpkg.json
  • ports/luasec/vcpkg.json
  • ports/qpid-proton/vcpkg.json
  • ports/uthenticode/vcpkg.json

Valid values for the license field can be found in the documentation

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have modified or added at least one vcpkg.json where a "license" field is missing.

If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/aws-sdk-cpp/vcpkg.json
  • ports/idevicerestore/vcpkg.json
  • ports/libdatachannel/vcpkg.json
  • ports/libmysql/vcpkg.json
  • ports/librabbitmq/vcpkg.json
  • ports/librtmp/vcpkg.json
  • ports/libu2f-server/vcpkg.json
  • ports/libwebsockets/vcpkg.json
  • ports/luasec/vcpkg.json
  • ports/qpid-proton/vcpkg.json
  • ports/uthenticode/vcpkg.json

Valid values for the license field can be found in the documentation

@strega-nil-ms strega-nil-ms merged commit 407bc79 into microsoft:master Apr 6, 2022
@strega-nil-ms
Copy link
Contributor

Thanks!

@AenBleidd
Copy link
Contributor

Damn, there is a bug in this port that fails Release-only build:

 CMake Error at ports/openssl/windows/portfile.cmake:142 (file):
           file RENAME failed to rename
         
             D:/a/boinc/boinc/3rdParty/Windows/vcpkg/packages/openssl_x64-windows-static/debug/lib/ossl-modules/legacy.dll
         
           to
         
             D:/a/boinc/boinc/3rdParty/Windows/vcpkg/packages/openssl_x64-windows-static/debug/bin/legacy.dll
         
           because: The system cannot find the path specified.

@cenit
Copy link
Contributor

cenit commented Apr 7, 2022

Damn, there is a bug in this port that fails Release-only build:

 CMake Error at ports/openssl/windows/portfile.cmake:142 (file):
           file RENAME failed to rename
         
             D:/a/boinc/boinc/3rdParty/Windows/vcpkg/packages/openssl_x64-windows-static/debug/lib/ossl-modules/legacy.dll
         
           to
         
             D:/a/boinc/boinc/3rdParty/Windows/vcpkg/packages/openssl_x64-windows-static/debug/bin/legacy.dll
         
           because: The system cannot find the path specified.

Yes, this is impacting also all our internal pipelines as a regression...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-update The issue is with a library, which is requesting update new revision info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[openssl] add new port openssl 3.0.0