Auto merge of #1661 - ageis:deb-pkg-enhancements, r=arcalinea

Debian packaging fixes

* Updates maintainer scripts from latest version of `dh_make`
* Includes `rules` file
* Use `fakeroot` to build the package.
We use currently `dpkg-deb --build` instead of `debuild` or `dpkg-buildpackage`, so I don't know if the package is well-formatted for the latter. (one difference, the former works with uppercase `DEBIAN`, the latter lowercase `debian` -- that's why the directory was renamed)
This commit is contained in:
zkbot
2016-10-27 19:13:35 +00:00
9 changed files with 81 additions and 34 deletions

View File

@@ -7,13 +7,13 @@ Build-Depends: autoconf, automake, bsdmainutils, build-essential
git, g++-multilib, libc6-dev, libtool git, g++-multilib, libc6-dev, libtool
m4, ncurses-dev, pkg-config, python m4, ncurses-dev, pkg-config, python
unzip, wget, zlib1g-dev unzip, wget, zlib1g-dev
Vcs-Git: git@github.com:zcash/zcash.git Vcs-Git: https://github.com/zcash/zcash.git
Vcs-Browser: https://github.com/zcash/zcash Vcs-Browser: https://github.com/zcash/zcash
Package: zcash Package: zcash
Version: 1.0.0-rc4 Version: 1.0.0-rc4
Architecture: amd64 Architecture: amd64
Depends: libgomp1 Depends: libgomp1
Description: Zcash is an implementation of the "Zerocash" protocol. Description: An implementation of the "Zerocash" protocol.
Based on Bitcoin's code, it intends to offer a far higher standard Based on Bitcoin's code, it intends to offer a far higher standard
of privacy and anonymity through a sophisticiated zero-knowledge of privacy and anonymity through a sophisticiated zero-knowledge
proving scheme which preserves confidentiality of transaction metadata. proving scheme which preserves confidentiality of transaction metadata.

View File

@@ -2,8 +2,9 @@
# postinst script for zcash # postinst script for zcash
# #
# see: dh_installdeb(1) # see: dh_installdeb(1)
set -e set -e
set -x
# summary of how this script can be called: # summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version> # * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version> # * <old-postinst> `abort-upgrade' <new version>
@@ -13,9 +14,10 @@ set -x
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' # * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing' # <failed-install-package> <version> `removing'
# <conflicting-package> <version> # <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or # for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package # the debian-policy package
case "$1" in case "$1" in
configure) configure)
;; ;;

View File

@@ -4,7 +4,7 @@
# see: dh_installdeb(1) # see: dh_installdeb(1)
set -e set -e
#set -x
# summary of how this script can be called: # summary of how this script can be called:
# * <postrm> `remove' # * <postrm> `remove'
# * <postrm> `purge' # * <postrm> `purge'
@@ -15,18 +15,12 @@ set -e
# * <new-postrm> `abort-upgrade' <old-version> # * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter> # * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version> # <overwriter-version>
# for details, see http://www.debian.org/doc/debian-policy/ or # for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package # the debian-policy package
. /usr/share/debconf/confmodule
case "$1" in case "$1" in
upgrade|failed-upgrade) purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
remove|abort-install|abort-upgrade|disappear)
;;
purge)
;; ;;
*) *)

View File

@@ -4,20 +4,18 @@
# see: dh_installdeb(1) # see: dh_installdeb(1)
set -e set -e
#set -x
# summary of how this script can be called: # summary of how this script can be called:
# * <new-preinst> `install' # * <new-preinst> `install'
# * <new-preinst> `install' <old-version> # * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version> # * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version> # * <old-preinst> `abort-upgrade' <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or # for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package # the debian-policy package
case "$1" in
install)
;;
upgrade) case "$1" in
install|upgrade)
;; ;;
abort-upgrade) abort-upgrade)

View File

@@ -13,15 +13,12 @@ set -e
# * <deconfigured's-prerm> `deconfigure' `in-favour' # * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing' # <package-being-installed> <version> `removing'
# <conflicting-package> <version> # <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or # for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package # the debian-policy package
case "$1" in case "$1" in
remove|deconfigure) remove|upgrade|deconfigure)
;;
upgrade)
;; ;;
failed-upgrade) failed-upgrade)

25
contrib/DEBIAN/rules Executable file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@ --with autotools_dev
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View File

@@ -0,0 +1 @@
DEBIAN/examples/zcash.conf

View File

@@ -0,0 +1,2 @@
DEBIAN/manpages/zcash-cli.1
DEBIAN/manpages/zcashd.1

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
## Usage: ## Usage:
## ./build_DEBIAN_package.sh ## ./zcutil/build-debian-package.sh
set -e set -e
set -x set -x
@@ -8,6 +8,7 @@ set -x
BUILD_PATH="/tmp/zcbuild" BUILD_PATH="/tmp/zcbuild"
PACKAGE_NAME="zcash" PACKAGE_NAME="zcash"
SRC_PATH=`pwd` SRC_PATH=`pwd`
SRC_DEB=$SRC_PATH/contrib/DEBIAN
umask 022 umask 022
@@ -21,15 +22,42 @@ BUILD_DIR="$BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64"
if [ -d $BUILD_DIR ]; then if [ -d $BUILD_DIR ]; then
rm -R $BUILD_DIR rm -R $BUILD_DIR
fi fi
mkdir -p $BUILD_DIR/DEBIAN $BUILD_DIR/usr/bin
cp -r $SRC_PATH/contrib/DEBIAN/* $BUILD_DIR/DEBIAN/ DEB_BIN=$BUILD_DIR/usr/bin
cp $SRC_PATH/src/zcashd $BUILD_DIR/usr/bin/ DEB_DOC=$BUILD_DIR/usr/share/doc/$PACKAGE_NAME
cp $SRC_PATH/src/zcash-cli $BUILD_DIR/usr/bin/ DEB_MAN=$BUILD_DIR/usr/share/man/man1
cp $SRC_PATH/zcutil/fetch-params.sh $BUILD_DIR/usr/bin/zcash-fetch-params mkdir -p $BUILD_DIR/DEBIAN $DEB_BIN $DEB_DOC $DEB_MAN
chmod 0755 -R $BUILD_DIR/*
# Create the deb package # Copy control file
dpkg-deb --build $BUILD_DIR 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 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 exit 0