diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/gitian-descriptors/README.md | 29 | ||||
-rw-r--r-- | contrib/gitian-descriptors/deps-linux.yml | 18 | ||||
-rw-r--r-- | contrib/gitian-descriptors/deps-win.yml | 22 | ||||
-rw-r--r-- | contrib/gitian-descriptors/gitian-linux.yml | 31 | ||||
-rw-r--r-- | contrib/gitian-descriptors/gitian-win.yml | 12 | ||||
-rw-r--r-- | contrib/gitian-descriptors/qt-win.yml | 8 | ||||
-rw-r--r-- | contrib/gitian-downloader/aschildbach-key.pgp | bin | 0 -> 1993 bytes | |||
-rw-r--r-- | contrib/gitian-downloader/linux-download-config | 13 | ||||
-rw-r--r-- | contrib/gitian-downloader/win32-download-config | 13 | ||||
-rw-r--r-- | contrib/macdeploy/DS_Store | bin | 0 -> 15364 bytes | |||
-rwxr-xr-x | contrib/macdeploy/macdeployqtplus | 15 |
11 files changed, 80 insertions, 81 deletions
diff --git a/contrib/gitian-descriptors/README.md b/contrib/gitian-descriptors/README.md index 3a90b4d038..7a67263ee4 100644 --- a/contrib/gitian-descriptors/README.md +++ b/contrib/gitian-descriptors/README.md @@ -25,30 +25,17 @@ Once you've got the right hardware and software: mkdir gitian-builder/inputs cd gitian-builder/inputs - # Get inputs (see doc/release-process.md for exact inputs needed and where to get them) - ... - cd ../.. - + # Create base images cd gitian-builder - bin/make-base-vm --arch i386 - bin/make-base-vm --arch amd64 + bin/make-base-vm --suite precise --arch i386 + bin/make-base-vm --suite precise --arch amd64 cd .. - # Build Linux release: - cd bitcoin - git pull - cd ../gitian-builder - git pull - ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml - - # Build Win32 dependencies: (only needs to be done once, or when dependency versions change) - ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/boost-win32.yml - ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/deps-win32.yml - ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/qt-win32.yml - ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/protobuf-win32.yml - - # Build Win32 release: - ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml + # Get inputs (see doc/release-process.md for exact inputs needed and where to get them) + ... + + # For further build instructions see doc/release-notes.md + ... --------------------- diff --git a/contrib/gitian-descriptors/deps-linux.yml b/contrib/gitian-descriptors/deps-linux.yml index 908f9321a4..af10461b83 100644 --- a/contrib/gitian-descriptors/deps-linux.yml +++ b/contrib/gitian-descriptors/deps-linux.yml @@ -16,8 +16,8 @@ packages: reference_datetime: "2013-06-01 00:00:00" remotes: [] files: -- "openssl-1.0.1e.tar.gz" -- "miniupnpc-1.8.tar.gz" +- "openssl-1.0.1g.tar.gz" +- "miniupnpc-1.9.tar.gz" - "qrencode-3.4.3.tar.bz2" - "protobuf-2.5.0.tar.bz2" - "db-4.8.30.NC.tar.gz" @@ -30,15 +30,15 @@ script: | export TZ=UTC export LIBRARY_PATH="$STAGING/lib" # Integrity Check - echo "f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3 openssl-1.0.1e.tar.gz" | sha256sum -c - echo "bc5f73c7b0056252c1888a80e6075787a1e1e9112b808f863a245483ff79859c miniupnpc-1.8.tar.gz" | sha256sum -c + echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c + echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c # - tar xzf openssl-1.0.1e.tar.gz - cd openssl-1.0.1e + tar xzf openssl-1.0.1g.tar.gz + cd openssl-1.0.1g # need -fPIC to avoid relocation error in 64 bit builds ./config no-shared no-zlib no-dso no-krb5 --openssldir=$STAGING -fPIC # need to build OpenSSL with faketime because a timestamp is embedded into cversion.o @@ -46,8 +46,8 @@ script: | make install_sw cd .. # - tar xzfm miniupnpc-1.8.tar.gz - cd miniupnpc-1.8 + tar xzfm miniupnpc-1.9.tar.gz + cd miniupnpc-1.9 # miniupnpc is always built with -fPIC INSTALLPREFIX=$STAGING make $MAKEOPTS install rm -f $STAGING/lib/libminiupnpc.so* # no way to skip shared lib build @@ -95,4 +95,4 @@ script: | done # cd $STAGING - find include lib bin host | sort | zip -X@ $OUTDIR/bitcoin-deps-linux${GBUILD_BITS}-gitian-r3.zip + find include lib bin host | sort | zip -X@ $OUTDIR/bitcoin-deps-linux${GBUILD_BITS}-gitian-r5.zip diff --git a/contrib/gitian-descriptors/deps-win.yml b/contrib/gitian-descriptors/deps-win.yml index 87ebf3e87b..17ac413d80 100644 --- a/contrib/gitian-descriptors/deps-win.yml +++ b/contrib/gitian-descriptors/deps-win.yml @@ -14,9 +14,9 @@ packages: reference_datetime: "2011-01-30 00:00:00" remotes: [] files: -- "openssl-1.0.1e.tar.gz" +- "openssl-1.0.1g.tar.gz" - "db-4.8.30.NC.tar.gz" -- "miniupnpc-1.8.tar.gz" +- "miniupnpc-1.9.tar.gz" - "zlib-1.2.8.tar.gz" - "libpng-1.6.8.tar.gz" - "qrencode-3.4.3.tar.bz2" @@ -28,9 +28,9 @@ script: | INDIR=$HOME/build TEMPDIR=$HOME/tmp # Input Integrity Check - echo "f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3 openssl-1.0.1e.tar.gz" | sha256sum -c + echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c - echo "bc5f73c7b0056252c1888a80e6075787a1e1e9112b808f863a245483ff79859c miniupnpc-1.8.tar.gz" | sha256sum -c + echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c echo "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d zlib-1.2.8.tar.gz" | sha256sum -c echo "32c7acf1608b9c8b71b743b9780adb7a7b347563dbfb4a5263761056da44cc96 libpng-1.6.8.tar.gz" | sha256sum -c echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c @@ -48,8 +48,8 @@ script: | mkdir -p $INSTALLPREFIX $BUILDDIR cd $BUILDDIR # - tar xzf $INDIR/openssl-1.0.1e.tar.gz - cd openssl-1.0.1e + tar xzf $INDIR/openssl-1.0.1g.tar.gz + cd openssl-1.0.1g if [ "$BITS" == "32" ]; then OPENSSL_TGT=mingw else @@ -67,11 +67,11 @@ script: | make install_lib install_include cd ../.. # - tar xzf $INDIR/miniupnpc-1.8.tar.gz - cd miniupnpc-1.8 + tar xzf $INDIR/miniupnpc-1.9.tar.gz + cd miniupnpc-1.9 echo " - --- miniupnpc-1.8/Makefile.mingw.orig 2013-09-29 18:52:51.014087958 -1000 - +++ miniupnpc-1.8/Makefile.mingw 2013-09-29 19:09:29.663318691 -1000 + --- miniupnpc-1.9/Makefile.mingw.orig 2013-09-29 18:52:51.014087958 -1000 + +++ miniupnpc-1.9/Makefile.mingw 2013-09-29 19:09:29.663318691 -1000 @@ -67,8 +67,8 @@ wingenminiupnpcstrings.o: wingenminiupnpcstrings.c @@ -124,5 +124,5 @@ script: | done # cd $INSTALLPREFIX - find include lib | sort | zip -X@ $OUTDIR/bitcoin-deps-win$BITS-gitian-r10.zip + find include lib | sort | zip -X@ $OUTDIR/bitcoin-deps-win$BITS-gitian-r12.zip done # for BITS in diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index 01a5c3c0bf..018b6fb26f 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -21,8 +21,8 @@ remotes: - "url": "https://github.com/bitcoin/bitcoin.git" "dir": "bitcoin" files: -- "bitcoin-deps-linux32-gitian-r3.zip" -- "bitcoin-deps-linux64-gitian-r3.zip" +- "bitcoin-deps-linux32-gitian-r5.zip" +- "bitcoin-deps-linux64-gitian-r5.zip" - "boost-linux32-1.55.0-gitian-r1.zip" - "boost-linux64-1.55.0-gitian-r1.zip" script: | @@ -36,21 +36,42 @@ script: | # mkdir -p $STAGING cd $STAGING - unzip ../build/bitcoin-deps-linux${GBUILD_BITS}-gitian-r3.zip + unzip ../build/bitcoin-deps-linux${GBUILD_BITS}-gitian-r5.zip unzip ../build/boost-linux${GBUILD_BITS}-1.55.0-gitian-r1.zip cd ../build + + function do_configure { + ./configure "$@" --enable-upnp-default --prefix=$STAGING --with-protoc-bindir=$STAGING/host/bin --with-boost=$STAGING --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}" BOOST_CHRONO_EXTRALIBS="-lrt" + } # cd bitcoin ./autogen.sh - ./configure --prefix=$STAGING --bindir=$BINDIR --with-protoc-bindir=$STAGING/host/bin --with-boost=$STAGING --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}" BOOST_CHRONO_EXTRALIBS="-lrt" + do_configure make dist DISTNAME=`echo bitcoin-*.tar.gz` + + # Build dynamic versions of everything + # (with static linking to boost and openssl as well a some non-OS deps) mkdir -p distsrc cd distsrc tar --strip-components=1 -xf ../$DISTNAME - ./configure --enable-upnp-default --prefix=$STAGING --bindir=$BINDIR --with-protoc-bindir=$STAGING/host/bin --with-boost=$STAGING --disable-maintainer-mode --disable-dependency-tracking PKG_CONFIG_PATH="$STAGING/lib/pkgconfig" CPPFLAGS="-I$STAGING/include ${OPTFLAGS}" LDFLAGS="-L$STAGING/lib ${OPTFLAGS}" CXXFLAGS="-frandom-seed=bitcoin ${OPTFLAGS}" BOOST_CHRONO_EXTRALIBS="-lrt" + do_configure --bindir=$BINDIR make $MAKEOPTS make $MAKEOPTS install-strip + make $MAKEOPTS clean + + # Build fully static versions of bitcoind and bitcoin-cli for older Linux distros + STATIC_BINDIR="$HOME/bindir.static" + mkdir -p $STATIC_BINDIR + # For 32-bit, -pie cannot be used with -static, as invalid executables are generated + # For 64-bit, -pie with -static causes a link error + # Disable hardening in configure and manually pass 'static-safe' hardening flags + OPTFLAGS='-O2 -static -Wstack-protector -fstack-protector-all -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now' + do_configure --bindir=$STATIC_BINDIR --disable-tests --enable-upnp-default --without-gui --disable-hardening + make $MAKEOPTS + make $MAKEOPTS install-strip + cp $STATIC_BINDIR/bitcoind $BINDIR/bitcoind.static + cp $STATIC_BINDIR/bitcoin-cli $BINDIR/bitcoin-cli.static # sort distribution tar file and normalize user/group/mtime information for deterministic output mkdir -p $OUTDIR/src diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml index ecda73e44e..2191fb36c7 100644 --- a/contrib/gitian-descriptors/gitian-win.yml +++ b/contrib/gitian-descriptors/gitian-win.yml @@ -22,12 +22,12 @@ remotes: - "url": "https://github.com/bitcoin/bitcoin.git" "dir": "bitcoin" files: -- "qt-win32-5.2.0-gitian-r2.zip" -- "qt-win64-5.2.0-gitian-r2.zip" +- "qt-win32-5.2.0-gitian-r3.zip" +- "qt-win64-5.2.0-gitian-r3.zip" - "boost-win32-1.55.0-gitian-r6.zip" - "boost-win64-1.55.0-gitian-r6.zip" -- "bitcoin-deps-win32-gitian-r10.zip" -- "bitcoin-deps-win64-gitian-r10.zip" +- "bitcoin-deps-win32-gitian-r12.zip" +- "bitcoin-deps-win64-gitian-r12.zip" - "protobuf-win32-2.5.0-gitian-r4.zip" - "protobuf-win64-2.5.0-gitian-r4.zip" script: | @@ -59,9 +59,9 @@ script: | mkdir -p $STAGING $BUILDDIR $BINDIR # cd $STAGING - unzip $INDIR/qt-win${BITS}-5.2.0-gitian-r2.zip + unzip $INDIR/qt-win${BITS}-5.2.0-gitian-r3.zip unzip $INDIR/boost-win${BITS}-1.55.0-gitian-r6.zip - unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r10.zip + unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r12.zip unzip $INDIR/protobuf-win${BITS}-2.5.0-gitian-r4.zip if [ "$NEEDDIST" == "1" ]; then # Make source code archive which is architecture independent so it only needs to be done once diff --git a/contrib/gitian-descriptors/qt-win.yml b/contrib/gitian-descriptors/qt-win.yml index e3de2c02ef..8f24492b53 100644 --- a/contrib/gitian-descriptors/qt-win.yml +++ b/contrib/gitian-descriptors/qt-win.yml @@ -15,8 +15,8 @@ reference_datetime: "2011-01-30 00:00:00" remotes: [] files: - "qt-everywhere-opensource-src-5.2.0.tar.gz" -- "bitcoin-deps-win32-gitian-r10.zip" -- "bitcoin-deps-win64-gitian-r10.zip" +- "bitcoin-deps-win32-gitian-r12.zip" +- "bitcoin-deps-win64-gitian-r12.zip" script: | # Defines export TZ=UTC @@ -48,7 +48,7 @@ script: | # # Need mingw-compiled openssl from bitcoin-deps: cd $DEPSDIR - unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r10.zip + unzip $INDIR/bitcoin-deps-win${BITS}-gitian-r12.zip # cd $BUILDDIR # @@ -86,7 +86,7 @@ script: | export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 export FAKETIME=$REFERENCE_DATETIME find -print0 | xargs -r0 touch # fix up timestamps before packaging - find | sort | zip -X@ $OUTDIR/qt-win${BITS}-5.2.0-gitian-r2.zip + find | sort | zip -X@ $OUTDIR/qt-win${BITS}-5.2.0-gitian-r3.zip unset LD_PRELOAD unset FAKETIME done # for BITS in diff --git a/contrib/gitian-downloader/aschildbach-key.pgp b/contrib/gitian-downloader/aschildbach-key.pgp Binary files differnew file mode 100644 index 0000000000..df06e19fa4 --- /dev/null +++ b/contrib/gitian-downloader/aschildbach-key.pgp diff --git a/contrib/gitian-downloader/linux-download-config b/contrib/gitian-downloader/linux-download-config index ae0377a704..b5e0561aa3 100644 --- a/contrib/gitian-downloader/linux-download-config +++ b/contrib/gitian-downloader/linux-download-config @@ -8,39 +8,32 @@ rss: pattern: bitcoin-\d+.\d+.\d+-linux-gitian.zip signers: 0A82509767C7D4A5D14DA2301AE1D35043E08E54: - weight: 40 name: BlueMatt key: bluematt BF6273FAEF7CC0BA1F562E50989F6B3048A116B5: - weight: 40 name: Devrandom key: devrandom E463A93F5F3117EEDE6C7316BD02942421F4889F: - weight: 40 name: Luke-Jr key: luke-jr D762373D24904A3E42F33B08B9A408E71DAAC974: - weight: 40 name: "Pieter Wuille" key: sipa 77E72E69DA7EE0A148C06B21B34821D4944DE5F7: - weight: 40 name: tcatm key: tcatm 01CDF4627A3B88AAE4A571C87588242FBE38D3A8: - weight: 40 name: "Gavin Andresen" key: gavinandresen 71A3B16735405025D447E8F274810B012346C9A6: - weight: 40 name: "Wladimir J. van der Laan" key: laanwj AEC1884398647C47413C1C3FB1179EB7347DC10D: - weight: 40 name: "Warren Togami" key: wtogami 9692B91BBF0E8D34DFD33B1882C5C009628ECF0C: - weight: 1 name: michagogo key: michagogo -minimum_weight: 120 + E944AE667CF960B1004BC32FCA662BE18B877A60: + name: "Andreas Schildbach" + key: aschildbach diff --git a/contrib/gitian-downloader/win32-download-config b/contrib/gitian-downloader/win32-download-config index 1ead2fddcb..5d56db863e 100644 --- a/contrib/gitian-downloader/win32-download-config +++ b/contrib/gitian-downloader/win32-download-config @@ -8,39 +8,32 @@ rss: pattern: bitcoin-\d+.\d+.\d+-win32-gitian.zip signers: 0A82509767C7D4A5D14DA2301AE1D35043E08E54: - weight: 40 name: BlueMatt key: bluematt BF6273FAEF7CC0BA1F562E50989F6B3048A116B5: - weight: 40 name: Devrandom key: devrandom E463A93F5F3117EEDE6C7316BD02942421F4889F: - weight: 40 name: Luke-Jr key: luke-jr D762373D24904A3E42F33B08B9A408E71DAAC974: - weight: 40 name: "Pieter Wuille" key: sipa 77E72E69DA7EE0A148C06B21B34821D4944DE5F7: - weight: 40 name: tcatm key: tcatm 01CDF4627A3B88AAE4A571C87588242FBE38D3A8: - weight: 40 name: "Gavin Andresen" key: gavinandresen 71A3B16735405025D447E8F274810B012346C9A6: - weight: 40 name: "Wladimir J. van der Laan" key: laanwj AEC1884398647C47413C1C3FB1179EB7347DC10D: - weight: 40 name: "Warren Togami" key: wtogami 9692B91BBF0E8D34DFD33B1882C5C009628ECF0C: - weight: 1 name: michagogo key: michagogo -minimum_weight: 120 + E944AE667CF960B1004BC32FCA662BE18B877A60: + name: "Andreas Schildbach" + key: aschildbach diff --git a/contrib/macdeploy/DS_Store b/contrib/macdeploy/DS_Store Binary files differnew file mode 100644 index 0000000000..b9a1e14864 --- /dev/null +++ b/contrib/macdeploy/DS_Store diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus index 533be6cffa..5c310df1fc 100755 --- a/contrib/macdeploy/macdeployqtplus +++ b/contrib/macdeploy/macdeployqtplus @@ -196,7 +196,8 @@ class DeploymentInfo(object): def getFrameworks(binaryPath, verbose): if verbose >= 3: print "Inspecting with otool: " + binaryPath - otool = subprocess.Popen(["otool", "-L", binaryPath], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + otoolbin=os.getenv("OTOOL", "otool") + otool = subprocess.Popen([otoolbin, "-L", binaryPath], stdout=subprocess.PIPE, stderr=subprocess.PIPE) o_stdout, o_stderr = otool.communicate() if otool.returncode != 0: if verbose >= 1: @@ -221,7 +222,8 @@ def getFrameworks(binaryPath, verbose): return libraries def runInstallNameTool(action, *args): - subprocess.check_call(["install_name_tool", "-"+action] + list(args)) + installnametoolbin=os.getenv("INSTALLNAMETOOL", "install_name_tool") + subprocess.check_call([installnametoolbin, "-"+action] + list(args)) def changeInstallName(oldName, newName, binaryPath, verbose): if verbose >= 3: @@ -239,10 +241,11 @@ def changeIdentification(id, binaryPath, verbose): runInstallNameTool("id", id, binaryPath) def runStrip(binaryPath, verbose): + stripbin=os.getenv("STRIP", "strip") if verbose >= 3: print "Using strip:" print " stripped", binaryPath - subprocess.check_call(["strip", "-x", binaryPath]) + subprocess.check_call([stripbin, "-x", binaryPath]) def copyFramework(framework, path, verbose): if framework.sourceFilePath.startswith("Qt"): @@ -347,6 +350,8 @@ def deployFrameworksForAppBundle(applicationBundle, strip, verbose): def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose): # Lookup available plugins, exclude unneeded plugins = [] + if deploymentInfo.pluginPath is None: + return for dirpath, dirnames, filenames in os.walk(deploymentInfo.pluginPath): pluginDirectory = os.path.relpath(dirpath, deploymentInfo.pluginPath) if pluginDirectory == "designer": @@ -421,8 +426,8 @@ def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose): deployFrameworks([dependency], appBundleInfo.path, destinationPath, strip, verbose, deploymentInfo) qt_conf="""[Paths] -translations=Resources -plugins=PlugIns +Translations=Resources +Plugins=PlugIns """ ap = ArgumentParser(description="""Improved version of macdeployqt. |