debian/tests/skeleton-packaging
author Nicola Spanti <nicola.spanti@logilab.fr>
Tue, 27 Aug 2019 14:26:21 +0200
changeset 12724 a6b12f31930c
parent 12709 280c9db41038
permissions -rw-r--r--
Backed out changeset 741dc2590f90 It was for cube s3storage, but this piece of information was apparently not in the email (used for review), so this patch was published in the wrong repository. :-/

#!/bin/sh

set -e
set -x

if [ -z "$AUTOPKGTEST_TMP" ]; then
	echo "Not running as part as autopkgtest" >&2
	exit 250
fi

# Switch to unprivileged user if needed
if [ "$(id -u)" = 0 ]; then
	apt-get install -q -y sudo
	echo 'Defaults !fqdn' > /etc/sudoers.d/fqdn
	echo 'nobody ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/nobody
	chown nobody:nogroup "$AUTOPKGTEST_TMP"
	exec su nobody -s /bin/sh -c "$0"
fi

cd "$AUTOPKGTEST_TMP"

# Create a cube
PACKAGE="cubicweb-mytest"
cubicweb-ctl newcube -s 'Just a test cube' ${PACKAGE#cubicweb-}
cd "$PACKAGE"

UPSTREAM_VERSION=$(python3 setup.py --version)
DEBIAN_VERSION=$(dpkg-parsechangelog -S Version)

# Create source tarball
python3 setup.py sdist
mv "dist/${PACKAGE}-${UPSTREAM_VERSION}.tar.gz" "../${PACKAGE}_${UPSTREAM_VERSION}.orig.tar.gz"

# Install build-dependencies
mk-build-deps --install --root-cmd sudo --remove \
	--tool 'apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --quiet --assume-yes'

# Build!
dpkg-buildpackage

# Output .buildinfo for posterity
cat ../*.buildinfo

# Output package content, again for posterity
debc

# Install the package
sudo debi --with-depends

lintian -i ../*.dsc ../*.changes

# Test if Python module is usable
python3 -c 'import cubicweb_mytest; print(dir(cubicweb_mytest))'

# Run autopkgtest (uh… inception, anyone?)
sudo autopkgtest ../*.changes -- null