Browse Source

Litecoin: Upgrade openssl, qt, miniupnpc, zlib, libpng, qrencode

0.8
Warren Togami 10 years ago
parent
commit
41fa624525
  1. 45
      contrib/gitian-descriptors/README
  2. 42
      contrib/gitian-descriptors/deps-win32.yml
  3. 8
      contrib/gitian-descriptors/gitian-win32.yml
  4. 16
      contrib/gitian-descriptors/gitian.yml
  5. 14
      contrib/gitian-descriptors/qt-win32.yml
  6. 85
      doc/release-process.md

45
contrib/gitian-descriptors/README

@ -1,4 +1,8 @@ @@ -1,4 +1,8 @@
Refer to doc/release-notes.md for directions on obtaining inputs/ and using gitian to build Litecoin.
================================================================
Gavin's notes on getting gitian builds up and running using KVM:
-----------------------------------------------
These instructions distilled from:
https://help.ubuntu.com/community/KVM/Installation
@ -15,47 +19,6 @@ Sanity checks: @@ -15,47 +19,6 @@ Sanity checks:
sudo service apt-cacher-ng status # Should return apt-cacher-ng is running
ls -l /dev/kvm # Should show a /dev/kvm device
Once you've got the right hardware and software:
git clone git://github.com/bitcoin/bitcoin.git
git clone git://github.com/devrandom/gitian-builder.git
mkdir gitian-builder/inputs
cd gitian-builder/inputs
# Inputs for Linux and Win32:
wget -O miniupnpc-1.6.tar.gz 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz'
wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
# Inputs for Win32: (Linux has packages for these)
wget 'https://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
wget 'http://www.openssl.org/source/openssl-1.0.1c.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
wget 'https://downloads.sourceforge.net/project/libpng/zlib/1.2.6/zlib-1.2.6.tar.gz'
wget 'https://downloads.sourceforge.net/project/libpng/libpng15/older-releases/1.5.9/libpng-1.5.9.tar.gz'
wget 'https://download.qt-project.org/archive/qt/4.8/4.8.3/qt-everywhere-opensource-src-4.8.3.tar.gz'
cd ../..
cd gitian-builder
bin/make-base-vm --arch i386
bin/make-base-vm --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.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
# Build Win32 release:
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
---------------------
gitian-builder now also supports building using LXC. See
https://help.ubuntu.com/12.04/serverguide/lxc.html
... for how to get LXC up and running under Ubuntu.

42
contrib/gitian-descriptors/deps-win32.yml

@ -14,12 +14,12 @@ packages: @@ -14,12 +14,12 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "openssl-1.0.1c.tar.gz"
- "openssl-1.0.1g.tar.gz"
- "db-4.8.30.NC.tar.gz"
- "miniupnpc-1.6.tar.gz"
- "zlib-1.2.6.tar.gz"
- "libpng-1.5.9.tar.gz"
- "qrencode-3.2.0.tar.bz2"
- "miniupnpc-1.9.20140401.tar.gz"
- "zlib-1.2.8.tar.gz"
- "libpng-1.6.8.tar.gz"
- "qrencode-3.4.3.tar.bz2"
script: |
#
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
@ -27,11 +27,19 @@ script: | @@ -27,11 +27,19 @@ script: |
export TZ=UTC
export INSTALLPREFIX=$OUTDIR/staging/deps
export HOST=i686-w64-mingw32
# Integrity Check
echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c
echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c
echo "d02670112125300f7a3d61421714d99105edd90190bf12542d16785f16f017aa miniupnpc-1.9.20140401.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
#
mkdir -p $INSTALLPREFIX
tar xzf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
tar xzf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./Configure --cross-compile-prefix=$HOST- mingw --openssldir=$INSTALLPREFIX
make
make install_sw
@ -44,8 +52,8 @@ script: | @@ -44,8 +52,8 @@ script: |
make install_lib install_include
cd ../..
#
tar xzf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
tar xzf miniupnpc-1.9.20140401.tar.gz
cd miniupnpc-1.9.20140401
echo "
--- miniupnpc-1.6/Makefile.mingw.orig 2013-09-29 18:52:51.014087958 -1000
+++ miniupnpc-1.6/Makefile.mingw 2013-09-29 19:09:29.663318691 -1000
@ -68,26 +76,26 @@ script: | @@ -68,26 +76,26 @@ script: |
install libminiupnpc.a $INSTALLPREFIX/lib
cd ..
#
tar xzf zlib-1.2.6.tar.gz
cd zlib-1.2.6
tar xzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
CROSS_PREFIX=$HOST- ./configure --prefix=$INSTALLPREFIX --static
make
make install
cd ..
#
tar xzf libpng-1.5.9.tar.gz
cd libpng-1.5.9
CFLAGS="-I$INSTALLPREFIX/include" LDFLAGS="-L$INSTALLPREFIX/lib" ./configure --disable-shared --prefix=$INSTALLPREFIX --host=$HOST
tar xzf libpng-1.6.8.tar.gz
cd libpng-1.6.8
CPPFLAGS="-I$INSTALLPREFIX/include" LDFLAGS="-L$INSTALLPREFIX/lib" ./configure --disable-shared --prefix=$INSTALLPREFIX --host=$HOST
make $MAKEOPTS
make install
cd ..
#
tar xjf qrencode-3.2.0.tar.bz2
cd qrencode-3.2.0
tar xjf qrencode-3.4.3.tar.bz2
cd qrencode-3.4.3
png_CFLAGS="-I$INSTALLPREFIX/include" png_LIBS="-L$INSTALLPREFIX/lib -lpng" ./configure --prefix=$INSTALLPREFIX --host=$HOST
make
make install
cd ..
#
cd $INSTALLPREFIX
zip -r $OUTDIR/bitcoin-deps-win32-gitian-r9.zip include lib
zip -r $OUTDIR/bitcoin08-deps-win32-gitian-r10.zip include lib

8
contrib/gitian-descriptors/gitian-win32.yml

@ -16,9 +16,9 @@ remotes: @@ -16,9 +16,9 @@ remotes:
- "url": "https://github.com/litecoin-project/litecoin.git"
"dir": "litecoin"
files:
- "qt-win32-4.8.3-gitian-r4.zip"
- "qt-win32-4.8.5-gitian-r5.zip"
- "boost-win32-1.55.0-gitian-r6.zip"
- "bitcoin-deps-win32-gitian-r9.zip"
- "bitcoin08-deps-win32-gitian-r10.zip"
script: |
#
STAGING=$HOME/staging
@ -26,9 +26,9 @@ script: | @@ -26,9 +26,9 @@ script: |
#
mkdir -p $STAGING
cd $STAGING
unzip ../build/qt-win32-4.8.3-gitian-r4.zip
unzip ../build/qt-win32-4.8.5-gitian-r5.zip
unzip ../build/boost-win32-1.55.0-gitian-r6.zip
unzip ../build/bitcoin-deps-win32-gitian-r9.zip
unzip ../build/bitcoin08-deps-win32-gitian-r10.zip
cd $HOME/build/
#
cd litecoin

16
contrib/gitian-descriptors/gitian.yml

@ -23,19 +23,23 @@ remotes: @@ -23,19 +23,23 @@ remotes:
- "url": "https://github.com/litecoin-project/litecoin.git"
"dir": "litecoin"
files:
- "miniupnpc-1.6.tar.gz"
- "qrencode-3.2.0.tar.bz2"
- "miniupnpc-1.9.20140401.tar.gz"
- "qrencode-3.4.3.tar.bz2"
script: |
INSTDIR="$HOME/install"
export LIBRARY_PATH="$INSTDIR/lib"
# Integrity Check
echo "d02670112125300f7a3d61421714d99105edd90190bf12542d16785f16f017aa miniupnpc-1.9.20140401.tar.gz" | sha256sum -c
echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c
#
tar xzf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
tar xzf miniupnpc-1.9.20140401.tar.gz
cd miniupnpc-1.9.20140401
INSTALLPREFIX=$INSTDIR make $MAKEOPTS install
cd ..
#
tar xjf qrencode-3.2.0.tar.bz2
cd qrencode-3.2.0
tar xjf qrencode-3.4.3.tar.bz2
cd qrencode-3.4.3
./configure --prefix=$INSTDIR --enable-static --disable-shared
make $MAKEOPTS install
cd ..

14
contrib/gitian-descriptors/qt-win32.yml

@ -13,22 +13,24 @@ packages: @@ -13,22 +13,24 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "qt-everywhere-opensource-src-4.8.3.tar.gz"
- "bitcoin-deps-win32-gitian-r9.zip"
- "qt-everywhere-opensource-src-4.8.5.tar.gz"
- "bitcoin08-deps-win32-gitian-r10.zip"
script: |
#
HOST=i686-w64-mingw32
INSTDIR="$HOME/qt/"
# Integrity Check
echo "eb728f8268831dc4373be6403b7dd5d5dde03c169ad6882f9a8cb560df6aa138 qt-everywhere-opensource-src-4.8.5.tar.gz" | sha256sum -c
#
mkdir $INSTDIR
mkdir -p $INSTDIR/host/bin
#
# Need mingw-compiled openssl from bitcoin-deps:
unzip bitcoin-deps-win32-gitian-r9.zip
unzip bitcoin08-deps-win32-gitian-r10.zip
DEPSDIR=`pwd`
#
tar xzf qt-everywhere-opensource-src-4.8.3.tar.gz
cd qt-everywhere-opensource-src-4.8.3
tar xzf qt-everywhere-opensource-src-4.8.5.tar.gz
cd qt-everywhere-opensource-src-4.8.5
sed 's/$TODAY/2011-01-30/' -i configure
sed "s/i686-pc-mingw32-/$HOST-/" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix "s|QMAKE_CFLAGS\t\t= -pipe|QMAKE_CFLAGS\t\t= -pipe -isystem /usr/$HOST/include/ -frandom-seed=qtbuild|" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
@ -59,4 +61,4 @@ script: | @@ -59,4 +61,4 @@ script: |
# as zip stores file timestamps, use faketime to intercept stat calls to set dates for all files to reference date
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
zip -r $OUTDIR/qt-win32-4.8.3-gitian-r4.zip *
zip -r $OUTDIR/qt-win32-4.8.5-gitian-r5.zip *

85
doc/release-process.md

@ -6,7 +6,7 @@ Release Process @@ -6,7 +6,7 @@ Release Process
###update (commit) version in sources
litecoin-qt.pro
bitcoin-qt.pro
contrib/verifysfbinaries/verify.sh
doc/README*
share/setup.nsi
@ -14,7 +14,7 @@ Release Process @@ -14,7 +14,7 @@ Release Process
###tag version in git
git tag -s v0.8.0
git tag -s v0.8.7
###write release notes. git shortlog helps a lot, for example:
@ -27,41 +27,41 @@ Release Process @@ -27,41 +27,41 @@ Release Process
From a directory containing the litecoin source, gitian-builder and gitian.sigs
export SIGNER=(your gitian key, ie bluematt, sipa, etc)
export VERSION=0.8.0
export VERSION=0.8.7
cd ./gitian-builder
Fetch and build inputs: (first time, or when dependency versions change)
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.1c.tar.gz'
wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20140401.tar.gz' -O miniupnpc-1.9.20140401.tar.gz'
wget 'http://www.openssl.org/source/openssl-1.0.1g.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
wget 'http://zlib.net/zlib-1.2.6.tar.gz'
wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.9.tar.gz'
wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
wget 'http://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
wget 'http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.3.tar.gz'
wget 'http://zlib.net/zlib-1.2.8.tar.gz'
wget 'ftp://ftp.simplesystems.org/pub/libpng/png/src/history/libpng16/libpng-1.6.8.tar.gz'
wget 'http://fukuchi.org/works/qrencode/qrencode-3.4.3.tar.bz2'
wget 'http://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2'
wget 'http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz'
cd ..
./bin/gbuild ../litecoin/contrib/gitian-descriptors/boost-win32.yml
mv build/out/boost-win32-1.50.0-gitian2.zip inputs/
./bin/gbuild ../litecoin/contrib/gitian-descriptors/qt-win32.yml
mv build/out/qt-win32-4.8.3-gitian-r1.zip inputs/
mv build/out/boost-*.zip inputs/
./bin/gbuild ../litecoin/contrib/gitian-descriptors/deps-win32.yml
mv build/out/litecoin-deps-0.0.5.zip inputs/
mv build/out/bitcoin*.zip inputs/
./bin/gbuild ../litecoin/contrib/gitian-descriptors/qt-win32.yml
mv build/out/qt*.zip inputs/
Build litecoind and litecoin-qt on Linux32, Linux64, and Win32:
./bin/gbuild --commit litecoin=v${VERSION} ../litecoin/contrib/gitian-descriptors/gitian.yml
./bin/gsign --signer $SIGNER --release ${VERSION} --destination ../gitian.sigs/ ../litecoin/contrib/gitian-descriptors/gitian.yml
pushd build/out
zip -r litecoin-${VERSION}-linux-gitian.zip *
mv litecoin-${VERSION}-linux-gitian.zip ../../
zip -r litecoin-${VERSION}-linux.zip *
mv litecoin-${VERSION}-linux.zip ../../
popd
./bin/gbuild --commit litecoin=v${VERSION} ../litecoin/contrib/gitian-descriptors/gitian-win32.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-win32 --destination ../gitian.sigs/ ../litecoin/contrib/gitian-descriptors/gitian-win32.yml
pushd build/out
zip -r litecoin-${VERSION}-win32-gitian.zip *
mv litecoin-${VERSION}-win32-gitian.zip ../../
zip -r litecoin-${VERSION}-win32.zip *
mv litecoin-${VERSION}-win32.zip ../../
popd
Build output expected:
@ -87,26 +87,23 @@ repackage gitian builds for release as stand-alone zip/tar/installer exe @@ -87,26 +87,23 @@ repackage gitian builds for release as stand-alone zip/tar/installer exe
**Perform Mac build:**
OSX binaries are created by Gavin Andresen on a 32-bit, OSX 10.6 machine.
OSX binaries are created on a dedicated 32-bit, OSX 10.6.8 machine.
Litecoin 0.8.x is built with MacPorts. 0.9.x will be Homebrew only.
qmake RELEASE=1 USE_UPNP=1 USE_QRCODE=1 litecoin-qt.pro
qmake RELEASE=1 USE_UPNP=1 USE_QRCODE=1
make
export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files
T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale)
python2.7 share/qt/clean_mac_info_plist.py
python2.7 contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist
python2.7 contrib/macdeploy/macdeployqtplus Litecoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist
Build output expected: Bitcoin-Qt.dmg
Build output expected: Litecoin-Qt.dmg
###Next steps:
* Code-sign Windows -setup.exe (in a Windows virtual machine) and
OSX Bitcoin-Qt.app (Note: only Gavin has the code-signing keys currently)
* upload builds to SourceForge
* create SHA256SUMS for builds, and PGP-sign it
* update litecoin.org version
make sure all OS download links go to the right versions
@ -114,8 +111,6 @@ repackage gitian builds for release as stand-alone zip/tar/installer exe @@ -114,8 +111,6 @@ repackage gitian builds for release as stand-alone zip/tar/installer exe
* update wiki download links
* update wiki changelog: [https://en.litecoin.it/wiki/Changelog](https://en.bitcoin.it/wiki/Changelog)
Commit your signature to gitian.sigs:
pushd gitian.sigs
@ -125,37 +120,3 @@ Commit your signature to gitian.sigs: @@ -125,37 +120,3 @@ Commit your signature to gitian.sigs:
git push # Assuming you can push to the gitian.sigs tree
popd
-------------------------------------------------------------------------
### After 3 or more people have gitian-built, repackage gitian-signed zips:
From a directory containing litecoin source, gitian.sigs and gitian zips
export VERSION=0.5.1
mkdir litecoin-${VERSION}-linux-gitian
pushd litecoin-${VERSION}-linux-gitian
unzip ../litecoin-${VERSION}-linux-gitian.zip
mkdir gitian
cp ../litecoin/contrib/gitian-downloader/*.pgp ./gitian/
for signer in $(ls ../gitian.sigs/${VERSION}/); do
cp ../gitian.sigs/${VERSION}/${signer}/litecoin-build.assert ./gitian/${signer}-build.assert
cp ../gitian.sigs/${VERSION}/${signer}/litecoin-build.assert.sig ./gitian/${signer}-build.assert.sig
done
zip -r litecoin-${VERSION}-linux-gitian.zip *
cp litecoin-${VERSION}-linux-gitian.zip ../
popd
mkdir litecoin-${VERSION}-win32-gitian
pushd litecoin-${VERSION}-win32-gitian
unzip ../litecoin-${VERSION}-win32-gitian.zip
mkdir gitian
cp ../litecoin/contrib/gitian-downloader/*.pgp ./gitian/
for signer in $(ls ../gitian.sigs/${VERSION}-win32/); do
cp ../gitian.sigs/${VERSION}-win32/${signer}/litecoin-build.assert ./gitian/${signer}-build.assert
cp ../gitian.sigs/${VERSION}-win32/${signer}/litecoin-build.assert.sig ./gitian/${signer}-build.assert.sig
done
zip -r litecoin-${VERSION}-win32-gitian.zip *
cp litecoin-${VERSION}-win32-gitian.zip ../
popd
- Upload gitian zips to SourceForge
- Celebrate

Loading…
Cancel
Save