Release verification
Releases of log4net can be verified with following steps:
Windows
-
Prerequisites (winget - in case of problems see next section choco)
winget install -e --id GnuPG.Gpg4win winget install -e --id Slik.Subversion # or any other subversion client winget install -e --id Mono.Mono winget install -e --id Microsoft.DotNet.SDK.8
After installation, verify that gpg and svn are in the path and add them when not.
-
Prerequisites (choco - only in case of problems with winget)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) choco install gpg4win choco install sliksvn # or any other subversion client choco install mono choco install dotnet-8.0-sdk
-
Check out the release distribution
svn co https://dist.apache.org/repos/dist/dev/logging/log4net/{releaseVersion} log4net-{releaseVersion} pushd log4net-{releaseVersion}
-
Verify and extract
& ./verify-release.ps1
-
switch to the directory where you extracted the sources (in case you didn’t use verify-release.ps1)
-
Verify the build
dotnet test ./src/log4net.sln
Linux
-
Check out the release distribution:
export releaseVersion=... svn co https://dist.apache.org/repos/dist/dev/logging/log4net/$releaseVersion \ log4net-$releaseVersion && cd $_
Click to see how to check out using
wget
instead ofsvn
mkdir log4net-$releaseVersion> && cd $_ wget --cut-dirs=6 \ --no-host-directories \ --no-parent \ --recursive \ https://dist.apache.org/repos/dist/dev/logging/log4net/$releaseVersion/
-
Verify and extract
& ./verify-release.sh
Click to see how todo these steps manually
-
Verify checksums:
sha512sum --check *.sha512
-
Import the release manager GPG keys, unless you haven’t earlier done so:
wget -O - https://downloads.apache.org/logging/KEYS | gpg --import
-
Verify signatures:
for sigFile in *.asc; do gpg --verify $sigFile ${sigFile%.asc}; done
-
Extract sources:
umask 0022 unzip -q *source*.zip -d src cd src
-
-
Verify the build (install docker, if you haven’t already):
docker build -t log4net-builder . docker run -it log4net-builder # this will # - install all dependencies in the container # - build src/log4net.sln # inside the container run dotnet test /logging-log4net/src/log4net.sln