autopkgtest-build-lxc(1) | General Commands Manual | autopkgtest-build-lxc(1) |
autopkgtest-build-lxc - Create or update autopkgtest container for autopkgtest-virt-lxc
autopkgtest-build-lxc distribution release [architecture] [script]
autopkgtest-build-lxc creates or updates an LXC container autopkgtest-release which is suitable for autopkgtest's LXC runner autopkgtest-virt-lxc(1).
It calls lxc-create with the distribution template (which can currently be debian or ubuntu) and -rrelease to build a debootstrap-like container, then enables deb-src apt sources, and runs apt-get update.
It defaults to the native architecture, but you can specify a different one as third parameter.
The path to a script to be executed inside the container to customize the container can be passed as the fourth parameter. The script must be a POSIX shell script, and should not depend on bash-specific features.
If the container already exists, it updates it as unintrusively as possible by first creating a new temporary container autopkgtest-release.new, and then rsyncing its root file system back to the existing autopkgtest-release. Note that this could cause some side-effects and breakage if you have running containers with ephemeral overlays (i. e. using the --ephemeral option), but it does work in general. This update process does not interfere at all if you use autopkgtest-virt-lxc with cloning.
Note that you need to call this as root, unless you set up LXC to allow per-user containers. But user containers will not work with many or even most autopkgtests.
If the $AUTOPKGTEST_KEEP_APT_SOURCES environment variable is set to a non-empty value, autopkgtest-build-lxc will keep whatever /etc/apt/sources.list was created by lxc-create.
Otherwise, if the $AUTOPKGTEST_APT_SOURCES_FILE environment variable is set to a non-empty value, for example AUTOPKGTEST_APT_SOURCES_FILE=/home/me/mydistro/sources.list, then autopkgtest-build-lxc will read that file (on the host system) and use it to populate /etc/apt/sources.list in the container; or if the $AUTOPKGTEST_APT_SOURCES environment variable is set to a non-empty value, for example AUTOPKGTEST_APT_SOURCES=$(cat /home/me/mydistro/sources.list), autopkgtest-build-lxc will write it directly into /etc/apt/sources.list in the container.
You can specify an apt proxy to use in the container in the $AUTOPKGTEST_APT_PROXY environment variable. If you have an apt proxy configured on the host, the container will automatically use this, otherwise there is no default.
# autopkgtest-build-lxc debian sid
$ sudo autopkgtest-build-lxc ubuntu trusty i386
autopkgtest-virt-lxc(1), autopkgtest(1), lxc-create(1), /usr/share/doc/autopkgtest/.
autopkgtest-build-lxc was written by Martin Pitt <martin.pitt@ubuntu.com>
This manpage is part of autopkgtest, a tool for testing Debian binary packages. autopkgtest is Copyright (C) 2006-2014 Canonical Ltd and others.
See /usr/share/doc/autopkgtest/CREDITS for the list of contributors and full copying conditions.
2014 | Linux Programmer's Manual |