Skip to content

Instantly share code, notes, and snippets.

@eyedeekay
Last active April 19, 2020 06:08
Show Gist options
  • Save eyedeekay/91927f31396dd50ae9d22051ded154ef to your computer and use it in GitHub Desktop.
Save eyedeekay/91927f31396dd50ae9d22051ded154ef to your computer and use it in GitHub Desktop.
Script to generate release builds of some of my Go packages
#! /usr/bin/env sh
PKG=$(basename $(pwd))
VERSION=$(head -n 1 debian/changelog | sed "s|$PKG (||g" | sed 's|).*||')
DEBIANS="stable testing unstable experimental wheezy jessie stretch buster bullseye bookworm sid"
debrepo="--mirror http://us.archive.ubuntu.com/ubuntu"
for debian in $DEBIANS; do
if [ $1 = "$debian" ]; then
echo "$debian detetced"
debrepo=""
fi
done
setup(){
install -m755 ./release.sh /usr/bin/release-pdeb
}
releasebuild() {
if test -f "/var/cache/pbuilder/$1.tgz" ; then
echo "updating chroot for $1 in /var/cache/pbuilder/$1.tgz"
sudo pbuilder update --basetgz "/var/cache/pbuilder/$1.tgz" --distribution "$1" $debrepo
else
echo "creating chroot for $1 in /var/cache/pbuilder/$1.tgz"
sudo pbuilder create --basetgz "/var/cache/pbuilder/$1.tgz" --distribution "$1" $debrepo
fi
echo "building for $1"
echo "generating source"
tar --exclude=.git --exclude=debian --exclude deb -czvf ../$PKG_$VERSION.orig.tar.gz .
debuild -S
echo "making output directory ./deb/$1"
mkdir -p "./deb/$1"
echo "sudo pbuilder --build --buildresult ./deb/$1 $debrepo --distribution $1 ../""$2""_0.3.dsc "
sudo pbuilder --build --basetgz "/var/cache/pbuilder/$1.tgz" --buildresult "./deb/$1" $debrepo --distribution $1 "../""$2""_$3.dsc"
}
if [ "install" = "$1" ]; then
setup || exit 1
exit 0
fi
if [ ! -z $1 ]; then
releasebuild $1 "$PKG" "$VERSION"
else
releasebuild stable "$PKG" "$VERSION"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment