autopkgtest (5.37ubuntu3~24.04.1) noble; urgency=medium

  * SRU to Noble (LP: #2071609)

 -- Florent 'Skia' Jacquet <florent.jacquet@canonical.com>  Thu, 04 Jul 2024 15:33:18 +0200

autopkgtest (5.37ubuntu3) oracular; urgency=medium

  [ Paride Legovini ]
  * VirtSubproc wait_booted(): ignore timeouts within the retry loop
  * d/tests: always use annotate-output to disambiguate test output

  [ Florent 'Skia' Jacquet ]
  * t/a-buildvm-ubuntu-cloud: install 'ubuntu-minimal' and autoremove extra packages

 -- Paride Legovini <paride@ubuntu.com>  Thu, 11 Jul 2024 13:22:23 +0200

autopkgtest (5.37ubuntu2) oracular; urgency=medium

  * New delta, all upstream cherry-picks:
    - t/autopkgtest-build-docker: use ports.ubuntu.com on non-amd64 Ubuntu
    - t/autopkgtest: test_git_source_build: skip if remote repo is unreachable
    - d/t/lxd: restrict architectures via Architecture and enable arm64
    - d/rules: don't run pre-commit at package build time

 -- Paride Legovini <paride@ubuntu.com>  Wed, 26 Jun 2024 13:16:53 +0200

autopkgtest (5.37ubuntu1) oracular; urgency=medium

  * Merge with Debian unstable. Remaining changes:
    - Add support for foreign architecture testing

 -- Paride Legovini <paride@ubuntu.com>  Tue, 25 Jun 2024 18:10:50 +0200

autopkgtest (5.37) unstable; urgency=medium

  [ Jochen Sprickerhof ]
  * Avoid empty string for apt satisfy

 -- Paride Legovini <paride@debian.org>  Mon, 24 Jun 2024 10:01:03 +0200

autopkgtest (5.36) unstable; urgency=medium

  [ Paul Gevers ]
  * Fix typo in the changelog

  [ Paride Legovini ]
  * Changes in source package selection:
    - Truly honor pinning when looking for the source package to download
    - find_source_version_to_download: always check the src package name
      (LP #2066290)
  * Changes in test depependencies resolution:
    - Drop redundant dependency parsing via perl Dpkg::Deps
    - Leave dependency parsing to apt when possible
  * virt-lxc: cleanup: force destroy container without stopping it
  * build-needed: build with DEB_BUILD_PROFILES=nocheck
  * setup-testbed: prevent /tmp from getting a tmpfs mount (LP: #2069834)
  * tools/a-b-ubuntu-cloud: stick with the default locale
  * tools/a-b-ubuntu-cloud: move away from deprecated cloud-init keys
  * t/autopkgtest: move the SchrootRunner tests under LxcRunner
  * t/autopkgtest: make test_apt_pocket_disjoint_binaries cover more cases
  * tests: build packages with gzip compression for trusty compatibility
  * d/t/lxd: update URL for images: remote on old LXD
  * d/t/lxd: run tests on a Debian testing testbed

  [ Florent 'Skia' Jacquet ]
  * setup-testbed: don't install 'Recommends' for 'linux-generic'
  * t/a-buildvm-ubuntu-cloud: use minimal image where possible

  [ Christian Kastner ]
  * autopkgtest-virt-qemu: Fix command prompt waiting (Closes: #1071533)
  * qemu: Drop ifupdown from image creation
    It's already installed during debootstrapping, if necessary.
  * setup-testbed: Add support for netplan.io networking
    (Closes: #960729) (LP #2060187)

  [ Evgeni Golov ]
  * assume remote docker when running inside docker

  [ Agathe Porte ]
  * qemu: fix warning: short-form boolean option 'readonly' deprecated
    (Closes: #1073930) (LP #2069957)

 -- Paride Legovini <paride@debian.org>  Fri, 21 Jun 2024 14:28:38 +0200

autopkgtest (5.35) unstable; urgency=medium

  [ Christian Kastner ]
  * qemu: Drop ifupdown from image creation

  [ Florent 'Skia' Jacquet ]
  * tools/a-b-lxd: make sure the reboot happens when needed
  * ssh-setup/nova: explicitly set 'fqdn' in cloud-init

  [ Paride Legovini ]
  * install_apt: drop broken debugging stage
  * find_source_version_to_download: do not consider udebs
  * Resolve and install test dependencies using apt-get satisfy
  * d/control: bump Build-Depends: python3 to >= 3.8
  * d/control: bump versioned Suggests: vmdb2 to >= 0.25-1.
    Thanks to Christian Kastner
  * d/control: drop build-dependency on python3-mock (Closes: #1060447)
  * d/control: make Build-Depends required by tests <!nocheck>
  * tests: add pre-commit-config and yamllint configuration
  * tests: unshare: skip test (exit 77) if simple unshare command fails
  * tests: unshare: skip test if kernel.apparmor_restrict_unprivileged_userns=1
  * tests: docker: make the docker daemon inherit the proxy settings
  * tests: schroot: use default value (DIRECT) for $https_proxy
  * tests: when dpkg-vendor is Ubuntu, test on Ubuntu containers
  * tests: make the lxd test work on Ubuntu
  * Assume that if root-on-testbed then we can use apt (Closes: #1042971)
  * autopkgtest-build-lx*: fix shellcheck warnings and check in pre-commit
  * ssh-setup/nova: fix shellcheck warnings and check in pre-commit

  [ Frode Nordahl ]
  * autopkgtest-build-lxd: Extract lxc client version correctly.
    (LP #2069274, LP #2069283)
  * autopkgtest-build-lxd: Add missing remote prefix in get_boot_id().

  [ Paul Gevers ]
  * runner/autopkgtest: virt-ssh gets confused by newlines in create_command
  * tests: skip test_copy_timeout (Addresses: #1068363)

  [ Luca Boccassi ]
  * lxc: define /tmp mount via lxc-start

 -- Paul Gevers <elbrus@debian.org>  Sun, 12 May 2024 09:27:10 +0200

autopkgtest (5.34) unstable; urgency=medium

  [ Victor Westerhuis ]
  * Let vmdb2 write /etc/fstab in autopkgtest-build-qemu

  [ Nick Rosbrook ]
  * add support for deb822 sources (LP: #2052639)

  [ Julian Andres Klode ]
  * ssh: Set ConnectionAttempts=20 in auxverb
  * lxd: Increase various timeouts

  [ Paride Legovini ]
  * install_apt: drop retry loop on AptDownloadError
  * build-dep: improve error handling
  * runner: rely on package versions to select which src package to download

  [ Paul Gevers ]
  * autopkgtest-build-lxc: repair proxy detection for lxc.network deprecation
    (Closes: #1067406)
  * autopkgtest-build-lxc*: add support to not have apt proxy autodetected
    (Closes: #933064)

  [ Antonio Terceiro ]
  * autopkgtest-virt-lxc: add option to choose container location

 -- Paride Legovini <paride@debian.org>  Wed, 03 Apr 2024 11:06:34 +0200

autopkgtest (5.33) unstable; urgency=medium

  [ Antonio Russo ]
  * virt-schroot: config, val splits on = exactly once

  [ Frode Nordahl ]
  * autopkgtest-build-lxd: Await boot before setup on VM build.
  * autopkgtest-build-lxd: Add remote support.

  [ Paul Gevers ]
  * autopkgtest-virt-lxc: remove ancient code path
  * tests: completely disable podman-init autopkgtest as it fails nasty

  [ Arnaud Rebillout ]
  * setup-testbed: Add non-free-firmware component for Debian and Debian-like

  [ Paride Legovini ]
  * On package build, use apt-get build-dep (if available on the testbed)
  * Assume that dpkg-query (which is Essential) is available
  * Makefile: fully clean package build artifacts
  * autopkgtest-build-lxd: fix unbound variable error
  * autopkgtest-buildvm-ubuntu-cloud: drop workaround for LP: #1427999
  * autopkgtest-buildvm-ubuntu-cloud: default to 2GB of RAM (LP: #1973628)
  * CI: include jobs from the salsa-ci-team Debian pipeline
  * CI: also run the NullRunner-like tests on the Ubuntu devel release
  * Add myself to Uploaders

  [ Christian Kastner ]
  * qemu: Don't attempt poweroff on uninitialized VM

  [ Florent 'Skia' Jacquet ]
  * d/t/unshare: make test runnable on Ubuntu
  * l/adtlog: fix deadlock when low on free space
  * tests: add a testcase for testbed deadlock when running low on free space

  [ Iain Lane ]
  * ssh-setup/nova: Use `openstack network show` in preference to `nova`

  [ Stefano Rivera ]
  * Document some more possible errors in summary (Closes: #1059881)

  [ Luca Boccassi ]
  * apt build-dep: use --env (Closes: #956931)

  [ Heinrich Schuchardt ]
  * qemu: use device-tree for booting riscv64 (LP: #2056764)
  * qemu: boot riscv64 via EFI (LP: #2056764)

 -- Paride Legovini <paride@debian.org>  Thu, 14 Mar 2024 12:18:38 +0100

autopkgtest (5.32) unstable; urgency=medium

  [ Florent 'Skia' Jacquet ]
  * d/t/schroot: better use of existing variables
  * d/t/schroot: allow running behind a proxy

  [ Simon McVittie ]
  * testarchive: Fix a pycodestyle warning
  * Standards-Version: 4.6.2 (no changes required)
  * qemu: Use 4M OVMF images if available

  [ Stefano Rivera ]
  * Testbed: Kill with SIGKILL if SIGTERM doesn't do the job in 10 seconds
    (Closes: #1059444)

  [ Paul Gevers ]
  * tests: increase sleep in test_timeout() for lxd test (Closes: #1020634)
  * autopkgtest-virt-qemu: raise time for command prompt return
  * virt-qemu: add context to several timeout errors

  [ Michael Biebl ]
  * Bump default ram-size for virt-qemu to 2048 (Closes: #1059840)

  [ Colin Watson ]
  * Add Incus support

  [ Santiago Ruano Rincón ]
  * Make autopkgtest-build-qemu pass mirror info to setup-testbed
    (Closes: #1060426)

  [ Paul Gevers ]
  * tests: increase --timeout-build to accommodate for riscv64
  * tests: mark podman-init autopkgtest flaky for now

 -- Paul Gevers <elbrus@debian.org>  Thu, 11 Jan 2024 14:06:22 +0100

autopkgtest (5.31.2) unstable; urgency=medium

  [ Florent 'Skia' Jacquet ]
  * d/control: add genisoimage as suggested package.
    It's used in `autopkgtest-buildvm-ubuntu-cloud`.

  [ Paul Gevers ]
  * autopkgtest-build-qemu: drop use of qemu-debootstrap.
    This is not needed in Debian 11 or newer. (Closes: #1038826)

  [ Simon McVittie ]
  * d/rules: Don't fail the build if a lint check fails (Closes: #1058550)
  * qemu, testdesc: Convert "# type:" comments into variable annotations.
    This avoids unused import warnings with current versions of pyflakes.

 -- Simon McVittie <smcv@debian.org>  Sun, 24 Dec 2023 16:50:37 +0000

autopkgtest (5.31.1) unstable; urgency=medium

  * runner: fix architecture wildcard support broken in 30d5aa7
  * runner: fail badpkg in case no source was found like before 30d5aa7

 -- Paul Gevers <elbrus@debian.org>  Sun, 12 Nov 2023 21:35:20 +0100

autopkgtest (5.31) unstable; urgency=medium

  [ Johannes Schauer Marin Rodrigues ]
  * lib/autopkgtest_qemu.py: use -machine type=virt,gic-version=max when
    running natively on arm64 for kvm acceleration

  [ Tim Andersson ]
  * add ssh connect timeout to ssh-setup/nova
  * setup-testbed: Set apt error mode as any

  [ Paul Gevers ]
  * adt_testbed: factor out add-apt-sources
  * adt_testbed: factor out get-default-release
  * adt_testbed: factor out shell code to create sources.lists
  * Rewrite of source version selection in Python
  * create-sources.list-for-pocket: minor logical improvements
  * add-apt-sources: some checks of input arguments

  [ Jochen Sprickerhof ]
  * Update resolv.conf in unshare chroot

  [ Samuel Thibault ]
  * Fix hyphens in manpages

  [ Mateus Rodrigues de Morais ]
  * Add --cpus to buildvm-ubuntu-cloud tool

  [ Christian Kastner ]
  * qemu: Add option to poweroff gracefully

 -- Paul Gevers <elbrus@debian.org>  Mon, 06 Nov 2023 20:40:32 +0100

autopkgtest (5.30) unstable; urgency=medium

  [ Christian Kastner ]
  * Set umask while initializing DebBinaries, fixing permissions errors
    when running virt-podman with a restrictive umask (Closes: #1032487)

  [ Helmut Grohne ]
  * virt-qemu: Use a lock file to resolve a race condition when allocating
    a port for ssh
  * build-{qemu,lxc}, buildvm-ubuntu-cloud: Explicitly pass RELEASE to
    setup-testbed when known
  * build-qemu: Don't use ext4 features unsupported in the target release

  [ Jochen Sprickerhof ]
  * qemu: Better riscv64 support
    - Use -machine=virt on riscv64
    - Specify a riscv64-compatible network device for all architectures

  [ Stefano Rivera ]
  * build-lxd: Explicitly reuse aliases with lxd >= 5.14, which will no
    longer overwrite an existing alias by default

  [ Simon McVittie ]
  * d/README.source: Add a policy for autopkgtest dependencies:
    - Host system: aiming to support latest Debian stable or Ubuntu LTS,
      and the previous stable/LTS if it's straightforward to do so
    - Testbed: aiming to support Debian 8+ or Ubuntu 14.04+
  * testbed: Use sudo -n true instead of sudo -n -v to detect
    ability to run sudo without password, resulting in it being detected
    successfully in more cases
  * testbed: Move more environmental setup into wrapper.sh
  * testbed: Factor out Perl code to parse dependencies
  * setup-testbed:
    - Remove code that was only needed for Ubuntu 12.04 on armhf
    - Only auto-detect RELEASE, MIRROR when necessary
  * tests:
    - Add a convenience `make check` target
    - Fix a failing qemu test
    - Run more tests in CI and during package build
    - d/tests/lxd: Fix test failure by installing recommended dnsmasq-base
      package
    - d/tests/lxd: Use stable image, fixing testing while
      images.linuxcontainers.org doesn't provide an image for trixie yet
    - Remove stale reference to SchrootClickRunner tests, which were removed
      in mid 2022
    - CI: Use testing instead of unstable, to avoid temporary regressions
      such as #1042498
    - CI: Test the unshare backend on stable instead of unstable
    - CI: Run basic tests on Debian 11
  * Fix some shellcheck warnings

  [ Paride Legovini, Simon McVittie ]
  * testbed: Install satdep using apt-get install /path/to/*.deb if possible
    (apt >= 1.1, available in Debian 9+ or Ubuntu 16.04+), falling back to
    using dpkg --unpack and apt-get -f install as before for Debian 8 and
    Ubuntu 14.04

  [ Gioele Barabucci ]
  * lib/VirtSubproc: Use explicit paths for commands in downtmp,
    fixing testbed failure if the default shell is changed to busybox
    during testing

  [ Antonio Terceiro ]
  * Add --timeout option, which sets a global timeout for all commands
    that are controlled by the source package being tested
    (the build if the needs-build restriction is present, and the tests
    themselves).

  [ Raphaël Hertzog ]
  * debian: Depend on mawk >= 1.3.4 for systime() function, required
    since 5.29

 -- Paul Gevers <elbrus@debian.org>  Sun, 30 Jul 2023 19:31:21 +0200

autopkgtest (5.29) unstable; urgency=medium

  [ Brian Murray ]
  * Fix a typo

  [ Paride Legovini ]
  * Prevent --apt-pocket from setting the wrong default release
    (Closes: #1032314) (LP: #2009191)

  [ Antonio Terceiro ]
  * autopkgtest-virt-lxc: call timeout sudo instead of sudo timeout

  [ Helmut Grohne ]
  * autopkgtest-build-qemu: add --keyring argument
  * autopkgtest-build-lxc: add --keyring option for consistency with qemu
  * setup-testbed: check the testbed for init-availability
  * setup-testbed: reliably deny starting services

  [ Tim Andersson ]
  * Fix docker build command not returning 1 on failure, causing test to fail
    and not be marked as skippable when run behind a proxy
  * Add timestamps to logfile

 -- Antonio Terceiro <terceiro@debian.org>  Wed, 14 Jun 2023 20:23:45 -0300

autopkgtest (5.28) unstable; urgency=medium

  [ Jochen Sprickerhof ]
  * virt-unshare: use rbind to mount subtrees

  [ Christian Kastner ]
  * QEMU: Enable virtio-serial exactly once (Closes: #1003002)

  [ Paride Legovini ]
  * Pin pockets with Pin-Priority: 500

  [ Paul Gevers ]
  * virt/podmon: don't fail on stderr while stopping container

  [ Ryan Tandy ]
  * Fix qemu failing to boot raw base image (Closes: #1004226)

  [ Jelmer Vernooij ]
  * Print nicer error message when cleaning up schroot times out.

 -- Paul Gevers <elbrus@debian.org>  Mon, 30 Jan 2023 19:29:59 +0100

autopkgtest (5.27) unstable; urgency=medium

  [ Julian Gilbey ]
  * Add timezone to initial informative line

  [ Johannes Schauer Marin Rodrigues ]
  * setup-commands/setup-testbed: support running in d-i

  [ Simon McVittie ]
  * setup-testbed: Remove /usr/sbin/policy-rc.d when setting up init
  * setup-testbed: Install procps along with sysv-rc or openrc

  [ Emanuele Rocca ]
  * qemu-system-aarch64: use read-only=on
  * Add zerofree to Suggests, needed by autopkgtest-build-qemu

  [ Paul Gevers ]
  * Improve Architecture field documentation
  * Retry lxc-copy and lxc-start if they fail
  * adt_testbed: fix logical error

 -- Paul Gevers <elbrus@debian.org>  Wed, 26 Oct 2022 22:11:34 +0200

autopkgtest (5.26) unstable; urgency=medium

  [ Simon McVittie ]
  * Add a needs-sudo restriction.
    This can be used by packages like gvfs to run tests that need to be run
    as an ordinary user, but also require the ability to elevate privileges
    to do setup and/or teardown steps. (Closes: #906424)
  * Fix a long-standing race condition in test stdout/stderr reporting,
    which particularly affects the unshare backend (Closes: #1017974)
  * await-boot: Fix a regression in 5.25 which affected tests that
    reboot into a sysvinit environment, such as munin
  * Start factoring out shell code that runs in the testbed into scripts
    lib/in-testbed/*.sh, so that we can include comments, run lint checks
    and other useful QA things
  * testbed: Make reboot-request detection clearer by not relying on
    compensating errors
  * testbed, runner: Remove leftover bits of support for install-tmp mode,
    which was removed in 5.12
  * d/README.source: Document how to run snap lxd via sudo
  * doc: Sort restrictions and capabilities in alphabetical order
  * runner: Fix a pycodestyle warning
  * d/tests/lxd: Update to work with the version in Debian unstable
    - Add more test-dependencies
    - Modernize use of `lxd init`
    - Run as a user in the appropriate group
    - Use Debian testing instead of EOL Ubuntu 16.04 (Closes: #1016912)
  * d/tests/schroot: Ensure hostname resolves promptly
  * tests: Improve debug output for tests that reboot
  * tests: Avoid polluting stderr with diagnostic output
  * tests: Treat AUTOPKGTEST_TEST_INSTALLED= as uninstalled
  * tests: Make a test cope with custom arguments to virt backend
  * tests: Don't assert that there is no debug output from virt backend
  * tests: Get more debug info from SchrootRunner.test_foreign_arch_deps
  * tests: Get more debug info from DebTestsVirtContainer.test_timeout
  * tests: Get extra debug information from test_copy_timeout
  * tests: Skip test_timeout on lxd backend.
    This currently fails, which seems to be reliable, lxd-specific, and
    not a recent regression in autopkgtest. (Mitigates: #1020634)

  [ Paul Gevers ]
  * testbed: Fix creation of apt preferences for suites with a dot in
    the name

  [ Paride Legovini ]
  * qemu: Detect ppc64le host as able to run ppc64le qemu with KVM
    enabled (Closes: #1019189, LP: #1988527)

 -- Simon McVittie <smcv@debian.org>  Sun, 25 Sep 2022 10:35:21 +0100

autopkgtest (5.25) unstable; urgency=medium

  [ Antonio Terceiro ]
  * tests/autopkgtest: Fix test failure if the user has per-user
    containers in ~/.local/share for both lxc and the podman ecosystem

  [ Simon McVittie ]
  * Improve reliability of waiting for lxc, lxd, podman containers to
    boot an init system (Closes: #1017753)
  * On non-amd64 architectures, skip a test that assumes i386 can be a
    foreign architecture
  * Clarify documentation for Restrictions:
    - isolation-container implies a service manager (init system) such as
      systemd or sysv-rc
    - isolation-container does not guarantee logind
    - isolation-machine provides the same things as isolation-container
    - needs-root is at least root in a container, but not always global root
    Thanks: Paride Legovini

 -- Simon McVittie <smcv@debian.org>  Wed, 24 Aug 2022 09:49:01 +0100

autopkgtest (5.24) unstable; urgency=medium

  [ Jochen Sprickerhof ]
  * Install unshare-helper, fixing virt-unshare regression in 5.23

  [ Antonio Terceiro ]
  * virt-lxc: fix handling of --sudo when waiting for testbed to boot
    (Closes: #1017017)

  [ David Kalnischkies ]
  * virt-unshare: Create mount point for --bind if necessary

  [ Simon McVittie ]
  * testdesc: Represent restrictions and features as sets
  * testdesc: Check restrictions vs. capabilities in a data-driven way
  * build-docker(1): Fix an invalid groff macro (thanks, Lintian)
  * ssh-setup/maas: Silence a Lintian false positive
  * Test coverage for regressions in 5.23:
    - Test virt-unshare as an autopkgtest to exercise "as-installed" use
    - Test virt-lxc as an ordinary user, to detect regressions like #1017017
    - Test virt-unshare --bind
  * Test reliability:
    - Use testing in preference to unstable to avoid transient failures
      during transitions
  * Packaging updates:
    - Update syntax of Lintian overrides
    - Add myself to Uploaders
    - Standards-Version: 4.6.1 (no changes required)
    - d/tests: Correct SPDX license name

 -- Simon McVittie <smcv@debian.org>  Fri, 12 Aug 2022 09:39:40 +0100

autopkgtest (5.23) unstable; urgency=medium

  [ Iñaki Malerba, Chris Kuehl, Felipe Sateler, Simon McVittie ]
  * Add support for docker.io virtualization (Closes: #747909)

  [ Simon McVittie ]
  * virt-docker, build-docker: Allow running as virt-podman, build-podman
  * virt-podman, build-podman: Add --init option.
    Docker is designed to be used for "app containers", which are like a
    better-isolated chroot. Podman can be used like this, but can also be
    used to run traditional full-system containers in the same way as lxc
    and lxd, and in particular it has special support for running systemd
    as the container's init system.
    When we're running a service manager like systemd, sysv-rc or openrc,
    we can provide the isolation-container capability.
  * autopkgtest: Make --test-name repeatable (Closes: #1015921)
  * build-podman, build-qemu: Optionally swap or force the init system:
    systemd (+ logind), sysv-rc (+ elogind) or openrc (+ elogind).
    For qemu, the default is what debootstrap provides, usually systemd.
    For podman, the default is no init system at all.
  * Automatically create an unprivileged user to run tests if the testbed
    is expendable.
    This avoids needing to create an unprivileged user when building
    container and VM images, which build-lxc and build-podman don't do.
    (Closes: #1011202)
  * Load setup commands from the source tree if running uninstalled
  * Don't recurse or crash if auxverb_debug_fail fails
  * virt-lxc, virt-lxd: Factor out code to wait for container to boot.
    virt-lxc, virt-lxd and podman --init all want to do the same thing.
  * virt-unshare: Factor out unshare-helper into a shell script
  * Improve setup-testbed script:
    - Stop installing gpg.
      We've been installing this since 2018, but it seems we haven't needed
      it since we switched from apt-key to [trusted=yes] in 2015.
    - Only install dbus, rng-tools if we have an init system
    - Only install libpam-systemd if systemd is installed
    - Only set up ifupdown if it's installed
    - If we overwrite sources.list, also empty sources.list.d
    - Don't crash if unable to read /etc/apt/sources.list
    - Have a separate proxy setting for setup-testbed itself
    - Don't use /usr/share/doc to check package status
    - Silence a new shellcheck warning
  * Add a test that asserts tests can access pseudo-terminals
  * Run more tests on Gitlab-CI and from autopkgtest:
    - autopkgtest-virt-docker (can run via docker:dind or in qemu)
    - autopkgtest-virt-lxc (can run under privileged Docker or qemu)
    - autopkgtest-virt-podman (can run under privileged Docker or in qemu)
    - autopkgtest-virt-podman --init (can run in qemu)
    - autopkgtest-virt-schroot (can run under privileged Docker, lxc or qemu)
  * Test fixes, particularly for running tests that require privileges:
    - Fix ChrootRunner failure with glibc 2.34
    - Make dependencies more complete
    - Skip test_apt_autodep8_with_control if autodep8 not installed
    - Speed up test_git_source_build
    - Update for perl autodep8 behaviour changes in bullseye
    - Test the installed autopkgtest runner so autopkgtest doesn't break
      its own specification
    - Don't run lint-style tests as an autopkgtest, notably pyflakes
    - Accept more variations of apt output
    - Fix build of mock test package if a second binary is added
    - Cope with schroot not always having AUTOPKGTEST_NORMAL_USER
    - Make test failures easier to debug
    - Tolerate output before first explicit setup command
    - Cope with XDG basedirs environment variables being set
    - Speed up testing source package from apt by using a simpler package
      (src:tap.py rather than src:gdk-pixbuf)
    - Speed up testing schroot backend by repeating fewer tests
    - Speed up testing schroot backend by using /var/lib/schroot/unpack
      (schroot users should mount a fast filesystem in that location,
      ideally a tmpfs if they have enough RAM available)
    - Speed up testing schroot backend by using an uncompressed tarball
    - Ignore absence of /dev/pts while testing the virt-chroot backend
    - Make Podman containers available in mock home directory
    - Never completely clear the environment
    - Make the test apt archive readable by everyone, fixing failures with
      some virtualization backends
    - Install libpam-elogind instead of libpam-systemd in VMs and system
      containers that boot with a non-systemd init
  * Documentation:
    - d/README.source: Refer to latest Debian stable and Ubuntu LTS
    - d/README.source: Don't recommend manual setup for lxc networking,
      no longer needed
    - d/README.source: Describe how to run unit tests
    - Fix name of build-needed restriction in man page
  * Clean up dead code:
    - Remove support for click and Ubuntu Mobile.
      These technologies are no longer maintained, and none of the
      autopkgtest maintainers test autopkgtest's support for them, so
      it's very likely that this doesn't actually work anyway.
      (Closes: #1011207)
    - Remove internal support for obsolete actions from the pre-2017
      adt-run CLI

  [ Jochen Sprickerhof ]
  * virt-unshare: add /dev/{stdin,stdout,stderr}
  * virt-unshare: support bind mounts
  * virt-unshare: reduce redundancy

  [ Paride Legovini ]
  * virt-lxd: Add support for LXD VMs
  * buildvm-ubuntu-cloud: fix Xenial disk image name

  [ Guilhem Moulin ]
  * Fix "UnboundLocalError: local variable 'n' referenced before assignment"
    (Closes: #1010338)

  [ Johannes Schauer Marin Rodrigues ]
  * virt-unshare: Mount a new instance of /dev/pts, fixing ability to
    use script(1) and other users of pseudo-terminals

 -- Simon McVittie <smcv@debian.org>  Wed, 10 Aug 2022 20:50:12 +0100

autopkgtest (5.22) unstable; urgency=medium

  [ Luca Boccassi ]
  * Add --skip-test command line option

  [ Jochen Sprickerhof ]
  * Add unshare backend

  [ Simon McVittie ]
  * Avoid more uses of which(1)
  * buildvm-ubuntu-cloud: Don't rely on a global variable
  * buildvm-ubuntu-cloud: Trim unused space from the image if possible
  * buildvm-ubuntu-cloud: Optionally compress the final image

  [ Jochen Sprickerhof ]
  * [unshare] support suggested-normal-user

  [ Paul Gevers ]
  * Support current oldstable/updates which is need for security

 -- Paul Gevers <elbrus@debian.org>  Sat, 14 May 2022 12:55:32 +0200

autopkgtest (5.21) unstable; urgency=medium

  [ Paul Gevers ]
  * testdesc.py: reduce_restrictions instead of only reduce_arch
    (Closes: #1008192)
  * spec: improve wording of skip-not-installable
  * testdesc: work around variables in d/control
  * spec: be more specific what @recommends@ means

  [ Antonio Terceiro ]
  * autopkgtest-build-lxc: update container configuration (Closes: #979450)

 -- Paul Gevers <elbrus@debian.org>  Mon, 28 Mar 2022 21:20:12 +0200

autopkgtest (5.20) unstable; urgency=medium

  * Determine build-needed by parsing the control (Closes: #1002477)
  * Implement support for @recommends@ in test dependencies (Closes: #896698)
  * Update documentation
  * Convert `needs-recommends` to @recommends@ and drop all other code
    related to it

 -- Paul Gevers <elbrus@debian.org>  Thu, 24 Feb 2022 20:29:51 +0100

autopkgtest (5.19) unstable; urgency=medium

  [ Simon Chopin ]
  * buildvm-ubuntu-cloud: add a --ram-size option
  * buildvm-ubuntu-cloud: add support for non-x86 architectures

  [ Paul Gevers ]
  * autopkgtest-virt-lxc: cleanup if lxc-start fails after lxc-copy

  [ Athos Ribeiro ]
  * Force xz compression for satdep.deb

  [ Sergio Durigan Junior ]
  * Make sure we add a newline to the end of /etc/environment

 -- Antonio Terceiro <terceiro@debian.org>  Tue, 07 Dec 2021 09:28:26 -0300

autopkgtest (5.18) unstable; urgency=medium

  [ Romain Porte ]
  * Fix qemu deprecation warnings for short-form booleans (Closes: #996705)

  [ Brian Murray ]
  * Add support for building VMs of End of Life ubuntu releases.

 -- Antonio Terceiro <terceiro@debian.org>  Sat, 13 Nov 2021 11:44:27 -0300

autopkgtest (5.17) unstable; urgency=medium

  [ Ryutaroh Matsumoto ]
  * Use 32-bit OVMF EFI firmware for qemu-system-i386 (Closes: #973522)
  * qemu: Explicitly assign unit numbers for pflash devices

  [ Iain Lane ]
  * lxd: Fix a race condition while rebooting
  * buildvm-ubuntu-cloud: Update for compatibility with other changes
    mentioned below
  * ssh-setup/nova: Quote arguments to `tr`

  [ Simon McVittie ]
  * VirtSubproc: Allow expecting multiple options
  * virt-qemu: Cope with passwordless shell (blank password)
  * virt-qemu: Don't rely on exiting from a shell printing "logout"
  * virt-qemu: Preseed debconf questions so we can upgrade grub-pc, if
    installed (Closes: #982296)
  * virt-qemu: Add --qemu-architecture, --dpkg-architecture options
  * virt-qemu: Load virtio_console in initramfs to make sure it's ready
    when systemd-getty-generator(8) looks for it (workaround for #689962)
  * virt-qemu: Improve reliability of interactions with serial console shell
  * build-qemu: Automatically run under fakemachine if not uid 0
  * build-qemu: Convert image into an absolute path.
    This helps when we're sharing directories as "volumes" with fakemachine.
    The working directory inside fakemachine isn't necessarily the same as
    the working directory outside, leading to the output image being
    written somewhere unintended.
  * build-qemu: Show the log from vmdb2 if it fails
  * build-qemu: Placate pycodestyle
  * build-qemu: Never set http_proxy to DIRECT.
    The special keyword DIRECT is understood by apt, but not by generic
    http clients, and in particular not understood by wget (used by
    debootstrap).
  * Use `command -v` in preference to `which`.
    In Debian, which(1) is provided by the Essential debianutils package,
    which recently deprecated it. Silence the resulting warnings by doing
    this in a slightly less obvious way.

  [ Simon McVittie, Ryutaroh Matsumoto ]
  * setup-testbed: Try to put Linux console on both ttyS0 and hvc0.
    ttyS0 is PC-specific, hvc0 is a generic hypervisor console available
    on multiple hypervisors.
  * setup-testbed: Put root shells on both ttyS1 and hvc1 if they exist.
    ttyS1 is PC-specific, hvc1 is a generic hypervisor console available
    on multiple hypervisors.
  * virt-qemu: Only -enable-kvm if VM is compatible with host architecture
  * virt-qemu: Add --boot=efi (formerly --efi)
  * build-qemu: Add --boot=efi to build images bootable with EFI.
    This requires vmdb2 0.22-1~ or newer.
  * qemu: armhf and aarch64 support (Closes: #973038, #973663)
    - Boot with EFI by default
    - Build images with EFI by default (Closes: #990415)
    - Use ttyAMA0 as the ARM equivalent of ttyS0
    - Default to -machine virt, since there is no default in qemu
    - Default to qemu-system-aarch64 -cpu host,aarch64=off -enable-kvm
      for armhf on aarch64 host, because qemu-system-arm -enable-kvm is
      not available on aarch64 hosts
    - Default to -cpu host -enable-kvm for aarch64 on aarch64 host
    - Default to -cpu cortex-a53 for aarch64 on non-aarch64 host
      since that CPU seems to work well
    Thanks to Christian Kastner, Peter Maydell and Steve McIntyre.

  [ Simon McVittie, Thierry Fauck, Ryutaroh Matsumoto ]
  * qemu: ppc64el support (Closes: #926945)
    - Install grub-ieee1275 by default
    - Avoid trying to allocate hvc0 as a virtio console.
      The default serial port of a pSeries machine appears as /dev/hvc0,
      and the virtio consoles start from hvc1.
    Thanks to Christian Kastner

  [ Christian Kastner ]
  * qemu: Use -machine q35 on i386 or amd64 when booting with EFI.
    Empirically, it seems to be the minimum required for EFI-booting on
    i386; bump the machine on amd64 too, for consistency.

  [ Julian Andres Klode ]
  * setup-testbed: Remove needrestart so its dpkg hook does not interfere
    with the apt test suite
  * setup-testbed: Set Acquire::Retries 10, like debci does
  * setup-testbed: Always include phased updates

 -- Paul Gevers <elbrus@debian.org>  Mon, 04 Oct 2021 21:04:48 +0200

autopkgtest (5.16) unstable; urgency=medium

  [ Paul Gevers ]
  * Fix reported arch in Unsupported message

  [ Simon McVittie ]
  * tests/ssh-setup-lxd: Fix a typo
  * shell scripts: Quote more defensively
  * tests/pycodestyle: Prefer command -v instead of which
  * shell scripts: Prefer $() instead of backticks
  * setup-testbed: Avoid test -a
  * setup-testbed: Silence some shellcheck false-positives
  * setup-testbed: Be more careful with printf
  * setup-testbed: Ensure that $proxy is always initialized
  * setup-testbed: Prefer POSIX grep -E over GNU-specific egrep
  * setup-testbed: Quote trap command differently
  * tests: Add shellcheck test
  * tests: Silence some mypy warnings
  * tests: Add test that runs mypy across the codebase
  * d/copyright: Update
  * Use shlex.quote in preference to undocumented pipes.quote

  [ Ryutaroh Matsumoto ]
  * autopkgtest-build-qemu: Install a PAE kernel on i386 (Closes: #973662)
  * autopkgtest-build-qemu: Install LPAE kernel on armhf (Closes: #973592)

  [ Simon McVittie ]
  * lib: Factor out qemu virtual machine setup
  * autopkgtest_qemu: Add QemuImage objects
  * buildvm-ubuntu-cloud: Use Qemu object
  * autopkgtest-build-qemu: Rewrite in Python
  * autopkgtest-buildvm-ubuntu-cloud: Make return of None explicit
  * autopkgtest-buildvm-ubuntu-cloud: Fail if release cannot be determined
  * autopkgtest-buildvm-ubuntu-cloud: Replace which(1) with shutil.which
  * autopkgtest_qemu: Set workdir before preparing overlay

  [ Ryutaroh Matsumoto ]
  * qemu: Forward stdout, stderr to stderr of parent process
  * qemu: Extend timeout for checking python availability
  * qemu: Enable discard operation on virtio disk devices

  [ Simon McVittie ]
  * qemu: Allow passing `uname -m` output to get_default_qemu_command
  * tests: Add a unit test for qemu library code
  * qemu: Select qemu-system-arm for ARM CPUs

  [ Graham Inggs ]
  * autpkgtest_args: autoremove after dist-upgrade

  [ Balint Reczey ]
  * Handle exception thrown by create_testinfo() (Closes: #927146)
    (LP: #1907803)

  [ Sébastien Delafond ]
  * virt-lxc: attempt to cleanly shutdown the container first, and only
    then pass --force to lxc-destroy (Closes: #979238)

 -- Paul Gevers <elbrus@debian.org>  Sun, 24 Jan 2021 21:15:20 +0100

autopkgtest (5.15) unstable; urgency=medium

  [ Sebastien Delafond ]
  * Remove left over .new containers before trying to generate a new one
    (Closes: #971749)

  [ Antonio Terceiro ]
  * virt-lxc: extract common initial argument list for lxc-copy
  * virt-lxc: add option to limit disk usage by tests

  [ Paul Gevers ]
  * tests/lxd: mark test skippable and exit 77 in stead of 0 in case of
    balling-out
  * Add support for Architecture field (Closes: #970513)
  * Check for empty Tests field (Closes: #918882)
  * With --test-name, don't report when other tests are skipped
    (Closes: #960267)

  [ Simon McVittie ]
  * Check restrictions with testbed compat, not during initialization
  * Allow restrictions to be ignored from the command line

  [ Ivo De Decker ]
  * Assume root-on-testbed with autopkgtest-virt-ssh and improve debugging
    (Closes: #958727)

 -- Paul Gevers <elbrus@debian.org>  Mon, 26 Oct 2020 21:27:25 +0100

autopkgtest (5.14) unstable; urgency=medium

  [ Christian Kastner ]
  * autopkgtest-build-qemu: Support for vmdb2->qemu-debootstrap
    (Closes: #959389)

  [ Antonio Terceiro ]
  * autopkgtest-build-qemu: make sure VM can resolve its own hostname
    (Closes: #959713)
  * autopkgtest: add --validate option

  [ Iain Lane ]
  * autopkgtest-virt-ssh: Give the wait_port_down socket a timeout

  [ Simon McVittie ]
  * Avoid using 'l' as a variable name
  * qemu: Guess format of main disk image (Closes: #968598)
  * tools: Don't make qemu guess what format the disk image is

  [ Paul Gevers ]
  * Bump standards
  * Bump debhelper compat to 13 via debhelper-compat BD
  * Add Rules-Requires-Root: no
  * Drop postinst script as all supported releases have higher versions

 -- Paul Gevers <elbrus@debian.org>  Tue, 01 Sep 2020 21:28:29 +0200

autopkgtest (5.13.1) unstable; urgency=medium

  * autopkgtest-build-qemu: revert commit that broke image creation
    (Closes: #956659)

 -- Antonio Terceiro <terceiro@debian.org>  Fri, 17 Apr 2020 22:02:07 -0300

autopkgtest (5.13) unstable; urgency=medium

  [ Gordon Ball ]
  * Use pyflakes3 instead of pyflakes (Closes: #956338)

  [ Paul Gevers ]
  * Add support for needs-internet restriction
  * Add note about ftp-master ruling (Closes: #954157)
  * README.package-tests.rst: add documentation about needs-internet
    restriction
  * Update 5.12 changelog entry with bug number for qemu on ppc64el item

 -- Paul Gevers <elbrus@debian.org>  Thu, 16 Apr 2020 21:07:58 +0200

autopkgtest (5.12.1) unstable; urgency=medium

  [ Antonio Terceiro ]
  * adt_testbed: ignore debian/control when checking for dependencies. This
    fixes a regression observed in the debci test suite.

 -- Antonio Terceiro <terceiro@debian.org>  Sat, 04 Apr 2020 12:20:17 -0300

autopkgtest (5.12) unstable; urgency=medium

  [ Dan Streetman ]
  * tools/autopkgtest-build-lxd: pass /dev/null on stdin to lxc launch
    (LP: #1845037)
  * autopkgtest: When finding src pkg, skip binary pkgs for other archs
    (LP: #1845157) (Closes: #939790)
  * autopkgtest: when checking binary pkg arch, allow *-$ARCH-* values also

  [ Antonio Terceiro ]
  * Drop unpacking of dependencies to temporary dir

  [ Iain Lane ]
  * setup-testbed: Install rng-tools
  * lib/adt_testbed.py, runner/autopkgtest: Run --shell-fail in more situations
  * adt_testbed: Run the debug-fail command in more circumstances

  [ Sébastien Delafond ]
  * Add kali support

  [ Simon McVittie ]
  * lxd: Actually exit the awk loop after the first apt source
  * build-lxd: Quote MIRROR and RELEASE properly
  * d/README.source: Document how to test various backends

  [ Paul Gevers ]
  * adt_testbed.py: add date to the start of log so we always have it
    (Closes: #954366)
  * Do not ignore distributions that have dashes in their name
  * lxc/lxd: wait for sysvinit services to finish
    Thanks to Lars Kruse (Closes: #953655)
  * lxc: increase timeout around reboot
  * tests/lxd: add skip-not-installable (Closes: #952594)

  [ Jelmer Vernooĳ ]
  * Document that $HOME will exist and will be writeable.

  [ Thierry Fauck ]
  * autopkgtest-build-qemu: create primary partition of type Prep to
    support ppc64el with grub2 (Closes: #926945)
  * Add proper kernel release name for ppc64el

 -- Paul Gevers <elbrus@debian.org>  Thu, 02 Apr 2020 10:36:09 +0200

autopkgtest (5.11) unstable; urgency=medium

  [ Dan Streetman ]
  * autopkgtest-buildvm-ubuntu-cloud: work with precise and trusty
    (LP: #1822331) (Closes: #925966)

  [ Sébastien Delafond ]
  * Add an optional 6th parameter to autopkgtest-build-qemu, to force a
    specific image size

  [ Julian Andres Klode ]
  * ssh-setup/nova: Run nova show after console-log in debug_failure

  [ Iain Lane ]
  * setup-testbed: Add the -security pocket for Ubuntu releases
  * nova: Use glanceclient to find images
  * nova: --key_name is actually --key-name
  * setup-testbed: Write preserve_sources_list in the new format
  * nova: trim whitespace from server UUID

  [ Simon McVittie ]
  * autopkgtest-build-qemu: Parse named parameters
  * autopkgtest-build-qemu: Allow overriding apt proxy via command-line

  [ Simon McVittie ]
  * testdesc: Report each unsupported test individually (Closes: #851232)
  * setup-testbed: Provide more options for handling /etc/apt/sources.list
    (Closes: #933062)

  [ Dan Streetman ]
  * ssh-setup/nova: allow specifying --image with name or uuid

  [ Valentin Vidic ]
  * autopkgtest-virt-lxc: accept lxc arguments for ephemeral containers

  [ Michael Biebl ]
  * Use virtio-rng to passthrough RNG to qemu runner and drop haveged

  [ Raphaël Hertzog ]
  * qemu: Forward VM's ssh port only to localhost (Closes: #931219)

 -- Paul Gevers <elbrus@debian.org>  Thu, 05 Sep 2019 09:32:10 +0200

autopkgtest (5.10) unstable; urgency=medium

  * autopkgtest-build-qemu: use UUID in fstab (Closes: #922671)

 -- Antonio Terceiro <terceiro@debian.org>  Mon, 25 Feb 2019 11:05:15 -0300

autopkgtest (5.9) unstable; urgency=medium

  [ Iain Lane ]
  * Add spaces around "[ trusted=yes ]"

  [ Antonio Terceiro ]
  * autopkgtest-build-qemu: document ARCHITECTURE parameter
  * autopkgtest-build-qemu: call user script directly
  * autopkgtest-build-qemu: create fstab (Closes: #916407)
  * autopkgtest-build-qemu: fix setup of APT proxy
  * autopkgtest-build-qemu: update to work with newer vmdb2
    (Closes: #922501)

  [ Christian Kastner ]
  * autopkgtest-build-lxc: lxc/default.conf: lxc.network.type is now
    lxc.net.0.type (Closes: #922171)


 -- Antonio Terceiro <terceiro@debian.org>  Mon, 18 Feb 2019 22:48:48 -0300

autopkgtest (5.8) unstable; urgency=medium

  [ Simon McVittie ]
  * qemu: Use socket.sendall() to push text into AF_UNIX sockets

  [ Niko Tyni ]
  * Ensure that autocleaned TempPath file names are unique (Closes:
    #916499)

  [ Thadeu Lima de Souza Cascardo ]
  * qemu: close sockets after being done with them (Closes: #916428)

  [ Iain Lane ]
  * runner: Fix sed command for escaping special characters in package
    names

  [ Julian Andres Klode ]
  * Minor fixes for the lxd test.
    Thanks to Stéphane Graber <stgraber@ubuntu.com>

 -- Paul Gevers <elbrus@debian.org>  Thu, 10 Jan 2019 18:33:45 +0100

autopkgtest (5.7) unstable; urgency=medium

  [ Paul Gevers ]
  * doc: remove confusing text about future systems
  * runner/autopkgtest: initialize variable (Closes: #914191)
  * doc: document test-name syntax (Closes: #915913)
  * Also run autodep8 when d/control says so (Closes: #904776)

  [ Martin Pitt ]
  * Support foreign architecture test dependencies (Closes: #913082)
  * lib/testdesc.py: Fix typo in regular expression
  * autopkgtest-build-qemu: Fix uninitialized proxy_cmd variable
    (Closes: #911963)

  [ Iain Lane ]
  * autopkgtest-build-lxd hack: mask serial-getty@getty.service
  * Re-enable apt-cache fallback for --only-source as needed in trusty

  [ Christian Ehrhardt ]
  * Better debugging info for failures due to non-installable test
    dependencies

 -- Paul Gevers <elbrus@debian.org>  Thu, 13 Dec 2018 12:03:13 +0100

autopkgtest (5.6) unstable; urgency=medium

  [ Simon McVittie ]
  * Restore ability to boot pre-stretch systemd systems (Closes: #906227)
  * runner: Document exit status 8 for "all tests skipped"
  * Implement superficial as a test restriction (Closes: #904979)
  * man page: Document that PASS can now be followed by details too
  * Ignore pycodestyle W504 "line break after binary operator"
  * tests/pycodestyle: Print all warnings before exiting unsuccessfully
  * Fix most pycodestyle warnings for invalid escape sequences

  [ Martin Pitt ]
  * autopkgtest-buildvm-ubuntu-cloud: Drop obsolete Ubuntu release names
  * doc: Clarify scope of tests
  * Adjust lxd Suggests: (LP: #1788040)

  [ Paul Gevers ]
  * doc: deprecate needs-recommends
  * Improve documentation of --no-apt-fallback
  * runner/autopkgtest: improve apt-source for Debian

  [ Antonio Terceiro ]
  * autopkgtest-build-qemu: build VM images with vmdb2 (Closes: #904972)

 -- Paul Gevers <elbrus@debian.org>  Mon, 15 Oct 2018 20:35:36 +0200

autopkgtest (5.5) unstable; urgency=medium

  [ Antonio Terceiro ]
  * Different implementation to make sure to never pass an empty string as
    username to `su`
  * When using systemd, reboot via systemd-run
  * test_breaks_testbed: allow output on stderr

  [ Paul Gevers ]
  * Fix whitespace in old parts of d/changelog
  * Add gitlab pipelines to autopkgtest
  * Fixes to be conform pycodestyle
  * tests: replace encoding='utf-8' by universal_newlines=True for
    python3.5 (stretch)
  * Fix missing empty line in commit 30470603
  * Add option to disable the apt fallback when dependencies can't be
    installed due to pinning
  * Make autopkgtest Build-Depends-Arch aware (Closes: #903398)
  * Add skip-not-installable restriction (Closes: #905311)
  * Drop ancient X-Python3-Version (thanks lintian)

  [ Ian Jackson ]
  * doc/README.package-tests.rst: document hint-testsuite-triggers
    (Closes: #905310)

  [ Simon McVittie ]
  * runner: Document exit status 14 as possible
  * tests: Don't rely on being able to install B-D as non-root (Closes:
    #905677)
  * tests: Skip test_tree_build_needed_success if necessary
  * runner: Exit 8 if every test was skipped or otherwise ignored
    (Closes: #901804)

 -- Paul Gevers <elbrus@debian.org>  Fri, 10 Aug 2018 20:27:40 +0200

autopkgtest (5.4.2) unstable; urgency=medium

  [ Martin Pitt ]
  * doc: Document "test-name" feature
  * doc/README.package-tests.rst: Fix formatting of previous commit

  [ Niko Tyni ]
  * Fix versioned provides test dependency handling
  * Refactor _synthesize_deps() parameters
  * Properly handle virtual packages in alternative test dependencies
    (Closes: #903975)
  * Add test cases for alternative test dependencies improvements

  [ Antonio Terceiro ]
  * Always pass a non-empty user string to `su` (Closes: #904870)

 -- Antonio Terceiro <terceiro@debian.org>  Sun, 29 Jul 2018 12:13:06 -0300

autopkgtest (5.4.1) unstable; urgency=medium

  * README.package-tests.rst: explain that architecture qualifiers are
    allowed in Test-Depends
  * SchrootRunner: add testcases for arch qualifiers in Test-Depends
  * Fix regression on arch-specific packages with '@' in Test-Depends
    (Closes: #903000)

 -- Paul Gevers <elbrus@debian.org>  Fri, 06 Jul 2018 20:05:39 +0200

autopkgtest (5.4) unstable; urgency=medium

  [ Simon McVittie ]
  * README.package-tests.rst: Document AUTOPKGTEST_NORMAL_USER
  * d/tests/lxd: Don't assume all test-runners set AUTOPKGTEST_NORMAL_USER
  * qemu: Only set up base image device if requested (Closes: #892023, #862362)
  * qemu: Document --baseimage
  * qemu: Update test for --baseimage no longer being the default
  * qemu, lxc, lxd: Look for a user account in the 1000-59999 range
    (Closes: #897170)
  * qemu: Add a shortcut for running tests on an EFI-booted image (Closes:
    #898340)
  * doc: Describe how to parse Features, Restrictions, Classes
  * Add support for flaky tests (Closes: #851558)
  * Add support for tests declaring themselves to have been skipped
  * autopkgtest(1): Document FLAKY as a possible summary status

  [ Balint Reczey ]
  * Fix bashism in retrying apt update

  [ Paul Gevers ]
  * Enable testing to continue after badpkg (Closes: #832751)
  * adt_testbed.py fix missed piece of regular expression in commit a7e1dad
  * d/tests/autopkgtest Update SchrootRunner
  * runner/autopkgtest: Drop Ubuntu 12.04 fallback
  * manpage: make ordering consistent with --help (Closes: #901643)

  [ Julian Andres Klode ]
  * ssh-setup/nova: Add support for keystone v3 auth (LP: #1767433)

  [ Rafael Laboissiere ]
  * Set Maintainer email address to team+ci@tracker.debian.org

  [ Niko Tyni ]
  * Add a couple of testcases for versioned provides support
  * Ensure synthesized test dependencies are not satisfied by versioned Provides
    (Closes: #867081)
  * Remove the old '(>= 0)' hack for ensuring '@' pulls in real packages

 -- Paul Gevers <elbrus@debian.org>  Mon, 02 Jul 2018 11:50:21 +0200

autopkgtest (5.3.1) unstable; urgency=medium

  [ Iain Lane ]
  * Fix typo in previous upload, preventing apt-get fallback to work
    properly

  [ Paul Gevers ]
  * Sort os.listdir output in tests as the order is undefined, fixing
    failures on i386 and s390x (Closes: #895824)

 -- Paul Gevers <elbrus@debian.org>  Sun, 22 Apr 2018 15:55:27 +0200

autopkgtest (5.3) unstable; urgency=medium

  * Fix autopkgtest: update reference
  * Use apt pinning instead of APT::Default-Release (Closes: #893754)
    Thanks to Iain Lane for the initial patch.
  * adt_testbed: pin default release to archive name for pocket use
    (Closes: #894094)

 -- Paul Gevers <elbrus@debian.org>  Thu, 12 Apr 2018 15:20:15 +0200

autopkgtest (5.2) unstable; urgency=medium

  [ Martin Pitt ]
  * setup-commands/setup-testbed: Skip ifupdown configuration with netplan

  [ Iain Lane ]
  * lxc, lxd: If we're running systemd, wait until the network is up
    (LP: #1749736)
  * setup-testbed: Add gpg (or fall back to gnupg2)

  [ Paul Gevers ]
  * Escape single quotes when printing test command in testbed (Closes:
    #893035)
  * Add myself to uploaders
  * adt_testbed: don't fail on non-UTF-8 characters in stderr (Closes:
    #893599)

  [ Antonio Terceiro ]
  * Generalize regular expressions for parsing sources.list

 -- Paul Gevers <elbrus@debian.org>  Tue, 20 Mar 2018 13:05:31 +0100

autopkgtest (5.1) unstable; urgency=medium

  [ Paul Gevers ]
  * Error out when apt-get update fails for three times in a row
  * Add release- to help text of apt-pocket
  * Apply patch by Simon McVittie from bug #851568 (Closes: #851568)
  * Improve man page for --setup-commands, as both examples are now supported
    natively
  * Use APT:Default-Release i.s.o. most pinning and add option
    --apt-default-release
  * Add --pin-packages option to enable Debian to run in testing with packages
    from sid

  [ Antonio Terceiro ]
  * Simplify check for need to run setup commands
  * Extract "add APT source" into its own method
  * Add --add-apt-release option

 -- Antonio Terceiro <terceiro@debian.org>  Wed, 22 Nov 2017 20:12:39 -0200

autopkgtest (5.0.4) unstable; urgency=medium

  * setup-commands/setup-testbed: also handle the case where resolv.conf is
    *not* a symlink
  * Bump Standards-Version to 4.1.1; no changes needed.
  * debian/rules: reuse /usr/share/dpkg/pkg-info.mk instead of calling
    dpkg-parsechangelog to get package version

 -- Antonio Terceiro <terceiro@debian.org>  Wed, 25 Oct 2017 22:42:22 -0200

autopkgtest (5.0.3) unstable; urgency=medium

  * Add myself to Uploaders:
  * setup-commands/setup-testbed: fix test for whether /etc/resolv.conf is a
    symlink

 -- Antonio Terceiro <terceiro@debian.org>  Wed, 25 Oct 2017 17:55:57 -0200

autopkgtest (5.0.2) unstable; urgency=medium

  * test: Adjust ChrootRunner tests for changed apt-get source invocation.
    Commit 762397342b changed the invocation of `apt-get source` and
    `dpkg-source -x`. Adjust ChrootRunner test mock commands accordingly.

 -- Martin Pitt <mpitt@debian.org>  Mon, 16 Oct 2017 11:53:55 +0200

autopkgtest (5.0.1) unstable; urgency=medium

  [ Jiri Palecek ]
  * qemu: Improve race condition with reading data after VM process ended.
    Finish reading all data from stdin before checking the "running" flag,
    to mitigate "tar: Unexpected EOF in archive in copyup()" race
    conditions. (Closes: #829753, LP: #1384706)

  [ Martin Pitt ]
  * Use short package directory path for dsc and apt source.
    Packages with long names can otherwise create too long paths for
    sockets.  Based on patch by Balint Reczey. (Closes: #860554)
  * setup-commands/setup-testbed: Get along with resolv.conf symlink
    debootstrap already copies the host's /etc/resolv.conf into the chroot,
    but this does not help if that's a symlink. Copy the actual content
    instead.  Based on patch by SZALAY Attila. (Closes: #845925, LP: #1659541)

 -- Martin Pitt <mpitt@debian.org>  Sun, 08 Oct 2017 23:07:15 +0200

autopkgtest (5.0) unstable; urgency=medium

  [ Martin Pitt ]
  * Drop obsolete adt-* CLI
    autopkgtest 4.0 with its "autopkgtest" program has been around for a
    year, Debian's and Ubuntu's CI moved to that, and the Debian 9.0 release
    is behind us. Drop "adt-run" and the corresponding adt-virt-* and
    adt-build-* command line interfaces now.
    Add Breaks: for debci for versions that still relied on adt-*.
  * lxc, qemu, ssh: Shorten path of shared directory.
    This helps to reduce socket path lengths in tests.
    (See Debian #860554, LP: #1680577)
  * Drop obsolete ubuntu-touch-session setup script.
    This hasn't been maintained/tested for ages, and with the demise of
    Ubuntu Touch this is now completely obsolete. (Closes: #835836)
  * Avoid bare "except:" clauses
  * tests/autopkgtest_args: pyflakes/pycodestyle fixes
  * tests: Don't run LXC tests with --ephemeral.
    It's not the default and ephemeral containers tend to fail to start too
    often.
  * tests/testpkg: Update Standards-Version and debhelper level.
    Priority "extra" is deprecated, so move to "optional".
  * README.package-tests.rst: Clarify role of control file, add simple
    examples (Closes: #870654)
  * README.package-tests.rst: Update Testsuite: documentation.
    All supported Debian releases now have a new enough dpkg, and Ubuntu
    14.04 will not get new tests any more. (Closes: #876008)
  * Run apt-ftparchive for local debs on testbed instead of host.
    This is slightly more correct as it will produce the format that the
    testbed's apt expects (although that doesn't matter much). It also
    allows autopkgtest to be run on non-Debian hosts.
    As apt-utils is not essential, install it if necessary.
  * README.package-tests.rst: Clarify Testsuite: values
    `autopkgtest` is not any more the only defined value for Testsuite:, as
    the paragraph below already explains.
  * setup-commands/setup-testbed: Look at /etc/os-release for determining
    distribution name. Stop hardcoding "debian|ubuntu|kali" and get this
    information from os-release's ID field. (Closes: #868678)
  * debian/rules: Drop obsolete pysupport override.
    Not necessary any more since dh compat level 9.
  * Bump Standards-Version to 4.1.0. (No changes necessary.)

  [ Stéphane Graber ]
  * debian/tests/lxd: Update to support LXD network/storage API

  [ Steve Langasek ]
  * Fix release name parsing with arch-qualified sources.list
    (Closes: #870393)

  [ Antonio Terceiro ]
  * autopkgtest-build-lxc: Correctly clean cache for Debian containers

 -- Martin Pitt <mpitt@debian.org>  Sun, 17 Sep 2017 16:50:21 +0200

autopkgtest (4.4) unstable; urgency=medium

  [ Martin Pitt ]
  * doc/README.package-tests.rst: Document network access (Closes: #851556)
  * qemu: Robustify ssh port locks.
    Stop assuming that /run/lock is user-writable (it is not in non-Debian
    systems). Instead create the lock file in /tmp and use 'x' to avoid
    /tmp file races.
  * tests/autopkgtest: Fix crashes when running on non-apt system
  * Fix candidate version detection for packages containing regexp operators
    '+' and '.' are valid characters in a Debian package name. Escape them
    in the call to apt-cache policy so that we get what we want to know.
    (Closes: #855954)

  [ Iain Lane ]
  * Fix build_source to work if "Package-List" is the last line in the apt
    output (Closes: #851899)
  * autopkgtest-virt-lxd: Check uptime for reboot waiting. (LP: #1654025)
  * Add a debug-fail hook and implement it for autopkgtest-virt-ssh.
    At the minute, this is mainly so that the nova script can have its
    failure information (`nova console-log') propagated up to the output, so
    that in the case of kernel panics or other random failures we get useful
    output that the driver of autopkgtest (e.g. autopkgtest-cloud) can look
    at. (LP: #1630578)
  * autopkgtest-build-lxd: Allow overriding the target release by setting
    RELEASE=. This will cause the container to be dist-upgraded to the new
    release. Useful for the very early stages of a release when the LXD
    images on images.linuxcontainers.org don't exist yet.

  [ Barry Warsaw ]
  * Pass Dpkg::Options::=--force-confnew to apt-get install.
    This avoids dpkg from prompting for conffile installation when you always
    want the new conffile in the testbed anyway. (Closes: #852475)

 -- Martin Pitt <mpitt@debian.org>  Sun, 30 Apr 2017 19:09:57 +0200

autopkgtest (4.3) unstable; urgency=medium

  [ SZALAY Attila ]
  * Respect --shell-on-failure on test dep install failure (Closes: #844255)

  [ Barry Warsaw ]
  * Use a test name that won't collide with my $HOME.
  * Shorten the name in response to review
  * testdesc.py: Feature: test-name=foobar added for better Test-Command names
    (Closes: #839253)
  * autopkgtest: Support --test-name and deprecate --testname

  [ Paul Gevers ]
  * tests: Use valid Debian architecture in ChrootRunner tests
    (Closes: #849676)

 -- Martin Pitt <mpitt@debian.org>  Wed, 11 Jan 2017 12:34:09 +0100

autopkgtest (4.2.2) unstable; urgency=medium

  * tests/adt-run: Adjust expected cpu_model in
    NullRunner.test_tree_output_dir()
  * autopkgtest-buildvm-ubuntu-cloud: Run setup script with -x in verbose
    mode. This provides more useful information when updating/adjusting
    setup-testbed.
  * setup-commands/setup-testbed: Run all apt operations with
    DEBIAN_FRONTEND=noninteractive.

 -- Martin Pitt <mpitt@debian.org>  Tue, 29 Nov 2016 09:11:05 +0100

autopkgtest (4.2.1) unstable; urgency=medium

  * Fix trailing '\' in test command  with ssh runner
  * ssh: Filter out trailing spaces from commands in auxverb
  * Apply patches for tests with unbuilt-tree (Closes: #844454)
  * setup-commands/setup-testbed: Install dpkg-dev
  * Fix stray ')' in --apt-pocket handling
  * Adjust expected cpu_model in NullRunner.test_tree_output_dir()
  * PEP-8 fixes
  * Robustify tests against kernel versions with trailing space

 -- Martin Pitt <mpitt@debian.org>  Wed, 23 Nov 2016 22:49:59 +0100

autopkgtest (4.2) unstable; urgency=medium

  [ Martin Pitt ]
  * ssh: Fix result of tests that break the testbed. (LP: #1630578)
  * qemu: Fix user/password login mode without a ttyS1 root shell.
     - Concatenate bytes with each other, not a str to a byte.
     - Sync/flush console after sending password and ttyS1 shell command, wait
       until login is complete before continuing.
     - Send password to sudo for ttyS1 shell command, to also work with
       password-requiring sudo. (LP: #1630963)
  * qemu: Fix reboot in user/password login mode.
  * ssh: Add --capability option.
    This is useful to run tests which require an isolation level or have
    breaks-testbed without a setup script.
  * autopkgtest-build-lxd: Ask "lxc profile" for default bridge instead of
    /etc/default/lxd-bridge. The latter went away in recent LXD versions, and
    "lxc profile show default" also works in earlier versions.
  * Make --apt-upgrade consider a "404" error as test failure.
    Previously all errors from "apt-get update" were considered temporary
    failures, i. e. the setup command always exited with 1. But if we specify
    e. g. a nonexisting release from a distro or a PPA, this won't just go
    away by itself -- we want the test to actually fail instead of getting
    stuck in an eternal "retry on temporary failures" loop.
  * schroot: Don't fail on stderr of schroot as long as it succeeds.
    (LP: #1637898)
  * qemu: Hide detected udev file system properties on /dev/baseimage.
    (Closes: #842299)

  [ Simon McVittie ]
  * VirtSubproc: open arbitrary files in binary mode.
  * VirtSubproc: if check_exec status is nonzero, include stderr in message.
  * qemu: put the shared directory in /run. If the virtual machine's root
    filesystem is read-only, we won't be able to create /autopkgtest.
  * qemu: Move eofcat into /tmp. This avoids having to write it to /bin, which
    might be read-only.  Re-create eofcat on every boot for this.
  * source_rules_command: log the result we got if it is not as expected
    (Closes: #842302)
  * Add 'needs-reboot' restriction. This allows tests to be explicit about
    needing to reboot the machine, rather than assuming that
    'isolation-machine' is enough. It is plumbed into the existing 'reboot'
    capability, which is distinct from 'isolation-machine'.
    (Closes: #842300)
  * Add --setup-commands-boot for commands that must be run at every boot.
    This can be used for doing "mount -o remount,rw /" before any dpkg
    operation, or transient setup like writing files into /run/.
    (Closes: #842091)

 -- Martin Pitt <mpitt@debian.org>  Tue, 01 Nov 2016 23:12:55 +0200

autopkgtest (4.1) unstable; urgency=medium

  [ Martin Pitt ]
  * ssh-setup/nova: Move to python3 and to current -novaclient API
  * schroot: Bump end-session timeout to 5 minutes.
    30 seconds might not be enough when running big schroots on slow disks.
  * ssh-setup/nova: Add --nova-reboot option.
    In some clouds using "nova reboot --poll" waits several minutes until
    after the machine is actually up again. OTOH a simple "reboot" inside some
    other clouds causes network to break after "reboot". As there is no method
    that works everywhere, default to the autopkgtest-virt-ssh behaviour again
    ("reboot" and wait for ssh), and add an option to use "nova reboot"
    instead.

  [ Stéphane Graber ]
  * debian/tests/lxd: Update bridge setup to work with LXD 2.3 and higher.
    This moves from /etc/default/lxd-bridge to lxd-internal configuration.

  [ Barry Warsaw ]
  * Support url#refspec format.
    Fix the bug in the previously supported url#branch syntax, where the code
    expected a space separator but the documentation described the # separator.
    Generalize the approach with an explicit fetch/checkout so that GitHub style PR
    refspecs like "refs/pull/21/head" also work as branch name.
    (Closes: #839072)

 -- Martin Pitt <mpitt@debian.org>  Sat, 01 Oct 2016 10:55:16 +0200

autopkgtest (4.0.5) unstable; urgency=medium

  * setup-commands/setup-testbed: Don't configure ifupdown when using
    networkd, as done by latest vmdebootstrap.
  * autopkgtest-chroot.1: Fix typo
  * Drop broken and unmaintained ssh-setup/snappy setup script.
    This hasn't ever been used in production and stopped working long ago.
  * Run tests/autopkgtest_args during package build
  * Put virt servers back into $PATH.
    The virt servers were originally intended to be public API (even though not
    documented as such) and other packages might provide virt servers. Put them
    back into /usr/bin, with an "autopkgtest-virt-" prefix to mirror the original
    "adt-virt-" naming. Rename the manpages to match the binaries.
    (Closes: #835204)
  * tests/autopkgtest: Relax checks for testpkg.deb from local repository
    apt 1.3 changes the format, so be less picky about it.
  * Fix "apt-get source" version detection for single-line "Package-List:"

 -- Martin Pitt <mpitt@debian.org>  Mon, 29 Aug 2016 08:35:00 +0200

autopkgtest (4.0.4) unstable; urgency=medium

  [ Antonio Terceiro ]
  * autopkgtest-build-lxc: Add new optional argument for a customization script

  [ Martin Pitt ]
  * Add /usr/bin/adt-virt-* backwards compatibility symlinks (Closes: #833407)
  * Add pyflakes3 build dependency to run pyflakes test at build time
    (Closes: #833502)
  * tools/autopkgtest-build-lxd: Drop running poweroff before "lxc stop"

  [ Ondřej Nový ]
  * Prefer pycodestyle over pep8 (Closes: #834076)

 -- Martin Pitt <mpitt@debian.org>  Fri, 12 Aug 2016 11:07:10 +0200

autopkgtest (4.0.3) unstable; urgency=medium

  [ Christian Kastner ]
  * autopkgtest.1: Replace remaining "---" with "--" (Closes: #831035)

  [ Martin Pitt ]
  * Fix UnicodeDecodeError on invalid UTF-8 characters in debian/changelog with a built tree
  * qemu: Add new --timeout-reboot option.
    Lower default timeout from 5 to 1 minute.
  * setup-commands/setup-testbed: Add systemd unit for ttyS1 root shell.
  * setup-commands/setup-testbed: Ignore I/O errors on ttyS1 in autopkgtest.service.
  * tools/autopkgtest-build-lxd: Run poweroff before "lxc stop"
    This works around hanging containers when a container has systemd >= 231-1 but
    the host LXC does not yet have <https://github.com/lxc/lxc/pull/1086>.

 -- Martin Pitt <mpitt@debian.org>  Tue, 02 Aug 2016 09:30:29 +0200

autopkgtest (4.0.2) unstable; urgency=medium

  * If --setup-commands exits with code 100, consider this as a bad package
    (autopkgtest exit code 12) instead of a transient testbed failure (exit
    code 16). This allows setup commands to detect errors which should be
    attributed to the tested package itself (like dist-upgrading to the new
    version). Change standard "apt-get update" setup commands to exit with
    code 1 to continue treating that as a temporary failure.
  * setup-commands/setup-testbed: Remove ubuntu-core-launcher and
    snap-confine.
  * Fix some leftover "adt" → "autopkgtest" in manpages.
  * debian/tests/lxd: Move from adt-build-lxd to autopkgtest-build-lxd.
  * ssh-setup/nova: Use "autopkgtest*" instance name instead of "adt*".
  * Rename temporary "adt-satdep" package to "autopkgtest-satdep".
  * autopkgtest.1: Point out that if a .changes contains only debs, a
    corresponding .dsc must still be provided on the command line.
    (Closes: #828025)
  * autopkgtest.1: Document that if no source is given on the command line,
    the current directory will be tested.
  * debian/tests/installed: Fall back to old $ADT_TMP if $AUTOPKGTEST_TMP is
    not set, to work in debci (which runs an older autopkgtest).
  * Disable SchrootClickRunner.test_setup_ubuntu_touch_session for now, it
    breaks schroots and needs to move into a container.

 -- Martin Pitt <mpitt@debian.org>  Fri, 01 Jul 2016 20:19:58 +0200

autopkgtest (4.0.1) unstable; urgency=medium

  * Skip tests/autopkgtest NullRunner.test_apt_source_nonexisting test instead
    of failing if there are no deb-src apt sources configured on the host.
  * Add test for correctly parsing version number with less common characters.
  * autopkgtest: If the test argument is a legal apt source name, prefer
    testing that apt source name over testing that directory. If the latter
    is wanted, it can always be prefixed with ./ to disambiguate. Update the
    manpage accordingly.
  * autopkgtest.1: Update separator. (LP: #1591179)
  * Fix "apt-get source" version detection for source packages whose versions
    in different pockets have disjoint sets of binary packages (like Ubuntu's
    linux-raspi2).
  * ssh-setup/nova: If the normal "nova reboot" does not finish after five
    minutes, use the bigger "reboot --hard" hammer. This works around reboot
    bugs on some architectures.
  * Fix "apt-get source" version detection for old (Ubuntu precise) apts which
    does not yet understand --only-source, by ignoring other sources in awk.

 -- Martin Pitt <mpitt@debian.org>  Fri, 17 Jun 2016 12:08:55 +0300

autopkgtest (4.0) unstable; urgency=medium

  * Add new "autopkgtest" CLI. This provides a simplified CLI compared to the
    now deprecated adt-run:
    - It accepts only exactly one tested source package, and gives a proper
      error if none or more than one (often unintend) is given
    - It defaults to the current directory if that is a Debian source package
    - The order of arguments is not relevant any more
    - Built vs. unbuilt tree is now automatically detected
    - The explicit --source, --click-source etc. options are gone, the type of
      tested source/binary packages is detected automatically
    - The virtualization server is now separated with a double instead of a
      tripe dash, as the former is standard Unix syntax.
    - The virtualization server must be specified with its "short" name only,
      e. g. "ssh" instead of "adt-virt-ssh".
    The old "adt-run" CLI will still be available for some time.
    (Closes: #795274, LP: #1453509)
  * Rename adt-build* tools to autopkgtest-build* and build images prefixed
    with"autopkgtest" instead of "adt". Keep compatibility symlink for the old
    commands, and when being called through them, also produce images with the
    old adt* names.
  * Rename public ADT_* env vars to AUTOPKGTEST_*:
    - AUTOPKGTEST_APT_PROXY
    - AUTOPKGTEST_ARTIFACTS
    - AUTOPKGTEST_AUTOPILOT_MODULE
    - AUTOPKGTEST_NORMAL_USER
    - AUTOPKGTEST_REBOOT_MARK
    - AUTOPKGTEST_TMP
    As these are being used in existing tests and tools, also export/check
    those under their old ADT_* name.

 -- Martin Pitt <mpitt@debian.org>  Wed, 08 Jun 2016 10:13:01 +0200

autopkgtest (3.20.9) unstable; urgency=medium

  * Fix "apt-get source" version detection for very old source packages that
    don't have "Package-List:" yet. (LP: #1588199)
  * Skip NullRunner.test_apt_source_nonexisting test instead of failing if
    there are no deb-src apt sources configured on the host.

 -- Martin Pitt <mpitt@debian.org>  Thu, 02 Jun 2016 22:22:45 +0200

autopkgtest (3.20.8) unstable; urgency=medium

  * adt-build-lxd: Fix "ADT_APT_PROXY: parameter not set" failure if host's
    apt proxy is not on localhost.
  * debian/tests/lxd: Set up LXD bridge, so that the test can actually work
    with current LXD.
  * Set $ADT_NORMAL_USER during tests that run as root.
  * Re-enable lxd autopkgtest, now that LP: #1557161 is fixed.
  * debian/tests/lxd: Enable MSS clamping, to work around broken PTMU in
    Canonical's Scalingstack: Avoids lost IP packets due to MTU mismatches.
  * adt-build-lx{c,d}: Pass on $MIRROR to setup-testbed.
  * adt-virt-qemu: Replace deprecated -redir QEMU option with
    "-net user,hostfwd=".
  * adt-buildvm-ubuntu-cloud: Provide more user friedly error if no image
    exists for the chosen release/architecture. (LP: #1586322)
  * Put back apt-cache showsrc --only-source option, as otherwise we'll catch
    binaries from unrelated sources. Add a fallback for Ubuntu 12.04 to re-try
    without --only-source.

 -- Martin Pitt <mpitt@debian.org>  Wed, 01 Jun 2016 12:39:50 +0200

autopkgtest (3.20.7) unstable; urgency=medium

  * Use "gdk-pixbuf" as example package in tests and documentation instead of
    libpng. The latter recently got renamed.
  * setup-commands/setup-testbed: Don't install haveged into containers.
  * tests/adt-run: Make SchrootClickRunner tests work with a standard schroot
    (i. e.  no click and SDK preinstalled), by installing the packages via
    --setup-command.
  * tools/adt-buildvm-ubuntu-cloud: Adjust to new cloud image names from
    Ubuntu 16.10.
  * Exit with 12 ("bad package") instead of 16 ("temporary testbed failure")
    when --apt-source package does not exist.
  * Move installed python modules from /usr/share/autopkgtest/python to
    ../lib, to use the same name as in the source tree.
  * setup-commands/setup-testbed: Call all apt-get commands with /dev/null
    stdin, to avoid them seizing stdin. Fixes adt-build-lxc for Ubuntu trusty.

 -- Martin Pitt <mpitt@debian.org>  Thu, 26 May 2016 21:03:07 +0200

autopkgtest (3.20.6) unstable; urgency=medium

  * Fix OSError when running a shell is requested but /dev/tty does not exist;
    just log an error instead.
  * Fix parsing of candidate versions from "apt-cache policy" to always use
    the precise given package name. By default it falls back to a
    substring/regexp search (undocumented).
  * adt-build-lxd: Check the LXD configuration for the LXD bridge instead of
    the old LXC bridge, for apt proxy auto-detection. (LP: #1577968)
  * Generalize the apt proxy detection in adt-build* and setup-testbed to
    work for arbitrary proxies, not just apt-cacher-ng. (LP: #1577966)
  * Eliminate the need to set $AUTOPKGTEST_BASE to execute runner/adt-run from
    a git checkout. This also makes ./run-from-checkout obsolete, call
    runner/adt-run directly.

 -- Martin Pitt <mpitt@debian.org>  Tue, 17 May 2016 22:32:46 +0200

autopkgtest (3.20.5) unstable; urgency=medium

  [ Martin Packman ]
  * Fix ssh virt server example and testbed error.

  [ Martin Pitt ]
  * If git clone fails with "--git-source" the first time, retry after 15
    seconds. This should defend short temporary network glitches.
    (LP: #1571979)
  * adt-virt-qemu: Call eofcat helper with PYTHONHASHSEED=0 to avoid long
    hangs after booting the VM until the RNG gets initialized. (See #822431
    for details) (Closes: #821778)
  * adt-virt-ssh: Fix UnboundLocalError crash when logging in as root.
  * Fix running for multiple actions in one command line: (Closes: #822285)
    - Close the summary stream after the last test, not after the first.
    - Clean up the test tree on the testbed between actions.
  * Fix NullRunner.test_timeout_no_output to work with multiple parallel runs.
    (Closes: #816398)

 -- Martin Pitt <mpitt@debian.org>  Mon, 25 Apr 2016 00:14:05 +0200

autopkgtest (3.20.4) unstable; urgency=medium

  * setup-commands/setup-testbed: Fix kernel header installation for
    precise/armhf, which does not yet have linux-headers-generic.
  * Use "nproc" to determine the number of processors available, which is both
    more correct in a cgroup world, and also simpler.
  * Add new --build-parallel=N option to explicitly set the "parallel=N"
    $DEB_BUILD_OPTION for building packages, to override the default of
    "number of available CPUs". This is mostly useful in containers where you
    can restrict the available RAM, but not restrict the number of CPUs.
    (LP: #1569750)
  * setup-commands/setup-testbed: ubuntu-snappy got renamed to snapd, adjust
    package name.
  * adt-build-lxd: Set "distribution", "release", and "architecture"
    properties of generated images.
  * adt-build-lxd: Clean up all old images of the same distro/release/arch,
    not just the previous one. Also fix cleanup to work in non-English
    locales.
  * setup-commands/setup-testbed: Call apt-get purge only once with the list
    of all packages, instead of once per package. This is much faster.
  * SchrootClickRunner tests: Chown click dir in /opt after creating the user.
  * Bump Standards-Version to 3.9.8 (no changes necessary).
  * Update Vcs-* URLs.

 -- Martin Pitt <mpitt@debian.org>  Mon, 18 Apr 2016 11:19:45 +0200

autopkgtest (3.20.3) unstable; urgency=medium

  * Makefile: Install SKELETON after the programs (which use an [a-z] glob),
    as the latter behaves differently in different locales. Thanks Alexis
    Bienvenüe! (Closes: #820148)
  * adt-buildvm-ubuntu-cloud: Use https for cloud image download.
    (LP: #1566846)
  * setup-commands/setup-testbed: Purge ubuntu-snappy.
  * adt-virt-qemu: On AMD CPUs, default to -cpu host instead of
    "kvm64,+svm,+lahf_lm". This introduces more jitter, but is the only -cpu
    mode that actually allows nested QEMU with current QEMU versions.
  * adt-build-lxd: Force-delete preparation container at the end, even if it
    is running.
  * adt-build-lxd: Disable apt proxy configuration with ADT_APT_PROXY=="none".

 -- Martin Pitt <mpitt@debian.org>  Mon, 11 Apr 2016 16:27:09 +0200

autopkgtest (3.20.2) unstable; urgency=medium

  * setup-commands/setup-testbed: Purge lxc-common for testbed preparation.
  * adt-buildvm-ubuntu-cloud: Use the same code for determining the default
    qemu-system-* command as adt-virt-qemu. This adds support for ppc64el and
    other architectures. (Closes: #818892)
  * adt-buildvm-ubuntu-cloud: If ifnames was disabled for the initial boot,
    keep it disabled for subsequent boots instead of changing to ens3. This
    fixes building images for Ubuntu 15.04.
  * lib/VirtSubproc.py, cmd_reboot(): Drop workaround for dhclient hanging on
    reboot, LP #1556175 got fixed.
  * setup-commands/setup-testbed: Ensure that purging packages does not hang
    eternally on debconf prompts.
  * setup-commands/setup-testbed: Drop purging of xkb-data.
  * setup-commands/setup-testbed: Apply "vmalloc=512M" grub change also when
    using as a --setup-commands with adt-run, not only with building images.
    Fixes tests like udisks2 on i386 when using standard cloud images.

 -- Martin Pitt <mpitt@debian.org>  Tue, 05 Apr 2016 14:53:01 +0200

autopkgtest (3.20.1) unstable; urgency=medium

  * When testing click packages, don't regenerate all AppArmor profiles if
    /var/cache/apparmor/click-ap.rules already exists. That way the profiles
    can be pre-adjusted once in a testbed instead of once for each test run,
    which greatly speeds up iterations. (LP: #1553797)
  * Move SshRunner* tests from lxc to lxd.
  * NullRunner.test_tree_output_dir test: Only check for cpu_{model,flags} on
    x86 and ARM, as these need parsing adjustments on other architectures.
  * Disable lxd autopkgtest for now, this still needs some way to set a proxy.
  * lib/VirtSubproc.py, cmd_reboot(): Add workaround for dhclient hanging on
    reboot (see LP #1556175).
  * Fix regular expression for removing profile guarded dependencies on hosts
    that don't support build profiles.
  * adt-virt-lxc: Suppress lxc-copy's stdout in the "no btrfs" fallback case.
    (Closes: #818185)

 -- Martin Pitt <mpitt@debian.org>  Mon, 14 Mar 2016 22:35:54 +0100

autopkgtest (3.20) unstable; urgency=medium

  New features/behaviour changes:

  [Martin Pitt]
  * adt-virt-lxd: Launch containers in ephemeral mode.
  * adt-virt-lxc: Use the new lxc-copy if available, as lxc-clone and
    lxc-start-ephemeral got deprecated by that. This now supports reboots in
    ephemeral mode.
  * adt-virt-lxc: Add --name option. This allows CI systems to use a more
    expressive name than the autogenerated adt-virt-lxc-XXXXXX, to make it
    easier to map a container to a running test.
  * Add CPU information to testinfo.json: "nproc" (#cpus), "cpu_model", and
    "cpu_flags". (LP: #1552129)
  * Add autopkgtest for adt-build-lxd and the lxd runner.

  [ Christian Seiler ]
  * Support nested KVM by default by emulating a CPU with VMX/SVM support on
    x86_64. (Closes: #800845, part 1)
  * adt-virt-qemu: Provide read-only version of the VM image to the test as
    /dev/baseimage, for tests that want to run nested QEMU. (Closes: #800845)

  Bug fixes:

  [ Martin Pitt ]
  * setup-commands/setup-testbed: Ensure that removing cruft does not remove
    cloud-init. (LP: #1539126)
  * setup-commands/setup-testbed: Purge lxd and lxc.
  * adt-virt-lxc: Don't fail on deprecation warnings of lxc-clone and
    lxc-start-ephemeral. (LP: #1549995)
  * Run external commands with /dev/null as stdin. This has always been
    intended, but has not actually been done for a while.
  * Drop support for hook_forked_inchild() in virt-runners. This has never
    been used.
  * ssh-setup/nova: Try and prefer novaclient.v2 API first, and fall back to
    v1_1. (LP: #1552730)
  * Correctly ignore positive and negative build profiles with too old
    libdpkg-perl that does not support them yet.
  * tests/run-parallel: Don't run NullRunner and SchrootRunner tests in
    parallel, as they collide with a bind-mounted /tmp.
  * test_reboot_prepare testcase: Don't compare the host and guest kernel
    versions in the QemuRunner.
  * Keep and export $ADTTMP and $ADT_ARTIFACTS in debug shells.
    (Closes: #814115)
  * setup-commands/*: Add shebang headers to quiesce lintian.
  * Bump Standards-Version to 3.9.7 (no changes necessary).
  * Add debian/source/format (3.0 native).
  * debian/control: Use https Vcs-* links.
  * Bump debhelper compat level to 9.
  * adt-virt-qemu: Don't assert result of "runlevel" for connection test. This
    is a race condition under systemd as getty starts before default.target
    is fully finished.
  * tests/adt-run SchrootClickRunner: Ensure that the "click" system user
    exists in the schroot, so that it doesn't need to exist on the host.
  * Adjust SchrootRunner.test_apt_pocket_pkg_with_proposed_dep test case for
    apt 1.1.
  * Latest LXD now adds an "images" remote for images.linuxcontainers.org by
    default. Adjust adt-build-lxd.1 and adt-virt-lxd.1 accordingly.
  * Respect $TMPDIR when creating the downtmp and some other directory/files.
    (Closes: #817190)
  * tests/adt-run: Symlink real ~/.config/lxc into the temporary $HOME, to
    avoid regenerating the LXD client certificate for each test.

  [ Christian Seiler ]
  * setup-testbed: reduce grub timeout on images that don't already configure
    this in /etc/default/grub.d (like vmdeboostrap).
  * adt-virt-qemu: Use correct qemu-system-i386 command on i[3456]86 systems.
  * Fix spelling errors in manpages.

 -- Martin Pitt <mpitt@debian.org>  Fri, 11 Mar 2016 10:05:08 +0100

autopkgtest (3.19.3) unstable; urgency=medium

  * setup-commands/setup-testbed: Avoid dpkg conffile prompts.
  * adt-virt-lxc: Call lxc-stop and lxc-destroy with --quiet, to fix breakage
    due to unexpected output with LXC 2.0.
  * adt-virt-lxc: Redirect lxc-destroy stdout, to work around LP #1543016.
  * Ignore build profiles on too old libdpkg-perl versions also when building
    the tested package.
  * adt-virt-lxd.1: Standard images from linuxcontainers.org stopped having
    "deb-src" apt lines by default. Document that standard setup commands are
    required for this and adjust examples accordingly.
  * adt-virt-lxc: Factorize cleanup code.
  * adt-virt-lxc: Run lxc-{start,stop} under "timeout" when running through
    sudo, as killing these on timeout does not work.
  * ssh-setup/nova: Wait until instance is actually ready before sending
    access info.
  * ssh-setup/nova: Show instance's console log on ssh or cloud-init timeouts,
    as that's very useful for debugging.
  * adt-virt-lxd: Drop redundant "lxc stop", just call "lxc delete --force".
  * adt-buildvm-ubuntu-cloud: Bump default image size from 4 to 20 GB.
  * runner/adt-run: Install ca-certificates along with git, to ensure that
    https URLs can be cloned.
  * tools/adt-build-lxd: Add workaround for broken "lxc file push" permissions
    (LP: #1548878)

 -- Martin Pitt <mpitt@debian.org>  Tue, 23 Feb 2016 17:56:45 +0100

autopkgtest (3.19.2) unstable; urgency=medium

  * Fix "apt-get source" version detection:
    - Ignore source record "Binary:" entries which are not actually binaries
      of that source.
    - Take the highest source version of all encountered binaries. In other
      words, as soon as apt pinning uses one package from -proposed, use the
      tests from -proposed too.
    - Only consider binaries which exist in all releases. This avoids newly
      introduced binaries (library transitions, new kernel versions) to skew
      the intended apt pinning as they would always win the "highest version"
      check from above.
  * Install /usr/share/autopkgtest/setup-commands/* scripts as executable, to
    make them work for vmdebootstrap --customize. (Closes: #810862)
  * ssh-setup/nova: Use extended RE for matching --image pattern.
  * setup-commands/setup-testbed: Fix handling of options in sources.list.
  * tools/adt-build-lxd: Fix parsing of release name from apt sources with
    options if lsb_release is not available.
  * setup-commands/setup-testbed: Regenerate initramfs when adding udev rule
    for disabling ifnames (for chroots).
  * adt-buildvm-ubuntu-cloud: Drop duplicate sed of cloud-init.prerm.
  * adt-buildvm-ubuntu-cloud: Don't try to run "None" if --post-command is not
    given.
  * adt-virt-lxc: Add timeouts to all LXC operations.
  * Fix chowning for "rw-build-tree" restriction: run it as root if available,
    and otherwise ignore it entirely. (LP: #1535234)
  * Drop apt-cache showsrc --only-source option, as this is not yet understood
    by Ubuntu 12.04's apt.
  * VirtSubproc.py, execute_timeout(): Avoid UnicodeDecodeErrors when called
    programs send gibberish. Decode manually with "replace" error mode
    instead. (LP: #1535741)
  * adt-virt-lxc: Avoid unnecessary reading and decoding of program outputs if
    we don't actually use it.
  * ssh-setup/nova: Use the image with the latest "created" time, instead of
    the last lexicographic name.

 -- Martin Pitt <mpitt@debian.org>  Thu, 21 Jan 2016 13:30:40 +0100

autopkgtest (3.19.1) unstable; urgency=medium

  * adt-virt-qemu: If the executed command exits with 255, translate that to
    253 in the auxverb wrapper, as 255 is the exit code for failures of the
    auxverb itself. This avoids considering ordinary test failures as
    temporary testbed failures. This makes the QEMU runner behave the same way
    as the container ones.
  * tests/adt-run: Factorize common tests into superclasses.
  * doc/README.package-tests.rst: Point out that "Test-Command:" is also
    useful for running the same test script under different interpreters or
    different dependencies. (Closes: #809442)
  * Set summary_stream to None after closing it, to avoid trying to write
    late error messages from cleanup into it.
  * Gracefully handle failure to kill a timed out process.
  * ssh-setup/nova: Use image UUID instead of its name for "nova boot". This
    avoids failures if multiple images have the same name. (LP: #1524216)
  * adt-build-{lxc,lxd}: Run testbed setup scripts also if they are not
    executable. Thanks Antonio Terceiro! (Closes: #809917)
  * setup-commands/setup-testbed: Run apt-get autoremove when building images.
  * setup-commands/setup-testbed: Handle options in sources.list. Thanks
    Antonio Terceiro!
  * tools/adt-build-lxd: Fix error message if apt does not have a proxy set.
  * setup-commands/setup-testbed: Install linux-headers-generic if there is no
    kernel (for containers), to make DKMS tests work when not being triggered
    by a kernel. (LP: #1531488)
  * tools/adt-build-lxc: Fix removal of LXC caches on btrfs.
  * tools/adt-build-lxc: Use "-B best" for lxc-create, for better performance
    on btrfs or LVM.
  * tools/adt-build-lxc: Fix hostname for updating containers to not end in
    ".new".
  * adt-virt-lxc: Opportunistically try lxc-clone with "-B btrfs", and fall
    back to default backing store if it fails. lxc-clone should do this by
    itself, but currently doesn't (LP #1532125).
  * adt-virt-lxc: Don't fail on stderr of lxc-start, it sometimes prints
    warnings.
  * When using --apt-source with --apt-pocket= with an explicit package list,
    let apt-get source download the source version that matches the pinning.
    This avoids running tests from -proposed against packages in -release.
    (LP: #1517426)
  * setup-commands/setup-testbed: Don't purge perl and python2.7. This works
    in sid and xenial, but is too greedy for older releases.

 -- Martin Pitt <mpitt@debian.org>  Tue, 12 Jan 2016 09:23:16 +0100

autopkgtest (3.19) unstable; urgency=medium

  New features/behaviour changes:
  * Add adt-virt-lxd runner for LXD. (LP: #1519677)
  * Add adt-build-lxd tool for building or updating an LXD image with
    standard autopkgtest customizations applied. This is similar to
    adt-build-lxc.
  * Unify test bed setup scripts for VMs (adt-setup-vm), containers (in
    adt-build-lxc) and cloud (setup-commands/cloud-vm-setup) into a common
    script setup-commands/setup-testbed. This will work both for image
    building (VM, cloud, LXC, LXD) and as --setup-commands (in which case some
    actions are skipped).
  * setup-commands/setup-testbed: Clean up many more packages. Only do this
    when building an image, to avoid accidentally destroying testbeds which
    are not minimal autopkgtest ones.
  * Make --env apply to package builds too. With that you can e. g. set
    DEB_BUILD_OPTIONS.
  * Add new action type --git-source which installs git (unless already
    present), checks out a remote branch, and then behaves like
    --unbuilt-tree.
  * adt-virt-lxc.1: Mention adt-build-lxc in "Requirements".

  Bug fixes:
  * If apt-get fails when installing test dependencies and apt
    pinning is in use, also retry without pinning. This was already done in
    the case of apt-get succeeding but removing our "satdep" dummy package
    (the common case), but this does not cover upgrades of Priority: >=
    important packages which make apt-get exit with non-zero.
  * Set $TERM in testbed to the host's value when starting an interactive
    shell in the testbed. This fixes broken shells with the LXC/LXD runners.

 -- Martin Pitt <mpitt@debian.org>  Thu, 17 Dec 2015 16:45:54 +0100

autopkgtest (3.18.2) unstable; urgency=medium

  [ Martin Pitt ]
  * tools/adt-build-lxc: Install libpam-systemd; some tests expect to have an
    $XDG_RUNTIME_DIR.
  * Fix --apt-pocket=proposed=pkgname.. to set up the apt pinning before
    running setup-commands (in particular, dist-upgrade), as otherwise the
    dist-ugprade will install package versions that conflict with the pinning.
    Change --apt-pocket to download (only) the apt indexes for the given
    pocket, so that we can set up the pinning correctly.
  * ssh-setup-nova: Separately track server UUID, to avoid resetting the
    originally given --name on testbed revert.
  * If apt-get fails for --apt-pocket ("Hash sum mismatch"!), retry up to
    three times.
  * Fix parsing of "apt-cache showsrc" to not get broken by wrapped lines.
    Thanks Andy Whitcroft! (LP: #1522469)
  * Don't try to "cd ." on testbeds in source rules commands, as this might be
    inaccessible in some cases. Default to '/' instead. Thanks Christopher
    Baine!
  * ssh-setup/nova: Treat --image value as a regexp pattern and use the
    greatest (by string sorting) result. This avoids having to put date stamps
    into the command line, and also avoids completely falling over if two
    images have the same name.
  * Add a new ssh setup script command "debug-failure" which is called when
    the setup script fails with nonzero or on timeouts waiting for ssh or
    reboot.
  * ssh-setup/nova: Implement "debug-failure" command with "nova console-log".
  * tools/adt-build-lxc: Only install libpam-systemd if that exists (e. g. not
    on Ubuntu 12.04).
  * setup-commands/cloud-vm-setup: Don't rm the /etc/cron.daily/apt conffile
    to avoid breaking apt upgrades. Instead, create
    /etc/apt/apt.conf.d/02periodic.
  * Create a testinfo.json for "badpkg" and other exit codes as well.
  * Set stdin to /dev/null when running commands in the testbed. This avoids
    hanging tests on interactive questions and also fixes auxverbs which check
    if stdin is a PTY (like "lxc exec").
  * tests/testarchive.py: Don't include the "Release" file into itself.
  * Fix SchrootRunner.test_apt_pocket_* test cases to include "Sources" into
    Release file. This makes the tests work with apt 1.1.

  [ Max Brustkern ]
  * adt-buildvm-ubuntu-cloud: Add timeout option.

  [ Antonio Terceiro ]
  * adt-build-lxc: Don't hardcode bridge interface.

 -- Martin Pitt <mpitt@debian.org>  Wed, 09 Dec 2015 12:38:13 +0100

autopkgtest (3.18.1) unstable; urgency=medium

  * With --apt-pocket=POCKET=pkgname,... also include <release>-updates.
  * cloud-vm-setup, adt-setup-vm: Disable /etc/cron.daily/apt.
  * Detect if apt fails to download packages (as opposed to installing them),
    retry up to three times, and eventually fail with exit code 16. This
    avoids failing tests due to DNS/infrastructure problems and handling them
    as tmpfails instead.
  * Add test case for multiple Tests: with --apt-pocket=proposed=pkg
    selection and nonexisting dependency.
  * Properly keep track of apt pinnings across testbed resets.
  * cloud-vm-setup, adt-setup-vm: Purge open-iscsi.
  * Treat apt errors (exit code 100) from source download/extraction as
    tmpfail.
  * ssh-setup/nova: Stop adding apt sources for restricted/multiverse, as
    current images now have them by default (see LP #1177432). This avoids
    duplicate apt sources which cause stderr failure with some tests.
  * Recognize negative architecture restrictions in test Depends:.
    (LP: #1516959)
  * tools/adt-buildvm-ubuntu-cloud: Counter-hack LP #1510345 harder by
    checking /proc/cmdline instead of /etc/default/grub.

 -- Martin Pitt <mpitt@debian.org>  Wed, 18 Nov 2015 12:18:23 +0100

autopkgtest (3.18) unstable; urgency=medium

  Behaviour changes/improvements:
  * adt-virt-lxc: Drop --eatmydata option. Conceptually this isn't specific to
    the LXC runner, it should always be used for package installation (when
    available) with all runners, but never for tests.
  * setup-commands/cloud-vm-setup, tools/adt-setup-vm: Install and use
    eatmydata.
  * Use eatmydata for --apt-upgrade and installing test dependencies, if
    available.
  * ssh-setup/nova: Provide custom implementation of "wait-reboot" using "nova
    reboot --poll". This works more reliably on some clouds.
  * ssh-setup/nova: Call "nova boot" with --debug to better be able to
    diagnose failures.
  * Extend --apt-pocket=POCKET option to accept an additional
    "=pkgname1,src:srcname1,..." package list. An entry "src:srcname" expands
    to all binary packages built by that source. If given, set up apt pinning
    to use only those packages from POCKET, so that package updates in that
    pocket can be tested independently from each other for better isolation.
    (LP: #1503150)
  * Add ssh-setup/maas: Acquire and Deploy a machine via MAAS to use as an
    autopkgtest testbed. It assumes that MaaS is already set up, machines are
    commissioned to it, and you added your ssh key to it.

  Bug fixes:
  * ssh-setup/nova: Drop "Warning: PoC", we've been using this in production
    for a long time.
  * tools/adt-setup-vm: Check if we already have a configuration for the
    specific network interface that we are configuring, not just any
    interface.
  * tools/adt-buildvm-ubuntu-cloud: Counter-hack the Ubuntu livecd-rootfs
    workaround for LP #1510345 by creating a configuration for ens3 and
    removing the one for eth0.

 -- Martin Pitt <mpitt@debian.org>  Wed, 11 Nov 2015 10:11:48 +0100

autopkgtest (3.17.4) unstable; urgency=medium

  * Fix --apt-pocket for apt sources with [options].
  * Add tests/testarchive.py module for creating dynamic archives of mock
    debs, and add a full integration test for --apt-pocket.
  * Fix version in adt-run output (@version@ moved to adt_testbed.py).
  * adt-setup-vm, cloud-vm-setup: Purge lxc/lxd.
  * tests/testdesc: Skip Debian.test_builddeps_profiles test if dpkg is too
    old to support build profiles.

 -- Martin Pitt <mpitt@debian.org>  Wed, 21 Oct 2015 07:33:04 +0200

autopkgtest (3.17.3) unstable; urgency=medium

  * Set DEB_BUILD_OPTIONS=parallel=<#cpu> for builds and tests (as they
    sometimes build packages). (LP: #1399177)
  * If copying up files/artifacts through shared dir fails because of
    inaccessible files, fall back to piping them through the auxverb.
  * adt-build-lxc: Install dbus; a lot of software indirectly expects it
    (e. g. calling systemctl as user).
  * tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge
    libcpan-changes-perl, it breaks some Perl autopkgtests.
  * tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge git, it breaks
    Ruby's autopkgtests.
  * NullRunner.test_tmp_install: Explicitly require Json 1.0 GI version, to
    silence warning with current pygobject.

 -- Martin Pitt <mpitt@debian.org>  Tue, 06 Oct 2015 08:13:09 +0200

autopkgtest (3.17.2) unstable; urgency=medium

  * ssh-setup/nova: Use instance UUIDs instead of names after initial "nova
    boot", to avoid name collisions. (LP: #1495788)
  * adt-setup-vm: Drop "pin eth0 name" hack, this was fixed properly in
    systemd 226-2.
  * adt-setup-vm: Generalize ethernet ifupdown setup for net.ifnames.
  * adt_binaries.py: Fix resetting of testbed (regression in 3.17).

 -- Martin Pitt <mpitt@debian.org>  Sun, 20 Sep 2015 17:23:41 +0200

autopkgtest (3.17.1) unstable; urgency=medium

  * Add new private python modules to Makefile, to actually ship them.
  * tests/adt-run: Fix test regression when $ADT_TEST* are not set.

 -- Martin Pitt <mpitt@debian.org>  Tue, 15 Sep 2015 08:38:54 +0200

autopkgtest (3.17) unstable; urgency=medium

  * setup-commands/cloud-vm-setup: Provide fallback for Ubuntu 12.04 which
    does not yet have /etc/default/grub.cfg.d/.
  * adt-virt-ssh: Add --timeout-ssh option. Thanks Leo Arias for the initial
    patch. (LP: #1488358)
  * adt-run: Add --env option to pass arbitrary environment variables to the
    test.
  * adt-virt-lxc: In the auxverb, clean up leaked background processes which
    share the same stdout/stderr, to avoid eternal hangs. (LP: #1488359)
  * Move Testbed class and related logic into separate module
    lib/adt_testbed.py, and clean up some unnecessary code interdependencies
    and error handling. This will make it easier to write alternative CLI
    frontends. This also handles test timeouts in a better way: There now is a
    proper "summary" report as "FAIL timed out", and subsequent tests will now
    run. (Closes: #741322)
  * Drop the --leave-lang option. Please use the explicit option --set-lang
    instead, to avoid weakly defined behaviour.
  * Move Binaries class into separate module lib/adt_binaries.py.
  * Testbed.execute(): Explicitly decode output of programs as UTF-8, instead
    of relying on the host locale's encoding.
  * tools/adt-setup-vm: Only configure eth0 in ifupdown if it actually exists,
    and then make sure it does not get renamed any more.
  * Add @builddeps@ build profile parsing fallback for libdpkg-perl < 1.04;
    just ignore all build profiles.
  * ssh-setup/nova: Add workaround for cloud-init bug writing a wrong
    /etc/hosts. (LP #1494678)
  * adt-run: Log running kernel after each boot. (part of LP #1491865)
  * Track initial kernel version after test bed setup and when a test/reboot
    changes the running kernel version. Log these, and create a new
    "testinfo.json" in the output dir with this information. (LP: #1491865)
  * If --env options are specified, add these as list of name=value strings as
    "custom_environment" key to testinfo.json.
  * Put vserver arguments into testinfo.json.

 -- Martin Pitt <mpitt@debian.org>  Mon, 14 Sep 2015 15:02:39 +0200

autopkgtest (3.16.3) unstable; urgency=medium

  * adt-setup-vm: Use /etc/cloud.cfg.d/ to avoid conffile prompts on upgrades.
    (LP: #1477626)
  * Don't invoke QEMU with -localtime. QEMU defaults to and Linux prefers the
    hw clock in UTC. This avoids large time jumps when doing NTP.
  * adt-setup-vm: Start autopkgtest shell after all other SysV init
    scripts/facilities, to avoid a too early start of tests while boot is
    still in progress.
  * doc/README.package-tests.rst: Use comma separator in examples.
  * VirtSubproc.check_exec(): Actually error out on stderr as documented.
  * adt-virt-ssh: Verify that sudo does not write errors, as that
    interferes with auxverbs and generally is a sign of host mis-configuration
    (typically wrong hostname).
  * ssh-setup-nova: Set hostname to "adt". This avoids overly long host names
    from defaulting to nova instance names (which can be very long).
  * ssh-setup/nova: Fix parsing of IP address from "nova show" to avoid
    tripping over instance names containing "network". (LP: #1481574)
  * Fix error message and code for "invalid test depends" errors.
  * tests/pep8: Ignore E402 ("module level import not at top of file"), as
    that's impossible to satisfy; we have to set sys.path before.
  * ssh-setup/nova: In cleanup(), wait until the instance gets deleted. This
    avoids name collisions and instance quota overflow.
  * adt-run: Always show summary at the end, which is particularly helpful for
    multiple tests. (LP: #1484991)
  * adt-run.1: Clarify that without any logging options adt-run only logs to
    stderr. (LP: #1485661)
  * adt-virt-lxc: If the executed command exits with 255, translate that to
    253 in the auxverb wrapper, as 255 is the exit code for failures of the
    auxverb itself. This avoids considering ordinary test failures as
    temporary testbed failures.
  * adt-run: Show host name, to more easily identify hosts with frequent
    failures.
  * adt-virt-lxc: Always call lxc-stop with --kill, as the containers are not
    precious and normal shutdown might hang.
  * adt-virt-lxc: In cleanup, stop LXC container before removing the shared
    downtmp, to ensure that we always clean up the running container. Also
    don't fail on errors. (LP: #1488879)
  * ssh-setup/nova: Add missing apt sources for -updates/-security
    restricted/multiverse pockets.

 -- Martin Pitt <mpitt@debian.org>  Thu, 27 Aug 2015 19:54:51 +0200

autopkgtest (3.16.2) unstable; urgency=medium

  * Exit with code 4 ("test failure") if a test times out, instead of 16
    ("testbed failure").
  * Exit with code 12 ("erroneous package") if test dependencies are
    unsatisfiable and put badpkg/blame into summary, instead of exiting with
    code 20 ("other unexpected failures including bad usage").
  * Exit with code 12 ("erroneous package") and a proper error message if
    debian/tests/<testname> does not exist, instead of code 20 and a confusing
    message about chmod failing and *-stderr missing.
  * Exit with code 12 ("erroneous package") instead of 20 if test dependency
    package install fails.
  * adt-virt-ssh: If the executed command exits with 255, translate that to
    253 in the auxverb wrapper, as 255 is ssh's (and auxverb's) exit code if
    something with the connection failed. This avoids considering ordinary
    test failures as temporary testbed failures. (LP: #1475679)

 -- Martin Pitt <mpitt@debian.org>  Fri, 17 Jul 2015 17:08:03 +0200

autopkgtest (3.16.1) unstable; urgency=medium

  * setup-commands/cloud-vm-setup: Fix installation of linux-generic on
    Ubuntu.
  * ssh-setup/nova: Clean up userdata temp file on failed nova boot.
  * If the test fails with exit code 127 (usually "command not found"),
    consider this a test failure (code 4), not a testbed failure (code 16).
  * doc/README.package-tests.rst: Document that "Tests:" and similar fields
    can be comma separated too, like everywhere else in Debian's control
    files.
  * ssh-setup/nova: Show name of created nova instance, so that it's easier to
    map instances to a test.
  * run-from-checkout: Exec adt-run to avoid keeping the shell wrapper process
    around.
  * ssh-setup/snappy: Fix check whether --image and --channel are specified
    together. (LP: #1474735)
  * ssh-setup/nova: Allow selecting net IDs by name.

 -- Martin Pitt <mpitt@debian.org>  Fri, 17 Jul 2015 11:11:36 +0200

autopkgtest (3.16) unstable; urgency=medium

  Behaviour changes and improvements:
  * ssh-setup/nova: Re-try nova boot up to three times if it fails, and sleep
    5 minutes in between. This occasionally fails due to exceeding quota or
    temporary glitches.
  * Drop gpg-signing local archive and mark it as [trusted=yes] instead. This
    gets rid of the requirement to generate a gpg key on first run. Drop
    corresponding --gnupg-home option. (LP: #1472691)
  * Drop long-obsolete --tmp-dir backwards compat option.
  * ssh-setup/snappy: Adjust ubuntu-device-flash arguments to new
    release/channel structure from Ubuntu 15.10, and default to rolling/edge.
    Add new --release option.

  Bug fixes:
  * ssh-setup/nova: Silence "invalid command wait-reboot" warning.
  * setup-commands/cloud-vm-setup: Purge cloud-init too. It sometimes causes
    longer hangs on boot and might interfere with tests in other ways, and we
    only need it for first-time initialization anyway.
  * adt-virt-qemu: adt-buildvm-ubuntu-cloud: Don't use -enable-kvm QEMU option
    if /dev/kvm does not exist. (Closes: #790650)
  * Quiesce warnings from tar. Avoids "time stamp is in the future" log spew.
    (LP: #1468868)
  * Move apt sources setup from setup-commands/cloud-vm-setup to
    ssh-setup/nova. --apt-pocket does not work with the former as that runs
    too late.
  * Use Dpkg::Deps to evaluate/reduce build dependencies for expanding
    "@builddeps@". This handles build profiles. (Closes: #787093)
  * Resolve build profiles when installing build dependencies to build tested
    package.
  * Adjust NullRunner.test_tmp_install_perl test case to use
    libtest-requires-perl instead of libtest-tester-perl; the latter got
    removed from Debian.

 -- Martin Pitt <mpitt@debian.org>  Fri, 10 Jul 2015 11:26:36 +0200

autopkgtest (3.15.1) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Fix lsb_release fallback if python3-distro-info
    is not available.
  * adt-buildvm-ubuntu-cloud: Don't move the uninitialized image to final
    location if QEMU failed.
  * adt-buildvm-ubuntu-cloud: Check availability of genisoimage and access of
    /dev/kvm before downloading image. (LP: #1466486)
  * Get along with dpkg-query not existing, such as in latest Ubuntu Snappy
    images. Skip generation of testbed-packages artifact in that case.
    (LP: #1469647)
  * Adjust NullRunner.test_tmp_install test case to work with pygobject 3.16.

 -- Martin Pitt <mpitt@debian.org>  Mon, 29 Jun 2015 13:07:34 +0200

autopkgtest (3.15) unstable; urgency=medium

  Behaviour changes and improvements:
  * The specified --output-dir now must not exist or be empty. If it is
    non-empty, adt-run now will refuse to use it instead of cleaning it. This
    is safer, to avoid accidentally using the home directory or similarly
    precious data. (LP: #1463561)
  * Add --no-auto-control option to disable autodep8. (Closes: #788659)
  * ssh-setup/nova: Add -e/--env option to append to /etc/environment. This is
    mostly useful to configure $http_proxy and friends.
  * ssh-setup/nova: Add --mirror option.
  * Add setup-commands/cloud-vm-setup: --setup-commands script for cloud
    instances to prepare them for running autopkgtests. This is similar to
    adt-setup-vm, but won't configure serial console or networking.

  Bug fixes:
  * adt-setup-vm: Print a warning if calling update-grub fails, instead of
    aborting. This fixes vmdebootstrap --grub, as that installs grub after
    running the customization script. Adjust adt-virt-qemu.1 manpage to
    recommend the --grub option of vmdebootstrap.
  * testdesc.py, parse_rfc822(): Entirely ignore lines which only contain
    whitespace after filtering out intra-line comments. They break
    continuation line parsing in python-debian >= 0.1.23. (Closes: #784942)
  * adt-setup-vm: Add inclusion of interfaces.d/ to /etc/network/interfaces.
    This belongs into vmdebootstrap (#788792), but fix that locally for the
    time being.
  * adt-run.1: Document --testname.

 -- Martin Pitt <mpitt@debian.org>  Sun, 28 Jun 2015 11:55:34 +0200

autopkgtest (3.14.3) unstable; urgency=medium

  * adt-virt-lxc: Don't try to set up a shared downtmp with unprivileged
    (user) containers. This is full of permission errors due to the mapped
    UIDs.
  * tests/adt-run LxcRunner: Use $ADT_TEST_LXC as unprivileged user container
    if it exists.
  * adt-buildvm-ubuntu-cloud: Check at the beginning if QEMU command is
    available and exit with proper error message if not. (LP: #1460066)
  * If auxverb fails with exit code 126, 127, 254, or 255, consider this a
    failure of auxverb/the testbed itself, not of the program run under it.
    (As specified in doc/README.virtualisation-server.rst) (LP: #1462540)

 -- Martin Pitt <mpitt@debian.org>  Sat, 06 Jun 2015 13:09:50 +0200

autopkgtest (3.14.2) unstable; urgency=medium

  * Add tests/testpkg-{simple,reboot,reboot-prepare}: Very simple stub
    packages for manual testing.
  * VirtSubproc, cmd_reboot(): Disconnect the backgrounded reboot command from
    stdout/err, to avoid it getting killed by the ssh runner. (LP: #1454735)

 -- Martin Pitt <mpitt@debian.org>  Tue, 19 May 2015 14:45:34 +0200

autopkgtest (3.14.1) unstable; urgency=medium

  * Go back to using the backgrounded reboot command as we had before 3.14.
    Just calling "reboot" is prone to hangs and timeouts in case reboot is too
    fast and shuts down our communication channel.
  * Fix --override-control option in adt-run(1). (LP: #1453495)
  * Fail with an error if --override-control file does not exist.
    (LP: #1453503)
  * ssh-setup/snappy: Add -b/--show-boot option to direct boot and console
    messages to stdout. (LP: #1453154)
  * adt-virt-qemu.1: Document --show-boot option.
  * Add test case for using a @ command line include file for a virt runner.
  * Strip leading and trailing space from argument lines in '@' included
    command line argument files. (LP: #1453498)

 -- Martin Pitt <mpitt@debian.org>  Wed, 13 May 2015 14:45:43 +0200

autopkgtest (3.14) unstable; urgency=medium

  Improvements:
  * adt-virt-ssh: Add --reboot option to indicate that testbed can be
    rebooted. This is useful when running without a setup script (which can
    already declare capabilities).
  * Simplify reboot implementation: Just call "reboot" as root in the testbed
    to trigger rebooting, and replace the former hook_reboot() in adt-virt-*
    with hook_wait_reboot() which merely waits for the testbed to go down and
    come back up. This also replaces the "reboot" command for ssh setup
    scripts to "wait-reboot" and in most cases it is not needed to implement
    this at all (except for the "adb" script).
  * Add /tmp/autopkgtest-reboot-prepare script for testbeds which support
    rebooting. This saves the current state but leaves the actual reboot to
    the test itself. This is useful if rebooting should happen with unusual
    means (e. g. kexec) or as part of testing something else (like a system
    upgrade). (LP: #1445819)
  * Log complete command line invocation, for easier local reproduction,
    comparison of log files, and clarifying which options were used.
    (LP: #1449413)

  Bug fixes:
  * Update Vcs-Git: field for anonscm.debian.org.
  * Drop obsolete XS-Testsuite: control field.
  * adt-setup-vm: Fix script error if $ADT_SETUP_VM_POST_COMMAND is not set.
  * README.click-tests.rst: Describe x-source manifest entry.
  * Mark test dependencies as manually installed, so that they don't go away
    if a test calls "apt-get autoremove".
  * Set DEBIAN_FRONTEND=noninteractive for tests. This avoids stderr messages
    about "unable to open stdin" and similar when tests call apt-get install.

 -- Martin Pitt <mpitt@debian.org>  Tue, 05 May 2015 10:14:23 +0200

autopkgtest (3.13) unstable; urgency=medium

  * ssh-setup/adb: Add --keep-screen-active option to keep
   "powerd-cli display" running after the tests. Use with caution!
   (LP: #1441023)
  * adt-buildvm-ubuntu-cloud: Add --post-command for running a shell command
    after setup for additional customization.
  * ssh-setup/adb: Quote tr arguments.
  * click tests: Look into app/tests/autopilot/ for tests as well if no
    explicit path is given. This is the default location of the Ubuntu cmake
    templates.

 -- Martin Pitt <mpitt@debian.org>  Wed, 22 Apr 2015 11:50:18 +0100

autopkgtest (3.12.1) unstable; urgency=medium

  [ Didier Roche ]
  * setup-commands/ubuntu-touch-session: Use "upstart" instead of "init".
    (LP: #1422681)

  [ Martin Pitt ]
  * adt-build-lxc: When removing the old root file system, remove btrfs
    subvolumes in it.
  * README.package-tests.rst: Document that '#' can be used for comments.
    (Part of LP #1434543)
  * Ignore debian/tests/control stanzas with unknown fields, as documented.
    (LP: #1434543)
  * adt-buildvm-ubuntu-cloud: Drop workaround for LP #1428495, it got fixed in
    cloud-init a while ago.
  * adt-buildvm-ubuntu-cloud: Fix cloud-init's prerm hacking to apply after
    dist-upgrades.

 -- Martin Pitt <mpitt@debian.org>  Tue, 07 Apr 2015 07:26:27 +0200

autopkgtest (3.12) unstable; urgency=medium

  * ssh-setup/adb: Re-enable ssh after reboot, in case an upgrade disables it.
  * ssh-setup/adb: Try to create /userdata/.adb_onlock, to get adb after
    rebooting without human interaction.
  * Fix apt-get install --simulate version parsing with third-party sources.
    (LP: #1430017)
  * ssh-setup-nova: Add --security-groups option. (LP: #1429862)
  * adt-buildvm-ubuntu-cloud: Avoid non-blocking reads from the socket in
    verbose mode, this sometimes causes hangs. Go back to blocking reads, but
    don't wait between them.
  * Fix UnicodeDecodeError on .deb package name reading. (LP: #1430773)
  * adt-virt-ssh: Export $SUDO_ASKPASS to tests if sudo is available.
    (LP: #1431421)

 -- Martin Pitt <mpitt@debian.org>  Fri, 13 Mar 2015 12:52:49 +0100

autopkgtest (3.11.1) unstable; urgency=medium

  * Fix autopkgtest-reboot to also work when being called through sudo, and
    for forking test scripts.
  * Avoid failure if /var/cache/apparmor/click-ap.rules does not exist any
    more after a reboot, like on snappy.
  * adt-buildvm-ubuntu-cloud: Avoid cloud-init's prerm stopping cloud-init's
    services while we are still running them. This makes it possible to purge
    cloud-init from user-data, and avoids killing apt/dpkg underneath us. This
    needs a cleaner solution, but is a good enough workaround for now.
    (LP: #1427999)
  * adt-buildvm-ubuntu-cloud: Don't wait between serial console reads while
    we have data. Provides faster/smoother output in --verbose mode.
  * ssh-setup/nova: Fix error message on missing keypair, the command is
    "keypair-add", not "keypair-create". Thanks Thomi Richards! (LP: #1428433)
  * adt-buildvm-ubuntu-cloud: Add workaround for recent cloud-init regression
    that disables ssh (LP #1428495)
  * adt-run: Suggest common reason for unsatisfiable test dependencies.
    Suggest using a current image, or run apt-get update/-U (for apt-get) or
    --setup-commands ro-apt-update (for temp dir install mode). (LP: #1425682)
  * Quiesce confusing "failed to create symbolic link
    /sbin/autopkgtest-reboot" warning on read-only testbeds.

 -- Martin Pitt <mpitt@debian.org>  Thu, 05 Mar 2015 13:33:12 +0100

autopkgtest (3.11) unstable; urgency=medium

  Improvements:
  * Add action argument --testname to run only one individual test from the
    next package.

  Bug fixes:
  * Restore click AppArmor profiles after a test, if we modified them before
    the test.
  * When running a deb test in a click+AppArmor environment, update AppArmor
    rules for all clicks for introspectability and temporary test
    dependencies. This takes about a minute before the test, and another one
    after the test, but is necessary for use cases like ubuntu-sanity-tests.
    (LP: #1424889)

 -- Martin Pitt <mpitt@debian.org>  Fri, 27 Feb 2015 07:02:52 +0100

autopkgtest (3.10) unstable; urgency=medium

  Improvements:
  * adt-virt-lxc: Add reboot support for non-ephemeral containers.
  * tests/run-parallel: Don't run all test classes in parallel, it creates too
    much load. Serialize test classes which use the same runner.

  Bug fixes:
  * VirtSubproc.py, cmd_reboot(): Fix debug message.
  * tests/adt-run: Avoid re-downloading ubuntu-device-flash images by
    symlinking ~/.cache/ubuntuimages from the temp $HOME into the real user's
    $HOME.
  * adt-virt-lxc: Fix check for eatmydata when using --eatmydata.
  * adt-virt-qemu: Synchronize ttyS0 output before writing eofcat.
  * adt-virt-qemu, adt-virt-lxc: Asynchronously call reboot, to avoid eternal
    hangs when it reboots too fast for us to notice that it finished.

 -- Martin Pitt <mpitt@debian.org>  Tue, 24 Feb 2015 11:40:42 +0100

autopkgtest (3.9.7) unstable; urgency=medium

  * Include "Package-Type: deb" marked packages for testing. Fixes regression
    with testing paramiko.
  * adt-virt-qemu: Robustify setupup of shared /autopkgtest directory.
  * VirtSubProc.expect(): Read data without delay as long as we have some.
  * adt-virt-qemu: Add --show-boot option to show boot messages from serial
    console.
  * adt-setup-vm: Configure "console=ttyS0" boot option in grub on non-i386
    architectures too, to fix serial consoles with systemd images. Create
    /etc/default/grub.d/ if necessary.
  * adt-setup-vm: Only configure grub if update-grub is available.
    (Closes: #778907)
  * adt-virt-qemu: Increase reboot and dpkg-reconfigure timeouts; on loaded
    machines these might take longer than 5s.
  * adt-run: Unless --leave-lang is given, unset $LANGUAGE and all $LC_* for
    tests, to avoid clobbering the testbed locale with the host's.
    (LP: #1423359)

 -- Martin Pitt <mpitt@debian.org>  Sun, 22 Feb 2015 13:30:35 +0100

autopkgtest (3.9.6) unstable; urgency=medium

  * Skip test_tmp_install_imagemagick test case if python3-wand is not
    available.
  * adt-virt-ssh: Ignore errors when cleaning up the work dir. This races with
    sshd cleaning up its control socket, don't stumble over that.
    (LP: #1420355)
  * Implement --timeout-factor, which was forgotten with the rewrite in
    version 3.2. (LP: #1420540)
  * ssh-setup/adb: Fix waiting for the desktop to boot: Lower D-Bus call
    timeout to 5 seconds, and fix retry loop to time out after 5 minutes of
    real time instead of a fixed number of retries (as the duration of the
    D-Bus call is not very reliable).
  * virt-subproc/adt-virt-ssh: Don't try to exit the ssh muxer if we don't
    have a ssh command yet. This happens when the setup script fails to open
    the testbed.

 -- Martin Pitt <mpitt@debian.org>  Fri, 13 Feb 2015 12:55:29 +0100

autopkgtest (3.9.5) unstable; urgency=medium

  * adt-run install_tmp(): If we have Python and Perl modules, don't specify
    the Python modules in $PERL5LIB.
  * Recognize udev rules from packages in temp dir install mode. Copy them to
    /run/udev/rules.d/ and trigger them. (LP: #1417966)
  * setup-commands/ubuntu-touch-session: Don't fail on udevadm failure, which
    cannot work in schroots.
  * adt-virt-qemu: Ensure that python3 or python is available (which is
    required for the auxverb helper) and exit with a meaningful error message
    if it isn't. Adjust the manpage accordingly. Fix adt-setup-vm to install
    python3-minimal if no Python is already installed. Thanks to Christian
    Kastner for the initial patch! (Closes: #777478)
  * Support temp dir install mode for python[3]-wand's really broken way of
    finding the imagemagick shared libraries. (LP: #1419024)

 -- Martin Pitt <mpitt@debian.org>  Tue, 10 Feb 2015 16:53:01 +0100

autopkgtest (3.9.4) unstable; urgency=medium

  * Recognize modern "Package-Type:" control field in addition to
    XC-Package-Type.
  * ssh-setup/adb: Guard adb wait-for-device with a 5 min timeout.
    (LP: #1414939)
  * README.running-tests.rst: Fix mis-spelled ro-apt setup command.
  * Add setup-commands/ro-apt-update: Shortcut for temporarily mounting a
    readonly root file system writable and run apt-get. This allows tests to
    download/unpack test dependencies on older images whose apt indexes are
    out of date. (LP: #1408350)
  * Export temp dir install mode variables in the test run script instead of
    merely running it under that environment, so that we trump non-extending
    LD_LIBRARY_PATHs in /etc/environment. (LP: #1407949)
  * setup-commands/ubuntu-touch-session: Ensure that /dev/uinput is always
    accessible, as we don't necessarily have local logind sessions during
    tests. (part of LP #1415514)
  * setup-commands/ubuntu-touch-session: Unset UPSTART_JOB (which crept into
    the environment from a recent upstart version) when calling initctl, to
    fix querying the session D-BUS address. (LP: #1415514)

 -- Martin Pitt <mpitt@debian.org>  Thu, 29 Jan 2015 19:01:41 +0100

autopkgtest (3.9.3) unstable; urgency=medium

  [ Christian Kastner ]
  * Clean up /etc/dpkg/dpkg.cfg.d/autopkgtest on upgrades if its contents are
    just "force-unsafe-io", indicating that this file was generated by the
    above bug.

 -- Martin Pitt <mpitt@debian.org>  Sun, 11 Jan 2015 13:45:28 +0100

autopkgtest (3.9.2) unstable; urgency=medium

  * adt-setup-vm: Fix all other places which operated on the host instead of
    the guest file system when specifying a directory argument.

 -- Martin Pitt <mpitt@debian.org>  Sun, 11 Jan 2015 13:15:09 +0100

autopkgtest (3.9.1) unstable; urgency=medium

  [ Martin Pitt ]
  * Revert installation of ubuntu-device-flash in adt-run autopkgtest, it's
    too unstable (timeouts and grub errors due to qemu in qemu).

  [ Christian Kastner ]
  * adt-run: Fix detection of dpkg-dev in the testbed. (Closes: #775073)
  * adt-setup-vm: Set umask to 0022 so that ordinary users in the testbed can
    read generated files. (Closes: #775075)
  * adt-setup-vm: Modify guest's dpkg config for enabling force-unsafe-io, not
    host's, when a root directory is specified as argument. (Closes: #775076)
  * adt-setup-vm: Make sure $proxy variable exists before using it. Fixes
    crash when apt is not configured to use a proxy. (Closes: #775092)

 -- Martin Pitt <mpitt@debian.org>  Sun, 11 Jan 2015 12:53:18 +0100

autopkgtest (3.9) unstable; urgency=medium

  Improvements:
  * Add "snappy" ssh setup script to run tests in an Ubuntu Snappy
    (http://www.ubuntu.com/snappy) testbed in QEMU. This uses a given image
    with -i/--image, or constructs a temporary one using ubuntu-device-flash
    (which caches its downloads and is fast).
  * adt-run autopkgtest: Install ubuntu-device-flash and qemu-kvm if
    available, to run the snappy ssh script tests under autopkgtest in Ubuntu.
  * ssh setup script "reboot" commands can now simply "exit 10" if they want
    adt-run to just call "reboot" through ssh, instead of having a custom
    implementation.

  Bug fixes:
  * tools/adt-setup-vm: Avoid debconf prompts during dist-upgrade.
  * adt-virt-ssh: Wait for ssh to become available before checking for sudo.
    Fixes root capability detection for setup scripts which don't already wait
    for ssh themselves.
  * VirtSubproc.cmd_reboot: Avoid multi-line shell command so that this also
    gets along with the ssh runner.
  * Fix FileNotFoundError if built tree does not have a debian/changelog file.
    Simply skip detection of source package version in this case.

 -- Martin Pitt <mpitt@debian.org>  Mon, 05 Jan 2015 18:09:03 +0100

autopkgtest (3.8.1) unstable; urgency=medium

  * If the testbed does not have root privileges (e. g. missing sudo
    password), install click packages with pkcon and skip the AppArmor rule
    adjustment. This makes non-root click tests at least work for
    non-Autopilot cases. (LP: #1384417)
  * Make --shell-fail also apply to test dependency installation failure.
  * Run root tests through "su" as well (if possible), to ensure that these
    also get a proper PAM/logind session with all runners. (LP: #1393474)
  * Skip the test_tmp_install tests if apt-get download does not work. This
    might happen in some build environments which completely disable
    networking or don't have working apt-get download for some reason.
    (Closes: #769687)
  * Don't put the log FIFO into the output directory. This avoids keeping it
    in --output-dir, which fails if the output dir happens to be in the tested
    tree itself. (LP: #1393426)
  * adt-setup-vm: Don't purge man-db. It uninstalls way too much on images
    which aren't just minimal environments.
  * adt-setup-vm: Drop bogus "X-Start-Before" line in generated init.d script.
    (Closes: #770517)
  * Respect DEB_BUILD_OPTIONS=nocheck (side issue in #769687)

 -- Martin Pitt <mpitt@debian.org>  Thu, 27 Nov 2014 10:54:02 +0100

autopkgtest (3.8) unstable; urgency=medium

  Improvements:
  * adt-build-lxc: Configure unsafe dpkg I/O and disable apt's download of
    package translations, like adt-setup-vm.
  * adt-build-lxc: Use eatmydata for lxc-create if available, and install
    eatmydata into containers. For Ubuntu, stop installing the default
    $packages_template (which is ssh,vim).
  * adt-virt-lxc: Pass any additional options/arguments (after --) verbatim to
    lxc-start{,-ephemeral}.
  * adt-virt-lxc: Stop running ephemeral containers with --keep-data by
    default, as this makes them unnecessarily slow due to running on disk.
    Environments with little RAM are instead advised to explicitly supply this
    or --storage-type as extra arguments.

  Bug fixes:
  * Create autopkgtest-reboot command in /tmp, as /sbin/ might be read-only
    (and /run is usually "noexec", so we can't put it there either). Write it
    with "noclobber" to guard against symlink attacks.
  * During reboot, if /var/cache/ isn't writable (as on Ubuntu touch images,
    argh), fall back to saving the current temp dir in /home.
  * adt-virt-ssh: Recreate the sudo wrapper after reboot, as it is in /tmp.
  * ssh-setup/adb: Setup adb port forwarding again after rebooting.
  * Fix error message if /tmp/autopkgtest-reboot already exists.
  * Fix extra space in apt-get option, which breaks apt-get's option parsing
    in some circumstances.
  * adt-build-lxc: Fix hardcoded "utopic" release name for cache cleanup on
    btrfs, use the actual release name from the command line. (LP: #1392589)

 -- Martin Pitt <mpitt@debian.org>  Fri, 14 Nov 2014 08:40:28 +0100

autopkgtest (3.7.1) unstable; urgency=medium

  * NullRunner.test_tmp_install_perl: Use a package from Ubuntu main, to fix
    FTBFS in Ubuntu's buildds.
  * Fix AppArmor rule adjustment for a local click package.
  * When executing a command in the testbed times out, don't wait for it
    after killing if the auxverb includes "sudo". We can't kill those
    processes, so we'd wait forever; we can only hope that they eventually
    terminate themselves after we stop the testbed. Fixes non-working timeouts
    for LXC runner with the --sudo option.
  * Show "set -x" trace of AppArmor reconfiguration in debug mode.
  * Use "install" instead of "short" time out for downloading and unpacking
    dependencies in "temp dir" mode.
  * ssh-setup/adb: Retry connecting with ssh a few times, the first time
    doesn't always succeed immediately after enabling ssh.
  * tools/adt-setup-vm: Prevent subsequent cloud-init runs from modifying the
    apt sources again.

 -- Martin Pitt <mpitt@debian.org>  Tue, 11 Nov 2014 07:54:40 +0100

autopkgtest (3.7) unstable; urgency=medium

  Improvements/cleanup:
  * When not logging to a file, colorize adt-run debug/info/warning/error
    messages to better tell them apart from from apt and test output.
  * adt-virt-schroot: Simplify determination of schroot session location.
  * adt-virt-chroot: Drop support for dchroot arguments. dchroot has been
    obsoleted by schroot for a long time now, and isn't being tested by the
    developers. Allow relative chroot paths.
  * adt-virt-ssh: Rewrite adt-ssh-wrapper to not call the readlink command on
    every single /proc/*/fd/*. This is too slow on devices like Ubuntu Touch,
    where it adds an extra ~ 5 seconds to every command.
  * ssh-setup/adb: Drop --rw and --apt-update options. They stopped working
    when adb switched to running as user, and can be done with
    --setup-commands.
  * Recognize Perl modules in temp dir install mode.
  * Consider programs in the temp dir install tree for preparing the source
    package. This makes it possible to run --source or --apt-source tests in
    read-only environments without dpkg-dev installed. (LP: #1383878)
  * With --apt-upgrade, retry apt-get update a third time after one minute.
    With just a second try we still get occasional hash sum mismatches.
  * Recognize Qt plugins in the temp dir install tree, so that autopilot tests
    work on images which don't have autopilot-qt installed any more.
  * Remove the "adt-satdep" package after test installation finished, to avoid
    tests being confused about an unexpected package.
  * ssh-setup/adb: Drop "autopilot --dbus-probe enable" call. It wastes some
    1.5 minutes and is not needed any more, as we now reconfigure AppArmor for
    the particular clicks that we want to test.

  Bug fixes:
  * adt-virt-ssh: Terminate the ssh connection muxer on cleanup. Fixes eternal
    hangs on waiting for tee with the --output-dir option, as the muxer
    inherits our stderr. (LP: #1384324)
  * Fix crash when running from a git checkout, but git is not installed.
  * ssh-setup/adb: Robustify powerd-cli invocation. It previously failed
    randomly.
  * ssh-setup/adb: Quiesce some noise from various phablet-config/gdbus/adb
    commands.
  * ssh-setup/adb: If the welcome wizard is already running, just kill that
    instead of the entire session. In particular, this avoids killing adb on
    both the host and the device.

 -- Martin Pitt <mpitt@debian.org>  Thu, 30 Oct 2014 10:47:16 +0100

autopkgtest (3.6) unstable; urgency=medium

  [ Antonio Terceiro ]
  * README.package-tests.rst: Make references to the control field consistent.

  [ Martin Pitt ]
  * When parsing .changes files, always register the debs before the dscs and
    stop assuming Files: having this order already. (Closes: #764795)
  * Drop the builtin synthesis of Perl/Ruby tests and use autodep8 instead.
    Update the spec accordingly, and add a Recommends: autodep8.
    (Closes: #763847)
  * adt-build-lxc: Implement LXC cache cleanup for btrfs by removing the image
    snapshots instead of rm -r'ing the cache dir, as the latter will fail.
  * adt-setup-vm: Fix missing hashbang of generated /etc/init.d/autopkgtest.
    (Regression from 3.5.5)

 -- Martin Pitt <mpitt@debian.org>  Thu, 16 Oct 2014 16:36:11 +0200

autopkgtest (3.5.5) unstable; urgency=medium

  * adt-virt-ssh: Be more liberal when parsing the setup script's
    capabilities, accept spaces and commas.
  * adt-virt-ssh: Refactor code so that setup script's "revert" commands can
    update/refresh the ssh config. Often revert translates to close and
    re-open, which changes the IP. Update manpage and ssh-setup/SKELETON
    accordingly.
  * ssh-setup/nova: Make parsing commands work with mawk too, to avoid
    depending on gawk.
  * ssh-setup/nova: Implement a simple revert by a simple teardown/providing a
    new instance. (This might become more efficient in the future with using
    snapshots.)
  * adt-buildvm-ubuntu-cloud: Put vmalloc kernel commandline config into
    separate grub.d/ directory, to avoid subsequent cloud-init invocations
    overwriting it.
  * tools/adt-setup-vm: Add setup steps that adt-buildvm-ubuntu-cloud does, so
    that vmdebootstrap generated VMs are functionally on par with the Ubuntu
    cloud images: Set up serial console, dpkg unsafe-io, install some
    additional packages, remove unnecessary packages, bump vmalloc on i386.
  * adt-buildvm-ubuntu-cloud: Remove most of the setup steps from user-data,
    and call adt-setup-vm instead. This keeps the knowledge of how to set up
    VM testbeds in one single place.

 -- Martin Pitt <mpitt@debian.org>  Thu, 09 Oct 2014 15:20:15 +0200

autopkgtest (3.5.4) unstable; urgency=medium

  adt-run fixes:
  * Make apt-get source calls again show what's being downloaded, but not all
    the other noise around it.
  * Avoid copying down the tests tree into the testbed if it already exists
    there. This is the common case for the first test in unbuilt trees, and
    avoids one round of expensive large copying for the ssh and qemu runners.
  * Fix relative --override-control paths: They should not be relative to the
    source dir but relative to the current dir where adt-run is called.

  ssh-setup/nova fixes:
  * Add -N/--net-id argument for OpenStack deployments which require setting
    an explicit --nic net-id.
  * Stop using nova boot's --file option, it does not work any more (see
    LP#1376176); use --user-data instead. Also set some go-faster apt options.
  * Wait until ssh is available and cloud-init is done.
  * Stop making --keyname mandatory. If not given, use the first one from
    "nova keypair-list".
  * Fix crash if ~/.ssh/known_hosts does not exist.

  ssh-setup/adb fixes:
  * Drop the sudo'ing for unlocking the screen. It stopped working and is not
    necessary, now that we don't have images with adb running as root any
    more.
  * Fix unity8 restart after disabling first-time wizard to work on current
    Ubuntu Touch images.
  * Wait until com.canonical.UnityGreeter becomes available. This is a better
    way to wait for the desktop to be started up, and also reliably unlocks
    the greeter.
  * During revert, don't fail if there are no configured networks.
  * Add -b/--reboot option to reboot the device before running the test.
  * Disable --reset option for now; it is broken as it does not restore the
    password and developer mode. Point towards using --reboot, which should be
    good enough for most cases in r/o mode.

  adt-virt-ssh fixes:
  * Implement reboot.
  * Tests or builds sometimes leak background processes which might still be
    connected to ssh's stdout/err; create and use a wrapper script that kills
    these after the main program (build or test script) finishes, otherwise we
    get eternal hangs as ssh waits until nothing is connected to its tty any
    more.

  Other fixes:
  * adt-buildvm-ubuntu-cloud: Purge more unnecessary packages.

 -- Martin Pitt <mpitt@debian.org>  Wed, 08 Oct 2014 09:22:17 +0200

autopkgtest (3.5.3) unstable; urgency=medium

  * ssh-setup/adb: Use the new "phablet-config network" to save/restore wifi
    connections, which also works with non-root adb.
  * Give adt-run's tee processes some time to catch up between printing
    results and stderr, to avoid scrambled logs. (LP: #1373441)
  * Fix NullRunner.test_timeout_no_output for older Python versions.
  * tests/pyflakes: Skip test if pyflakes3 is not available (for backports).
  * Bump Standards version to 3.9.6 (no changes necessary).
  * NullRunner.test_timeout_no_output: Slightly relax time bound to make
    failures less likely on loaded/slow machines.
  * Install clicks with --allow-unauthenticated to support local developer
    generated packages. (LP: #1372640)

 -- Martin Pitt <mpitt@debian.org>  Sun, 28 Sep 2014 12:16:16 +0200

autopkgtest (3.5.2) unstable; urgency=medium

  [ Martin Pitt ]
  * Make apt-get source and package unpack output a bit less verbose.
  * Avoid "grep: debian/tests/control: No such file or directory" warning for
    packages with implicit test control. (Closes: #762009)
  * Adjust "unpack into temp dir" mode for multi-archified typelib locations
    introduced in gobject-introspection 1.41.4-1.

  [ Niko Tyni ]
  * Test perl packages that include test.pl, not just t/. (Closes: #762013)

 -- Martin Pitt <mpitt@debian.org>  Tue, 23 Sep 2014 09:31:29 +0200

autopkgtest (3.5.1) unstable; urgency=medium

  * Fix apt cleanup to remove configuration files before apt-get update.
  * When using local binaries, tell apt-get to only download our
    autopkgtest.list, not all apt lists again.
  * Move autopkgtest gpg directory from ~/.autopkgtest/gpg to
    ~/.cache/autopkgtest/. Check the former location for backwards
    compatibility.
  * Invoke gpg with --no-random-seed-file to avoid VCS noise when using
    tests/home/.
  * run-from-checkout: Use --gnupg-home with our tests/home to avoid GPG key
    generation.
  * adt-run: Defer GPG key creation until binary publishing time. This avoids
    key creation entirely for the common case of not using any local or built
    binaries.
  * tests: Use apt-doc instead of cpp-doc, as the latter is in Debian contrib
    only. (Closes: #761417)
  * When determining whether a testbed reset is necessary in between tests,
    also consider if recommends were/will be installed. (Closes: #761420)
  * README.package-tests.rst: Packages with implicit test control (ruby/perl)
    should use a different Testsuite: value, namely
    autopkgtest-pkg-{ruby,perl}, to avoid breaking compatibility with the
    specification and to other implementations like sadt.
  * autopkgtest-reboot: Switch from SIGPIPE to SIGKILL, as that is much more
    reliable.
  * Reorganize NullRunner tests so that most run also as normal user (and
    hence during package build); only keep four tests in NullRunnerRoot which
    actually do need root privileges.
  * Improve NullRunner.test_timeout_no_output test case to ensure that the
    test is properly killed after timing out.
  * Fix invocation of tests so that they retain the default SIGINT handler.
    This changes cleanup after a timeout, add new procps dependency for this.
    (Closes: #761596)

 -- Martin Pitt <mpitt@debian.org>  Wed, 17 Sep 2014 06:09:30 +0200

autopkgtest (3.5) unstable; urgency=medium

  Improvements:
  * VirtSubProc.cmd_reboot(): Save/restore downtmp instead of creating a new
    one. This is more useful for reboot scenarios within tests.
  * Support tests that want to reboot the testbed (for runners which support
    rebooting). Document this in doc/README.package-tests.rst.
  * tests/testdesc: Add test case for Debian packages without a test control.
  * If there is no Debian test control file, synthesize one for Ruby and Perl
    packages, using gem2deb-test-runner and pkg-perl-autopkgtest. Thanks to
    Antonio Terceiro!
  * ssh-setup/adb: Unlock the greeter before running tests.

  Bug fixes:
  * qemu: Reconfigure tzdata after copying /etc/timezone, to make that change
    actually active.
  * qemu: Wait an additional 3 seconds after the login prompt appears on
    ttyS0. Without that, the system time is wrong, causing bad file
    timestamps. Unfortunately polling runlevel or the "hwclock" status file
    doesn't help.
  * Always keep the same downtmp even after resetting the testbed.  Some built
    trees/tests use absolute path names and break when being moved around
    after a reset. This already worked in most cases by accident due to a bug,
    but now clean up the code to be explicit about it.
  * Expand '@' to quasi-versioned (>= 0~) dependencies to avoid satisfying
    them by virtual packages. (Closes: #761003)
  * Ensure that the build tree is world-readable. Fixes permission error when
    running adt-run as non-root with a different --user and a tight umask.
    (Closes: #761049)
  * lxc: Ensure the container root directory is accessible to non-root users.
    Works around lxc-start-ephemeral bug with tight umasks.
    (https://launchpad.net/bugs/1367730)
  * lxc: Fix lxc-clone option (--new, not --name).

 -- Martin Pitt <mpitt@debian.org>  Thu, 11 Sep 2014 11:05:16 +0200

autopkgtest (3.4.1) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Use host's http[s] proxy in the VM, rewriting
    localhost addresses accordingly.
  * qemu: Accept any runlevel between 2 and 5 as "booted", to also work with
    systemd. (Closes: #760060)
  * adt-run: Read built tree changelogs with UTF-8 encoding. (Closes: #759752)
  * adt-virt-lxc: Source /etc/profile as well, to get $PATH in Debian
    environments.

 -- Martin Pitt <mpitt@debian.org>  Thu, 04 Sep 2014 07:52:12 +0200

autopkgtest (3.4) unstable; urgency=medium

  * Produce a summary file by default when --output-dir is given.
  * ssh-setup/adb: Add missing $ADBOPTS for reverting to factory state.
  * Add support for retrieving a click source from bzr (from the manifest's
    x-source/vcs-bzr key) if --click-source is not given.
  * ssh-setup/adb: Use SystemImage D-BUS call for factory reset instead of
    direct recovery commands, to also work as user.
  * ssh-setup/adb: Add --password/-p option to specify a different sudo
    password than "phablet".
  * adt-run: Fix $USER in tests if testbed does not have root.
  * adt-run: Source shell profiles if testbed does not have root. Fixes
    running click tests on Ubuntu Touch without a sudo password.
  * ssh-setup/adb: Try common sudo passwords for CI ("phablet" and "0000"); if
    those do not work, and none is specified with --password, tests cannot run
    as root (which should be fine for most cases).
  * ssh-setup/adb: Stop using system-image-cli to detect an Ubuntu phone, as
    that does not work as user. Check for unity8 instead, like in other parts
    of the code.
  * ssh-setup/adb: Fix cleaning up of first-time wizard for non-root adb.

 -- Martin Pitt <mpitt@debian.org>  Mon, 25 Aug 2014 16:10:01 +0200

autopkgtest (3.3.3) unstable; urgency=medium

  * ssh-setup/adb: Always parse options, so that $ADBOPTS is also defined for
    operations other than "open". Fixes failure on close when multiple devices
    are present.
  * adt-run manpage: Fix references to documentation. (Closes: #758016)
  * README.package-tests.rst: Point out that dpkg-source >= 1.17.11 adds the
    Testsuite: field automatically. Thanks to Guillem Jover!
  * ssh-setup/adb: Use PropertyService to enable ssh, for future compatibility
    with non-root adb.
  * ssh-setup/adb: Protect against failures of ssh-keygen when pruning the
    localhost fingerprint. It fails if ~/.ssh/known_hosts does not exist.
  * When copying down, properly fail when there are unremovable files in an
    existing directory, instead of ignoring them and making the subsequent
    copytree() fail. This helps to get better error messages for #757396.
  * Fix crash on undeletable files in source trees. (Closes: #757396)
  * ssh-setup/adb: If there is no default ssh key, create an
    ~/.ssh/id_autopkgtest and use that.
  * Run autopilot tests with generating a subunit stream in
    <output-dir>/artifacts/<testname>.subunit, and in verbose mode.

 -- Martin Pitt <mpitt@debian.org>  Wed, 20 Aug 2014 20:11:17 +0200

autopkgtest (3.3.2) unstable; urgency=medium

  * When logging output to a file, properly close the "tee" processes' stdin
    and wait for them to finish, instead of just killing them. This avoids
    truncated logs on heavily loaded machines.
  * Fix NullRunnerNoRoot.test_tmp_install test if gir1.2-json-1.0 is already
    installed.
  * Use long options for calling programs except for the most common ones, for
    easier comprehension.
  * qemu: Read all responses from ttyS1 after sending commands. Qemu 2.1 seems
    to configure serial sockets differently, and not flushing responses
    confuses it.
  * qemu: Use "cache=unsafe" option to improve performance when the overlay is
    not on a tmpfs.
  * Further robustify cleaning up the chroots in the ChrootRunner tests.
  * adt-build-lxc: When updating containers, move the new rootfs completely to
    the original container. The rsync approach did not reliably update all
    files.

 -- Martin Pitt <mpitt@debian.org>  Wed, 06 Aug 2014 11:28:00 +0200

autopkgtest (3.3.1) unstable; urgency=medium

  * Accept comma separators in Tests:, Restrictions:, and Features: fields;
    this is consistent with Depends: and avoids skipping tests. (LP: #1347958)
  * Generalize implementation of getting an interactive shell in testbeds.
    Most runners now don't need to provide a hook_shell() any more.
  * Export install environment to interactive testbed shells, so that
    unpacked test depends in the temp dir are accessible. (LP: #1339103)
  * lxc: Don't fail on a nonexisting /etc/environment or /etc/default/locale.
    (LP: #1348749)
  * adb ssh script: Add --apt-update option to run "apt-get update" (with
    temporarily switching to r/w), to run tests on older development images.
    (LP: #1342838)
  * Drop the very short and unnecessary install timeouts from the NullRunner
    tests.

 -- Martin Pitt <mpitt@debian.org>  Tue, 29 Jul 2014 13:45:36 +0200

autopkgtest (3.3) unstable; urgency=medium

  Improvements:
  * Define "Classes:" (Debian) / "classes" (click manifest) test control field
    in the specifications. For packages whose tests should run on particular/a
    set of different hardware/platforms, this can specify a list of abstract
    class names such as "desktop" or "graphics-driver". Consumers of
    autopkgtest can then map these class names to particular
    machines/platforms/policies.
  * Fall back to searching for --setup-commands files in
    /usr/share/autopkgtest/setup-commands/ if they are specified without path,
    to reduce typing.
  * Fall back to searching adt-virt-ssh's --setup-script in
    /usr/share/autopkgtest/ssh-setup/ if they don't exist in the current
    directory, to reduce typing.

  Bug fixes:
  * When running a test as user on a root testbed, run source extraction under
    set -e, to fail early at the proper error. (LP: #1346388)
  * Add test case for non-existing --apt-source package name.
  * Add "installed" autopkgtest to run adt-run against a simple source tree in
    $ADTTMP, to avoid using Python modules from the autopkgtest source tree.
    This spots grave bugs like in 3.2.1.

 -- Martin Pitt <mpitt@debian.org>  Wed, 23 Jul 2014 09:16:08 +0200

autopkgtest (3.2.2) unstable; urgency=medium

  * adt-run: Fix typo that broke --apt-source with "build-needed" tests.

 -- Martin Pitt <mpitt@debian.org>  Mon, 21 Jul 2014 15:07:17 +0200

autopkgtest (3.2.1) unstable; urgency=medium

  * Ship forgotten adt_run_args module.

 -- Martin Pitt <mpitt@debian.org>  Mon, 21 Jul 2014 11:45:25 +0200

autopkgtest (3.2) unstable; urgency=medium

  Improvements:
  * Add --copy option to copy a file or directory into the testbed.
  * Support specifying a click name like "com.example.myapp" with --click to
    test an already installed click instead of a local *.click file.
    (LP: #1338899)
  * Introduce "autopilot_module" click test control field for specifying an
    autopilot test module name. This allows tests to require additional test
    dependencies, restrictions, etc. without having to specify the full
    invocation of autopilot. (LP: #1338911)
  * In "unpack into temp dir" mode, ignore Python 2.x test dependencies. They
    are not exposed anyway as with $PYTHONPATH we can only serve one major
    Python version, and we want Python 3.
  * Port remaining runners from obsolete optparse to modern argparse. This
    gives a consistent command line help and support for reading options from
    a file with '@'.
  * Port adt-run to argparse, and clean up the CLI:
    - Drop rarely used and confusing options: --instantiate, --sources-tests,
    --sources-no-tests, --built-binaries-filter,
    --binaries{,-forbuilds,-fortests}. Add a single new --built-binaries as
      the opposite of -B/--no-built-binaries.
    - CLI parsing is now done in lib/adt_run_args.py, with separate unit
      tests.
    - This now allows any part of the command line (for adt-run itself or the
      virt-server or both) to be read from a file, using the '@' prefix.
      (Closes: #749241)
    - Separate the options into different logical groups, in both --help and
      the manpage.
  * Make --override-control work for click manifests. (LP: #1342818)
  * Introduce "Test-Command:" debian/tests/control field to run a shell
    command instead of a "Tests" named executable. This avoids having to write
    trivial one-liner scripts or allows wrapping calls to test executables.
    (Closes: #741330)

  Bug fixes:
  * Set $USER environment variable also for tests that run as root.
    (LP: #1337802)
  * Add lintian override for ssh-setup/SKELETON, it's deliberately not
    executable.
  * Increase timeout for aa-clickhook workaround for LP#1337253, 100s is often
    not enough.
  * ssh-setup/adb: Disabling the first-time wizards sometimes fails due to adb
    being brittle at that time. Retry up to 5 times.
  * Optimize aa-clickhook workaround for LP #1337253 to only rebuild the
    profile of the installed click app. This reduces the time from about a
    minute to about a second.
  * qemu, lxc: Use VirtSubproc subprocess wrappers to get timeout handling for
    all commands.
  * Rewrite build depends to not rely on builders being able to fall back to
    alternatives (python >= 3.3 | python3-mock), to ease backporting.
  * tests/pyflakes: Use pyflakes3.
  * Only run pyflakes test during package build if pyflakes3 is available.
    This unbreaks backports.
  * Run "click info" as the same user as the test. (LP: #1342836)
  * Keep <testname>-stderr output files for "allow-stderr" tests.

 -- Martin Pitt <mpitt@debian.org>  Mon, 21 Jul 2014 09:35:17 +0200

autopkgtest (3.1) unstable; urgency=low

  Improvements:
  * ssh-setup/adb: On Ubuntu phones, use phablet-config to disable first-time
    wizards/intros. Implement reboot and revert. This requires phablet-config
    now, either installed as package or from bzr checkout with
    PHABLET_TOOLS_PATH=<checkout dir>.
  * ssh-setup/adb: Save/restore NetworkManager system connections in revert.
  * ssh-setup/adb: Add -r/--reset option to perform a factory reset before
    running tests.
  * Bring back --control-override option, with tests and documentation.

  Bug fixes:
  * Work around subprocess.Popen bug in Python 3.2.
  * lib/testdesc.py: Change exceptions to be Python 3.2 compatible.
  * Kill the actual test on timeout instead of just the wrapping shell script.
  * Fix workaround for LP #1333215: Don't run with "su -l" as that causes
    extra stdout spew from su for nonexisting home directories; instead just
    source /etc/profile and ~/.profile as these are the parts that we need.
  * Run aa-clickhook after every click install, otherwise it doesn't apply to
    newly installed clicks. Works around LP #1337253.
  * Open files which can potentially contain non-ASCII data with explicit
    UTF-8 encoding, to avoid UnicodeDecodeErrors under C locale.
    (Closes: #753582)
  * Fix metavariable names in adt --help.
  * ChrootRunner tests: Retry removal of temporary chroot when busy.
  * Don't let a first failed apt-get update run break the test due to stderr;
    it gets retried 15 seconds later.

 -- Martin Pitt <mpitt@debian.org>  Thu, 03 Jul 2014 13:31:16 +0200

autopkgtest (3.0.2) unstable; urgency=low

  * Fix -s/--shell-fail to actually work again (regression in 2.19).
  * Quiesce the sourcing of /etc/profile and ~/.profile to avoid "stdin: is
    not a tty" clutter.

 -- Martin Pitt <mpitt@debian.org>  Wed, 02 Jul 2014 09:28:20 +0200

autopkgtest (3.0.1) unstable; urgency=low

  * Install ssh setup scripts executable.
  * doc/README.running-tests.rst: Add ssh runner example.

 -- Martin Pitt <mpitt@debian.org>  Tue, 01 Jul 2014 15:40:39 +0200

autopkgtest (3.0) unstable; urgency=low

  Improvements:
  * Add support for click packages (https://click.readthedocs.org):
    - Add two new actions --click and --click-source to run tests of a click
      package. For now, --click-source is mandatory as parsing/getting the
      source from a click's x-source manifest entry is not yet implemented.
    - Add doc/README.click-tests.rst to document test definition for click
      packages.
    - Add setup-commands/ubuntu-touch-session: --setup-commands script for
      installing click, the Ubuntu SDK, some extra packages for autopilot, and
      launching Xvfb and an user upstart session. This approximates the
      environment of an Ubuntu touch device. You can also run
      setup-commands/ro-apt afterwards.
  * If the testbed does not have root (null runner or schroots without
      root-user/group) or a writable dpkg database (as on Ubuntu system
      images), fall back to unpacking test dependencies into a temporary
      directory and set *_PATH environment variables accordingly. This will
      make a limited number of test dependencies work in these test beds.
  * Add setup-commands/ro-apt for making dpkg/apt readonly, to
    approximate what happens with Ubuntu system images.

  * Add adt-virt-ssh runner: Generic runner for an externally set up testbed
    which assumes nothing else than a working ssh connection. This can call a
    "setup script" to create/configure a testbed (such as spinning up a cloud
    VM with nova or setting up SSH on a phone through ADB). See the manpage
    for details. Thanks to Jean-Baptiste Lallement!
  * Add ssh-setup/SKELETON for a basis to write ssh setup scripts.
  * Add ssh-setup/adb: Set up an ssh connection to an adb host. If that adb
    host is an Ubuntu Touch system, it also does some extra configuration like
    disabling the screen timeout and allowing Autopilot to introspect running
    apps. See header comments for details. Thanks to Jean-Baptiste Lallement!
  * Add ssh-setup/nova: Sets up a nova instance to use as an autopkgtest
    testbed. It assumes that the host system is already prepared to run nova
    commands. This is not very robust at the moment and more like a proof of
    concept. Thanks to Jean-Baptiste Lallement!

  * Convert doc/README.* to reStructuredText and rename to *.rst. Build HTML
    files from them using rst2html and install them also.
  * adt-run: Never run testbed commands with newlines in them. Those make it
    ridiculously hard to implement runners which can only accept shell
    strings.

  Bug fixes:
  * lxc: Don't leak the host environment into the container (lxc-attach
    currently defaults to that), but build a clean and minimal environment
    from /etc/environment and /etc/default/locale.
  * Fix calling a virt server with full path.
  * lib/VirtSubProc.py, downtmp_remove(): Only remove the downtmp if it is
    actually set. This avoids confusing error messages if something fails
    during early test bed setup.
  * adt-run: set APT_LISTBUGS_FRONTEND=none when installing packages. This
    will avoid the apt-listbugs prompt when apt-listbugs is installed.
    Thanks to Antonio Terceiro!
  * schroot: Ending the schroot session sometimes fails on "Device or resource
    busy". Retry 10 times before giving up instead of failing immediately.
  * adt-run: Read /etc/profile and ~/.profile when running tests as user. This
    emulates the bits of "su -l" that we want, until this gets cleaned up for
    using "su -l" completely.
  * tests/run-parallel: Get sudo password early, to avoid asking for it in
    background jobs.
  * Restrict --apt-pocket to *.ubuntu.com and *.debian.org sources, as
    third-party repositories such as launchpad.net don't (necessarily) have
    pockets. (LP: #1334332)
  * Fix high adt-virt-* CPU usage on reading commands on stdin.

 -- Martin Pitt <mpitt@debian.org>  Tue, 01 Jul 2014 15:21:55 +0200

autopkgtest (2.20) unstable; urgency=medium

  Improvements:
  * Add "Test" argument/member for a shell string command, instead of
    specifying a path to a test executable. Not currently supported by Debian
    parser.
  * Convert doc/README.* to Markdown, so that it's easy to format them as PDF
    or HTML, e. g. with pandoc.
  * If the --user option is given or the testbed specifies a normal user, pass
    this to --setup-commands through $ADT_NORMAL_USER.
  * Allow --setup-commands which would ordinarily reboot the testbed to
    suppress this by creating a stamp file in /run. This is useful for
    commands which run processes that aren't started at boot.
  * Default to C.UTF-8 locale instead of C. This is supported in Debian >= 7
    (wheezy) and Ubuntu >= 12.04 LTS, and much closer to reality than C.
  * If the testbed does not have root (null runner or schroots without
    root-user/group) or a writable dpkg database (as on Ubuntu system images),
    fall back to unpacking test dependencies into a temporary directory and
    set *_PATH environment variables accordingly. This will make a limited
    number of test dependencies work in these test beds.

  Bug fixes:
  * Don't include "adt-satdep" dummy package in <test>-packages output files.
  * adt-buildvm-ubuntu-cloud: Use host timezone as default for the VM, to
    avoid TZ changes during boot when running tests. Thanks Jean-Baptiste
    Lallement!
  * Run tests with specified locale also when they run as user.
  * Fix test failure with Ubuntu's pkgbinarymangler installed.

 -- Martin Pitt <mpitt@debian.org>  Tue, 24 Jun 2014 16:34:36 +0200

autopkgtest (2.19) unstable; urgency=medium

  Improvements:
  * Support new argument type --changes (implied if file name ends with
    ".changes"). This behaves as if you specified all debs and the dsc from
    the given binary changes file and implies --no-built-binaries. I. e. this
    is the right thing to test a local package that you just built.
    (Closes: #738552)

  Bug fixes:
  * schroot: Always advertise "revert" capability, as it implements revert
    with simply close()/open().
  * adt-run: Move warning about missing root on testbed into the correct
    place.
  * Install build-essential and build dependencies in one apt run, which is
    slightly faster.
  * Explicitly specify UTF-8 encoding for reading/writing Debian control files,
    to fix UnicodeDecodeError under C locale.
  * Determine testpkg-version also for --built-tree tests.
  * schroot: Refuse to work with non-ephemeral schroots, i. e. "directory"
    type schroots without union-type. Point this out in the manpage, too.
    (Closes: #751574)
  * schroot: Verify that /proc is mounted, and abort with a proper error
    message if not. (Closes: #751575)
  * adt-buildvm-ubuntu-cloud: Don't start cloud-config with a leading newline,
    not yet supported in Ubuntu 12.04's cloud-init. Thanks Jean-Baptiste
    Lallement! (LP: #1330950)
  * adt-buildvm-ubuntu-cloud: Don't use write_files cloud-init command, not
    yet supported in Ubuntu 12.04's cloud-init. Replace with runcmd echos.
  * adt-buildvm-ubuntu-cloud: Purge cloud-init and shutdown after cloud-init
    is done, not while it's still running.
  * adt-buildvm-ubuntu-cloud: Create upstart job for ttyS0 console unless it
    already exists, for compatibility with Ubuntu 12.04.
  * adt-virt-qemu: Use python3 or python for eofcat depending on which one is
    available. Fixes operation with older Ubuntu versions which don't yet
    install Python 3 by default.

  Code cleanup:
  * Unify logging functions into lib/adtlog.py, make their API easier and more
    consistent, and use them in adt-run and all adt-virt-*.
  * Move test control parsing and keeping data into lib/testdesc.py. This
    eases factorization, abstraction for future support of other source
    package formats such as click, and testing. Add new tests/testdesc
    unittests. This also drops the "tree0t-" like prefixes from test names in
    the results and the output file names.
  * Don't read --setup-commands files multiple times.

 -- Martin Pitt <mpitt@debian.org>  Wed, 18 Jun 2014 10:07:46 +0200

autopkgtest (2.18) unstable; urgency=medium

  Improvements:
  * adt-run: When running from git, show the current SHA and commit summary of
    HEAD.

  Bug fixes:
  * tests: Fix race in cleaning up ChrootRunner mounts.
  * adt-run: If apt-get update fails on publishing built binaries, retry after
    15 seconds.
  * VirtSubproc.cleanup(): Avoid recursion if something in hook_cleanup()
    bombs.
  * Fix --shell to also work with --output-dir. (LP: #1317078)

  Code cleanup:
  * VirtSubproc: Document and cleanup execute*() functions.
  * Some test robustifications, to avoid making too many assumptions about
    debug output.
  * adt-run: Eliminate usage of testbed "execute" command, which is too
    complicated and limiting. Use "print-execute-command" directly instead.
  * Drop "execute" command.
  * adt-run: Unify Testbed.command() and commandr() methods and make them
    stricter.
  * Add prefixes to all temporary directories.
  * Remove autopkgtest-xenlvm. It has been orphaned since ~ 2008, few to no
    current users, and no maintainer. (Closes: #508660, #680122)
  * Simplify build system.
  * Drop concept of "shstring". All runners must provide an auxverb now,
    possibly with a wrapper and quoting by themselves if their implementation
    can only deal with shell commands. This avoids having to tell apart these
    two cases in adt-run, clarifies the documentation, and greatly simplifies
    the code. (Closes: #750544)
  * qemu: Use low-level IO in runcmd.  This avoids all the Python overhead and
    buffering and is less prone to bytes vs. string issues.
  * qemu: Fix text vs. binary confusion in reading and copying /etc/timezone.
  * schroot: Call schroot command with -q, to avoid stderr spew if the schroot
    has "message-verbosity=verbose".
  * Port to Python 3.

 -- Martin Pitt <mpitt@debian.org>  Thu, 12 Jun 2014 07:48:58 +0200

autopkgtest (2.17.1) unstable; urgency=medium

  * Make $ADTTMP readable and accessible to other users, for tests which use
    other users through "su" and similar.
  * adt-virt-qemu: Set $HOME for root also after rebooting.
  * tests/adt-run: Force stdout to UTF-8 to see proper failures even in
    non-UTF-8 environments, instead of crashing with UnicodeEncodeError.
  * adt-run: Flush input to the stdout/err cat processes and give them some
    time to catch up after the end of the test, to avoid losing the last bits
    of output. (Closes: #750343)
  * Add missing build-essential and debhelper test dependencies.
  * adt-run: Ensure the cleanup handler for the tests tree runs also if
    copying up the tests tree fails. (Closes: #749655)
  * Put back the LXC runner on Debian, so that folks with manual LXC container
    setups can still use it.
  * adt-build-lxc: Check for default networking in /etc/lxc/default.conf. If
    it's "empty", abort with an error message that container networking needs
    to be set up first. Until LXC gets fixed in Debian (#747914) you need to
    manually set up a bridge, dnsmasq, and the default config.
  * adt-build-lxc: Support specifying $ADT_APT_PROXY. If apt-cacher-ng is
    running locally, use that as a default.

 -- Martin Pitt <mpitt@debian.org>  Wed, 04 Jun 2014 15:03:30 +0200

autopkgtest (2.17) unstable; urgency=medium

  New features:
  * adt-buildvm-ubuntu-cloud, adt-setup-vm: If apt-cacher-ng is running
    locally, use that as a default for --proxy/ADT_APT_PROXY.
  * Add "reboot" testbed capability and implement it for QEMU (most other
    runners don't support it conceptually). Reboot the testbed if the setup
    commands affected boot relevant directories (/boot, /etc/init.d,
    /etc/init/, or /{etc,lib}/systemd/system). (LP: #1324435)

  Bug fixes:
  * adt-setup-vm: Run the initial apt-get update without fetching
    translations.
  * Stop shipping the LXC runner and associated tools on Debian. It does not
    work out of the box until Debian's LXC containers get proper networking by
    default (see Debian #747914).
  * adt-buildvm-ubuntu-cloud: Add LSB header to generated SysV init script to
    avoid a warning from insserv.
  * VirtSubproc: Fix generation of auxverb from shstring.
  * Drop debhelper dependency, not necessary any more since 2.16.

 -- Martin Pitt <mpitt@debian.org>  Tue, 03 Jun 2014 11:49:32 +0200

autopkgtest (2.16.4) unstable; urgency=medium

  * adt-build-lxc: Unset $http[s]_proxy for the post-creation apt-get update
    if it refers to localhost.
  * adt-build-lxc: Fix cache cleaning for upgrades.

 -- Martin Pitt <mpitt@debian.org>  Thu, 22 May 2014 17:52:46 +0200

autopkgtest (2.16.3) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Explicitly use virtio ethernet device, as the
    default one is horribly slow with older QEMU versions.
  * adt-virt-qemu: Add -c/--cpus option for running VMs with multiple CPUs.
  * adt-run: Retry writing to stderr a few times on EAGAIN.
  * adt-run: If apt-get update fails, retry after 15 seconds. This should
    work around the frequent "hash sum mismatch" race condition.
    (LP: #1319416)
  * adt-buildvm-ubuntu-cloud: Configure dpkg to use unsafe io, to speed up
    tests which run on hard disk backed overlays.
  * Simplify the pipelining of test stdout/err, and stop using explicit pipes
    and the "downtmp-shared-fifo" capability. This provides live output for
    all runners, including qemu. (LP: #1320194)
  * Drop obsolete downtmp-shared-fifo capability from all runners.
  * Fix "Operation not permitted" errors on cleaning up empty stdout/err
    result files with shared downtmp runners.
  * adt-buildvm-ubuntu-cloud: Refine init.d script to only launch a shell on
    "start".
  * adt-build-lxc: Add optional third argument for specifying a non-native
    architecture.

 -- Martin Pitt <mpitt@debian.org>  Thu, 22 May 2014 15:52:36 +0200

autopkgtest (2.16.2) unstable; urgency=medium

  * Support ":native" dependencies.
  * Add LXC runner test case for running as different user.
  * Add QEMU runner test case for performance and integrity of copying (1000
    files with 100 kB each).
  * copyup/down: Clean up cp process on timeout, to fix eternal hang.
  * adt-virt-qemu: Disable shared downtmp. For bigger source trees 9p in
    current QEMU is way too slow (in the magnitude of 2 MB/s, and max'ing out
    CPU usage), so we can't use it directly as a normal file system.
  * Revert "Don't extract/build source packages in shared downtmp", due to
    above change. This stops penalizing other runners with extra source tree
    copies.
  * VirtSubproc: Clean up auxverb processes on timeout.
  * adt-run: Stop testbed on TERM and QUIT signals, to avoid leaving stale
    schroot/qemu/LXC processes around when e. g. stopping a job from Jenkins.
  * adt-virt-qemu: Fix runcmd to make the command's stdin actually look and
    behave like a pipe, instead of reading directly from the "stdin" file. The
    latter leads to commands exiting prematurely when hitting the file's EOF.
    (LP: #1317358)
  * Convert one of the QEMU tests from source tree to dsc, to cover that case
    as well.
  * Add test case for QEMU with --apt-source (using libpng).
  * adt-virt-qemu: Create eofcat in /bin instead of the shared /autopkgtest
    mount, as running it from the latter again triggers the "invalid numerical
    value" bug with 9p from older QEMU versions.
  * adt-buildvm-ubuntu-cloud: Purge some unnecessary services to speed up boot
    time a bit.
  * @builddeps@ now includes build-essential, not just make. (LP: #1317357)
  * Make -s/--shell-fail start a shell on failed builds as well.
    (LP: #1317055)

 -- Martin Pitt <mpitt@debian.org>  Fri, 09 May 2014 10:32:27 +0200

autopkgtest (2.16.1) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Configure vmalloc=512M on i386 for the udisks2
    autopkgtest.
  * adt-buildvm-ubuntu-cloud: Disable downloading of package translations.
  * Create testpkg-version and testbed-packages before starting the builds, to
    also have them when builds fail.
  * Fix VirtSubproc.copyup_shareddir() for testbed paths which are not already
    in the shared downtmp.
  * When cleaning up a temporary testbed path fails with a permission error,
    clean it in the testbed (where we usually have root privileges). This
    avoids lots of "ignored OSError" spam with the schroot runner.
  * Stop assuming that we can chown files in the shared downtmp, it's not true
    with QEMU's 9p file system. Fall back to chmod'ing to world-writable files
    as with 9p there is no other way to implement this.
  * Simplify source tree/package extraction logic.
  * adt-run: Don't extract/build source packages in shared downtmp, to avoid
    permission/ownership problems with limited implementations like 9p.
  * adt-virt-qemu: Re-enable shared downtmp, now that operation with different
    UIDs is fixed.
  * Don't create $ADTTMP in shared downtmp to avoid permission/ownership
    problems with limited implementations like 9p.
  * adt-virt-qemu: Fix exception if workdir is not currently set.
  * adt-virt-qemu: Increase timeout for login prompt from 2 to 5 minutes, for
    slow VMs or machines under heavy load.
  * Improve error handling on copy timeouts.
  * adt-virt-qemu: Remove overlay file as early as possible, to avoid leaking
    large files in error conditions. Let QEMU run with the deleted inode.
  * Don't run apt-get and setup commands with sending output to /dev/stdout.
    When redirecting adt-run's output directly into a file this causes a
    seek to start and thus partially overwriting the output file. This also
    puts the apt-get output back to stdout as it used to be before 2.15.
    (Closes: #747041)

 -- Martin Pitt <mpitt@debian.org>  Tue, 06 May 2014 13:25:21 +0200

autopkgtest (2.16) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Use "-monitor null" instead of "-monitor none",
    as the latter does not work with older Qemu versions.
  * adt-virt-qemu: Don't call qemu-img with -q option, it doesn't exist in
    older Qemu versions yet. Redirect stdout instead.
  * tools/adt-setup-vm: Disable downloading of package translations to save
    some bandwidth. Thanks Jean-Baptiste Lallement.
  * adt-virt-qemu: Fix race condition that caused a ValueError when the exit
    code file was not written yet.
  * adt-virt-qemu: Automatically detect a normal user to run tests as, unless
    -u is given. This works similarly to -lxc.
  * Add tests for adt-virt-user with non-default users.
  * adt-virt-qemu: Disable shared downtmp for now, it breaks on older Qemu
    versions and the current setup does not work with different UIDs in the
    testbed.
  * adt-virt-qemu: Use file locks for host-side ssh port forwards to avoid
    race condition.
  * adt-run: Drop usage of dh_listpackages, it needs debhelper which is an
    undeclared (and also unwanted) dependency. Parse debian/control directly
    and make use of our existing arch tag resolution. (LP: #1312276)
  * adt-virt-qemu: Copy host's timezone into VM to avoid time zone skew when
    copying files.
  * adt-virt-qemu: Show determined normal user instead of <user> in ssh
    message, to get a fully copy&pasteable command.
  * adt-virt-qemu: Ensure tests which run as root have $HOME set.
  * Fix --proposed option to also apply to sources.list.d/* lists and to
    multiple sources. (LP: #1313278)
  * adt-buildvm-ubuntu-cloud: Install haveged, to avoid failing tests due to
    running out of entropy.
  * adt-virt-qemu: Add --qemu-options for passing additional options to QEMU.
    Thanks Diogo Matsubara!

 -- Martin Pitt <mpitt@debian.org>  Sun, 27 Apr 2014 22:37:15 +0200

autopkgtest (2.15) unstable; urgency=medium

  * Fix --apt-source mode to download the source with apt-get's
    "--only-source" option, to actually get what we asked for.
  * Add missing python3 build dependency for tests/adt-run. Fixes FTBFS of
    backports.
  * adt-buildvm-ubuntu-cloud: Add options to pass custom metadata/userdata.
    Thanks Diogo Matsubara.
  * Replace pbuilder-satisfydepends-classic with parsing and satisfying build
    and test dependencies with libdpkg-perl and "apt-get -f install". This
    gets rid of the pbuilder dependency and some nasty hacks like the
    --internal-chrootexec script, and allows us to be more flexible such as
    also supporting Recommends: installation.  (LP: #1205110)
  * Fix typo in error message. Thanks Jelmer Vernooij.
    (Closes: #745413)
  * adt-build-lxc: Stop using the -F template option to flush the cache as it
    is not available in the debian template. Remove caches manually instead.
    (Closes: #745415)
  * adt-buildvm-ubuntu-cloud: Fall back to latest stable if there is no
    development series.
  * Add "needs-recommends" restriction for installation of recommended
    packages for the test dependencies. This does not affect build
    dependencies. (Closes: #708963)

 -- Martin Pitt <mpitt@debian.org>  Tue, 22 Apr 2014 09:10:40 +0200

autopkgtest (2.14.1) unstable; urgency=medium

  * tools/adt-buildvm-ubuntu-cloud: Enable ssh login with passwords.

 -- Martin Pitt <mpitt@debian.org>  Wed, 09 Apr 2014 17:15:29 +0200

autopkgtest (2.14) unstable; urgency=medium

  * lxc: Greatly simplify bind mounting of shared tmp dir using the
    lxc-start -s option.
  * adt-virt-qemu: Forward VM's ssh port 22 to the first free localhost port
    starting from 10022. When finding one, suggest connecting to the VM with
    an appropriate ssh command on --shell.

 -- Martin Pitt <mpitt@debian.org>  Wed, 09 Apr 2014 17:06:44 +0200

autopkgtest (2.13.1) unstable; urgency=medium

  * Fix "--build-tree" typo in error message, and also add the missing
    --unbuilt-tree. (Closes: #743427)
  * lxc: Enable live output in clone mode.

 -- Martin Pitt <mpitt@debian.org>  Tue, 08 Apr 2014 12:18:00 +0200

autopkgtest (2.13) unstable; urgency=medium

  * Split package/version list that got introduced in 2.10: Introduce a new
    output file "testbed-packages" with the packages and versions of the
    pristine testbed, and filter them out of "<testname>-packages", so that
    the latter only contains the packages and versions that are specific to
    that test. This is generally more useful, and how debci does/wants it.

 -- Martin Pitt <mpitt@debian.org>  Tue, 01 Apr 2014 14:43:12 +0100

autopkgtest (2.12) unstable; urgency=medium

  [ Martin Pitt ]
  New features:
  * Add new options -s/--shell-fail for running a shell in the testbed after
    every failed test, and --shell for running a shell in the testbed after
    every test. This should make debugging tests or regressions quite a bit
    simpler. This actually spawns a shell for the null, chroot, schroot, and
    lxc runners, and shows how to login to the VM for qemu (this will
    hopefully be improved in the future, but at least makes debugging possible
    for now).

  Bug fixes:
  * adt-build-lxc: Fix apt proxy setting for ubuntu template; use $HTTP_PROXY,
    not $APT_PROXY.
  * Make PEP-8 failures non-fatal during package build. They often fail in
    backports to old releases, and running them before releasing a new package
    is sufficient.
  * Filter out comment lines from control lines, as python-debian doesn't
    properly do that (Debian #743174). Fixes lintian autopkgtest.
    (LP: #1300031)

  [ Antonio Terceiro ]
  * adt-virt-schroot: Add new option -s/--session-id for specifying a custom
    schroot session id. This is useful for debugging test suites that go crazy
    on ci.debian.net, so you can `schroot --list --all-sessions` and see which
    sessions are still open. (Closes: #742969)

 -- Martin Pitt <mpitt@debian.org>  Mon, 31 Mar 2014 11:45:13 +0200

autopkgtest (2.11) unstable; urgency=medium

  * Add tools/adt-setup-vm: Setup script for vmdebootstrap (and potentially
    others) to start a root shell on tty1, set up networking for eth0, and
    enable deb-src apt sources.
  * adt-virt-qemu.1: Describe how to create a suitable Debian VM with
    vmdebootstrap.
  * doc/README.package-tests: Point out to use "build-needed" with
    consideration.
  * Make installation of packages/dependencies print a warning instead of
    failing immediately when root is not available on the testbed. This allows
    tests to be run with the "null" runner locally as user with some
    restrictions. Check if dpkg-source is available before installing
    dpkg-dev, to avoid the warning in that simple case. (Closes: #742242)
  * Fix ugly error message if a package does not have a debian/tests/
    directory. Properly fail with code 8 and "SKIP no tests in this package".
  * Clean up temporary files in NullRunner tests.

 -- Martin Pitt <mpitt@debian.org>  Fri, 21 Mar 2014 09:36:25 +0100

autopkgtest (2.10) unstable; urgency=medium

  * Record name and version of tested package in log and in
    output-dir/testpkg-version. (first part of LP #1292431)
  * Record installed packages and their versions for each test, in
    <output-dir>/<test>-packages. (second half of LP: #1292431)
  * Drop adt-testreport-*, adt-openbugs-*: These have been marked deprecated
    for a while, haven't been used or maintained in many years, and are
    superseded by jenkins/debci. (Closes: #695974)

 -- Martin Pitt <mpitt@debian.org>  Tue, 18 Mar 2014 16:12:24 +0100

autopkgtest (2.9.2) unstable; urgency=medium

  * VirtSubproc.py, copydown_shareddir(): Fix "src and dest are the same file"
    error when file is already in the shared downtmp.
  * VirtSubproc.py, copydown_shareddir(): Remove already existing target
    directory to avoid copying an updated directory into the old one.
  * adt-run: Show timestamps at the beginning, start of preparation (i. e.
    mostly installing dependencies), and start and end of tests.
    (LP: #1290760)
  * Run NullRunnerNoRoot tests during package build. Add python-debian build
    dependency for that.

 -- Martin Pitt <mpitt@debian.org>  Wed, 12 Mar 2014 08:13:50 +0100

autopkgtest (2.9.1) unstable; urgency=medium

  [ Martin Pitt ]
  * doc/README.package-tests: Clarify syntax of test Depends:, and point to
    the relevant Debian Policy specification.
  * adt-build-lxc: Fall back to assuming /var/lib/lxc/ as container directory
    if lxc-config does not exist. It was introduced in 1.0, but Debian
    unstable still has 0.9. (Closes: #740437)
  * tests: Extend test_artifacts() to multiple tests writing artifacts, also
    with overwriting existing files and writing into subdirs.
  * VirtSubproc: Fix copyup_shareddir() to get along with existing
    directories. (LP: #1288668)
  * settings.make: Switch default prefix to /usr, as our scripts hardcode that
    for finding VirtSubproc.py and this is a native package. (LP: #1287264)

  [ Steve Langasek ]
  * Fix adt-virt-schroot to correctly return root-on-testbed when we're
    running adt-run as root. (Closes: #740868)

 -- Martin Pitt <mpitt@debian.org>  Thu, 06 Mar 2014 13:44:07 +0100

autopkgtest (2.9) unstable; urgency=low

  New features:
  * Add "downtmp-host=<path>" testbed capability, for runners which can set up
    a shared directory between host and testbed. This is used by copyupdown to
    more efficiently copy files back and forth, and in many/most cases, don't
    explicitly copy anything at all.
  * Introduce a new testbed capability "downtmp-shared-fifo" that declares
    that testbed and the host can use a FIFO in the shared downtmp for
    communication. Use this to generalize live test output to all runners
    which declare that, not just -null.
  * Convert null, chroot, schroot, lxc, and qemu runners to use a shared
    downtmp dir. Note that qemu does not support FIFO (through the 9p file
    system), so that one does not get live test output.
  * Don't define $TMPDIR for tests any more. Having $TMPDIR in the shared dir
    isn't efficient and even breaks some tests (as they might not be able to
    put sockets etc. into it), and it's an artificial difference to the
    default system behaviour of just using /tmp. The documentation already was
    changed a long time ago to only document $ADTTMP as a scratch directory
    for tests.
  * Add test restrictions "isolation-container" and "isolation-machine", and
    corresponding testbed capabilities. Tests can use that to declare that
    they want to start services or open ports (i. e. a simple chroot/schroot
    is insufficient) or access hardware, reboot,  and interact the kernel
    (where even a container is insufficient), and will be skipped instead of
    failing when they run in a virtualization server which does not provide
    enough isolation.
  * Add manpage for adt-build-lxc script.
  * Ship adt-build-lxc script and its manpage in the package.

  Documentation updates:
  * doc/README.package-tests: Some stylistic updates, and add section headers.
  * adt-virt-lxc.1: Point to, and show how to use adt-build-lxc.
  * Add doc/README.running-tests: Overview of how to run adt-run, most common
    scenarios, and available virtualization servers with their pros/cons.

  Bug fixes:
  * tests: Copy tests/home/ into a temporary dir and set $HOME to that, to
    avoid cluttering the source dir.
  * Don't produce empty stderr/stdout files with --output-dir. (LP: #1282866)
  * adt-buildvm-ubuntu-cloud: Install linux-generic, to get the full kernel
    (needed for e. g. udisks2 to get scsi_debug).
  * tests: Add a broken symlink to testpkg, to ensure that copying trees
    around gets along with those.
  * adt-run: Always use fakeroot with adt-virt-qemu, to work around chown
    failing on 9p.
  * xen/initscript: Always source /lib/lsb/init-functions. (Thanks lintian)
  * tests/adt-run: Increase timeout in NullRunner.test_timeout_long_build to
    avoid failure on slow architectures.
  * adt-build-lxc: Properly wait for finished container boot instead of a
    static 10 second sleep.
  * adt-build-lxc: Only flush the cache when updating an existing container.

 -- Martin Pitt <mpitt@debian.org>  Thu, 27 Feb 2014 11:23:32 +0100

autopkgtest (2.8.1) unstable; urgency=medium

  * Use the install timeout instead of the short one for
    --setup-commands/--apt-upgrade.
  * Fix --apt-upgrade to not hang on dpkg conffile prompts.
  * Use ./tests/home/ as $HOME during tests, and add a gpg key to it so that
    we don't have to generate one (which often hangs due to lack of entropy).
  * Make the test suite run as user, skip tests which require root (all
    ChrootRunner and most NullRunner tests).

 -- Martin Pitt <mpitt@debian.org>  Fri, 21 Feb 2014 17:15:41 -0800

autopkgtest (2.8) unstable; urgency=medium

  * Add adt-virt-qemu: Virtualization server using QEMU. This provides even
    more isolation than containers and thus is able to run tests which
    interact with the kernel. See the manpage for the requirements that VMs
    need to satisfy, and how to use it. (Closes: #719215)
  * Add adt-buildvm-ubuntu-cloud: This tool downloads an Ubuntu cloud image
    and configures it for autopkgtest. See its manpage for how to use it.
  * adt-run: Stop using a $TMPDIR for package builds. It's unnecessary
    overhead, and causes problems with dpkg-deb if it is on e. g. a 9p file
    system.
  * Allow the virt-server argument to be given without the common "adt-virt-"
    prefix, for brevity. Update the manpage accordingly, and also move
    virt-server into its own heading instead of burying it in the middle of
    "other options".
  * tests: Show stderr output if adt-run unexpectedly fails.
  * Fix endless recursion when an error happens during resetting apt.
  * tests: Fix skip message if no container is given; it does not need to be
    an Ubuntu cloud container any more.
  * Add tools/adt-build-lxc: Script to create or upgrade a Debian/Ubuntu
    container, suitable as a daily cron (or Jenkins) job. Not shipped in
    package for now.
  * Allow --setup-commands to be given multiple times.
  * Add -U/--apt-upgrade option to run apt-get update/dist-upgrade before
    running the test.
  * Add --apt-pocket <pocket> option to create an additional apt source for
    release-pocket.

 -- Martin Pitt <mpitt@debian.org>  Mon, 17 Feb 2014 21:00:58 -0800

autopkgtest (2.7.2) unstable; urgency=medium

  * debian/copyright, CREDITS: Bump copyright year.
  * Eliminate lib/Autopkgtest.py, use pipes.quote() instead of shellquote_*().
  * Drop doc/README.schroot-setup. Using LVM for schroot overlays is not
    recommended as it is too slow and also too hard to set up. You should
    rather use overlays or unpacked tarballs on tmpfs. Adjust
    adt-virt-schroot.1 to point to mk-sbuild(1) instead.
  * CREDITS: Remove license information, it does not belong there and we don't
    need that any more as debian/copyright file.
  * adt-testreport-*, adt-openbugs-*: Add warning that these scripts are
    unmaintained and deprecated in favour of http://ci.debian.net, debci,
    and/or jenkins. If you still use them, please mail
    autopkgtest-devel@lists.alioth.debian.org!
  * README.package-tests: Document that @builddeps@ also installs make.
    (Closes: #738129)
  * Add Suggests: for schroot and lxc, and explain those in the package
    description.
  * NullRunner.test_timeout_long_test: Increase (unrelated) build timeout from
    3 to 20 s, to cope with the bit of overhead that dpkg-buildpackage
    introduced.

 -- Martin Pitt <mpitt@debian.org>  Sun, 09 Feb 2014 19:31:34 +0100

autopkgtest (2.7.1) unstable; urgency=medium

  * VirtSubproc.py, command(): Intercept/retry on EAGAIN.
  * runner/adt-run: Robustify cleanup of empty "binaries" output directory, it
    does not always work in __del__().
  * adt-run: Replace direct invocation of "debian/rules build" with
    "dpkg-buildpackage -us -uc -b". dpkg-buildpackage is the de-facto
    interface these days (also on the buildds), and does additional things now
    such as passing build flags or cleaning the package. This also implies
    dpkg-source --before build to apply patches, so remove the explicit call
    to that again. (Closes: #737632)
  * adt-run: If all tests get skipped, but there are some tests, don't claim
    that there are none. (Closes: #737242)
  * adt-run: When expanding @builddeps@, add "make" as test almost always need
    it to call "make installcheck" or similar.
  * Print package version as first adt-run message ("@devel@" when running out
    of source tree).
  * Turn VirtSubproc.Timeout into a proper exception class (RuntimeError).
  * Make VirtSubproc.bomb() useful outside the mainloop, so that we can
    use it in utility functions that are used outside of runners.
  * VirtSubproc: Add a "timeout" context manager which plumbs timeout_start(),
    timeout_end() and bomb() (if an exit message is given) or a Timeout
    exception (otherwise) together in the right way, for convenience.

 -- Martin Pitt <mpitt@debian.org>  Fri, 07 Feb 2014 14:52:42 +0100

autopkgtest (2.7) unstable; urgency=medium

  * adt-virt-lxc: Drop all the file-based checks for container bootup, and
    replace with "lxc-attach runlevel" to wait until the container booted to a
    numeric runlevel. This greatly simplifies the logic and drops the
    cloud-init requirement so that this runner is now suitable for Debian or
    debootstrap-based Ubuntu containers. (LP: #1273725)
  * adt-virt-lxc.1: Drop --gain-root in notes/example. It's unnecessary
    (adt-run will install fakeroot if missing) and confusing (as it's not
    related to LXC specifically and otherwise not really used/useful).
  * adt-virt-lxc.1: Add example how to create a Debian container, and some
    cleanup of obsolete commentary.
  * adt-virt-lxc: Add -s/--sudo option to run lxc-* commands through sudo; use
    this option if you run adt-run as normal user, but need to run the
    container itself as root (if you use LXC system-level containers).
    This drops the hardcoded sudo commands and thus the dependency on sudo,
    which is more palatable for Debian. (LP: #1273977)
  * adt-virt-lxc: Add -e shortcut for --ephemeral, as this is an option which
    you pretty much always want.
  * adt-virt-lxc.1: Move more important options to the top.
  * adt-virt-lxc: Stop hardcoding the "ubuntu" suggested normal user; instead,
    call "getent passwd" to detect the first user with uid >= 500. Don't
    advertise suggested-normal-user if none exists.
  * adt-run: Rearrange finalizing options and reading capabilities to happen
    after testbed opening. That allows the testbed to determine its full
    capabilities in its open hook.
  * adt-run: Call dpkg-source --before-build for --unbuilt-tree arguments, to
    ensure that patches are applied for "3.0 (quilt)" source trees. This is
    useful to test *-buildpackage source trees where patches don't get
    applied. (LP: #1212208)

 -- Martin Pitt <mpitt@debian.org>  Fri, 31 Jan 2014 11:14:32 +0100

autopkgtest (2.6.1) unstable; urgency=medium

  * adt-virt-lxc: Call lxc-config through sudo as well like all the other LXC
    commands. This fixes running adt-run as user with the LXC runner.
  * adt-run: For copydown(), always chown the testbed files to the non-root
    user (if available). This fixes a "Permission denied" error with the
    schroot or LXC runners and --unbuilt-tree if the source tree has tight
    permissions. (LP: #1266811)
  * Adjust LxcRunner.test_tree_built_binaries to also work with current apt
    (similar to commit 5798b7f for the schroot runner).
  * adt-virt-lxc: Call "sudo test" and "sudo readlink" instead of os.lexists()
    and os.readlink() as recent LXC now makes the default container dir
    /var/lib/lxc not readably by non-users. Fixes running adt-virt-lxc/adt-run
    as user. (LP: #1266809)
  * Add test for --binary with --built-tree.
  * adt-run.1: Clarify and fix some wrong and misleading documentation what
    happens with debs produced by source packages and specified with --binary.
    (LP: #1175557)

 -- Martin Pitt <mpitt@debian.org>  Wed, 29 Jan 2014 06:53:16 +0100

autopkgtest (2.6) unstable; urgency=medium

  New features:
  * Add --apt-source option as an alternative for --source, implied if
    argument is a valid package name. It calls "apt-get source" in the testbed
    instead of using a .dsc from the host, which for the common case of
    testing packages in the actual archive avoids having to manually download
    the source and then copying it into the testbed. This simplifies the
    command line for running tests for a package in the archive to
    "adt-run mypkgname --- adt-virt-[...]".
  * Add --setup-commands option to run things like "apt-get update" or adding
    apt sources after opening the testbed.

  Bug fixes:
  * adt-virt-lxc: Stop assuming that containers live in /var/lib/lxc/; ask
    lxc-config about the root path instead.
  * Only reset the test bed after the build stage if builds actually happened.
  * Reset the test bed after running a test group, to avoid an unnecessary
    setup if there is just one test.
  * Don't put an empty "binaries" directory into the output directory.

  New test cases:
  * --timeout handling.

 -- Martin Pitt <mpitt@debian.org>  Thu, 23 Jan 2014 17:19:11 +0100

autopkgtest (2.5.6) unstable; urgency=medium

  * Adjust "su" calls to explicitly specify /bin/sh as shell, as recent
    base-passwd disables them now for system users. (Closes: #734740)

 -- Martin Pitt <mpitt@debian.org>  Thu, 09 Jan 2014 15:21:44 +0100

autopkgtest (2.5.5) unstable; urgency=medium

  * Test that the schroot runner installs packages with --user, and that it
    runs the tests as root with --user if the test has a "needs-root"
    restriction. (Related to #728304)
  * adt-virt-schroot: Add suggested-normal-user capability to the calling user
    (unless that's root), so that tests are run as user by default.
    (Closes: #728304)
  * Add support for virtual "@builddeps@" test dependency, which will be
    replaced with the package's B-D and B-D-I. Document in
    doc/README.package-tests. (Closes: #720458)

 -- Martin Pitt <mpitt@debian.org>  Wed, 25 Dec 2013 21:12:38 +0100

autopkgtest (2.5.4) unstable; urgency=medium

  * Only clean up binary if we built them ourselves. adt-run previously
    removed debs specified with --binary.

 -- Martin Pitt <mpitt@debian.org>  Thu, 19 Dec 2013 16:18:03 +0100

autopkgtest (2.5.3) unstable; urgency=low

  * Drop hosts/ and {onepackage,ubuntu}-config example files; these scripts
    haven't been used nor maintained in years, and we won't need them anytime
    soon. Ubuntu does, and Debian plans to drive autopkgtest from britney
    and/or Jenkins, not from cron.
  * Move adt-testreport-* scripts and manpages into autopkgtest-xenlvm
    package, as they require the xen runner.
  * tests/run-parallel: Immediately stop on pep8/pyflakes errors.
  * Adjust SchrootRunner.test_tree_built_binaries test to also work with
    current apt.
  * Always write UTF-8 to stdout and summary stream, to avoid
    UnicodeEncodeError crash when running in a C locale. (LP: #1259529)
  * tests/pyflakes: Always use pyflakes, not pyflakes3, as the latter doesn't
    get along with non-ASCII strings when running under a non-UTF-8 locale (as
    in sbuild).

 -- Martin Pitt <mpitt@debian.org>  Wed, 11 Dec 2013 08:45:07 +0100

autopkgtest (2.5.2) unstable; urgency=low

  * virt-subproc/adt-virt-lxc: Fix PEP-8 error.
  * Explicitly kill the logging tee processes, for backwards compatibility
    with Python 2.6.
  * Avoid assertNotRegex() in test suite as it isn't yet available in Python
    3.1.
  * Skip dependency version check instead of crashing if python-debian does
    not provide NativeVersion() (for wheezy/lucid).
  * Fix some minor PEP-8 errors.

 -- Martin Pitt <mpitt@debian.org>  Fri, 29 Nov 2013 18:07:09 +0100

autopkgtest (2.5.1) unstable; urgency=low

  * adt-virt-lxc: Drop some dead code.
  * Fix ownership of test tree with --user option.

 -- Martin Pitt <mpitt@debian.org>  Tue, 26 Nov 2013 10:43:30 +0100

autopkgtest (2.5) unstable; urgency=low

  Behaviour changes:
  * Drop --output-dir option. It has never really been useful as it only works
    for paths in the testbed, has a confusing semantics, is redundant with
    --tmp-dir, and currently even crashes adt-run. (Closes: #729790)
  * Rename --tmp-dir option to --output-dir, as its main purpose is really to
    collect test artifacts. Keep --tmp-dir alias for backwards compatibility.
  * Drop --override-control option. It complicates the code too much for its
    very limited utility, and it was not even documented in the manpage.
  * Drop --paths-testbed (and thus also --paths-host) options. There is no
    use case for them.
  * Add short options for common command line options: -B for
    --no-built-binaries, -o for --output-dir, -l for --log-file,
    -u for --user.
  * Clean up uninteresting files from --output-dir directory.
  * Tests which want to create additional artifacts can now put them into the
    $ADT_ARTIFACTS directory. When using the --output-dir option, they will be
    copied into <outputdir>/artifacts/. Document this new feature in
    README.package-tests. (LP: #1137763)

  Packaging changes:
  * Drop obsolete autodebtest Conflicts/Replaces.
  * Update copyright years.
  * Bump Standards-Version to 3.9.5. No changes necessary.
  * CREDITS: Add myself.
  * Makefile: Support $DESTDIR, like automake.
  * Adjust sharedir* defaults in settings.make to what we actually want, and
    drop their overrides in debian/rules
  * Move debian/rules to using dh.
  * Add ./run-from-checkout script to run adt-run from the git checkout or
    source package. Change tests/adt-run to use it.
  * Add tests/run-parallel to run tests for different runners in parallel.

  Bug fixes:
  * Fix OSError crash if --output-dir/--tmp-dir does not exist.
    (Closes: #729791)
  * Pass line number to Test constructor argument, to be able to report proper
    errors instead of crashing. (side issue in #698551)
  * Fix exit code for "Unsupported" error.
  * When encountering an unsupported test, report only this test as skipped,
    not all the others in the same "Tests:" stanza.
  * README.package-tests: Test names must not contain '/'. (Closes: #698551)
  * Create manpage for adt-virt-schroot. (first half of #695974)
  * Fix "su: must be run from a terminal" failure when running as user and
    testbed doesn't provide root-on-testbed. (Closes: #648148)
  * Add bandaid to avoid mixing order of stdout and stderr in the log file
    when reporting results.

  Code cleanup:
  * Simplify logging by dropping the explicit functions for writing to stderr
    plus log, and instead set up pipes so that the whole stdout/stderr will be
    tee'd into the logfile.
  * Replace the usage of the AutoFile classes (which are underdocumented,
    magic, and hard to understand) with a more explicit and much simpler
    TestbedPath class.
  * Stop installing the redundant /etc/apt/apt.conf.d/90autopkgtest into
    testbeds, and simplify invocation of apt-get.

  New test cases:
  * Access /dev/std{out,err} in a non-root test, like the "mafft" autopkgtest
    does.
  * --log-file test cases for chroot and schroot runners.
  * schroot and LXC runner test cases for installing built binaries.
  * --output-dir in schroot runner with complete package build.
  * Recommends do not get installed by default.
  * Test case with '/' in the name.
  * --user option for schroot and null runners.
  * breaks-testbed restriction for all runners.

 -- Martin Pitt <mpitt@debian.org>  Mon, 25 Nov 2013 07:31:22 +0100

autopkgtest (2.4) unstable; urgency=low

  * Add adt-virt-lxc test runner, many thanks to Robie Basak for this! This
    runner provides "revert" and "revert-full-system" capabilities which is
    useful for packages which have the "breaks-testbed" restriction and
    multiple tests. For the time being this only works with the ubuntu-cloud
    template; support for general debian/ubuntu containers requires an
    lxc-wait mechanism ("did the container finish booting?") and getting along
    with the different user setups (debian using "root",  ubuntu using an
    "ubuntu" user with sudo capabilities).
  * Add tests for adt-virt-lxc.
  * Code cleanup to slightly improve readability:
    - Drop two-letter aliases for methods.
    - Consistent usage of quotes.
    - Drop orphaned/unnecessary globals.
    - Consistent logging methods/object names, add some docstrings.
  * Install fakeroot into testbed for "build-needed". Thanks Jean-Baptiste
    Lallement! (Closes: #726714, LP: #1241456)
  * Create testtmp directory with 0755 permissions to fix failure with tight
    umasks. Thanks Arthur de Jong! (Closes: #728057)
  * Allow test control Depends: to have a trailing comma. Thanks Jean-Baptiste
    Lallement for the patch!
  * Make test stdout re-appear in --log-file file for realtime output.

 -- Martin Pitt <mpitt@debian.org>  Mon, 28 Oct 2013 11:25:30 +0100

autopkgtest (2.3.8) unstable; urgency=low

  * Skip ChrootRunner test if running under cowdancer, as chrooting in
    cowdancer doesn't work.
  * Fix endless bomb/stop loop if the virt runner fails and exits
    unexpectedly.
  * adt-virt-schroot: Add some debugging output of the schroot config.
  * Fix OSError crash with real-time output when running adt-run as non-root
    on the host, and the runner bind-mounts /tmp (such as -schroot), in which
    case the temporary runner dir isn't accessible to the host. This is a
    quickfix, eventually we should make real-time output work properly in this
    situation.
  * Show stderr also for non-zero exit codes.
  * Restrict live stdout/stderr to the null virt runner for now, as it does
    not work properly with the schroot runner even if /tmp gets bind-mounted.
  * Add tests for the schroot runner. Ad building a schroot would be too
    expensive for a test, use an existing schroot if $ADT_TEST_SCHROOT is set,
    otherwise skip the tests.
  * Show stderr for all non-null runners with "allow-stderr".

 -- Martin Pitt <mpitt@debian.org>  Wed, 16 Oct 2013 14:55:39 +0200

autopkgtest (2.3.7) unstable; urgency=low

  * tests/adt-run: Factorize a base test class with common functionality.
  * lib/VirtSubproc.py, downtmp_mktemp(): Create temporary directory in the
    target (which isn't the host for anything but the null runner), to fix the
    schroot/chroot runners for directories.
  * Only show stdout/stderr in realtime if tests run in the same file system
    as the host, as otherwise we cannot create/use a named pipe. If not, fall
    back to the old way of just showing the complete stdout/stderr after the
    tests finished. (LP: #1235189)
  * Add some test cases for adt-virt-chroot.
  * Add new --timeout-copy option to make copy timeout configurable. Pass that
    down to adt-virt-* via the environment ($ADT_VIRT_COPY_TIMEOUT).
    (LP: #1200693)
  * Fix tests to also work with Python 3.1.
  * tests/testpkg: Go back to compat level 7 so that this also works on older
    Debian/Ubuntu releases.

 -- Martin Pitt <mpitt@debian.org>  Tue, 08 Oct 2013 18:55:33 +0200

autopkgtest (2.3.6) unstable; urgency=low

  * Always kill the tee children after a test finishes, to avoid race
    condition when they get stuck in a read() call which doesn't return with
    "no data".
  * Fix pyflakes failure on older Debian/Ubuntu releases.
  * Fix PEP-8 errors.

 -- Martin Pitt <mpitt@debian.org>  Thu, 26 Sep 2013 13:12:11 +0200

autopkgtest (2.3.5) unstable; urgency=low

  * Don't show source_rules_command() "set -x" trace unless running with -d.
  * Kill the tee child process if the testbed bombs out (e. g. due to a
    timeout), to avoid hanging eternally. Add test case for --timeout-test
    handling.
  * Add test case for --summary option.

 -- Martin Pitt <mpitt@debian.org>  Wed, 25 Sep 2013 08:51:21 +0200

autopkgtest (2.3.4) unstable; urgency=low

  * Add tests/testpkg/: Simple source package for testing autopkgtest.
  * Add tests/adt-run: Automatic regression tests for adt-run, covering/using
    the null runner.
  * Add debian/tests: autopkgtest for autopkgtest, using tests/adt-run.
  * Make topmost temporary directory group/world-readable and make $ADTTMP
    have appropriate 1777 permissions so that users other than root can
    actually use it. (Closes: #722458)
  * Don't clip first stderr line to 35 characters in summary. (Side issue in
    #722457)
  * Don't show shell tracing of script that creates the temporary directories.
  * Move unimportant messages to debug level 1, to not clutter up default
    output so much.
  * Drop unnecessary "trace: " from adt-run debug/progress lines.
  * Show stdout/err of the running tests in realtime, which is much nicer for
    watching. Don't split that realtime output, so that stderr messages appear
    in the right context. Show separate stderr if and only if the allow-stderr
    restriction is not set and there is stderr output. (Closes: #722457)
  * For tests with "build-needed", actually run the tests in the built
    directory, not in the original unbuilt tree. (Closes: #711209)
  * Fix various unknown and unused symbols throughout the source, spotted by
    pyflakes.
  * Add tests/pyflakes: Run pyflakes over source and test code.
  * Add tests/pep8: Run pep8 over source and test code.
  * Support empty "Depends:" test control field, installing no dependencies in
    that case.
  * README.package-tests: Point out that you can use upper-case test names as
    well. Update test_tree_tmp_dir() test to use these, to ensure it stays
    working. (Closes: #711844)
  * Some code cleanups:
    - Don't rename modules on import.
    - Format to be PEP-8 compliant.
    - Rename first argument of methods to "self", as that's the wide
      convention, gets rid of some single-letter variable names, and makes it
      a bit easier to see which variables refer to foreign objects.
  * Run tests/pep8 and tests/pyflakes during package build.

 -- Martin Pitt <mpitt@debian.org>  Mon, 23 Sep 2013 14:44:13 +0200

autopkgtest (2.3.3) unstable; urgency=low

  * runner/adt-run: Drop "errors" keyword from decode() call to fix
    compatibility with earlier Python versions. Thanks Christoph Berg.
  * adt-run: Fail tests if they exit with nonzero if "allow-stderr"
    restriction is set. Thanks Robie Basak! (LP: #1210503)

 -- Martin Pitt <mpitt@debian.org>  Mon, 09 Sep 2013 15:49:52 -0400

autopkgtest (2.3.2) unstable; urgency=low

  * runner/adt-run: Fix "allow-stderr" restrictions to still report success,
    so that this gets into the summary.log.

 -- Martin Pitt <mpitt@debian.org>  Fri, 26 Jul 2013 12:41:07 +0200

autopkgtest (2.3.1) unstable; urgency=low

  * adt-run: Support older python-debian versions whose module was still
    called "debian_bundle". (Closes: #717191)
  * runner/adt-run: Correctly re-raise exception on some register failure
    errors. Thanks Robie Basak!
  * runner/adt-run: Short-circuit publishing if there are no registered built
    binaries. This is the step that takes by far the longest time for short
    tests, and thus speeds up test running significantly.
  * runner/adt-run: Set DEBIAN_FRONTEND=noninteractive for installing build or
    test dependencies, too. Thanks Robie Basak! (LP: #1204989)

 -- Martin Pitt <mpitt@debian.org>  Fri, 26 Jul 2013 08:02:35 +0200

autopkgtest (2.3) unstable; urgency=low

  * runner/adt-run.1: Fix bad "affect modify" wording. (LP: #1199500)
  * Drop hosts/chinstrap. We haven't actually used this in many years, it has
    been replaced with https://launchpad.net/auto-package-testing, Jenkins,
    and blocking migration to release until tests pass. (LP: #381210)
  * Promote apt-utils from Recommends to Depends:, to avoid test failures due
    to not finding apt-ftparchive. (LP: #1065874)
  * Promote pbuilder from Recommends: to Depends:, as we always call
    pbuilder-satisfydepends-classic. (LP: #1065874)
  * runner/adt-run: Stop explicitly checking for $HOME (with broken error
    message) when giving --gnupg-home, use os.path.expanduser() instead.
    (LP: #1065873)
  * runner/adt-run: Fix timeout --help output.
  * runner/adt-run: Fix bomb() to clean up the testbed before removing it.
    Afterwards (in cleanup()) we don't have a testbed object any more to run
    commands in. (LP: #1157292)
  * runner/adt-run: Fix UnicodeDecodeError crash if stderr contains non-ASCII
    characters. (LP: #1100283)
  * Add "allow-stderr" restriction for tests where re-routing or disabling
    stderr is impractical. (LP: #1197005)
  * runner-adt-run: Support architecture specifiers in Depends: field.
    (LP: #1165128)
  * runner/adt-run: Remove/fix some unused variables, spotted by pyflakes.

 -- Martin Pitt <mpitt@debian.org>  Fri, 19 Jul 2013 11:58:15 +0200

autopkgtest (2.2.5) unstable; urgency=low

  [ Jean-Baptiste Lallement ]
  * Fix call to atmostone(), so that Tests-Directory: actually works.

 -- Martin Pitt <mpitt@debian.org>  Thu, 11 Jul 2013 06:54:29 +0200

autopkgtest (2.2.4) unstable; urgency=low

  [Jean-Baptiste Lallement]
  * Fix failure with "permission denied" with option --user. Closes: #686292,
    LP: #1084116
  * Use debian.deb822 Python module to parse control files. This fixes parsing
    of folded dependencies. Closes: #695797, LP: #1073856
  * Support versioned dependencies in debian/tests/control.
    Closes: #693540, LP: #1164362

  [ Martin Pitt ]
  * Add myself as a co-maintainer, as per mailing list discussion.
  * Add machine-readable debian/copyright as per current 1.0 standard. Remove
    dynamic creation of debian/copyright from debian/rules.
  * Move from deprecated dh compat level 4 to 8 (supported in squeeze).
  * debian/rules: Use dh_installdocs to install copyright file instead of
    custom shell code.
  * debian/control: Add missing ${misc:Depends}.
  * Bump Standards-Version to 3.9.4.

 -- Martin Pitt <mpitt@debian.org>  Thu, 27 Jun 2013 13:49:25 +0200

autopkgtest (2.2.3+nmu1) unstable; urgency=medium

  * Non-maintainer upload.
  * adt-run: Catch EXDEV.  Closes: #696625.

 -- Christoph Berg <myon@debian.org>  Thu, 31 Jan 2013 10:31:56 +0100

autopkgtest (2.2.3) unstable; urgency=medium

  [ Martin Pitt ]
  * Make `@' in tests' Depends work even if we're not building the
    source tree.  Closes: #678359.  This is an important bugfix.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sun, 08 Jul 2012 23:15:42 +0100

autopkgtest (2.2.2) unstable; urgency=low

  [ Martin Pitt ]
  * Fix hashbang lines to use python instead of python2.6, and update
    debian/control to only depend on python (>= 2.6) instead of python2.6.
    Closes: #644332.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Thu, 28 Jun 2012 01:03:02 +0100

autopkgtest (2.2.1) unstable; urgency=low

  [ Stefano Zacchiroli ]
  * specification: document (XS-)Testsuite source header
    Closes: #679097
  * debian/control: add Vcs-* headers pointing to Alioth Git repository

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Wed, 27 Jun 2012 21:36:56 +0100

autopkgtest (2.2.0) unstable; urgency=low

  * Provide tests with ADTTMP rather than TMPDIR.

    Well, actually, that's just according to the spec.  In reality, for
    backward compatibility, we provide each test script with both (pointing
    to different directories so that tests don't need to worry about
    possible filename clashes between ADTTMP and TMPDIR).

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Fri, 15 Jun 2012 02:05:54 +0100

autopkgtest (2.1.0) unstable; urgency=low

  Bugfixes:
  * Remove our strange apt config on exit.
    Partial fix to #648142, from Timo Lindfors.
  * Suppress apt-listbugs and apt-listchanges.  Michael Prokop.
  * Fix parsing of "@" dependencies.  Colin Watson.  Closes: #667022.
  * Fix NameError re "f" in restriction parsing.
    Martin Pitt.  Closes: #647882.
  * Improve handling of schroot root-users and root-groups.
    Colin Watson.  Closes: #667001.
  * Correctly handle quoting of copyup/copydown filenames.  Fixes
    but where we couldn't cope with packages' filenames containing
    + and ~.  Report from Martin Pitt.  Closes: #648161.

  Documentation fixes:
  * Clarify the spec to say that copyup/down takes encoded filenames.
  * Fix the spec to refer to `breaks-testbed' rather than `breaks-computer'.
    Report from Jakub Wilk.  Closes: #669721.
  * Manpage should refer to `*' in tests file's Depends field, not `@'.
    Report from Jakub Wilk.  Closes: #670648.

  Packaging fixes:
  * Add Recommends against pbuilder, whose dependency resolver adt-run
    uses.
  * Remove runner/tmp on debian/rules clean, and add it to .gitignore,
    for convenience.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Mon, 11 Jun 2012 02:05:49 +0100

autopkgtest (2.0.1) unstable; urgency=medium

  * Bugfixes:
    - Python backtrace (no method "bomb") on bad tests/control syntax.
    - Permit tests/control fields with medial capital letters.
    - Do not duplicate previous stanzas (closes: #637333).
    - Make adt-run --quiet work (closes: #637350).
    - Make "build-needed" restriction work (closes: #637353).
    - Fix a debugging message which was spuriously sent to stderr.
  * Change Maintainer to the new list and move me to Uploaders.

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sat, 27 Aug 2011 11:21:29 +0100

autopkgtest (2.0.0) unstable; urgency=medium

  * Incompatible test declaration spec changes:
     - no-build-needed is now the default; build-needed is a Restriction
       that tests which need it have to declare.
  * Incompatible virtualisation server spec changes:
     - print-execute-command replaced by print-{auxverb,shscript}-command.
     - "revert" capability split into "revert" and "revert-full-system"
  * New adt-virt-schroot for driving schroot.  Sorry, no manpage yet.
  * New README.schroot-setup.
  * Remove dependency on python in testbed.
  * Update python version to 2.6.
  * Spec wording improvements, clarifications, editorial changes, etc.
  * Many bugfixes, including:
    - replace Python string exceptions (closes:#585226).
    - fix some broken formatting in adt-run manpage (closes:#636034).
    - fix adt-virt-chroot for simple chroots (closes:#520066).

 -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Sat, 30 Jul 2011 17:57:27 +0100

autopkgtest (1.2.0~) unstable; urgency=low

  * adt-xenlvm-*: support for swap, defaulting to 5G.
    This will break existing setups with insufficient LVM space.
  * adt-xenlvm-*: allow specification of LVM PVs to use.
  * remove spurious mkdir of empty variable $snap.
  * hosts/magrathea/*: setup as working for initial tests.
  * adt-xenlvm-with-testbed: sleep 1 after xm destroy, which is racy.
  * Fix a few other bugs from deployment in 2008.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Wed, 27 Aug 2008 22:12:13 +0100

autopkgtest (1.1.1~) unstable; urgency=low

  * adt-xenlvm-setup: new hooks for xmdomain config file.
  * hosts/cadmium/update-suppression: really do not install empty file.
  * allow suppresspackages and blacklist lists to contain more
    information after some whitespace
  * adt-openbugs-*: new machinery for working with debbugs.
  * hosts/magrathea/*: work-in-progress configuration
  * Add Recommends against apt-utils.
  * hosts/cadmium/crontab: savelog -c7 not savelog -n7
  * hosts/{cadmium,chinstrap}/crontab: set MAILTO
  * adt-testreport-cronjob: make executable.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Fri, 26 Oct 2007 18:12:32 +0100

autopkgtest (1.1.0) unreleased; urgency=low

  * adt-testreport-runloop: manpage
  * adt-testreport-runloop: better command line parsing
  * adt-testreport-runloop: removed old lalonde junk
  * adt-testreport-runloop: replaced `..._ok' vars with sentinel files
  * hosts/chinstrap/update-suppressions: big comment
  * adt-testreport-runloop: renamed from hosts/cadmium/lalonde-nightly
  * hosts/cadmium/onepackage-config: set PATH (was in lalonde-nightly)
  * adt-testreport-onepackage: many manpage improvements
  * adt-testreport-runloop: add to Makefile
  * hosts/* installed as examples with a big fat warning.
  * adt-testreport-cronjob: renamed from hosts/cadmium/cronjob
  * adt-testreport-runloop: copyright message.
  * cfg and adt-testreport-runloop: do not cd in config files.
  * adt-testreport-runloop: fix handling of test_classes (was xoptslist)
  * hosts/cadmium/*, debian/rules: onepackage_config renamed to cfg.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 18 Oct 2007 17:17:31 +0100

autopkgtest (1.0.9) unstable; urgency=low

  * Separate email_sourcepackage_header and email_binarypackage_header
    to allow us to properly file bugs in LP against binary packages built
    from differently-named sources.
  * adt-testreport-onepackage: Dump a logfile giving the scores and facts
    used for package selection.
  * adt-testreport-onepackage: Do not prefer packages whose source package
    is listed in the suppressions file.
  * hosts/cadmium/manual-test-one-binary: new testing script.
  * hosts/cadmium/onepackage-config: explain about archive skew.
  * adt-testreport-onepackage: nicer score logging re skip chars.
  * adt-testreport-onepackage: skip emails if _source_ is suppressed.
  * adt-testreport-onepackage etc.: new blacklist feature, and initially
    blacklist ltsp-client{,-core}.
  * adt-testreport-onepackage: limit log to 64K (32K head, 32K tail)
    to avoid humungous bug reports which LP silently discards.
  * hosts/cadmium/lalonde-nightly: check for testbed sentinel file
    and stop if not present.

 -- Ian Jackson <iwj@ubuntu.com>  Thu, 18 Oct 2007 11:56:51 +0100

autopkgtest (1.0.8) gutsy; urgency=low

  * adt-run: pass -o Debug::pkgProblemResolver=true to apt & gdebi;
    this improves dependency problem reporting.  (LP: #135581.)
  * adt-testreport-onepackage: seddery the log to remove ctrl chars.
    In particular, this gets rid of ^M's from apt which get corrupted
    by email transport and thus break the email signatures.
  * hosts/chinstrap/update-suppressions: pass -S to curl.
  * hosts/{chinstrap,cadmium}/install-on-*: use --ubuntu branch.

 -- Ian Jackson <iwj@ubuntu.com>  Wed, 19 Sep 2007 15:44:33 +0100

autopkgtest (1.0.7) gutsy; urgency=low

  * Build properly with debian/copyright.

 -- Ian Jackson <iwj@ubuntu.com>  Tue, 28 Aug 2007 18:16:35 +0100

autopkgtest (1.0.6) unstable; urgency=low

  * Better changelog for 1.0.4.
  * .bzrignore debian/copyright.

 -- Ian Jackson <iwj@ubuntu.com>  Tue, 28 Aug 2007 18:08:46 +0100

autopkgtest (1.0.5) gutsy; urgency=low

  * Generate debian/copyright file in source package.

 -- Ian Jackson <iwj@ubuntu.com>  Tue, 28 Aug 2007 18:01:16 +0100

autopkgtest (1.0.4) gutsy; urgency=low

  * adt-testreport-onepackage:
    - Handling of source packages' Architecture: field corrected
      so package selection works properly.
    - Use ln -f when installing summary.
    - Capability to suppress emails similar to ones already sent.
    - Launchpad bug filing including PGP-signing, `affects' line, etc.
    - Capability to suppress email for packages listed in a
      suppression file.
    - Better formatting and explanations in some emails.

  * adt-run:
    - Options for setting timeouts.
    - Increase default timeouts 100s, 3ks, 10ks, 100ks.

  * hosts/chinstrap/*:
     Screen-scrape Launchpad to get existing bugs and generate a suitable
     suppression file so we file a bug iff there isn't one already.

  * hosts/cadmium/*:
     New directory for convenience scripts etc on Canonical buildd.

 -- Ian Jackson <iwj@ubuntu.com>  Tue, 28 Aug 2007 17:42:13 +0100

autopkgtest (1.0.3) unstable; urgency=low

  * Set LANG to C by default for commands (eg builds and tests) run on
    testbed, and make this configurable.
  * Make builds work again: Fix `cd *' in work.write (broken by
    inclusion of `tmpdir' in that directory).
  * adt-testreport-onepackage has better reporting for DC-running.
  * Fix handling of non-.deb-producing source packages (eg, ones
    which produce only .udebs).

 -- Ian Jackson <iwj@ubuntu.com>  Mon, 16 Jul 2007 17:18:03 +0100

autopkgtest (1.0.2) unstable; urgency=low

  * xenlvm command-line settings properly override config file
    settings everywhere.
  * Default value for adt_distro computed in time to be used for
    default value for adt_play.
  * Close fd 4 for lvm tools too (suppresses daft `File descriptor
    left open' message).
  * Change default lvm lv sizes and make documentation correspond
    to reality.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Fri, 13 Jul 2007 15:31:58 +0100

autopkgtest (1.0.1) unstable; urgency=low

  * adt_debootstrap_opts mentioned in README and passable on
    command lines, instead of unused adt_pbuilder_args.
  * Dependency on pbuilder fixed; we use debootstrap, not pbuilder.

 -- Ian Jackson <iwj@ubuntu.com>  Thu, 12 Jul 2007 16:54:47 +0100

autopkgtest (1.0.0) gutsy; urgency=low

  * Locking: <play>.lock (unlinkable fcntl style) plus <play>/good
    sentinel file.  This will avoid conflicts between simultaneous calls
    to with-testbed and setup (and others).  The `with' mode of the userv
    target is enhanced so that the caller can take out the lock and hold
    it will starting and discarding the testbed more than once.

 -- Ian Jackson <iwj@ubuntu.com>  Thu, 12 Jul 2007 15:01:35 +0100

autopkgtest (0.9.2) unreleased; urgency=low

  * Really discard stderr from our ought-to-be-unnecessary
    modprobe dm-snapshot.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 12 Jul 2007 14:31:20 +0100

autopkgtest (0.9.1) gutsy; urgency=low

  * autopkgtest-xenlvm declares that it Depends on dmsetup.
  * Discard stderr from our ought-to-be-unnecessary modprobe dm-snapshot.
  * New `console' mode for userv service.
  * Move README.userv to autopkgtest-xenlvm package (and hence to
    /usr/share/doc/autopkgtest-xenlvm).
  * Do not mind if directory named by adt_modules doesn't exist - in
    that case just don't copy any modules.
  * Attempt to install libc6-xen in fixups-inside, rather than instructing
    debootstrap to install it.  This makes us not mind if it's missing.

 -- Ian Jackson <iwj@ubuntu.com>  Thu, 12 Jul 2007 09:50:13 +0100

autopkgtest (0.9.0) gutsy; urgency=low

  New features:
  * userv service for testbed invocation now provided and
    at least somewhat tested, and usable by adt-virt-xenlvm.
  * New print-execute-command command for virtualisation servers.
  * New adt_sshauthkeys_hook config variable.
  * pass count= to dd for erasure when lvm_erasebase=true.

  Bugfixes:
  * Fix filename pattern bug which can prevent automatic keypair
    generation (false claim that privkey and pubkey do not match).
  * Do not demand vg or distro information for initscript to work.
  * export adt_* variable settings resulting from command-line
    arguments so that subprocesses get them properly, and arrange
    for the `defaults for simple settings' not to override environment
    variables.
  * suppress various variable settings' default computations (and
    consequent failure if the default can't be established) when
    processing config for the initscript.  The initscript does not
    need per-testbed configuration options.
  * close fd 8 when running vgdisplay (which avoids an annoying and
    spurious warning from the lvm tools).

  Packaging:
  * autopkgtest-xenlvm now Recommends: lvm2 and debootstrap.
  * autopkgtest Suggests curl (adt-testreport-onepackage needs it).

  Portability:
  * Check for udev persistent-net-generator and if enabled we
    write a rune for eth0 for guest_macaddr into the RULES_FILE
    specified in /lib/udev/write_net_rules.  (Needed for gutsy.)
  * Remove iwj-specific stuff from adt-testreport-onepackage and put
    it into onepackage-config with scary warnings to tell people to
    edit the file.

  Documentation:
  * ip forwarding warning clarified.
  * README documentation of default value for erasebase corrected.

 -- Ian Jackson <iwj@ubuntu.com>  Tue,  3 Jul 2007 14:58:56 +0100

autopkgtest (0.8.2feisty1~iwj) feisty-updates; urgency=low

  * Fix readconfig.in to set adt_$var rather than just $var.
  * Use fd 8 for readconfig stdout parking rather than fd 10, to avoid
    Debian #423400 (bash bug).
  * Truncate files when writing them (copyup, copydown, etc) (!)
  * Remove spurious \ from `do not know how to handle filename' message.
  * Reset signal handlers in VirtSubproc cleanup.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Thu, 17 May 2007 15:11:31 +0100

autopkgtest (0.8.2) gutsy unstable; urgency=low

  * Fix fd handling to work around Python's habit of closing files
    you specify in subprocess.Popen.
  * Error handling bugfixes: say except (IOError,OSError) everywhere
    rather than just one of those two; correct harmless bug in gpg key
    generation error handling.
  * Make adt-virt-null work properly (VirtSubProc runs `down' with
    a single argument, so down must be sh -c and not []).
  * In VirtSubProc close spurious copy of plumbing pipe, which prevents
    certain hangs during error situations.
  * Xen cleanup script runs dmsetup info / dmsetup remove several times
    with some sleeps because xm destroy is not properly instantaneous.
  * Fix handling of pre-built source trees.
  * Fix cleanup handling not to delete tmpdir before resetting testbed's
    apt.

 -- Ian Jackson <ian@davenant.greenend.org.uk>  Fri, 27 Apr 2007 16:06:15 +0100

autopkgtest (0.8.1) feisty; urgency=low

  * Call dmsetup remove repeatedly instead of messing with udevsettle.
    udevsettle doesn't always help with the dmsetup remove race.

 -- Ian Jackson <iwj@ubuntu.com>  Wed,  4 Apr 2007 18:04:38 +0100

autopkgtest (0.8.0) feisty; urgency=low

  * adt-run: new --instantiate option to allow package installation to be
    forced for testing.  (This is not an ideal approach - it's not very
    flexible - but works well enough for the current requirements.)
  * adt-testreport-onepackage: new ability to test binary as well as
    source packages, using new --instantiate option.
  * new `timeout=' option on `execute' virt server command.
  * set some default timeouts (these should be settable with options,
    really).
  * Default kernel image guesser is more sophisticated - now we look
    for something that looks like a Xen kernel rather than guessing
    from the filename since the filenames seem unstable.
  * Default setting for adt_fw_allowglobalports is none.
  * Set DEBIAN_FRONTEND=noninteractive.
  * Run udevsettle after xm destroy but before dmsetup remove.
  * Run sendmail -odi not -odq in adt-testreport-onepackage.
  * Longer timeouts by default.
  * Print `adt-run: trace' for trace output.
  * Show all apt stdout (including dpkg stdout) in contemporaneous trace.

 -- Ian Jackson <iwj@ubuntu.com>  Tue,  3 Apr 2007 20:08:13 +0100

autopkgtest (0.7.2) feisty; urgency=low

  * adt-testreport-onepackage: new management script, with some
    example config files onepackage-config and ubuntu-config.
  * Fixed quite a few bugs in adt-run.
  * Made adt_distro xenlvm config var settable.
  * Fixed various packaging problems.

 -- Ian Jackson <iwj@ubuntu.com>  Thu,  8 Mar 2007 14:54:33 +0000

autopkgtest (0.7.1) feisty; urgency=low

  * Actually ship README.* files.
  * Manpage for adt-virt-xenlvm.
  * New adt-virt-null.

 -- Ian Jackson <iwj@ubuntu.com>  Mon, 26 Feb 2007 16:34:41 +0000

autopkgtest (0.7.0) feisty; urgency=low

  * Many new features, including:
    - Xen virtualisation service works
    - Can build packages as necessary
    - Many bugfixes.
    - Documentation (moved from the wiki).

 -- Ian Jackson <iwj@ubuntu.com>  Thu, 22 Feb 2007 20:10:30 +0000

autopkgtest (0.6.1) edgy; urgency=low

  * autopkgtest-xenlvm: filter output from debootstrap to make
    the amount of output more reasonable.  set -o pipefail.
    Create a timestamp file on image creation.  Warn if ipv4
    forwarding is turned off.
  * Add missing file `xen/justconfig' to bzr.
  * Fix typo in usage message in adt-virt-chroot.

 -- Ian Jackson <iwj@ubuntu.com>  Wed, 11 Oct 2006 15:42:18 +0100

autopkgtest (0.6.0) edgy; urgency=low

  * autopkgtest-xenlvm: new package with Xen/LVM management
    scripts productised.  Not yet glued into autopkgtest proper.

 -- Ian Jackson <iwj@ubuntu.com>  Fri,  6 Oct 2006 20:45:41 +0100

autopkgtest (0.5.3) dapper; urgency=low

  * Rename package autodebtest => autopkgtest.
  * Remove a leftover debugging print from adt-virt-chroot.

 -- Ian Jackson <iwj@ubuntu.com>  Tue,  7 Feb 2006 18:02:08 +0000

autodebtest (0.5.2) dapper; urgency=low

  * New --output-dir option to adt-run.
  * Bugfixes (including new mandatory cwd argument to `execute'
    virt server command).

 -- Ian Jackson <iwj@ubuntu.com>  Thu,  2 Feb 2006 19:44:18 +0000

autodebtest (0.5.1) dapper; urgency=low

  * Manpages and minor fixes.

 -- Ian Jackson <iwj@ubuntu.com>  Tue, 24 Jan 2006 18:37:46 +0000

autodebtest (0.5.0) unstable; urgency=low

  * Initial release of (still largely proof-of-concept) automatic binary
    package testing framework.

 -- Ian Jackson <iwj@ubuntu.com>  Fri, 20 Jan 2006 17:56:55 +0000
