Browse Source

Merge pull request #5371

dfef929 release: update docs to reflect new layout (Cory Fields)
52bb7a7 gitian: update descriptors to use a sane uniform output (Cory Fields)
0.10
Wladimir J. van der Laan 10 years ago
parent
commit
ce7204bf2e
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 29
      contrib/gitian-descriptors/gitian-linux.yml
  2. 29
      contrib/gitian-descriptors/gitian-osx.yml
  3. 33
      contrib/gitian-descriptors/gitian-win.yml
  4. 46
      doc/release-process.md

29
contrib/gitian-descriptors/gitian-linux.yml

@ -73,13 +73,13 @@ script: |
./autogen.sh ./autogen.sh
./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`
make dist make dist
DISTNAME=`echo bitcoin-*.tar.gz` SOURCEDIST=`echo bitcoin-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$DISTNAME tar xf ../$SOURCEDIST
find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$DISTNAME find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"
@ -88,17 +88,22 @@ script: |
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
mkdir -p distsrc-${i} mkdir -p distsrc-${i}
cd distsrc-${i} cd distsrc-${i}
tar --strip-components=1 -xf ../$DISTNAME INSTALLPATH=`pwd`/installed/${DISTNAME}
mkdir -p ${INSTALLPATH}
tar --strip-components=1 -xf ../$SOURCEDIST
./configure --prefix=${BASEPREFIX}/${i} --bindir=${OUTDIR}/${i}/bin --includedir=${OUTDIR}/${i}/include --libdir=${OUTDIR}/${i}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} ./configure --prefix=${BASEPREFIX}/${i} --bindir=${INSTALLPATH}/bin --includedir=${INSTALLPATH}/include --libdir=${INSTALLPATH}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
make ${MAKEOPTS} make ${MAKEOPTS}
make install-strip make install-strip
cd .. cd installed
find . -name "lib*.la" -delete
find . -name "lib*.a" -delete
rm -rf ${DISTNAME}/lib/pkgconfig
find . | sort | tar --no-recursion -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
cd ../../
done done
mkdir -p $OUTDIR/src mkdir -p $OUTDIR/src
mv $DISTNAME $OUTDIR/src mv $SOURCEDIST $OUTDIR/src
mv ${OUTDIR}/x86_64-* ${OUTDIR}/64 mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-linux64.tar.gz
mv ${OUTDIR}/i686-* ${OUTDIR}/32 mv ${OUTDIR}/${DISTNAME}-i686-*.tar.gz ${OUTDIR}/${DISTNAME}-linux32.tar.gz
# Delete unwanted stuff
find ${OUTDIR} -name "lib*.la" -delete

29
contrib/gitian-descriptors/gitian-osx.yml

@ -83,13 +83,14 @@ script: |
./autogen.sh ./autogen.sh
./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`
make dist make dist
DISTNAME=`echo bitcoin-*.tar.gz` SOURCEDIST=`echo bitcoin-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$DISTNAME tar xf ../$SOURCEDIST
find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$DISTNAME find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"
@ -98,17 +99,23 @@ script: |
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
mkdir -p distsrc-${i} mkdir -p distsrc-${i}
cd distsrc-${i} cd distsrc-${i}
tar --strip-components=1 -xf ../$DISTNAME INSTALLPATH=`pwd`/installed/${DISTNAME}
mkdir -p ${INSTALLPATH}
tar --strip-components=1 -xf ../$SOURCEDIST
./configure --prefix=${BASEPREFIX}/${i} --bindir=${OUTDIR}/${i}/bin --includedir=${OUTDIR}/${i}/include --libdir=${OUTDIR}/${i}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} ./configure --prefix=${BASEPREFIX}/${i} --bindir=${INSTALLPATH}/bin --includedir=${INSTALLPATH}/include --libdir=${INSTALLPATH}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
make ${MAKEOPTS} make ${MAKEOPTS}
make install-strip make install-strip
make deploy make deploy
${WRAP_DIR}/dmg dmg Bitcoin-Qt.dmg ${OUTDIR}/Bitcoin-Qt.dmg ${WRAP_DIR}/dmg dmg Bitcoin-Qt.dmg ${OUTDIR}/${DISTNAME}-osx.dmg
cd ..
cd installed
find . -name "lib*.la" -delete
find . -name "lib*.a" -delete
rm -rf ${DISTNAME}/lib/pkgconfig
find . | sort | tar --no-recursion -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
cd ../../
done done
mkdir -p $OUTDIR/src mkdir -p $OUTDIR/src
mv $DISTNAME $OUTDIR/src mv $SOURCEDIST $OUTDIR/src
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz
# Delete unwanted stuff
find ${OUTDIR} -name "lib*.la" -delete

33
contrib/gitian-descriptors/gitian-win.yml

@ -17,6 +17,7 @@ packages:
- "mingw-w64" - "mingw-w64"
- "g++-mingw-w64" - "g++-mingw-w64"
- "nsis" - "nsis"
- "zip"
reference_datetime: "2013-06-01 00:00:00" reference_datetime: "2013-06-01 00:00:00"
remotes: remotes:
- "url": "https://github.com/bitcoin/bitcoin.git" - "url": "https://github.com/bitcoin/bitcoin.git"
@ -27,7 +28,7 @@ script: |
HOSTS="x86_64-w64-mingw32 i686-w64-mingw32" HOSTS="x86_64-w64-mingw32 i686-w64-mingw32"
CONFIGFLAGS="--enable-upnp-default" CONFIGFLAGS="--enable-upnp-default"
FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip" FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip"
FAKETIME_PROGS="date makensis" FAKETIME_PROGS="date makensis zip"
export QT_RCC_TEST=1 export QT_RCC_TEST=1
export GZIP="-9n" export GZIP="-9n"
@ -75,13 +76,14 @@ script: |
./autogen.sh ./autogen.sh
./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'`
make dist make dist
DISTNAME=`echo bitcoin-*.tar.gz` SOURCEDIST=`echo bitcoin-*.tar.gz`
DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'`
# Correct tar file order # Correct tar file order
mkdir -p temp mkdir -p temp
pushd temp pushd temp
tar xf ../$DISTNAME tar xf ../$SOURCEDIST
find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$DISTNAME find bitcoin-* | sort | tar --no-recursion -c -T - | gzip -9n > ../$SOURCEDIST
popd popd
ORIGPATH="$PATH" ORIGPATH="$PATH"
@ -90,19 +92,24 @@ script: |
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
mkdir -p distsrc-${i} mkdir -p distsrc-${i}
cd distsrc-${i} cd distsrc-${i}
tar --strip-components=1 -xf ../$DISTNAME INSTALLPATH=`pwd`/installed/${DISTNAME}
mkdir -p ${INSTALLPATH}
tar --strip-components=1 -xf ../$SOURCEDIST
./configure --prefix=${BASEPREFIX}/${i} --bindir=${OUTDIR}/${i}/bin --includedir=${OUTDIR}/${i}/include --libdir=${OUTDIR}/${i}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} ./configure --prefix=${BASEPREFIX}/${i} --bindir=${INSTALLPATH}/bin --includedir=${INSTALLPATH}/include --libdir=${INSTALLPATH}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
make ${MAKEOPTS} make ${MAKEOPTS}
make deploy make deploy
make install-strip make install-strip
cp -f bitcoin-*setup*.exe $OUTDIR/ cp -f bitcoin-*setup*.exe $OUTDIR/
cd .. cd installed
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
find . -name "lib*.la" -delete
find . -name "lib*.a" -delete
rm -rf ${DISTNAME}/lib/pkgconfig
find . -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip
cd ../..
done done
mkdir -p $OUTDIR/src mkdir -p $OUTDIR/src
mv $DISTNAME $OUTDIR/src mv $SOURCEDIST $OUTDIR/src
mv ${OUTDIR}/x86_64-* ${OUTDIR}/64 mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip
mv ${OUTDIR}/i686-* ${OUTDIR}/32 mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip
# Delete unwanted stuff
find ${OUTDIR} -name "lib*.la" -delete

46
doc/release-process.md

@ -54,48 +54,22 @@ Release Process
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
pushd build/out mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../
zip -r bitcoin-${VERSION}-linux-gitian.zip *
mv bitcoin-${VERSION}-linux-gitian.zip ../../../
popd
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-win --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml ./bin/gsign --signer $SIGNER --release ${VERSION}-win --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
pushd build/out mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../
zip -r bitcoin-${VERSION}-win-gitian.zip * ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
mv bitcoin-${VERSION}-win-gitian.zip ../../../ ./bin/gsign --signer $SIGNER --release ${VERSION}-osx --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
popd mv build/out/bitcoin-*.tar.gz build/out/bitcoin-*.dmg ../
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-osx --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
pushd build/out
mv Bitcoin-Qt.dmg ../../../
popd
popd popd
Build output expected: Build output expected:
1. linux 32-bit and 64-bit binaries + source (bitcoin-${VERSION}-linux-gitian.zip) 1. source tarball (bitcoin-${VERSION}.tar.gz)
2. windows 32-bit and 64-bit binaries + installer + source (bitcoin-${VERSION}-win-gitian.zip) 2. linux 32-bit and 64-bit binaries dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz)
3. OSX installer (Bitcoin-Qt.dmg) 3. windows 32-bit and 64-bit installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip)
4. Gitian signatures (in gitian.sigs/${VERSION}-<linux|win|osx>/(your gitian key)/ 4. OSX installer (bitcoin-${VERSION}-osx.dmg)
5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|win|osx>/(your gitian key)/
repackage gitian builds for release as stand-alone zip/tar/installer exe
**Linux .tar.gz:**
unzip bitcoin-${VERSION}-linux-gitian.zip -d bitcoin-${VERSION}-linux
tar czvf bitcoin-${VERSION}-linux.tar.gz bitcoin-${VERSION}-linux
rm -rf bitcoin-${VERSION}-linux
**Windows .zip and setup.exe:**
unzip bitcoin-${VERSION}-win-gitian.zip -d bitcoin-${VERSION}-win
mv bitcoin-${VERSION}-win/bitcoin-*-setup.exe .
zip -r bitcoin-${VERSION}-win.zip bitcoin-${VERSION}-win
rm -rf bitcoin-${VERSION}-win
**Mac OS X .dmg:**
mv Bitcoin-Qt.dmg bitcoin-${VERSION}-osx.dmg
###Next steps: ###Next steps:

Loading…
Cancel
Save