Commit | Line | Data |
---|---|---|
b5718a5a KG |
1 | #!/bin/bash |
2 | ## Usage: | |
fa7261bd | 3 | ## ./zcutil/build-debian-package.sh |
b5718a5a KG |
4 | |
5 | set -e | |
6 | set -x | |
7 | ||
8 | BUILD_PATH="/tmp/zcbuild" | |
9 | PACKAGE_NAME="zcash" | |
10 | SRC_PATH=`pwd` | |
b50b4d5c | 11 | SRC_DEB=$SRC_PATH/contrib/debian |
a0e6d5a1 | 12 | SRC_DOC=$SRC_PATH/doc |
b5718a5a KG |
13 | |
14 | umask 022 | |
15 | ||
16 | if [ ! -d $BUILD_PATH ]; then | |
17 | mkdir $BUILD_PATH | |
18 | fi | |
19 | ||
b50b4d5c | 20 | PACKAGE_VERSION=$($SRC_PATH/src/zcashd --version | grep version | cut -d' ' -f4 | tr -d v) |
a2e20e9a | 21 | DEBVERSION=$(echo $PACKAGE_VERSION | sed 's/-beta/~beta/' | sed 's/-rc/~rc/' | sed 's/-/+/') |
b5718a5a KG |
22 | BUILD_DIR="$BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64" |
23 | ||
24 | if [ -d $BUILD_DIR ]; then | |
25 | rm -R $BUILD_DIR | |
26 | fi | |
b5718a5a | 27 | |
b7f7def8 | 28 | DEB_BIN=$BUILD_DIR/usr/bin |
6a62bff3 | 29 | DEB_CMP=$BUILD_DIR/usr/share/bash-completion/completions |
b7f7def8 JG |
30 | DEB_DOC=$BUILD_DIR/usr/share/doc/$PACKAGE_NAME |
31 | DEB_MAN=$BUILD_DIR/usr/share/man/man1 | |
ca483b40 | 32 | mkdir -p $BUILD_DIR/DEBIAN $DEB_CMP $DEB_BIN $DEB_DOC $DEB_MAN |
b7f7def8 JG |
33 | chmod 0755 -R $BUILD_DIR/* |
34 | ||
fa7261bd | 35 | # Package maintainer scripts (currently empty) |
b7f7def8 JG |
36 | #cp $SRC_DEB/postinst $BUILD_DIR/DEBIAN |
37 | #cp $SRC_DEB/postrm $BUILD_DIR/DEBIAN | |
38 | #cp $SRC_DEB/preinst $BUILD_DIR/DEBIAN | |
39 | #cp $SRC_DEB/prerm $BUILD_DIR/DEBIAN | |
b7f7def8 JG |
40 | # Copy binaries |
41 | cp $SRC_PATH/src/zcashd $DEB_BIN | |
42 | cp $SRC_PATH/src/zcash-cli $DEB_BIN | |
43 | cp $SRC_PATH/zcutil/fetch-params.sh $DEB_BIN/zcash-fetch-params | |
44 | # Copy docs | |
7232f2f7 | 45 | cp $SRC_PATH/doc/release-notes/release-notes-1.0.0.md $DEB_DOC/changelog |
b7f7def8 JG |
46 | cp $SRC_DEB/changelog $DEB_DOC/changelog.Debian |
47 | cp $SRC_DEB/copyright $DEB_DOC | |
48 | cp -r $SRC_DEB/examples $DEB_DOC | |
49 | # Copy manpages | |
a0e6d5a1 JG |
50 | cp $SRC_DOC/man/zcashd.1 $DEB_MAN |
51 | cp $SRC_DOC/man/zcash-cli.1 $DEB_MAN | |
52 | cp $SRC_DOC/man/zcash-fetch-params.1 $DEB_MAN | |
ca483b40 | 53 | # Copy bash completion files |
e619c219 | 54 | cp $SRC_PATH/contrib/zcashd.bash-completion $DEB_CMP/zcashd |
55 | cp $SRC_PATH/contrib/zcash-cli.bash-completion $DEB_CMP/zcash-cli | |
b7f7def8 JG |
56 | # Gzip files |
57 | gzip --best -n $DEB_DOC/changelog | |
58 | gzip --best -n $DEB_DOC/changelog.Debian | |
59 | gzip --best -n $DEB_MAN/zcashd.1 | |
60 | gzip --best -n $DEB_MAN/zcash-cli.1 | |
6a62bff3 | 61 | gzip --best -n $DEB_MAN/zcash-fetch-params.1 |
b5718a5a | 62 | |
b50b4d5c JG |
63 | cd $SRC_PATH/contrib |
64 | ||
65 | # Create the control file | |
66 | dpkg-shlibdeps $DEB_BIN/zcashd $DEB_BIN/zcash-cli | |
a2e20e9a | 67 | dpkg-gencontrol -P$BUILD_DIR -v$DEBVERSION |
b50b4d5c | 68 | |
fa7261bd | 69 | # Create the Debian package |
a049dd29 | 70 | fakeroot dpkg-deb --build $BUILD_DIR |
b5718a5a | 71 | cp $BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64.deb $SRC_PATH |
fa7261bd KG |
72 | # Analyze with Lintian, reporting bugs and policy violations |
73 | lintian -i $SRC_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64.deb | |
b5718a5a | 74 | exit 0 |