remove duplicate entry
Merge remote branch 'andreas/feature/588313-diversion-checks' into develop
45min should be enough for any process to complete ;-)
lower the bar for 0.42
templates for filing bugs are now part of piatt.git
reremove
README and TODO updates
changelog updates

add more bugs to be closed, reshuffle and clarify

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
add a 'status' command to the master/slave protocol

* returns a string of all package states and the number of
  packages in that state
* should only be used after uploading logs so that they are taken
  into account when computing the package states

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
reload section config each time the section is run

allows to change the config without restarting the slave, e.g.
to adjust buffer size or precedence level

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
use apt-get remove; remove/purge all packages at once

Removing packages with dpkg one-by-one does not respect dependencies
and may fail e.g. when Pre-Depends are involved.  Therefore use
  apt-get remove   on all packages in one run to reorder them properly.
apt-get purge can't be used because it fails on unknown packages (i.e. not
in the archive and not in config-files-remaining state). See #637853.
Also apt-get in lenny is not able to properly purge packages in
config-files-remaining state.
But we can purge all packages in one dpkg call.

The remove_or_purge() method is replaced by two new methods
remove_packages() and purge_packages().

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
add PIUPARTS_TEST and PIUPARTS_PHASE to the environment

add the PIUPARTS_TEST and PIUPARTS_PHASE variables with values
'install', 'upgrade', or 'distupgrade' to the environment so that
the pre/post_install_* hook scripts know where they are being run

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
add PIUPARTS_DISTRIBUTION to the environment

Make the current distribution available to the custom scripts in
the PIUPARTS_DISTRIBUTION environment variable. For the
distupgrade tests, make PIUPARTS_DISTRIBUTION_NEXT and
PIUPARTS_DISTRIBUTION_PREV available to pre_distupgrade_* and
post_distupgrade_*.

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
remove pre_upgrade_ hook scripts

remove the pre_upgrade_ scripts, they can be replaced by
pre_install_ scripts that check for PIUPARTS_PHASE=upgrade

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
add pre_test_ hooks

Add a pre_test_* hook at the beginning of each test that is run
after taking the metadata snapshot.
Cleanup can be performed in post_remove_ or post_purge_.

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
allow multiple --scriptsdir options

content of the directories will be merged together in the chroot,
files with same name in later dirs will overwrite earlier ones,
script execution order is the ordering of the file names

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
exclude /tmp/scripts from tarball

exclude /tmp/scripts from the tarball to allow the tarball to be used with
different custom scripts later on - they will be copied over later anyway,
but the old ones won't be removed

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
use tar --one-file-system

instead of setting explicit excludes for /proc, use
  tar --one-file-system ...
to exclude other mountpoints (from --bindmount) in addition to /proc
(does not work if --bindmount and --tmpdir are on the same filesystem,
causing it to include a useless copy of the bindmount's content in the
tarball which is currently done for all bindmounts)

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
add remove_temp_tgz_file() method

add remove_temp_tgz_file(), the counterpart to create_temp_tgz_file()

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>
limit the scope the temp_tgz exists

simplify the temp_tgz handling, limit the scope where it exists
add note where to use it for restore
print whe notice about --end-meta a bit earlier and only if applicable

Signed-off-by: Andreas Beckmann <debian@abeckmann.de>