Backport osslsigncode 2.0 - bitcoin#16669 and bitcoin#17671 (#3258)

* build: use osslsigncode 2.0 in gitian

The original osslsigncode project (https://sourceforge.net/projects/osslsigncode/) has been marked as abandonware,
"This is now - and has been for a long while - abandonware. Feel free to create your own forks etc.".

However, a fork at https://github.com/mtrojnar/osslsigncode has emerged that has incorporated
theuni's patches, updated the tool to work with OpenSSL 1.1 and made other improvements.

This commit switches the windows signer descriptor to use this new version of osslsigncode.

* Fixed wget call in gitian-build.py

Co-authored-by: Michael <fanquake@gmail.com>
Co-authored-by: willyk <k.o.willy@gmail.com>
This commit is contained in:
-k 2020-01-01 06:15:08 -08:00 committed by UdjinM6
parent a8e7133c65
commit 7f8b8b31e4
3 changed files with 12 additions and 15 deletions

View File

@ -51,10 +51,8 @@ def build():
os.chdir('gitian-builder') os.chdir('gitian-builder')
os.makedirs('inputs', exist_ok=True) os.makedirs('inputs', exist_ok=True)
subprocess.check_call(['wget', '-N', '-P', 'inputs', 'https://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz']) subprocess.check_call(['wget', '-O', 'inputs/osslsigncode-2.0.tar.gz', 'https://github.com/mtrojnar/osslsigncode/archive/2.0.tar.gz'])
subprocess.check_call(['wget', '-N', '-P', 'inputs', 'https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch']) subprocess.check_call(["echo '5a60e0a4b3e0b4d655317b2f12a810211c50242138322b16e7e01c6fbb89d92f inputs/osslsigncode-2.0.tar.gz' | sha256sum -c"], shell=True)
subprocess.check_output(["echo 'a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911 inputs/osslsigncode-Backports-to-1.7.1.patch' | sha256sum -c"], shell=True)
subprocess.check_output(["echo 'f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 inputs/osslsigncode-1.7.1.tar.gz' | sha256sum -c"], shell=True)
subprocess.check_call(['make', '-C', '../dash/depends', 'download', 'SOURCES_PATH=' + os.getcwd() + '/cache/common']) subprocess.check_call(['make', '-C', '../dash/depends', 'download', 'SOURCES_PATH=' + os.getcwd() + '/cache/common'])
if args.linux: if args.linux:

View File

@ -5,31 +5,30 @@ suites:
architectures: architectures:
- "amd64" - "amd64"
packages: packages:
# Once osslsigncode supports openssl 1.1, we can change this back to libssl-dev - "libssl-dev"
- "libssl1.0-dev"
- "autoconf" - "autoconf"
- "libtool"
- "pkg-config"
remotes: remotes:
- "url": "https://github.com/dashpay/dash-detached-sigs.git" - "url": "https://github.com/dashpay/dash-detached-sigs.git"
"dir": "signature" "dir": "signature"
files: files:
- "osslsigncode-1.7.1.tar.gz" - "osslsigncode-2.0.tar.gz"
- "osslsigncode-Backports-to-1.7.1.patch"
- "dashcore-win-unsigned.tar.gz" - "dashcore-win-unsigned.tar.gz"
script: | script: |
BUILD_DIR=`pwd` BUILD_DIR=`pwd`
SIGDIR=${BUILD_DIR}/signature/win SIGDIR=${BUILD_DIR}/signature/win
UNSIGNED_DIR=${BUILD_DIR}/unsigned UNSIGNED_DIR=${BUILD_DIR}/unsigned
echo "f9a8cdb38b9c309326764ebc937cba1523a3a751a7ab05df3ecc99d18ae466c9 osslsigncode-1.7.1.tar.gz" | sha256sum -c echo "5a60e0a4b3e0b4d655317b2f12a810211c50242138322b16e7e01c6fbb89d92f osslsigncode-2.0.tar.gz" | sha256sum -c
echo "a8c4e9cafba922f89de0df1f2152e7be286aba73f78505169bc351a7938dd911 osslsigncode-Backports-to-1.7.1.patch" | sha256sum -c
mkdir -p ${UNSIGNED_DIR} mkdir -p ${UNSIGNED_DIR}
tar -C ${UNSIGNED_DIR} -xf dashcore-win-unsigned.tar.gz tar -C ${UNSIGNED_DIR} -xf dashcore-win-unsigned.tar.gz
tar xf osslsigncode-1.7.1.tar.gz tar xf osslsigncode-2.0.tar.gz
cd osslsigncode-1.7.1 cd osslsigncode-2.0
patch -p1 < ${BUILD_DIR}/osslsigncode-Backports-to-1.7.1.patch
./autogen.sh
./configure --without-gsf --without-curl --disable-dependency-tracking ./configure --without-gsf --without-curl --disable-dependency-tracking
make make
find ${UNSIGNED_DIR} -name "*-unsigned.exe" | while read i; do find ${UNSIGNED_DIR} -name "*-unsigned.exe" | while read i; do

View File

@ -80,8 +80,8 @@ Ensure gitian-builder is up-to-date:
pushd ./gitian-builder pushd ./gitian-builder
mkdir -p inputs mkdir -p inputs
wget -P inputs https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch wget -O inputs/osslsigncode-2.0.tar.gz https://github.com/mtrojnar/osslsigncode/archive/2.0.tar.gz
wget -P inputs http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz echo '5a60e0a4b3e0b4d655317b2f12a810211c50242138322b16e7e01c6fbb89d92f inputs/osslsigncode-2.0.tar.gz' | sha256sum -c
popd popd
Create the OS X SDK tarball, see the [OS X readme](README_osx.md) for details, and copy it into the inputs directory. Create the OS X SDK tarball, see the [OS X readme](README_osx.md) for details, and copy it into the inputs directory.