diff --git a/doc/build-msw.txt b/doc/build-msw.txt index f3150e086..346be75f5 100644 --- a/doc/build-msw.txt +++ b/doc/build-msw.txt @@ -15,14 +15,8 @@ WINDOWS BUILD NOTES Compilers Supported ------------------- -MinGW GCC http://tdm-gcc.tdragon.net/ - TDM-GCC with gcc 4.5.1 was used to build this release. -MSYS 1.0.11 was also used (sh needed to compile some dependencies) - - -Candidate releases were built with MSVC 10.0 (2010), but -compiling with Visual C++ caused rendering artifacts when -bitcoin was run. +TODO: What works? +Note: releases are cross-compiled using mingw running on Linux. Dependencies @@ -42,7 +36,7 @@ Boost MIT-like license miniupnpc New (3-clause) BSD license Versions used in this release: -OpenSSL 1.0.0d +OpenSSL 1.0.0e Berkeley DB 4.8.30.NC Boost 1.47.0 miniupnpc 1.6 @@ -54,7 +48,7 @@ MSYS shell: un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377) change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe' -cd /c/openssl-1.0.0d-mgw +cd /c/openssl-1.0.0e-mgw ./config make @@ -86,5 +80,5 @@ Bitcoin ------- DOS prompt: cd \bitcoin\src -mingw32-make bitcoind.exe -f makefile.mingw +mingw32-make -f makefile.mingw strip bitcoind.exe diff --git a/doc/release-process.txt b/doc/release-process.txt index ceff72483..c487935eb 100644 --- a/doc/release-process.txt +++ b/doc/release-process.txt @@ -10,45 +10,68 @@ * tag version in git - $ git tag -a v0.5.0 + git tag -a v0.5.0 * write release notes. git shortlog helps a lot: - $ git shortlog --no-merges v0.4.0.. + git shortlog --no-merges v0.4.0.. * create source-only archive - $ git archive --format=tar --prefix=bitcoin-0.5.0/ HEAD | \ + git archive --format=tar --prefix=bitcoin-0.5.0/ HEAD | \ gzip -9c > ~/tmp/bitcoin-0.5.0-src.tar.gz * perform gitian builds * From a directory containing the bitcoin source, gitian-builder and gitian.sigs - $ export VERSION=0.5.0 - $ cd ./gitian-builder - $ ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian.yml - $ ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml - $ cd build/out - $ zip bitcoin-$VERSION-linux-gitian.zip * - $ mv bitcoin-$VERSION-linux-gitian.zip ../../ - - * NOTE: gitian cross-compiled builds for Windows is broken, we are building - Windows binaries using a public Amazon AWS instance for this release. + export VERSION=0.5.0 + cd ./gitian-builder + + * Fetch and build inputs: + mkdir -p inputs; cd inputs/ + wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz + wget 'http://www.openssl.org/source/openssl-1.0.0e.tar.gz' + wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz' + wget 'http://downloads.sourceforge.net/project/boost/boost/1.47.0/boost_1_47_0.tar.bz2' + wget 'http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.4.tar.gz' + cd .. + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml + cp build/out/boost-win32-1.47.0-gitian.zip inputs/ + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml + cp build/out/qt-win32-4.7.4-gitian.zip inputs/ + + * Build bitcoind and bitcoin-qt on Linux32, Linux64, and Win32: + ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian.yml + ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml + cd build/out + zip bitcoin-$VERSION-linux-gitian.zip * + mv bitcoin-$VERSION-linux-gitian.zip ../../ + ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml + ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION-win32 --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml + cd build/out + zip bitcoin-$VERSION-win32-gitian.zip * + mv bitcoin-$VERSION-win32-gitian.zip ../../ Build output expected: 1. linux 32-bit and 64-bit binaries + source (bitcoin-$VERSION-linux-gitian.zip) - 2. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/ + 2. windows 32-bit binary, installer + source (bitcoin-$VERSION-win32-gitian.zip) + 3. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/ * repackage gitian builds for release as stand-alone zip/tar/installer exe * Linux .tar.gz: - $ mkdir bitcoin-$VERSION-linux - $ cd bitcoin-$VERSION-linux - $ unzip bitcoin-$VERSION-linux-gitian.zip - $ cd ..; tar czvf bitcoin-$VERSION-linux.tar.gz bitcoin-$VERSION-linux + mkdir bitcoin-$VERSION-linux + cd bitcoin-$VERSION-linux + unzip bitcoin-$VERSION-linux-gitian.zip + cd ..; tar czvf bitcoin-$VERSION-linux.tar.gz bitcoin-$VERSION-linux + + * Windows .zip and setup.exe: + mkdir bitcoin-$VERSION-win32 + cd bitcoin-$VERSION-win32 + unzip bitcoin-$VERSION-win32-gitian.zip + mv bitcoin-$VERSION-win32-setup.exe .. + cd ..; zip bitcoin-$VERSION-win32.zip bitcoin-$VERSION-win32 -* Compile Windows .zip and setup.exe on Amazon EC2 instance - TODO: document process * perform Mac build TODO: document process @@ -70,17 +93,28 @@ * Collect enough gitian signatures to meet minimum_weight (see contrib/gitian-downloader/*-download-config) * From a directory containing bitcoin source, gitian.sigs and gitian zips - $ export VERSION=0.5.0 - $ mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian - $ unzip ../bitcoin-$VERSION-linux-gitian.zip - $ mkdir gitian - $ cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/ - $ for file in `ls ../gitian.sigs/$VERSION/`; do - $ cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert ./gitian/$file-build.assert - $ cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert.sig ./gitian/$file-build.assert.sig - $ done - $ zip bitcoin-$VERSION-linux-gitian.zip * - $ cp bitcoin-$VERSION-linux-gitian.zip ../ + export VERSION=0.5.0 + mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian + unzip ../bitcoin-$VERSION-linux-gitian.zip + mkdir gitian + cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/ + for file in `ls ../gitian.sigs/$VERSION/`; do + cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert ./gitian/$file-build.assert + cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert.sig ./gitian/$file-build.assert.sig + done + zip bitcoin-$VERSION-linux-gitian.zip * + cp bitcoin-$VERSION-linux-gitian.zip ../ + cd .. + mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian + unzip ../bitcoin-$VERSION-linux-gitian.zip + mkdir gitian + cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/ + for file in `ls ../gitian.sigs/$VERSION/`; do + cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert ./gitian/$file-build.assert + cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert.sig ./gitian/$file-build.assert.sig + done + zip bitcoin-$VERSION-linux-gitian.zip * + cp bitcoin-$VERSION-linux-gitian.zip ../ * Upload gitian zips to SourceForge