85b4cb3aaf0fd5a4f72bf85b69dd366146958e6f
[bin.git] / build-debian-toolbox
1 #!/bin/sh
2 set -eux
3
4 RELEASE=${1:-sid}
5 DISTRO=${2:-debian}
6
7 toolbox rm -f $RELEASE || true
8 podman pull docker.io/$DISTRO:$RELEASE
9 toolbox -y create -c $RELEASE --image docker.io/$DISTRO:$RELEASE
10
11 # can't do that with toolbox run yet, as we need to install sudo first
12 podman start $RELEASE
13 podman exec -it $RELEASE sh -exc '
14 # go-faster apt/dpkg
15 echo force-unsafe-io > /etc/dpkg/dpkg.cfg.d/unsafe-io
16
17 # location based redirector gets it wrong with company VPN; also add deb-src
18 sed -i "s/deb.debian.org/ftp.de.debian.org/; /^deb\b/ { p; s/^deb/deb-src/ }" /etc/apt/sources.list
19
20 apt-get update
21 apt-get install -y libnss-myhostname sudo eatmydata libcap2-bin
22
23 # allow sudo with empty password
24 sed -i "s/nullok_secure/nullok/" /etc/pam.d/common-auth
25 '
26
27 toolbox run --container $RELEASE sh -exc '
28 # otherwise installing systemd fails
29 sudo umount /var/log/journal
30
31 # useful hostname
32 . /etc/os-release
33 echo "${ID}-${VERSION_ID:-sid}" | sudo tee /etc/hostname
34 sudo hostname -F /etc/hostname
35
36 sudo eatmydata apt-get -y dist-upgrade
37
38 # development tools
39 sudo eatmydata apt-get install -y --no-install-recommends build-essential git-buildpackage libwww-perl less vim lintian debhelper manpages-dev git dput pristine-tar bash-completion wget gnupg ubuntu-dev-tools python3-debian fakeroot libdistro-info-perl
40
41 # autopkgtest
42 sudo eatmydata apt-get install -y --no-install-recommends autopkgtest qemu-system-x86 qemu-utils genisoimage
43 '
44
45 toolbox enter --container $RELEASE