2016-10-13 13:15:14 -07:00
|
|
|
#!/bin/bash
|
|
|
|
## Usage:
|
2016-10-27 09:08:38 -07:00
|
|
|
## ./zcutil/build-debian-package.sh
|
2016-10-13 13:15:14 -07:00
|
|
|
|
|
|
|
set -e
|
|
|
|
set -x
|
|
|
|
|
|
|
|
BUILD_PATH="/tmp/zcbuild"
|
|
|
|
PACKAGE_NAME="zcash"
|
|
|
|
SRC_PATH=`pwd`
|
2017-01-03 07:17:21 -08:00
|
|
|
SRC_DEB=$SRC_PATH/contrib/debian
|
2017-02-22 17:23:44 -08:00
|
|
|
SRC_DOC=$SRC_PATH/doc
|
2016-10-13 13:15:14 -07:00
|
|
|
|
|
|
|
umask 022
|
|
|
|
|
|
|
|
if [ ! -d $BUILD_PATH ]; then
|
|
|
|
mkdir $BUILD_PATH
|
|
|
|
fi
|
|
|
|
|
2017-01-03 07:17:21 -08:00
|
|
|
PACKAGE_VERSION=$($SRC_PATH/src/zcashd --version | grep version | cut -d' ' -f4 | tr -d v)
|
2017-03-08 13:48:24 -08:00
|
|
|
DEBVERSION=$(echo $PACKAGE_VERSION | sed 's/-beta/~beta/' | sed 's/-rc/~rc/' | sed 's/-/+/')
|
2016-10-13 13:15:14 -07:00
|
|
|
BUILD_DIR="$BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64"
|
|
|
|
|
|
|
|
if [ -d $BUILD_DIR ]; then
|
|
|
|
rm -R $BUILD_DIR
|
|
|
|
fi
|
|
|
|
|
2016-10-27 08:43:07 -07:00
|
|
|
DEB_BIN=$BUILD_DIR/usr/bin
|
2017-01-03 04:11:55 -08:00
|
|
|
DEB_CMP=$BUILD_DIR/usr/share/bash-completion/completions
|
2016-10-27 08:43:07 -07:00
|
|
|
DEB_DOC=$BUILD_DIR/usr/share/doc/$PACKAGE_NAME
|
|
|
|
DEB_MAN=$BUILD_DIR/usr/share/man/man1
|
2016-12-01 20:12:38 -08:00
|
|
|
mkdir -p $BUILD_DIR/DEBIAN $DEB_CMP $DEB_BIN $DEB_DOC $DEB_MAN
|
2016-10-27 08:43:07 -07:00
|
|
|
chmod 0755 -R $BUILD_DIR/*
|
|
|
|
|
2016-10-27 09:08:38 -07:00
|
|
|
# Package maintainer scripts (currently empty)
|
2016-10-27 08:43:07 -07:00
|
|
|
#cp $SRC_DEB/postinst $BUILD_DIR/DEBIAN
|
|
|
|
#cp $SRC_DEB/postrm $BUILD_DIR/DEBIAN
|
|
|
|
#cp $SRC_DEB/preinst $BUILD_DIR/DEBIAN
|
|
|
|
#cp $SRC_DEB/prerm $BUILD_DIR/DEBIAN
|
|
|
|
# Copy binaries
|
|
|
|
cp $SRC_PATH/src/zcashd $DEB_BIN
|
|
|
|
cp $SRC_PATH/src/zcash-cli $DEB_BIN
|
|
|
|
cp $SRC_PATH/zcutil/fetch-params.sh $DEB_BIN/zcash-fetch-params
|
|
|
|
# Copy docs
|
2016-10-28 02:58:10 -07:00
|
|
|
cp $SRC_PATH/doc/release-notes/release-notes-1.0.0.md $DEB_DOC/changelog
|
2016-10-27 08:43:07 -07:00
|
|
|
cp $SRC_DEB/changelog $DEB_DOC/changelog.Debian
|
|
|
|
cp $SRC_DEB/copyright $DEB_DOC
|
|
|
|
cp -r $SRC_DEB/examples $DEB_DOC
|
|
|
|
# Copy manpages
|
2017-02-22 17:23:44 -08:00
|
|
|
cp $SRC_DOC/man/zcashd.1 $DEB_MAN
|
|
|
|
cp $SRC_DOC/man/zcash-cli.1 $DEB_MAN
|
|
|
|
cp $SRC_DOC/man/zcash-fetch-params.1 $DEB_MAN
|
2016-12-01 20:12:38 -08:00
|
|
|
# Copy bash completion files
|
2017-11-23 13:00:05 -08:00
|
|
|
cp $SRC_PATH/contrib/zcashd.bash-completion $DEB_CMP/zcashd
|
|
|
|
cp $SRC_PATH/contrib/zcash-cli.bash-completion $DEB_CMP/zcash-cli
|
2016-10-27 08:43:07 -07:00
|
|
|
# Gzip files
|
|
|
|
gzip --best -n $DEB_DOC/changelog
|
|
|
|
gzip --best -n $DEB_DOC/changelog.Debian
|
|
|
|
gzip --best -n $DEB_MAN/zcashd.1
|
|
|
|
gzip --best -n $DEB_MAN/zcash-cli.1
|
2017-01-03 04:11:55 -08:00
|
|
|
gzip --best -n $DEB_MAN/zcash-fetch-params.1
|
2016-10-13 13:15:14 -07:00
|
|
|
|
2017-01-03 07:17:21 -08:00
|
|
|
cd $SRC_PATH/contrib
|
|
|
|
|
|
|
|
# Create the control file
|
|
|
|
dpkg-shlibdeps $DEB_BIN/zcashd $DEB_BIN/zcash-cli
|
2017-03-08 13:48:24 -08:00
|
|
|
dpkg-gencontrol -P$BUILD_DIR -v$DEBVERSION
|
2017-01-03 07:17:21 -08:00
|
|
|
|
2016-10-27 09:08:38 -07:00
|
|
|
# Create the Debian package
|
2016-10-26 15:36:24 -07:00
|
|
|
fakeroot dpkg-deb --build $BUILD_DIR
|
2016-10-13 13:15:14 -07:00
|
|
|
cp $BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64.deb $SRC_PATH
|
2016-10-27 09:08:38 -07:00
|
|
|
# Analyze with Lintian, reporting bugs and policy violations
|
|
|
|
lintian -i $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64.deb
|
2016-10-13 13:15:14 -07:00
|
|
|
exit 0
|