Skip to content

Commit

Permalink
Create universal build and streamline build
Browse files Browse the repository at this point in the history
Creates a universal build for GLIBC, musl, macOS and the various OpenSSL
permutations that can found on those platforms. This is to streamline
the install process so that we don't need to continue creating new
libraries everytime a new distribution release is made.

Adds an OpenSSL 3.x build for all 3 platforms but this is mostly
untested as it's still an alpha and no platform has moved to this new
version yet. This should hopefully just work as it becomes more
prevalent but if not the build framework is in place.

Adds support for a dynamic OpenSSL source on macOS to support installs
from both brew and port. The Install-WSMan cmdlet now detects which one
is installed and sets up various symlinks to better match the platform
it is installing on.

Finally the build process has been tweaked to hopefully support
universal builds (x86_64 and arm64) on macOS which can be enabled once
Azure Pipelines adds the Big Sur target which contains the SDK required
to do this.
  • Loading branch information
jborean93 committed Apr 7, 2021
1 parent d48562b commit ac1f7f9
Show file tree
Hide file tree
Showing 39 changed files with 1,020 additions and 299 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,21 @@
This is the changelog for this fork of OMI.
It documents the changes in each of the tagged releases

## 2.2.0 - TBD

+ Created universal builds to be used across the various nix distributions
+ `glibc` is based on CentOS 7 and is designed for most GNU/Linux distributions, EL/Debian/Arch/etc
+ `musl` is based on Alpine 3 and is designed for busybox/Linux distributions, Alpine
+ `macOS` is based on macOS
+ These universal builds is designed to reduce the number of `libmi` builds being distributed and automatically support future distribution releases as they are made
+ Deprecated the `-Distribution` parameter of `Install-WSMan` as it no longer does anything
+ Removed support for Debian 8 and Fedora 31 due to the age of the distribution
+ Added initial support for OpenSSL 3.x for glibc, musl, and macOS based distributions
+ Added support for using OpenSSL installed from `port` if `brew` is not used on macOS
+ One of them must be installed but you are no longer limited to just `brew`
+ Use `@loader_path` on macOS instead of `@executable_path` for loading `libmi` to support relative paths from the library itself rather than `pwsh`
+ `Register-TrustedCertificate` will now create a file with a determinable name to avoid creating duplicate entries

## 2.1.0 - 2020-11-24

+ Added the following distributions
Expand Down
2 changes: 1 addition & 1 deletion PSWSMan/PSWSMan.psd1
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@{
ModuleVersion = '2.1.0'
ModuleVersion = '2.2.0'
RootModule = 'PSWSMan'
GUID = '92ec96bf-3ff4-41b2-8694-cd3ee636d3fd'
Author = 'Jordan Borean'
Expand Down
Loading

0 comments on commit ac1f7f9

Please sign in to comment.