autopkgtest (3.6jessie1) testing; urgency=medium

  [ Christian Kastner ]
  * 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)
  * 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 ]
  * adt-setup-vm: Check guest's /etc/network/interfaces for existing eth0
    instead of host's, when specifying a directory argument. (Spotted as a
    side issue in #775076)

 -- Martin Pitt <mpitt@debian.org>  Wed, 14 Jan 2015 20:34:34 +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
    compatiblity.
  * 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 commends 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.
  * Explicity 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 "specifiy" 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
    capablities 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 acual 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 compatibity, 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 suppresed.
  * 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 useable 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
