ffsend/pkg/create_deb
Tim Visée 58103f9e30
Use a new Debian package generation method (#5)
* Build .deb packages for some architectures on CI to publish on GitHub

* Add release binaries to archive root, update Cargo.toml

* Simplify Debian package building using cargo-deb tooling

* Update LICENSE file copyright statement

* Update Travis CI script to properly build Debian release packages

* Remove obsolete Debian package files

* Update Cargo.toml and Cargo.lock, add create_deb prototype for source package
2018-06-01 00:04:13 +02:00

59 lines
1.6 KiB
Bash
Executable file

#!/usr/bin/env bash
set -e
# Ensure the version tag is valid
if [[ ! $TRAVIS_TAG =~ ^v([0-9]+\.)*[0-9]+$ ]]; then
echo "Error: invalid Git tag in \$TRAVIS_TAG, must be in 'v0.0.0' format"
exit 1
fi
# Ensure the debian architecture is set
if [[ -z "$DEB_ARCH" ]]; then
echo "Error: debian architecture not configured in \$DEB_ARCH"
exit 1
fi
# Define some useful variables
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
VERSION=${TRAVIS_TAG:1}
# Ensure the binary file exists
if [[ ! -f "$DIR/../ffsend" ]]; then
echo "Error: missing 'ffsend' binary in repository root"
exit 1
fi
# Create an application directory, copy the binary into it
mkdir -p $DIR/ffsend-$VERSION
cp $DIR/../ffsend $DIR/ffsend-$VERSION/ffsend
# Create an application tarbal
cd $DIR/..
git archive --format tar.gz -o $DIR/ffsend-$VERSION/ffsend-$VERSION.tar.gz $TRAVIS_TAG
# Change into the app directory
cd $DIR/ffsend-$VERSION
# Build the debian package
# TODO: define GPG?
dh_make -e "timvisee@gmail.com" -c gpl3 -f ffsend-$VERSION.tar.gz -s -y
rm *.ex README.Debian README.source
# Remove the project tar ball, we're not using it anymore
rm $DIR/ffsend-$VERSION/ffsend-$VERSION.tar.gz
# TODO: configure the debian/control file
# TODO: configure copyright file
# # Update version and architecture in the control file
# sed -i "/Version:\.*/c\\Version: $VERSION" $DIR/deb/DEBIAN/control
# sed -i "/Architecture:\.*/c\\Architecture: $DEB_ARCH" $DIR/deb/DEBIAN/control
# # Build the debian package
# echo "Building debian package..."
# dpkg-deb --verbose --build $DIR/deb .