Skip to content

[OpenSSL] refactor openssl ports.#14308

Merged
BillyONeal merged 3 commits intomicrosoft:masterfrom
Neumann-A:refactor_openssl_ports
Nov 4, 2020
Merged

[OpenSSL] refactor openssl ports.#14308
BillyONeal merged 3 commits intomicrosoft:masterfrom
Neumann-A:refactor_openssl_ports

Conversation

@Neumann-A
Copy link
Contributor

@Neumann-A Neumann-A commented Oct 30, 2020

  • remove platform dependent openssl-<platform> ports
    -> moved into a subdir in the openssl port itself
  • removed unused patches on windows
  • fixed wrong version in the main openssl port
  • added a wrapper to the windows port for static libraries (kind of tired fixing https://gitlab.kitware.com/cmake/cmake/-/issues/19263 in downstream ports; to be explicit qt6-base...)
  • download and conflict check in main portfile
  • usage installation in main portfile
  • deprecated other openssl-<platform> (not removed due to vcpkg upgrade)

Benefits:

  • vcpkg remove openssl actually removes openssl
  • bit less code duplication across the ports
  • only 1 version field instead of 4.

Drawbacks:

  • CI has to rebuild for all platforms on changes.
  • probably more cleanup/code reduction possible

Future ToDo:

  • Remove extra UWP folder. Windows/UWP seems to be doing a lot of the same things.

@mcmtroffaes
Copy link
Contributor

Oh boy, what a coincidence! I'll put #14309 on hold.

Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

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

I almost certainly missed some quotes but :)

Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>
Co-authored-by: Billy O'Neal <bion@microsoft.com>
@JackBoosY JackBoosY added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Nov 2, 2020
@JackBoosY
Copy link
Contributor

This is indeed another good way to solve the same port in different triplets.

@Neumann-A
Copy link
Contributor Author

@JackBoosY: It should be the only allowed way ;)

@Neumann-A Neumann-A mentioned this pull request Nov 2, 2020
13 tasks
@JackBoosY JackBoosY added the info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Nov 3, 2020
@BillyONeal
Copy link
Member

@Neumann-A Thanks for your help!

@BillyONeal BillyONeal merged commit 63dccf7 into microsoft:master Nov 4, 2020
@Neumann-A Neumann-A deleted the refactor_openssl_ports branch November 4, 2020 08:37
BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Dec 7, 2020
From most recent completed nightly build:
https://dev.azure.com/vcpkg/public/_build/results?buildId=46182

PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt)

I'm assuming this got fixed by @strega-nil 's llvm changes: microsoft#14399

PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt)

Cause unknown.

PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14308 ; also removed Supports: excluded entries for these.

PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14758

PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14618

PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14456 -- and also fixed missing Supports.

REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt.

Probably broken by microsoft#14719 ; ceres has:

```
if (BUILD_BENCHMARKS)
  find_package(benchmark QUIET)
  if (benchmark_FOUND)
     message("-- Found Google benchmark library. Building Ceres benchmarks.")
  else()
     message("-- Failed to find Google benchmark library, disabling build of benchmarks.")
     update_cache_variable(BUILD_BENCHMARKS OFF)
  endif()
  mark_as_advanced(benchmark_DIR)
endif()
```

so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`.

REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz...
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz...
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Note: libunibreak only supports static library linkage. Building static library.
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz...
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached"
```

REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz...
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Probably broken by microsoft#13158 but it passed there:

       (Link target) ->
         chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj]

Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt.

REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt.

Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK.

REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
BillyONeal added a commit that referenced this pull request Dec 7, 2020
From most recent completed nightly build:
https://dev.azure.com/vcpkg/public/_build/results?buildId=46182

PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt)

I'm assuming this got fixed by @strega-nil 's llvm changes: #14399

PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt)

Cause unknown.

PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by #14308 ; also removed Supports: excluded entries for these.

PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt)

Probably fixed by #14758

PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt)

Probably fixed by #14618

PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by #14456 -- and also fixed missing Supports.

REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt.

Probably broken by #14719 ; ceres has:

```
if (BUILD_BENCHMARKS)
  find_package(benchmark QUIET)
  if (benchmark_FOUND)
     message("-- Found Google benchmark library. Building Ceres benchmarks.")
  else()
     message("-- Failed to find Google benchmark library, disabling build of benchmarks.")
     update_cache_variable(BUILD_BENCHMARKS OFF)
  endif()
  mark_as_advanced(benchmark_DIR)
endif()
```

so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`.

REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz...
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz...
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Note: libunibreak only supports static library linkage. Building static library.
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz...
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached"
```

REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz...
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Probably broken by #13158 but it passed there:

       (Link target) ->
         chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj]

Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt.

REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt.

Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK.

REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants