piuparts (0.45) unstable; urgency=low

  [ Holger Levsen ]
  * Merge piatti.git into piuparts.git, so that piatti.git has become obsolete
    now. Update documentation accordingly.
  * Further split packaging into piuparts-master, piuparts-slave and
    piuparts-common binary packages (Closes: #585861) and cleanup
    dependencies.
  * Update piuparts.NEWS about master+slave packages.
  * Switch to debhelper8 packaging.
  * debian/copyright: use versioned URI of the machine-readable copyright file,
    thanks lintian.
  * Move /etc/sudoers.d/piuparts to piuparts-slave package.
  * piuparts-master: depend on tango-icon-theme and drop sunny.png and
    weather-severe-alert.png and use links instead.
  * Reviewed and merged/cherry-picked all of the following changes.

  [ David Steele ]
  * Remove debian/postinst as it was only dealing with lenny time area
    configuration files.
  * Added server configuration files for apache, sudo, and cron.
  * Use dh_install, in preparation for multiple package build.
  * Added packaging to create the piuparts-server package out of the old
    piatti directory tree (Closes: #652934).
    - Create and configure piupartss and piupartsm users.
    - Coordinate ssh keys between master and slave users.
    - Create working directory tree for each under /var/lib/piuparts
  * packagesdb.py:
    - Calculate recursive reverse dependency count, and store in PackagesDB.
    - Calculate the count of packages being blocked by a failed package.
  * piuparts-report.py:
    - Release Section object when section processing is complete.
      (Closes: #673919)
    - Display reverse dependency counts and block counts to failure summaries.
    - Sort the failed-testing and cannot-be-tested summaries by block count.
      (Closes: #674498)
    - Replace O(n^2) search in remove_old_logs() with a hash
      piuparts-report run time improved 20% on mature environment.
    - Another search fix in create_package_summaries (find_links_to_logs)
      yielding a 10x speedup for piuparts-report runs.
      (Closes: #674672)
    - Cleanup/wrap some long source lines.
    - Cleanup/wrap some long html lines.
    - Allow the html root to be changed from /
      (piuparts.conf: e.g. [global] doc-root = /piuparts/).

  [ Andreas Beckmann ]
  * piuparts.py:
    - Implement --install-remove-install option to test installation in
      config-files-remaining state.  (Closes: #359154)
    - Report leftover symlinks with target.
    - Report leftover directories with a trailing slash.
    - Allow ignore entries to specifically match directories.
    - Ignore patterns need to match the full filename, not a substring.
    - Cleanup and regroup ignore lists.
      + Remove many obsolete entries not needed for squeeze or later.
      + Group ignore entries into piuparts state, system state, package
        management, logfiles, home directories, application data, and HACKS.
    - Add to ignored_files/ignored_patterns:
      + Default system logfiles as created by syslogd in /var/log/
      + Common empty directories in /etc not removed due to dpkg bug #316521
      + cdebconf status files
      + /boot/grub/
      + /etc/X11/default-display-manager
      + /etc/aliases.db
      + /etc/apt/trusted.gpg.d/.*.gpg~
      + /etc/network/interfaces
      + /etc/news/whoami
      + /usr/share/keyrings/debian-archive-removed-keys.gpg~
      + /var/crash/
      + /var/lib/citadel/(data/.*)?
      + /var/lib/gozerbot/
      + /var/lib/nagios/                        (Closes: #668756)
      + /var/lib/openvswitch/(pki/.*)?
      + /var/spool/powerdns/                    (Closes: #531134, #531135)
    - Implement a timeout for commands being run in the chroot.
    - Set time limit to 30 minutes per command. (Closes: #654423)
    - Terminate all processes running inside the chroot before removing the
      chroot; also in case piuparts aborts due to an error.
    - Continue killing running processes as long as new processes get spawned
      in the chroot.
    - Perform chroot cleanup after receiving Ctrl-C/SIGINT, too.
    - Let Chroot register/de-register the cleanup panic handler.
    - Remove temp_tgz on error exit.
    - Remove metapackage build directory on error exit.  (Closes: #663702)
    - Don't remove eatmydata when minimizing a chroot.  (Closes: #658962)
    - Add support for version-qualified package arguments (--apt foo=1.2-3).
    - Switch fallback mirror to http://cdn.debian.net/debian.
  * piuparts.conf:
    - Defaults for all [section] settings can be set in the [global] section.
    - Change master-command to not include the section name so that it can be
      set in the [global] section.
      The section name will be given as an argument to this command.
    - Make doc-root default to "/".
    - New per section key: area (set to one of main, contrib, non-free).
    - New defaults: mirror=http://cdn.debian.net/debian, area=main.
    - Compute URLs from mirror, distro, area, arch.
    - Removed deprecated keys: known_circular_depends, packages-url,
      sources-url.
  * master/db/report: Add a new category /affected/ for failed logs where the
    bug is in a dependency, but only exposed by the package being tested.
    - In the BTS these are reported as          (Closes: #657740)
        Package: buggy-package
        Version: buggy-version
        Affects: package-under-test
        Found: package-under-test/tested-version
    - Reschedule /affected/ logs like /fail/ logs.
  * piupartslib/conf.py:
    - Add support for getting default values from a special section.
    - Add methods to get mirror, distro, area, arch from config file or
      defaults.
    - Add methods to compute URLs to Packages and Sources files.
  * piupartslib/packagesdb.py:
    - Do not consider a package as "untestable" if untestable/ contains a
      logfile from an obsolete version of that package.
    - Simplify handling of package and dependency states.
    - Do not inherit 'dependency-does-not-exist' state (which may be fixed
      in the package) but propagate it to 'dependency-cannot-be-tested'.
    - Remove 'no-dependency-from-alternatives-exists' state and use
      'dependency-does-not-exist' instead.
    - Remove 'unknown-preferred-alternative' state as it interferes with
      circular dependencies involving alternatives and virtual packages.
    - Fix state resolution of package dependencies containing alternatives,
      virtual packages and circular dependencies.
    - Remove 'circular-dependency' state.
    - Stop using static known_circular_depends.
    - Compute dependency cycles and test packages on such cycles if all
      non-circular dependencies are satisfied.
    - Consider any combination of two error states for the blocking count.
    - Always run create_subdirs() during initialization.
  * piuparts-master.py:
    - Remove known_circular_depends handling.
    - Reduce logfile verboseness: do not include received logs.
    - Always chdir to master_directory, do not rely on being run from there.
    - Record timestamps of submitted logs in submissions.txt.
  * piuparts-slave.py:
    - Randomize waiting time (between 60 and 180 seconds) if master is busy.
    - Sleep until the next section can be tried, but at least 1 minute.
    - Simplify and merge Section.setup() into Section.__init__().
    - Generate master command: use global setting and append section.
    - Test the 'dpkg' package for creating/updating a base_tgz.
    - Don't update the tarball for disabled sections.
    - Rewrite starting piuparts.
    - Rewrite stopping piuparts for more reliable cleanup.
    - Introduce Ctrl-C/SIGINT handling:
      press Ctrl-C once to exit after the current piuparts test has finished,
      press Ctrl-C again to cleanly terminate the currently running test,
      press Ctrl-C again to abort any ongoing cleanup.
    - Pass a version qualified package name (foo=1.2-3) to piuparts to ensure
      the correct package version gets tested.
    - Increase verboseness for untestable packages.
    - Remove idle.stamp functionality.
  * piuparts-report.py:
    - Remove known_circular_depends handling.
    - Exclude obsolete states from generated report.
    - Establish packagesdb working directory in Section.
    - Handle logs in /affected/ directories.
    - detect_well_known_errors: Add bug links if bugs are known.
    - New known problem: "packages have been kept back".
    - Report rdeps and blocking counts in all error state reports.
    - Fix another race with logfiles disappearing while copying.
  * piuparts-analyze.py:
    - Don't report further bugs/versions if we found a match.
    - Classify logs with bugs filed into /bugged/ or /affected/.
    - Write .bug files with links to the BTS.
  * detect_archive_issues: Only consider logs older than one day for marking
    as "untestable" to allow piuparts-analyze to handle the log first.
  * Replace all references to lenny and squeeze with squeeze and wheezy.
  * Add/update several bug reporting templates.
  * Add custom scripts to aid debugging common problems in maintainer scripts.
  * Add custom script for squeeze to ensure adduser, ucf, and install-info
    are not purged.
  * Add custom scripts to enable/perform additional cleanup procedures to
    reduce the "FAIL: Package purging left files on system" errors if
    --warn-on-leftovers-after-purge is not used.
    (Closes: #668752)
  * Ship custom scripts in the piuparts package.
  * Comment sudoers and crontabs shipped in the master/slave packages,
    requiring explicit editing after installation to activate them.
  * Bump debhelper and dpkg dependencies for using dpkg-maintscript-helper.
  * Remove obsolete /etc/piuparts/piuparts.conf from old piuparts package.
  * Ship /etc/piuparts/piuparts.conf in the piuparts-slave package.
  * Create missing home directories if the piupartsm/piupartss users remain
    from a previously purged installation.

  [ Leo Iannacone ]
  * piuparts.py: add --existing-chroot option, specify a directory as source
    for the chroot, instead of building a new one with debootstrap or
    decompressing an archived one.  (Closes: #658044)

  [ Mika Pflüger ]
  * piuparts.py: Remove obsolete functions shellquote, apt_get_knows, and
    append_to_file.

  [ Mehdi Abaakouk ]
  * piuparts.py: Add support for schroot. (Closes: #530733)

 -- Holger Levsen <holger@debian.org>  Thu, 21 Jun 2012 22:17:26 +0200

piuparts (0.44) unstable; urgency=low

  [ Andreas Beckmann ]
  * piuparts.py:
    - Add to self.ignored_patterns: /var/lib/ucf/.*
    - Increase output limit to 3 MB (for dist-upgrading daptup).
    - Do not miss Pre-Depends in --warn-on-others mode.
    - Remove packages and reinstall missing ones in one apt-get call.
    - Run 'apt-get dist-upgrade' (instead of upgrade) during chroot setup.
  * piupartslib/packagesdb.py:
    - Only consider the newest version of a package as test candidate.
      (Packages files may contain more than version of the same package.)
  * piuparts-master.py:
    - Implement simple section locking to allow concurrent master instances
      but allow only one instance per section.
  * piuparts-slave.py:
    - Do not leak the logfile file descriptor to piuparts.
    - Skip disabled sections (max-reserved = 0).
    - Do not abort if connection to master failed, just skip the section.
    - Do not abort if Packages file cannot be fetched, just skip the section.
    - Implement simple section locking to allow concurrent slave instances.
    - Sections wait before retry 15 minutes after error and one hour if idle.
    - Create idle.stamp files to remember idle sections for one hour and
      notify concurrent slaves about idle state.
    - Skip misconfigured sections that have neither 'distro' nor
      'upgrade-test-distros' in their config.  (Closes: #668863)
  * piuparts-report.py:
    - Add link to the list of untestable logs.
    - Add more known problem reports: forgotten alternatives, warnings in
      passed logs: leftover files and failed maintainer scripts.
    - Do not abort if logfiles disappear during copying.
  * Makefile: Install documentation with mode 0644 instead of 0755.

  [ Holger Levsen ]
  * piuparts-report: don't create output for disabled sections. (Bye bye
    Lenny!)
  * Bump Standards-Version to 3.9.3, no changes necessary.

 -- Holger Levsen <holger@debian.org>  Thu, 17 May 2012 14:36:53 +0200

piuparts (0.43) unstable; urgency=low

  [ Andreas Beckmann ]
  * piuparts.py:
    - Add to self.ignored_patterns: /run/.*
    - Unset DISPLAY variable before running commands in the chroot.
    - Read possibly remaining buffered output after a command terminated.
    - Run apt-cache policy on the packages to be installed.
    - Simplify keeping the reference chroot state: move tree info, selections
      and diversions into a dict, can be extended easily.
    - Fix --*end-meta documentation and actually enable these options.
    - Cleanup options and settings.
  * piupartslib/packagesdb.py:
    - Restrict circular-dependency state to packages on the circle.
  * piuparts-slave.py:
    - Fix chdir in/out of the slave dir to work with relative paths.
  * piuparts-report.py:
    - Reorder the list of known problem analyses and add a few new ones.
    - Correctly split + strip comma-separated lists.
  * piuparts-analyze.py:
    - Also consider bugs that 'affects' a package.
    - Treat bugs without 'found' version as older than anything.
  * Makefile: Support version number substitution in piuparts-*.py, too.
  * README.txt: Document piuparts.conf settings used by piatti.git scripts.

  [ Holger Levsen ]
  * piuparts.1.txt: correctly reverse the description of --save-end-meta
    and --end-meta.
  * piuparts-report.py:
    - add support for more static pages and add bug_howto.tpl, explaining how
      to file meaningful bugs piuparts-analyse understands. This page also
      links to the templates used for bug filing.
  * piuparts-slave.py: make status message more useful by including the
    section.

 -- Holger Levsen <holger@debian.org>  Sun, 22 Jan 2012 13:03:59 +0100

piuparts (0.42) unstable; urgency=low

  [ Holger Levsen ]
  * piuparts.py:
    - add to self.ignored_files: /etc/blkid.tab (Closes: #638831)
    - add to self.ignored_patterns: /var/lib/apt/lists/.*
    - apply patch by Gregor Herrmann to fix --minimize. (Closes: #648423)
  * Remove Debian.NEWS entry about source in git. (Closes: #640121)
  * piuparts.py, piuparts-report.py, ChangeLog: Expand tabs to spaces.
  * Remove whitespaces from whitespace-only lines.
  * piuparts-report:
    - create maintainer subdirs if they don't exist.
    - detect tests being terminated due to excessive output.
  * Add git to Build-Depends-Indep: as git describe is used to generate
    part of the version string for development builds.
  * Add debian/.gitignore

  [ Mika Pflüger ]
  * piuparts-analyze.py:
    - Rewrite to use python-debianbts to analyze if bugs are filed already.
    - The BTS only tracks source versions, so remove binNMU-part from
      package versions when comparing with versions from the BTS.
    - Reduce noise in the output by only printing one action/advise per
      package.
    - Fix extraction of package versions from bug reports. Thanks to
      Andreas Beckmann for catching and solving the error.
  * debian/control: Add python-apt and python-debianbts to piuparts depends.

  [ Scott Schaefer ]
  * debian/copyright: Make it compliant with DEP-5.
  * piuparts-slave.py:
    - Replace deprecated os.popen2 with subprocess.Popen. (Closes: #640646)
    - Add some more logging.
    - Kill children (hard-coded value, 45 minutes) to ensure test doesn't
      run "forever" (Closes: #640647, #387428)
  * piuparty.py:
    - Kill leftover processes (via SIGTERM, then if that fails, via SIGKILL).
      (Closes: #522918)
    - Test for incorrect diversion handling:  (Closes: #588313)
      a) Existing diversions removed/modified, and/or
      b) Installed diversions not removed by purge.
  * piupartslib/packagesdb.py: Modify several functions in PackagesDB class
    to use python 'set' type, instead of a list.  This permitted replacing
    inefficient combination of unique() function and random.shuffle() with
    python set.pop() method.  Since python prohibits storing non-hashable
    object in a set, minor modifications to piuparts-report and to
    piuparts-master required. (Closes: #640648)

  [ Andreas Beckmann ]
  * *.py: Add vim modeline.
  * piuparts.py:
    - Add unittests for misbehaving symlinks.
    - Fix resolving absolute symlinks of intermediate directory components,
      i.e. /var/run -> /run while checking /etc/motd -> /var/run/motd.
      Solves about 30000 false positives of
      'Broken symlinks: /etc/motd -> /var/run/motd'.  (Closes: #648784)
    - When running commands in the chroot, redirect stdin from /dev/null.
    - Stop using Popen.communicate() as it may run out of memory.
    - Terminate commands producing more than 2 MB of output. (Closes: #649335)
    - Create /etc/dpkg/dpkg.cfg.d/ if missing inside the chroot (e.g. on
      lenny).  (Closes: #647752)
    - Remove logrotate and its dependencies only once.
    - Only run 'apt-get update' after updating the sources.list.
    - Only run 'apt-get clean' before creating tarballs or saving meta data.
    - Do the same checks for running processes and broken symlinks in all
      tests.  (Closes: #648708)
    - Create piupart's apt config in the chroot as /etc/apt.conf.d/piuparts
      instead of /etc/apt.conf in order to allow overriding the settings from
      custom scripts by just dropping new config bits in e.g.
      /etc/apt/apt.conf.d/piuparts-foobar.
    - Integrate diversion checks with Chroot.check_result().
    - Use 'apt-get remove' to remove all packages at once with proper
      dependency ordering.  (Closes: #648162)
    - Purge all packages at once instead of doing it one-by-one.
    - Make restore_selections() reinstall missing packages.  (Closes: #648707)
    - Set more environment variables to let custom scripts know where and
      when they are being run: PIUPARTS_TEST, PIUPARTS_PHASE,
      PIUPARTS_DISTRIBUTION{,_PREV,_NEXT}.  See the README for details.
      (Closes: #589498)
    - Add missing post_install_* custom scripts to install_packages_by_name().
      (Closes: #628077)
    - Remove pre_upgrade_* custom scripts, they can be replaced with
      pre_install_* scripts that check for PIUPARTS_PHASE=upgrade.
    - Add pre_test_* custom scripts.  These are run exactly once at the
      beginning of each test (after recording the initial chroot state).
    - Allow multiple --scriptsdir options, the contents will be merged.
    - Exclude /tmp/scripts when creating a tarball.
    - Use --one-file-system when creating a tarball to exclude bindmounts etc.
    - Restore base system from temp_tgz instead of running debootstrap again.
      (Closes: #648193)
    - Do not fail upgrade/distupgrade tests for a set of packages where not
      all packages exist in the start distribution.  This happens e.g. when
      testing .changes files and packages were split/added. Only install the
      old packages that actually exist according to 'apt-cache show'.
    - Add --extra-old-packages option to intall additional old packages that
      are not in the set of new packages to be tested.  Useful for testing
      upgrades with Conflicts/Replaces relationships, e.g. in package renames
      or merges.
    - Use consistent variable names for package lists.  (Closes: #648177)
    - Compute the changes in restore_selections().
    - Check for settings.scriptsdir inside run_scripts().
    - Consistently use chroot.relative() to build filenames inside the chroot.
  * piupartslib/packagesdb.py:
    - Handle 'unknown-preferred-alternative' state correctly.
    - Add 'does-not-exist' state for dependency resolution to distinguish this
      from 'unknown' state so that the latter only indicates 'unresolvable' or
      'not yet resolved'.
    - Handle virtual packages separately from real packages.
    - Use get_package_state() internally which 'resolves' (purely) virtual
      packages by default (can be disabled).
  * piuparts-master.py:
    - Add a 'status' command that reports package counts for all states.
  * piuparts-slave.py:
    - Fix triggering tarball recreation.
    - Check tarball age regularily.
    - Log tarball creation in *.tgz.log.
    - Request and print package counts from master.
    - Reload section config every time a section is being run.
    - Add precedence attribute to allow prioritizing different sections and to
      suspend processing of low priority ones while there are packages waiting
      in more important sections.
  * piuparts-report.py:
    - state-*.html: Sort package lists by name, display state of all
      alternative dependencies and packages providing a virtual dependency.
    - source/?/*.html: Sort binary packages by name.
    - maintainer/?/*.html: Sort source packages by name.
    - Update list of error states to be highlighted.
    - Archive logs of packages that were removed from the distribution.
    - Speedup generating maintainer summaries.
  * Makefile: Use 'git describe' to get an exact stamp for development
    versions.

  [ Dave Steele ]
  * piuparts-slave.py: make Section.run() report the number of packages
    processed and use this to decide whether a slave should sleep.
    (Closes: #649967)

  [ Stefano Rivera ]
  * piuparts.py:
    - Properly install and remove logrotate.  (Closes: #638832)
    - Use eatmydata by default, add option --no-eatmydata. (This was discussed
      in #633033.)

 -- Holger Levsen <holger@debian.org>  Fri, 23 Dec 2011 10:51:28 +0100

piuparts (0.41) unstable; urgency=low

  * piupartslib/packagesdb.py: Apply patch by Scott Schaefer to also consider
    alternative depends: the algorithm used to select the "best" alternative
    is:
     1) Prefer first alternative in state "essential-required"
     2) If no "essential-required" alternatives, prefer first alternative
        in state "successfully-tested"
     3) Otherwise, prefer first alternative in state
        "waiting-to-be-tested" IF NO REMAINING alternatives are in one of the
        "unknown/fail" states
    For this two new states have been introduced:
     a) "unknown-preferred-alternative": equivalent of "unknown", this defers
        calculation of this package's state, since one or more of its
        alternative depends are "unknown" (or
        "unknown-preferred-alternative"), and no alternative is either
        "essential-required" or "successfully-tested".  The alternatives will
        be re-tested on subsequest pass.
     b) "no-dependency-from-alternatives-exists": if none of the alternatives
        can be found in the archive.
    (Closes: #526045)
  * piuparts-report.py:
    - correct a typo from the patch for #523950.
    - make_stats_graph: draw the two new states as well.
    - point to source code in git instead of svn.
  * piuparts.py:
    - use proxy settings either from apt configuration or http_proxy
      environment variable, the latter overwriting the former (if present)
      - Thanks to Scott Schaefer for the patch. (Closes: #632046)
    - new option "--no-install-purge-test" to only do upgrade tests
      - Thanks to Andreas Beckmann for the patch (Closes: #588482)
    - run dpkg with --force-unsafe-io by default and introduce new option
      "--dpkg-noforce-unsafe-io" to disable this feature. (Closes: #633033)
      Thanks to Scott once more!
    - new option: "--fail-on-broken-symlinks". Remove option "--warn-symlinks"
      as this is the default now.
  * piuparts-slave:
    - check if chroot-tgz is older than max-tgz-age (defaulting to 30 days)
      and recreate it, if it is. Keep backup and put in back in place when
      debootstrapping a new chroot-tgz fails. Retry after min-tgz-retry-delay
      seconds. Thanks to Scott Schaefer for the patch. (Closes: #632924)
    - document new configuration options max-tgz-age and min-tgz-retry-delay
      in README.txt.
    - fix bug in piuparts-slave which prevented running a single section by
      including section name as command-line argument - thanks again to Scott
      and see 632924 too.
  * debian/control:
    - require python >= 2.6.6-3~, get rid of python-support build-depends.
    - add X-Python-Version: pseudo-header
  * debian/rules: use dh_python2 instead of python-support to build the
    package
  * Makefile: build for python 2.6 and 2.7 instead of 2.5 and 2.6.
  * Source code is now stored in git.
    http://anonscm.debian.org/gitweb/?p=piuparts/piuparts.git
    git clone git+ssh://git.debian.org/git/piuparts/piuparts.git
    Thanks to Thomas Koch for setting those up and keeping history!
  * The configuration and scripts used on piatti.debian.org have also been
    moved to git, the URLs are the same, just s#piuparts#piatti#.
  * Add entry about git to NEWS.
  * Update Vcs-*-Headers in control to reflect move to git.

 -- Holger Levsen <holger@debian.org>  Wed, 24 Aug 2011 13:47:07 +0200

piuparts (0.40) unstable; urgency=low

  * piuparts.py:
    - make "natty" the default Ubuntu distribution.
    - add to self.ignored_files:
      - /var/log/bootstrap.log
  * debian/control: depend on ${python:Depends} instead of just python. Thanks
    to Jakub Wilk. (Closes: #614617)
  * *.py: do not use Python built-in function names as variable name. Thanks
    to Carl Chenet for a first patch and Scott Schaefer for the applied one.
    (Closes: #523950)
  * Bump Standards-Version to 3.9.2, no changes necessary.
  * debian/rules: add empty build-arch and build-indep to appease lintian.
  * Makefile: drop workaround for #559305 in lenny.

 -- Holger Levsen <holger@debian.org>  Sat, 25 Jun 2011 21:20:31 +0000

piuparts (0.39) unstable; urgency=low

  [ Holger Levsen ]
  * The vintage of 2010 release!
  * piuparts-report.py:
     - report packages which failed
       - due to broken maintainer scripts,
       - due to output from cron after removal,
       - due to not enough force being,
       - due to a problem with pre-depends,
       - due to files having been modified after purge,
       - due to files having disappeared after purge and
       - due to problems configuring a database.
     - only report about (un)owned files and directories and symlink issues in
       sid - that's hardcoded as it's not practical to track them anywhere else
       anyway. And at least for broken symlinks this will also stay like this
       for a long time.
     - visual improvements in the output.
     - ignore udebs and binaries from other archs too.
     - graph is generated using all the available data points.
  * piupartslib/packagesdb.py:
    - automatically break circular dependencies when there are only circular
      dependencies left, using a configurable list of circular depdencies in
      piuparts.conf (Closes: #526046)
        The list of circular depends is taken from a script written by Robert
      Lemmen available at http://debian.semistable.com/debgraph.out.html -
      obviously it would be better to merge this into piuparts directly.
        Note that the dependency resovler is still buggy, the state
      waiting-for-dependency-to-be-tested still contains some packages
      with failed depends (due to them being dependent on packages with
      circular depends). This bug has no effect other than that (so the state
      waiting-to-be-tested is calculated correctly). This bug is also no
      regression.
    - get rid of the longtime unused states "fixed" and "fix-not-yet-tested"
      (also in piuparts-master and piuparts-report).
    - forget reservations of untestable packages.
  * piuparts-slave.py:
    - fix crash when going into sleep when idle.
    - add support for only doing upgrade tests (without the basic test in the
      upgrade target distro).
    - honor mirror configuration option also for upgrade-tests.
    - also do upgrade tests if the version of a package being tested (the one
      in the upgraded distro) is not available in the distro being upgraded
      from. (This is a very short test, but a successfully one.)
    - make configuration setting "distro" to not default to any distro.
  * piuparts.py:
    - new option: --log-level to specify the verbosity of piuparts
      output. Thanks to Fabrice Coutadeur for the patch! (Closes: #567190)
    - new option: --warn-on-leftovers-after-purge to not fail if a package
      leaves files behind after purge. (Closes: #566599)
    - add to self.ignored_files:
      - /var/lib/apt/lists/partial/.delete-me-later
      - /var/log/alternatives.log (Closes: #591966)
      - /var/log/apt/history.log (Closes: #594964)
      - /usr/share/fonts/X11/misc/fonts.alias (Closes: #576321)
    - add to self.ignored_patterns:
      - /etc/init.d/.depend.*
      - /var/mail(/.*)? - this used to be just /var/mail/.*
      - /var/lib//update-rc.d(/.*)? (Closes: #605127)
    - create temporary DEBIAN directory for the piuparts-depends-dummy package
      with 0755 perms regardless of the umask of the calling shell.
      (Closes: #573904)
    - fix --do-not-verify-signatures option (Closes: #574936) - thanks to
      Cleto Martin Angelina for the patch.
    - make Chroot.diff_meta_data() special case and ignore files matching
      (/etc/rc.\.d/)[SK][0-9]{2}(.*)$ so that piuparts doesn't complain about
      initscripts renamed by insserv. Thanks to by Andreas Beckmann for the
      patch! (Closes: #586793)
    - remove logrotate and depended packages after the test. (Closes: #602409)
      This is a fix for the incomplete patch for #566597. Again, this is a
      hardcoded list. :-(
    - new custom script: pre_remove_ (Closes: #539146)
    - set environment variable PIUPARTS_OBJECTS in custom scripts to a space
      separated list of packages / changes files being tested.
    - do not call apt-get with --no-remove when installing packages.
      (Closes: #603453)
    - apply patch by Andres Mejia to fix parsing of the --force-confdef option
      and also to configure apt to use that option. Thanks, Andres.
      (Closes: #605475)
    - don't panic if package is not known by apt-get, this probably just means
      a package not yet in the archive is being tested. (Closes: #566672)
      Thanks to Cleto Martin Angelina for the patch!
    - fix parsing of the options --end-meta and --save-end-meta.
    - supply help texts for --end-meta and --save-end-meta options, also add
      comments to install_and_upgrade_between_distros() to make the code
      easier to understand and hopefully improve in future. (Closes: #560050).
    - add logging to install_and_upgrade_between_distros() to point people to
      read the functions source code if they wonder why the log (for distro
      upgrade tests) looks like it looks.
  * piuparts.1.txt:
    - update the pointer to custom-scripts.txt to point to README.txt, as
      those two files have been merged. Thanks to Gregor Hermann for
      spotting this. (Closes: #574504)
    - indicate that it's possible to check several packages or .changes files
      at once.
    - update several options descritpions.
  * README.txt
    - better documentation of custom scripts.
    - reformat to achieve consistent width.
  * Add ${misc:Depends} to Depends in debian/control.
  * Remove versioned dependencies on debootstrap as the version available
    in Etch is sufficient. Drop build-depends on dpkg-dev as it's in
    build-essential.
  * Build-depend on debhelper>=7 and use dh_prep instead of dh_clean -k, bump
    compat level to 7.
  * Bump Standards-Version to 3.9.1, no changes necessary.
  * Remove Ian Jackson from uploaders - thanks for your work, Ian!
  * Makefile: support python 2.5 and 2.6 instead of 2.4 and 2.5, adjust
    debian/control accordingly.
  * debian/preinst: update code snipplet rm_conffile() from
    http://wiki.debian.org/DpkgConffileHandling

  [ Evgeni Golov ]
  * piuparts.py:
    - Check for remaining logrotate files which produce output after the
      package was removed. (Closes: #566597)

  [ John Wright ]
  * Use debian module when available, else debian_bundle module.
    (Closes: #586443)
  * Use built-in set type, available since python-2.4.

 -- Holger Levsen <holger@debian.org>  Tue, 04 Jan 2011 14:12:30 +0100

piuparts (0.38) unstable; urgency=low

  * piuparts.py:
    - Add support for using LVM snapshots. Thanks to
      Patrick Schoenfeld for the patch. (Closes: #559449)
    - Add support for warning on broken symlinks. Thanks to Carl Chenet for
      the patch. (Closes: #440151)
    - Make --help usuable without needing to be run as root. (Closes: #547379)
    - --skip-minimize is now the default. This is because debootstrap is called
      with --variant=minbase instead of --resolv-deps now and because if a
      base.tgz or an lvm snapshot is specified, piuparts should not touch it.
      (Closes: #539142, #559048)
      Introduce a new option, --minimize, to minimize a chroot with debfoster.
      (This is the old default behaviour. In future versions the --minimize
      option might be removed again.)
    - Add two new options: --keyring to specify the keyring to use with
      debootstrap (defaults to /usr/share/keyrings/debian-archive-keyring.gpg)
      and --do-not-verify-signatures to not use --keyring with debootstrap.
      (Closes: #545907)
      In the chroots, APT::Get::AllowUnauthenticated is set accordingly in
      /etc/apt/apt.conf.
    - Add new option, --pedantic-purge-test, to tell piuparts to be pedantic
      when checking if a purged package leaves files behind. If this option is
      not set, files left in /tmp are ignored. (Closes: #528266)
    - Add new option, --dpkg-force-confdef, to make dpkg use --force-confdev,
      which lets dpkg always choose the default action when a modified conffile
      is found. This options will make piuparts ignore errors it was designed
      to report and therefore should only be used to hide problems in
      dependent packages. (Closes: #466118)
    - Add another type of custom-scripts, post_setup_, which are executed after
      the chroot was setup. (Closes: #466043)
    - Create policy-rc.d in 2nd chroot when using -b. (Closes: #466049)
      Thanks again to Patrick Schoenfeld for his help.
  * piuparts-report: report broken symlinks.
  * piuparts-slave:
    - gracefully deal with upgrade-test-distros and upgrade-test-chroot-tgz
      not being set in the configuration. Thanks to Carl Chenet and Patrick
      Schoenfeld for the patch. (Closes: #519192)
    - new default value for idle-sleep, 300 instead of 10 seconds. Also the
      slave will now only sleep if there is nothing to do for any section.
  * Makefile: workaround 559305 by calling a2x twice.
  * Update debian/NEWS.
  * Replace all references to sarge and etch with ones to lenny and squeeze.

 -- Holger Levsen <holger@debian.org>  Thu, 17 Dec 2009 14:10:27 +0000

piuparts (0.37) unstable; urgency=low

  * piuparts-report.py: report packages with update-rc.d warnings and those
    failing due to insserv errors. (Closes: #546540)
  * Fix typo in NEWS.Debian, thanks to Justin Rye for spotting it.
    (Closes: #547439)
  * piuparts.py:
    - added to self.ignored_patterns:
      - /var/cache/man(/.*)? (Closes: #550953)
      - /var/lib/insserv/run.*.log
      - /var/lib/mercurial-server(/.*)?
    - removed from self.ignored_files:
      - /var/cache/man/index.db
  * fix typo in -i option in manpage (Closes: #555202), thanks to James Vega
    for spotting it.
  * Make "lucid" the default Ubuntu distribution (Closes: #559047), thanks to
    Krzysztof Klimonda.
  * fix FTBFS by adding "-r /etc/asciidoc" to the a2x call in Makefile, thanks
    to Michael Vogt. (Closes: #559299)

 -- Holger Levsen <holger@debian.org>  Thu, 03 Dec 2009 13:25:43 +0000

piuparts (0.36) unstable; urgency=low

  [ Holger Levsen ]
  * The "For me. For you. For everybody." release.
  * Break backwards compatibility of the configuration files for master-slave-
    mode. Merge those three into one: /etc/piuparts/piuparts/piuparts.conf.
    Introduce a new global section in piuparts.conf which is shared among the
    other sections there.
  * piuparts.py:
    - add check whether scriptsdir exits, to fail gracefully if not.
    - copy scriptsdir to chroot also when doing upgrade tests.
    - added to self.ignored_files:
      - /etc/shadow and /etc/shadow- (just as /etc/passwd* and /etc/group*)
      - /var/games (see #524461)
      - /etc/apt/trusted.gpg and /etc/apt/trusted.gpg~ (just as
        /etc/apt/trustdb.gpg and other backup files)
    - added to self.ignored_patterns:
      -  /var/lib/dpkg/triggers/*
      -  /var/lib/ldap(/.*)? (see #527898)
      -  /var/backups/.*
    - modified self.ignored_patters:
      - ignore everything in /tmp, not just in /tmp/scripts (see #528266)
    - configure apt in chroots to not install recommends and suggests.
    - add support for scanning for packages in changes files, thanks to Andres
      Mejia for the patch. (Closes: #352940)
    - change some methods from using 'args' to 'package_list'. This more
      accurately represents what is being passed into these methods now.
    - add an optional parameter to panic() method to specify what exit status
      to use. Also thanks to Andres.
    - add advice how to read the logfile to the top of the logfiles produced.
    - add "FAIL: " to logging output for seven more failure types, so that it
      becomes easier to group failure causes.
    - allow piuparts to be stopped with control-C. Thanks to Carl Chenet for
      the patch. (Closes: #523958)
    - fail gracefully if piuparts is run as non-root user. Thanks to Ignace
      Mouzannar for the patch. (Closes: #538273)
  * piupartslib/packagesdb.py:
    - change the test whether a package is testable to check whether the
      package is of priority "required", and not whether it's "Essential".
    - rename status "essential-required-important" to "essential-required"
      as important packages can be tested like all the others.
    - handle binNMUs where the Source header in the Packages file includes the
      Version and the Source package name in one line.
    - fix get_packages_in_state() to only return unique packages and not also
      the provided ones as exact copies.
  * Install scripts for master-slave mode without .py extension.
  * piuparts-master.py: remove code to write statistics, that is done only in
    piuparts-report.py now.
  * piuparts-slave.py:
    - support looping trough multiple sections in piuparts.conf via new config
      value "sections". Thanks to Frank Ploss for writing this patch with me
      and helping me understand the code much better!
    - allow the user to stop the slave with control-C.
    - call piuparts with --mirror when mirror is set in piuparts.conf.
  * Re-add piuparts-reports.py which got removed/lost between 0.14 and 0.20
    without changelog entry.
  * piuparts-report.py:
    - support sections in configuration file.
    - support looping trough multiple sections in piuparts.conf via new config
      value "sections".
    - generate counts.txt (per section) with raw numbers of packages per state,
      include these stats in the debug output (so it gets included in the mails
      send by cron.)
    - introduce new setting "sources-url" for piuparts.conf.
    - generate sources.txt (per section) with a summary status per source
      package (for the PTS to display a source packages piuparts state)
    - generate html status pages for all source packages (to link from the PTS)
      with links to state explaination and available logfiles, handle udebs.
    - provide links to logfiles in statistics page.
    - provide links to source packages pages from state pages and back, as well
      as links to the dependencies state.
    - draw graphs of package states over time (if pypthon-rpy and gs are
      installed) - thanks to Thomas Viehmann and Dirk Eddelbüttel for
      inspiration and support.
    - create maintainer centric pages for each email address found in
      Maintainers or Uploaders.
    - improve layout, generate navigation for all pages.
    - use icons to provide a quick overview of a source packages status.
      (Thanks to tango.freedesktop.org for the icons!)
    - include index.tpl (if it exists) from output-directory into the
      generated index page, so one can add news to the index page without
      editing piuparts-report.py.
    - generate pages for known issues, which are detected by bash helper
      script, run by cron on piuparts.debian.org and available from
      svn/piuparts/piatti/home/piupartsm/bin/detect_well_known_errors
  * Always use alphabetic time zone abbreviation in timestamps.
  * Makefile:
    - add "~$date" to versionstring if building an unreleased version, thus
      adding dpkg-dev to build-depends.
    - split install target into install-doc, install-conf and install, to aid
      development and deployment from trunk.
  * debian/control:
    - depend on python (>>2.4), make dependency to python-debian unversioned.
    - add build-dependencies on debhelper, asciidoc and xmlto.
    - dependency gs has been renamed to ghostcript
    - remove build-dependencies on docbook2x and docbook-xml.
    - suggest python-rpy and gs to improve piuparts-report output.
    - set Homepage: to http://piuparts.debian.org
    - remove Lucas Nussbaum, Ana Guerrero, John Wright and Bill Allombert from
      uploaders - thanks for your work!
    - Replace Ians email address with one that doesn't give an errorcode when
      sending mail to it
    - bump Standards-Version to 3.8.3, no changes necessary.
  * Rewrite debian/rules from scratch using debhelper.
  * Merge README, how-to-use-piuparts.txt and custom-scripts.txt into
    README.txt, convert it to asciidoc and build pdf and html versions of it.
  * Restructure and update README.txt to reflect the configuration changes in
    master-slave mode.
  * Add debian/NEWS file.
  * Rewrite piuparts manpage in asciidoc.
  * Build and install html version of the piuparts manpage.
  * Update debian/copyright to reflect that piuparts is licenced under GPL2+.
  * Update FSF address in all files referencing the GPL.
  * Remove unused file piuparts.css.

  [ Lars Wirzenius ]
  * Removed Lars Wirzenius as uploader.

 -- Holger Levsen <holger@debian.org>  Tue, 08 Sep 2009 14:35:42 +0200

piuparts (0.35) unstable; urgency=medium

  * Fix recursive failure which occured when selinux-utils was installed but
    not enabled. Thanks to Peter De Wachter for the patch. (Closes: #519017)
  * Output path to temp directory if -k is used. (Closes: #466112)

 -- Holger Levsen <holger@debian.org>  Tue, 10 Mar 2009 00:43:22 +0100

piuparts (0.34) unstable; urgency=low

  [ Holger Levsen ]
  * Mount /selinux on systems where selinux is enabled. Thanks to Filippo
    Giunchedi for the patch! (CLoses: 507171)
  * Remove wrong advice in debian/copyright which irritated lintian.

  [ Filippo Giunchedi ]
  * Check for any output when running cron files in addition to exit code

 -- Holger Levsen <holger@debian.org>  Fri, 27 Feb 2009 12:34:31 +0100

piuparts (0.33) unstable; urgency=low

  * Added --bindmount option, thanks to Aníbal Monsalve Salaza for the patch.
    (Closes: #496186)

 -- Holger Levsen <holger@debian.org>  Sat, 08 Nov 2008 17:07:22 +0000

piuparts (0.32) unstable; urgency=low

  [ John Wright ]
  * Fix a typo in how-to-use-piuparts.txt.

  [ Holger Levsen ]
  * Replace all references to sarge and etch with etch and lenny.
    (Closes: #466111)
  * Update README to reflect that piuparts runs fine in etch.
  * Rename the post_upgrade custom script to post_distupgrade and introduce
    pre_distupgrade.
  * Bumped standards version, no changes needed.

 -- Holger Levsen <holger@debian.org>  Fri, 17 Oct 2008 10:28:14 +0000

piuparts (0.31) unstable; urgency=low

  [ Lars Wirzenius ]
  * piuparts.docbook: Added a few words of description of the tarball
    that -b expects. (Closes: 466048)

  [ Lucas Nussbaum ]
  * Added a --debfoster-options option, to allow the user to override
    debfoster's default options and test with more packages installed
    in the chroot. (Closes: #458922)
  * Mention piuparts -s in in how-to-use-piuparts.txt.
  * Finally fixes the check for broken symlinks. Thanks go to
    Tobias Grimm for the patch. (Closes: #468157, 478587)
  * Ignore /var/cache/ldconfig/aux-cache.
  * Added myself to uploaders.
  * Keep /proc mounted. Switch to calling tar directly in
    pack_into_tgz(). Minor refactorings. Thanks go to Tobias Grimm
    for the patch. (Closes: #478577)
  * Move piuparts to priority: extra, since it depends on debootstrap which
    is extra. (Closes: #477634)

  [ Luk Claes ]
  * Added -w to lsof call to suppress warnings. (Closes: #466102).

  [ Holger Levsen ]
  * Add a copyright statement to debian/copyright.
  * Add support for post_upgrade custom script.
  * Minor fixes in how-to-use-piuparts.txt.
  * piuparts.docbook: Correct the path to dtd, it's
    /usr/share/xml/docbook/schema/dtd/4.1.2/docbookx.dtd and add a
    build-dependency for docbook-xml

 -- Holger Levsen <holger@debian.org>  Sun, 11 May 2008 22:17:52 +0200

piuparts (0.30) unstable; urgency=low

  * piuparts.py:
    - Implement Chroot.create_temp_tgz_file() (since it's used in the VirtServ
      subclass)
    - Fix a typo -- chroot.create_temp_tgz() was being called instead of
      chroot.create_temp_tgz_file() (Closes: #465416)

 -- John Wright <jsw@debian.org>  Thu, 14 Feb 2008 20:32:35 -0700

piuparts (0.29) unstable; urgency=low

  [ Ana Beatriz Guerrero Lopez ]
  * Updated uploaders, remove Amaya and Alastair.

  [ Lars Wirzenius ]
  * piuparts.py: Call "apt-get update" before calling Chroot.minimize, so
    that we can find the debfoster package on Ubuntu.
  * debian/control: Fixed "Uploaders:" to have my preferred e-mail address
    (liw@iki.fi) instead of my Debian one.
  * piuparts.py: Added -D option to set Debian flavor, plus two sets of
    default settings depending on the flavor, one for Debian itself, and
    another for Ubuntu. The settings choose default mirror and distribution
    set (sid vs gutsy). This will allow an Ubuntu version of the package
    to set defaults at package building time.
  * piuparts.py: Report target of broken symlink correctly, instead of
    saying "True".
  * piuparts.py: Use lsb-release to guess the Debian flavor.
  * debian/control: Added dependency on lsb-release.
  * piuparts-master.py: Make the master write summary of total pass/fail
    packages, plus status per binary package. This is for having the
    Debian PTS and the Ubuntu developer weather report show summaries
    of piuparts results.
  * integraged changes from Ubuntu by Ian Jackson to support autopkgtest.
  * wrapped long lines in debian/control.

  [ Holger Levsen ]
  * Added myself to uploaders.
  * Added Homepage: header to debian/control and changed the homepage to be
    http://wiki.debian.org/piuparts.
  * Use Vcs-* headers in debian/control instead of XS-Vcs-*.
  * Bumped policy version to 3.7.3.
  * Updated download location in debian/copyright.

  [ John Wright ]
  * Change the --warn-on-others implementation to create a dummy metapackage
    with the needed dependencies and install it in the chroot, rather than
    using "apt-get install package package-".  The previous implementation
    had issues when the package was already installed (and especially if the
    package had essential packages in its reverse dependencies).  This has
    the pleasant side-effect of making --warn-on-others work both with and
    without --apt. (Closes: #458929)
  * Fix a bug in check_for_broken_symlinks(): the targets for the broken
    symlinks (used for logging) were being read from files on the real root
    filesystem, rather than in the chroot.

 -- Lars Wirzenius <liw@iki.fi>  Fri, 01 Feb 2008 16:38:38 +0200

piuparts (0.28) unstable; urgency=low

  * Fix an UnboundLocalError introduced in the --warn-on-others fix that would
    occur if run without the --apt option. (Closes: #443641)

 -- John Wright <jsw@debian.org>  Sat, 22 Sep 2007 23:32:17 -0600

piuparts (0.27) unstable; urgency=low

  * Add support for testing multiple distributions and architectures to
    piuparts-master.py and piuparts-slave.py.  Please see the README file,
    piuparts-master.conf.sample and piuparts-slave.conf.sample for more
    details. (Closes: #349365)
  * Fix the --warn-on-others option.  Now, dependencies are installed before
    the packages we wish to test, and an inventory is taken then, so that we
    can know which errors were caused by the packages explicitly specified on
    the command-line.  Currently, this requires --apt, and doesn't work quite
    as advertised if there are circular dependencies with the packages you wish
    to test (see the man page for more details). (Closes: #440310)
  * debian/control:
    - Update my email address in the Uploaders field

 -- John Wright <jsw@debian.org>  Sun, 16 Sep 2007 22:28:14 -0600

piuparts (0.26) unstable; urgency=low

  * Update list of ignored files. (Closes: #439592)
  * In the cron test, not executable files are not run. (Closes: #440141)

 -- Ana Beatriz Guerrero Lopez <ana@debian.org>  Fri, 31 Aug 2007 15:44:36 +0200

piuparts (0.25) unstable; urgency=low

  * Add the option to run custom scripts inside the piuparts chroot.
    Scripts are stored in a directory and give it as argument with the
    option --scriptsdir=/dir/with/the/scripts
    This feature is still experimental :)
  * Add custom-scripts.txt with information about the custom scripts.

 -- Ana Beatriz Guerrero Lopez <ana@debian.org>  Tue, 28 Aug 2007 14:39:32 +0200

piuparts (0.24) unstable; urgency=low

  * Add /var/lib/apt/extended_states to ignored_files. Thanks Anibal!
   (Closes: #434980)
  * Add quick howto about how to use piuparts under docs.
  * Add test that checks the output from the cron files left in the system
    after removing a package. This includes the option --skip-cronfiles-test,
    to allow skipping this test.

 -- Ana Beatriz Guerrero Lopez <ana@debian.org>  Mon, 20 Aug 2007 10:27:29 +0200

piuparts (0.23) unstable; urgency=low

  * Cosmetic change, now file owner and file are shown in the same line.
  * Add option --list-installed-files, that list files added/removed/modified
    to the chroot after the package's installation.  (Closes: #431821)
  * Add option --no-upgrade-test, that allows skip testing upgrade from an
    existing version in the archive. (Closes: #349933)

 -- Ana Beatriz Guerrero Lopez <ana@debian.org>  Tue, 10 Jul 2007 19:47:21 +0200

piuparts (0.22) unstable; urgency=low

  [ John Wright ]
  * debian/control:
    - Add XS-Vcs-Svn and XS-Vcs-Browser fields

  [ Ana Beatriz Guerrero Lopez ]
  * Rename piuparts.py.in back to piuparts.py.
  * Add option --skip-minimize that allows skip the minimize chroot step
    with debfoster.
  * Remove m4 substitution, and use sed instead. Drop Build-Depends on m4.
    (Closes: #431248)
  * Drop support for python 2.3 and add support for python 2.5.
  * debian/rules:
    - Remove execution of checkversion in package build, not longer needed.
  * debian/control:
    - Add myself to uploaders.
    - Add (future) piuparts website.

 -- Ana Beatriz Guerrero Lopez <ana@debian.org>  Wed, 04 Jul 2007 21:03:44 +0200

piuparts (0.21) unstable; urgency=low

  * Convert to Debian-native packaging style.  From now on, changes to piuparts
    will be tracked here.  (Closes: #389610)
  * Makefile:
    - Give docbook2x-man a --encoding=utf-8 argument.  It was failing to build.
    - Generate piuparts.py from piuparts.py.in, filling in the VERSION variable
      with the version from debian/changelog
  * debian/control:
    - Fix the name of the maintainer (we're the "piuparts developers team", not
      Lustre)
    - Correct my email address in the uploaders field
    - Add Build-Depends on m4
  * piuparts.py.in:
    - Don't call shellquote() on arguments, since we're not using the shell.
      (Closes: #386839)
    - Add a --warn-on-others option.  See the man page for details.
  * piuparts.docbook:
    - Document the --warn-on-others option.

 -- John Wright <john@movingsucks.org>  Thu, 21 Jun 2007 00:27:22 +0100

piuparts (0.20-3) unstable; urgency=low

  * New Maintainer(s): piuparts team. Closes: #390754.

 -- Alastair McKinstry <mckinstry@debian.org>  Mon, 23 Oct 2006 16:02:19 +0100

piuparts (0.20-2) unstable; urgency=low

  * Orphaning.

 -- Lars Wirzenius <liw@iki.fi>  Mon,  2 Oct 2006 23:43:00 +0300

piuparts (0.20-1) unstable; urgency=low

  * New upstream version. Fixed Debian bugs:
    - Symlink correctness checking was broken when symlinks pointed at
      symlinks. (Closes: #387796)
    - fails if a deb filename contains a "strange" char. (Closes: #386839)

 -- Lars Wirzenius <liw@iki.fi>  Fri, 22 Sep 2006 12:58:24 +0300

piuparts (0.19-1) unstable; urgency=low

  * New upstream version. No Debian bugs fixed.

 -- Lars Wirzenius <liw@iki.fi>  Fri,  8 Sep 2006 20:28:31 +0300

piuparts (0.18-1) unstable; urgency=low

  * New upstream version. No Debian bugs fixed.
  * debian/control: Updated for new Python policy.
  * debian/prerm, debian/postrm: Written. They compile/remove byte code
    files.

 -- Lars Wirzenius <liw@iki.fi>  Thu,  7 Sep 2006 20:42:03 +0300

piuparts (0.17-1) unstable; urgency=low

  * debian/control: Added dependency on lsof, since that is now used to
    check that there are no processes running inside the chroot.
  * New upstream version, fixes the following open bugs in Debian:
    - missing words in piuparts(1) (Closes: 362551)
    - default ignore pattern for papercut files added (Closes: #355401)

 -- Lars Wirzenius <liw@iki.fi>  Sun, 25 Jun 2006 19:35:19 +0300

piuparts (0.16-1) unstable; urgency=low

  * New upstream version. Fixes the following bugs reported against the
    Debian package:
    - TODO: keep track of bugs to show expected failures and unexpected
      successes (Closes: #353215)
    - It would be nice if the chroot were updated before the snapshot
      (Closes: #356678)
  * debian/control: Made the dependency on debootstrap be versioned.
    Closes: #355875.

 -- Lars Wirzenius <liw@iki.fi>  Fri, 22 Mar 2006 22:40:00 +0200

piuparts (0.15-1) unstable; urgency=low

  * New upstream version. Includes fixes for Debian bugs:
    - "Specify packages to use for testing" (Closes: #354811)
    - "Misleading documentation of -v" (Closes: #352941)

 -- Lars Wirzenius <liw@iki.fi>  Wed, 01 Mar 2006 20:53:00 +0200

piuparts (0.14-1) unstable; urgency=low

  * New upstream version. Includes fix for:
    - "piuparts should flag as an error a failed installation of a dependency"
      (Closes: #343324)

 -- Lars Wirzenius <liw@iki.fi>  Sun, 18 Dec 2005 23:22:00 +0200

piuparts (0.13-1) unstable; urgency=low

  * New upstream version.
  * debian/changelog: Minor tweaking to the description.

 -- Lars Wirzenius <liw@iki.fi>  Sat, 12 Nov 2005 00:53:04 +0200

piuparts (0.12-1) unstable; urgency=low

  * New upstream version. Fixes bug in Debian:
    - dist-upgrade to experimental does not work (now documented as a
      feature). Closes: #330749.

 -- Lars Wirzenius <liw@iki.fi>  Mon, 17 Oct 2005 21:03:12 +0300

piuparts (0.11-1) unstable; urgency=low

  * New upstream version. Fixes bugs in Debian:
    - Checks whether there are packages on the command line before creating
      a chroot. Closes: #322441.
    - apt-get configured to allow unauthenticated repositories.
      Closes: #326705.

 -- Lars Wirzenius <liw@iki.fi>  Fri, 14 Oct 2005 01:16:25 +0300

piuparts (0.10-1) unstable; urgency=low

  * New upstream version.

 -- Lars Wirzenius <liw@iki.fi>  Thu, 15 Sep 2005 23:31:30 +0300

piuparts (0.9-1) unstable; urgency=low

  * New upstream version, fixes bugs reported against Debian:
    - Upstream version number in Debian package and in upstream sources
      now match. Closes: #326058.
    - Files reported by piuparts are now associated with their packages,
      when possible. Closes: #324248.
  * debian/rules: Added "checkversion" target to make sure we no longer
    do stupid things like #326058, at least in the Debian package.

 -- Lars Wirzenius <liw@iki.fi>  Fri, 09 Sep 2005 00:34:36 +0300

piuparts (0.8-1) unstable; urgency=low

  * New upstream version, fixes bugs:
    - Example in manual page now works (Closes: #319990)
    - Temporary directories are now removed on failure (Closes: #323653)
    - Parsing /etc/apt/sources.list now better (Closes: #319989)
    - Temporary directorys are now put in $TMPDIR or /etc (Closes: #322440)
  * debian/control: Added build-depends on docbook2x. Closes: #318693
  * debian/changelog: Added note about upstream source repository.

 -- Lars Wirzenius <liw@iki.fi>  Mon, 29 Aug 2005 23:03:32 +0300

piuparts (0.7-1) unstable; urgency=low

  * New upstream version.
  * This is the first package that will be uploaded to the Debian archive.

 -- Lars Wirzenius <liw@iki.fi>  Fri, 15 Jul 2005 13:09:00 +0300

piuparts (0.6-1) unstable; urgency=low

  * First release of the Debian package.

 -- Lars Wirzenius <liw@iki.fi>  Tue,  5 Jul 2005 20:08:00 +0300
