spiegel-keyman/linux/scripts/deb.sh
Eberhard Beilharz a97a966d72
chore(linux): Update supported Ubuntu versions
- remove Ubuntu 22.10 Kinetic which is no longer supported
- add future Ubuntu 23.10 Mantic
2023-07-25 12:39:03 +02:00

83 lines
2.1 KiB
Bash
Executable file

#!/bin/bash
# Build Debian source packages of Keyman
# and optionally also binary packages with pbuilder
# It must be run from the keyman/linux directory
# parameters: ./deb.sh [sourcepackage] [dist]
# sourcepackage = only create Debian source package
# dist = only build for this distribution
set -e
all_distributions="focal jammy lunar mantic"
distributions=""
echo "all_distributions: ${all_distributions}"
if [ "$1" == "sourcepackage" ]; then
only_sourcepackage=true
shift
else
only_sourcepackage=false
fi
if [ "$1" != "" ]; then
for dist in ${all_distributions}; do
if [ "${dist}" == "$1" ]; then
distributions="$1"
fi
done
if [ "${distributions}" == "" ]; then
echo "distribution $1 does not exist"
exit 1
fi
fi
if [ "${distributions}" == "" ]; then
distributions="${all_distributions}"
fi
echo "distributions: ${distributions}"
BASEDIR=$(pwd)
#echo "basedir is $BASEDIR"
mkdir -p builddebs
# make the source packages
cd builddebs
vers=$(ls ../dist/keyman_*.orig.tar.gz)
#echo "vers1:${vers}"
vers=${vers##*_}
#echo "vers2:${vers}"
vers=${vers%*.orig.tar.gz}
#echo "vers3:${vers}"
cp -a "../dist/keyman_${vers}.orig.tar.gz" .
tar xfz "keyman_${vers}.orig.tar.gz"
cp -a ../../debian "keyman-${vers}"
cd "keyman-${vers}"
dch -v "${vers}-1" "local build"
echo "keyman-${vers}"
dch --release --distribution unstable ""
debuild -d -S -sa -Zxz -us -uc
cd "$BASEDIR/builddebs"
rm -rf "keyman-${vers}"
cd "$BASEDIR"
if $only_sourcepackage; then
exit 0
fi
# build the packages with cowbuilder from the source package
cd builddebs
echo "keyman version ${vers}"
rm -rf "keyman-${vers}"
dpkg-source -x "keyman_${vers}-1.dsc"
cd "keyman-${vers}"
for dist in ${distributions}; do
dch -v "${vers}-1+${dist}" "local build for ${dist}"
echo "dist: $dist"
DIST=${dist} pdebuild --pbuilder cowbuilder --buildresult /var/cache/pbuilder/result/"${dist}" -- --basepath /var/cache/pbuilder/base-"${dist}".cow --distribution "${dist}" --override-config --othermirror="deb [trusted=yes] file:/var/cache/pbuilder/result/${dist} ./" --bindmounts /var/cache/pbuilder/result/"${dist}" --hookdir /var/cache/pbuilder/hook.d/"${dist}"
done
cd "${BASEDIR}"