The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

#!/bin/bash
set -x
set -e
PKG=$1
if [ "$PKG" = "" ]; then
echo "usage: $0 libsome-module-perl"
exit 1;
fi
echo build-pkg $PKG
[ `ps awux | grep build-pkg | wc -l` -gt 10000 ] && exit 1
# we are done if the package already exists
[ -f /var/cache/pbuilder/result/${PKG}_*deb ] && exit 0
ORIGPKG=`perl -le 'print substr($ARGV[0], 4);' $PKG` # remove opl-
SRCPKG=`apt-cache showsrc $ORIGPKG | perl -lane 'next if not m/^Package:\s+(.+)$/; print $1;' | tail -1`
if [ "$SRCPKG" = "" ]; then
SRCPKG=$ORIGPKG
fi
# build build dependencies
show-source-dependecies --also-depends --prefix=opl- "opl-$SRCPKG" | \
while read DPKG; do
echo DPKG $DPKG
[ -f /var/cache/pbuilder/result/$DPKG*deb ] || build-pkg "$DPKG"
echo $?
done
[ "$?" == "0" ] || exit 1
cd opl-$SRCPKG-*
time pdebuild
[ -f /var/cache/pbuilder/result/${PKG}_*deb ] || exit 1
# rebuild our local repo
OLD_PWD=$PWD
cd /var/cache/pbuilder/result \
&& dpkg-scanpackages . /dev/null > Packages \
&& dpkg-scansources . > Sources \
&& sudo apt-get update
cd $OLD_PWD