2021-07-09 03:07:59 +00:00
|
|
|
#! /bin/bash -e
|
|
|
|
|
|
|
|
###
|
|
|
|
# This script is fed to pbuilder to build Debian packages. The base tarball
|
|
|
|
# should be created with a command similar to the following:
|
|
|
|
#
|
2021-07-10 00:45:52 +00:00
|
|
|
# sudo pbuilder create --basetgz pbuilder-arsse.tgz --mirror http://ftp.ca.debian.org/debian/ --extrapackages "debhelper devscripts lintian"
|
2021-07-09 03:07:59 +00:00
|
|
|
#
|
|
|
|
# Thereafter pbuilder can be used to build packages with this command:
|
|
|
|
#
|
|
|
|
# sudo pbuilder execute --basetgz pbuilder-arsse.tgz --bindmounts `basedir "/path/to/release/tarball"` -- pbuilder.sh "/path/to/release/tarball"
|
|
|
|
#
|
|
|
|
# This somewhat roundabout procedure is used because the pbuilder debuild
|
|
|
|
# command does not seem to work in Arch Linux, nor does pdebuild. Doing
|
|
|
|
# as much as possible within the chroot itself works around these problems.
|
|
|
|
###
|
|
|
|
|
|
|
|
# create a temporary directory
|
|
|
|
tmp=`mktemp -d`
|
|
|
|
|
|
|
|
# define various variables
|
|
|
|
here=`dirname "$1"`
|
|
|
|
tarball=`basename "$1"`
|
|
|
|
version=`echo "$tarball" | grep -oP '\d+(?:\.\d+)*' | head -1`
|
|
|
|
out="$here/debian"
|
|
|
|
in="$tmp/arsse-$version"
|
|
|
|
|
|
|
|
# create necessary directories
|
|
|
|
mkdir -p "$in" "$out"
|
|
|
|
# extract the release tarball
|
|
|
|
tar -C "$in" -xf "$1" --strip-components=1
|
|
|
|
# repackage the release tarball into a Debian "orig" tarball
|
|
|
|
tar -C "$tmp" -czf "$tmp/arsse_$version.orig.tar.gz" "arsse-$version"
|
|
|
|
# copy the "dist/debian" directory down the tree where Debian expects it
|
|
|
|
cp -r "$in/dist/debian" "$in/debian"
|
|
|
|
# build the package
|
|
|
|
cd "$in"
|
2021-07-11 21:25:14 +00:00
|
|
|
debuild -us -uc
|
2021-07-09 03:07:59 +00:00
|
|
|
# move the resultant files to their final destination
|
|
|
|
find "$tmp" -maxdepth 1 -type f -exec mv '{}' "$out" \;
|