debian/tests/skeleton-packaging
author Philippe Pepiot <ph@itsalwaysdns.eu>
Tue, 31 Mar 2020 19:15:03 +0200
changeset 12957 0c973204033a
parent 12709 280c9db41038
permissions -rw-r--r--
[server] prevent returning closed cursor to the database pool In since c8c6ad8 init_repository use repo.internal_cnx() instead of repo.system_source.get_connection() so it use the pool and we should not close cursors from the pool before returning it back. Otherwise we may have "connection already closed" error. This bug only trigger when connection-pool-size = 1. Since we are moving to use a dynamic pooler we need to get this fixed. This does not occur with sqlite since the connection wrapper instantiate new cursor everytime, but this occur with other databases.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12690
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     1
#!/bin/sh
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     2
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     3
set -e
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     4
set -x
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     5
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     6
if [ -z "$AUTOPKGTEST_TMP" ]; then
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     7
	echo "Not running as part as autopkgtest" >&2
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     8
	exit 250
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     9
fi
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    10
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    11
# Switch to unprivileged user if needed
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    12
if [ "$(id -u)" = 0 ]; then
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    13
	apt-get install -q -y sudo
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    14
	echo 'Defaults !fqdn' > /etc/sudoers.d/fqdn
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    15
	echo 'nobody ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/nobody
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    16
	chown nobody:nogroup "$AUTOPKGTEST_TMP"
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    17
	exec su nobody -s /bin/sh -c "$0"
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    18
fi
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    19
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    20
cd "$AUTOPKGTEST_TMP"
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    21
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    22
# Create a cube
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    23
PACKAGE="cubicweb-mytest"
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    24
cubicweb-ctl newcube -s 'Just a test cube' ${PACKAGE#cubicweb-}
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    25
cd "$PACKAGE"
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    26
12686
74b8bceddee7 [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    27
UPSTREAM_VERSION=$(python3 setup.py --version)
12690
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    28
DEBIAN_VERSION=$(dpkg-parsechangelog -S Version)
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    29
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    30
# Create source tarball
12686
74b8bceddee7 [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    31
python3 setup.py sdist
12690
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    32
mv "dist/${PACKAGE}-${UPSTREAM_VERSION}.tar.gz" "../${PACKAGE}_${UPSTREAM_VERSION}.orig.tar.gz"
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    33
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    34
# Install build-dependencies
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    35
mk-build-deps --install --root-cmd sudo --remove \
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    36
	--tool 'apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --quiet --assume-yes'
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    37
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    38
# Build!
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    39
dpkg-buildpackage
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    40
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    41
# Output .buildinfo for posterity
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    42
cat ../*.buildinfo
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    43
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    44
# Output package content, again for posterity
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    45
debc
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    46
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    47
# Install the package
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    48
sudo debi --with-depends
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    49
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    50
lintian -i ../*.dsc ../*.changes
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    51
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    52
# Test if Python module is usable
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    53
python3 -c 'import cubicweb_mytest; print(dir(cubicweb_mytest))'
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    54
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    55
# Run autopkgtest (uh… inception, anyone?)
d1b5fd6129bd [pkg] Add new autopkgtest for skeleton packaging
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    56
sudo autopkgtest ../*.changes -- null