Because of `set -e`, if there are any warnings, then the package won't be copied back to the source directory. For now, there are definitely going to remain some Lintian warnings which we'll want to ignore. Also updates comments to make them more descriptive.
64 lines
1.8 KiB
Bash
Executable File
64 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
## Usage:
|
|
## ./zcutil/build-debian-package.sh
|
|
|
|
set -e
|
|
set -x
|
|
|
|
BUILD_PATH="/tmp/zcbuild"
|
|
PACKAGE_NAME="zcash"
|
|
SRC_PATH=`pwd`
|
|
SRC_DEB=$SRC_PATH/contrib/DEBIAN
|
|
|
|
umask 022
|
|
|
|
if [ ! -d $BUILD_PATH ]; then
|
|
mkdir $BUILD_PATH
|
|
fi
|
|
|
|
PACKAGE_VERSION=$(grep Version $SRC_PATH/contrib/DEBIAN/control | cut -d: -f2 | tr -d ' ')
|
|
BUILD_DIR="$BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64"
|
|
|
|
if [ -d $BUILD_DIR ]; then
|
|
rm -R $BUILD_DIR
|
|
fi
|
|
|
|
DEB_BIN=$BUILD_DIR/usr/bin
|
|
DEB_DOC=$BUILD_DIR/usr/share/doc/$PACKAGE_NAME
|
|
DEB_MAN=$BUILD_DIR/usr/share/man/man1
|
|
mkdir -p $BUILD_DIR/DEBIAN $DEB_BIN $DEB_DOC $DEB_MAN
|
|
chmod 0755 -R $BUILD_DIR/*
|
|
|
|
# Copy control file
|
|
cp $SRC_DEB/control $BUILD_DIR/DEBIAN
|
|
# Package maintainer scripts (currently empty)
|
|
#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
|
|
cp $SRC_DEB/rules $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
|
|
cp $SRC_PATH/doc/release-notes/release-notes-$PACKAGE_VERSION.md $DEB_DOC/changelog
|
|
cp $SRC_DEB/changelog $DEB_DOC/changelog.Debian
|
|
cp $SRC_DEB/copyright $DEB_DOC
|
|
cp -r $SRC_DEB/examples $DEB_DOC
|
|
# Copy manpages
|
|
cp $SRC_DEB/manpages/zcashd.1 $DEB_MAN
|
|
cp $SRC_DEB/manpages/zcash-cli.1 $DEB_MAN
|
|
# 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
|
|
|
|
# Create the Debian package
|
|
fakeroot dpkg-deb --build $BUILD_DIR
|
|
cp $BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64.deb $SRC_PATH
|
|
# Analyze with Lintian, reporting bugs and policy violations
|
|
lintian -i $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64.deb
|
|
exit 0
|