diff -Nru piuparts-1.0.0/conf/distros.conf piuparts-1.0.1/conf/distros.conf
--- piuparts-1.0.0/conf/distros.conf	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/conf/distros.conf	2019-06-17 22:53:31.000000000 +0200
@@ -176,19 +176,19 @@
 
 # alias
 [oldoldstable]
-distribution = wheezy
+distribution = jessie
 
 # alias
 [oldstable]
-distribution = jessie
+distribution = stretch
 
 # alias
 [stable]
-distribution = stretch
+distribution = buster
 
 # alias
 [testing]
-distribution = buster
+distribution = bullseye
 
 
 # It's also possible to have "virtual" entries by setting uri to
diff -Nru piuparts-1.0.0/custom-scripts/scripts/is_testable_uninstallable piuparts-1.0.1/custom-scripts/scripts/is_testable_uninstallable
--- piuparts-1.0.0/custom-scripts/scripts/is_testable_uninstallable	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/is_testable_uninstallable	2019-06-17 22:49:36.000000000 +0200
@@ -34,6 +34,19 @@
 	fi
 }
 
+# use where a later version might fix the bug and enable dist-upgrade testing
+skip_distupgrade_from()
+{
+	from_ver=$1
+	shift
+	pkg=${PIUPARTS_OBJECTS%%=*}
+	cand_ver=$(apt-cache policy "$pkg" | awk '{if ($1 == "Candidate:") {print $2}}')
+
+	if [ "$from_ver" = "$cand_ver" ]; then
+		skip_distupgrade "$@"
+	fi
+}
+
 
 # * For uninstallable *broken* packages we usually run the normal
 #   installation+purge tests (which will fail and get the package marked
@@ -50,42 +63,51 @@
 
 	case ${PIUPARTS_OBJECTS%%=*} in
 		blootbot)
-			skip_distupgrade "#502753: fails to install: prompts without using debconf"
+			skip_distupgrade "#502753: blootbot: fails to install: prompts without using debconf"
 			;;
 		distributed-net)
-			skip_distupgrade "#655922: noninteractive install: postinst loops infinitely"
+			skip_distupgrade "#655922: distributed-net: noninteractive install: postinst loops infinitely"
 			;;
 		dnscache-run)
-			skip_distupgrade "#664848: breaks dns resolution in chroot"
+			skip_distupgrade "#664848: dnscache-run: breaks dns resolution in chroot"
+			;;
+		libdbd-oracle-perl|\
+		ora2pg)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient-basic"
 			;;
 		libpils0|\
 		libpils-dev|\
 		libstonith0|\
 		libstonith-dev)
-			skip_distupgrade "#702055: transitional packages uninstallable in lenny"
+			skip_distupgrade "#702055: ${PIUPARTS_OBJECTS%%=*}: transitional package uninstallable in lenny"
 			;;
 		mhc)
-			skip_distupgrade "#696231: fails to install: emacs-package-install failure"
+			skip_distupgrade "#696231: mhc: fails to install: emacs-package-install failure"
 			;;
 		multex-bin)
-			skip_distupgrade "#668791: fails to install: The format file of 'multex' is NOT built successfully."
+			skip_distupgrade "#668791: multex-bin: fails to install: The format file of 'multex' is NOT built successfully."
+			;;
+		naist-jdic|\
+		naist-jdic-utf8|\
+		chasen)
+			skip_distupgrade "#929614: naist-jdic: 0.4.3-4 (lenny) was overwritten by 1:0.4.3-4 (jessie) on archive.debian.org"
 			;;
 		python-milter|\
 		spf-milter-python)
-			skip_always "python-milter contains virus signatures that may get blocked by the firewall"
+			skip_always "python-milter contains virus samples that may get blocked by the firewall"
 			;;
 		runit-run)
-			skip_distupgrade "#542157: fails to install"
+			skip_distupgrade "#542157: runit-run: fails to install"
 			;;
 		sun-java5-doc|\
 		sun-java6-doc)
-			skip_distupgrade "#709967: fails to install: download location no longer available"
+			skip_distupgrade "#709967: ${PIUPARTS_OBJECTS%%=*}: fails to install: download location no longer available"
 			;;
 		trn)
-			skip_distupgrade "fails to install: prompts without using debconf"
+			skip_distupgrade "#688563: trn: fails to install: prompts without using debconf"
 			;;
 		ttf-root-installer)
-			skip_distupgrade "#678807: fails to install: ftp:// download location disappeared"
+			skip_distupgrade "#678807: ttf-root-installer: fails to install: ftp:// download location disappeared"
 			;;
 	esac
 
@@ -95,10 +117,10 @@
 
 	case ${PIUPARTS_OBJECTS%%=*} in
 		distributed-net)
-			skip_distupgrade "#655922: noninteractive install: postinst loops infinitely"
+			skip_distupgrade "#655922: distributed-net: noninteractive install: postinst loops infinitely"
 			;;
 		firmware-b43-lpphy-installer)
-			skip_distupgrade "#623703: download location no longer available"
+			skip_distupgrade "#623703: firmware-b43-lpphy-installer: download location no longer available"
 			;;
 		fossology|\
 		fossology-agents|\
@@ -107,12 +129,15 @@
 		fossology-web|\
 		fossology-web-single)
 			# removed after squeeze
-			skip_distupgrade "#595593: fails to install"
+			skip_distupgrade "#595593: fossology: fails to install"
 			;;
-		mini-buildd-bld|\
-		mini-buildd-rep)
-			skip_distupgrade "#632955, #656746: time limit exceeded during install"
-			fail_test "#632955, #656746: time limit exceeded during install"
+		libdbd-oracle-perl|\
+		ora2pg)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient11.2-basic"
+			;;
+		mini-buildd-bld)
+			skip_distupgrade "#632955: time limit exceeded during install"
+			fail_test "#632955: time limit exceeded during install"
 			;;
 	esac
 
@@ -121,14 +146,42 @@
 if [ "${PIUPARTS_DISTRIBUTION}" = "wheezy" ]; then
 
 	case ${PIUPARTS_OBJECTS%%=*} in
+		firefox-esr-dev|\
+		iceowl-l10n-bn-bd|\
+		iceowl-l10n-pa-in|\
+		iceowl-l10n-ta-lk|\
+		iceweasel-l10n-ak|\
+		iceweasel-l10n-be|\
+		iceweasel-l10n-csb|\
+		iceweasel-l10n-ku|\
+		iceweasel-l10n-lg|\
+		iceweasel-l10n-nso|\
+		iceweasel-l10n-ta-lk|\
+		iceweasel-l10n-zu|\
+		lightning-l10n-bn-bd|\
+		lightning-l10n-pa-in|\
+		lightning-l10n-ta-lk|\
+		thunderbird-dev|\
+		thunderbird-l10n-bn-bd|\
+		thunderbird-l10n-pa-in|\
+		thunderbird-l10n-ta-lk)
+			skip_distupgrade "#928226: uninstallable cruft package"
+			;;
 		firmware-b43-lpphy-installer)
-			skip_distupgrade "#623703: download location no longer available"
+			skip_distupgrade "#623703: firmware-b43-lpphy-installer: download location no longer available"
 			;;
 		geoip-database-contrib)
-			skip_distupgrade "#885441: download location no longer available"
+			skip_distupgrade "#885441: geoip-database-contrib: download location no longer available"
+			;;
+		libdbd-oracle-perl|\
+		ora2pg)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient11.2-basic"
 			;;
 		nautilus-dropbox)
-			skip_distupgrade "#770402: downloads awfully slow, hangs during installation"
+			skip_distupgrade "#770402: nautilus-dropbox: downloads awfully slow, hangs during installation"
+			;;
+		xul-ext-compactheader)
+			skip_distupgrade "#837387: xul-ext-compactheader: uninstallable in wheezy with icedove (>= 1:45)"
 			;;
 	esac
 
@@ -137,14 +190,44 @@
 if [ "${PIUPARTS_DISTRIBUTION}" = "jessie" ]; then
 
 	case ${PIUPARTS_OBJECTS%%=*} in
+		enigmail)
+			skip_distupgrade_from "2:1.9.9-1~deb8u1" "#909000: enigmail 2.0 needed after thunderbird 60 upload"
+			;;
+		firefox-esr-dev|\
+		icedove-dev|\
+		icedove-l10n-bn-bd|\
+		icedove-l10n-pa-in|\
+		icedove-l10n-ta-lk|\
+		iceowl-l10n-bn-bd|\
+		iceowl-l10n-pa-in|\
+		iceowl-l10n-ta-lk|\
+		iceweasel-dev|\
+		lightning-l10n-bn-bd|\
+		lightning-l10n-pa-in|\
+		lightning-l10n-ta-lk|\
+		thunderbird-dev|\
+		thunderbird-l10n-bn-bd|\
+		thunderbird-l10n-pa-in|\
+		thunderbird-l10n-ta-lk)
+			skip_distupgrade "#928226: uninstallable cruft package"
+			;;
+		fusionforge-plugin-mediawiki)
+			skip_distupgrade "#929139: fusionforge-plugin-mediawiki: uninstallable cruft package"
+			;;
 		geoip-database-contrib)
-			skip_distupgrade "#885441: download location no longer available"
+			skip_distupgrade "#885441: geoip-database-contrib: download location no longer available"
 			;;
 		steam)
-			skip_distupgrade "#772598: cannot preseed licence acceptance"
+			skip_distupgrade_from "1.0.0.49-1" "#772598: steam: cannot preseed licence acceptance"
 			;;
 		susv4)
-			skip_distupgrade "#900882: download location no longer available"
+			skip_distupgrade_from "7.20161013~deb8u1" "#900882: susv4: download location no longer available"
+			;;
+		xul-ext-compactheader)
+			skip_distupgrade_from "2.0.8-1" "#837387: xul-ext-compactheader: uninstallable in jessie with icedove (>= 1:45)"
+			;;
+		xul-ext-sogo-connector)
+			skip_distupgrade_from "31.0.0-1" "#909313: xul-ext-sogo-connector: not compatible with thunderbird 60"
 			;;
 	esac
 
@@ -154,12 +237,81 @@
 
 	case ${PIUPARTS_OBJECTS%%=*} in
 		geoip-database-contrib)
-			skip_distupgrade "#885441: download location no longer available"
+			skip_distupgrade "#885441: geoip-database-contrib: download location no longer available"
+			;;
+		libdbd-oracle-perl|\
+		ora2pg)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient12.1-basic"
+			;;
+		llvm-3.7-examples)
+			skip_distupgrade "#929138: llvm-3.7-examples: uninstallable on !arm*"
+			;;
+	esac
+
+fi
+
+if [ "${PIUPARTS_DISTRIBUTION}" = "stretch-debug" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		libdbd-oracle-perl-dbgsym)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient12.1-basic"
+			;;
+	esac
+
+fi
+
+if [ "${PIUPARTS_DISTRIBUTION}" = "buster" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		libdbd-oracle-perl)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient12.1-basic"
+			;;
+	esac
+
+fi
+
+if [ "${PIUPARTS_DISTRIBUTION}" = "buster-debug" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		libdbd-oracle-perl-dbgsym)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient12.1-basic"
+			;;
+	esac
+
+fi
+
+if [ "${PIUPARTS_DISTRIBUTION}" = "sid" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		libdbd-oracle-perl)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient12.1-basic"
+			;;
+	esac
+
+fi
+
+if [ "${PIUPARTS_DISTRIBUTION}" = "sid-debug" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		libdbd-oracle-perl-dbgsym)
+			skip_always "libdbd-oracle-perl/contrib depends on third-party oracle-instantclient12.1-basic"
 			;;
 	esac
 
 fi
 
+
+if [ "$(uname)" = "Linux" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		console-setup-freebsd)
+			skip_always "non-Linux package"
+			;;
+	esac
+
+fi
+
+
 case ${PIUPARTS_OBJECTS%%=*}@${PIUPARTS_DISTRIBUTION} in
 	acgvision-agent@squeeze)
 		# removed after squeeze
@@ -179,11 +331,6 @@
 	chef-server-api@wheezy)
 		skip_distupgrade "#681573: chef-solr: fails to install if policy-rc.d forbids to start services"
 		;;
-	console-setup-freebsd@*)
-		if [ "$(uname)" = "Linux" ]; then
-			skip_always "non-Linux package"
-		fi
-		;;
 	cpushare@wheezy)
 		# removed after wheezy
 		skip_distupgrade "#689885: Ships a folder in /var/run or /var/lock"
@@ -197,7 +344,7 @@
 	dms-dr@jessie|\
 	dms-wsgi@jessie)
 		# fixed after jessie, not in stable after jessie
-		skip_distupgrade '#852519: fails to install: NZST FATAL: configuration file "/etc/postgresql/9.4/dms/postgresql.conf" contains errors'
+		skip_distupgrade '#852519: dms-core: fails to install: NZST FATAL: configuration file "/etc/postgresql/9.4/dms/postgresql.conf" contains errors'
 		;;
 	docbookwiki@lenny)
 		# removed after lenny
@@ -273,14 +420,4 @@
 	usrmerge@*)
 		skip_always "performs piuparts-unfriendy filesystem layout changes"
 		;;
-	xul-ext-compactheader@wheezy)
-		if [ "$(apt-cache show xul-ext-compactheader | sed -n '/^Version:/s/^Version: //p')" = "2.0.5-1" ]; then
-			skip_distupgrade "#837387: uninstallable in wheezy with icedove (>= 1:45)"
-		fi
-		;;
-	xul-ext-compactheader@jessie)
-		if [ "$(apt-cache show xul-ext-compactheader | sed -n '/^Version:/s/^Version: //p')" = "2.0.8-1" ]; then
-			skip_distupgrade "#837387: uninstallable in jessie with icedove (>= 1:45)"
-		fi
-		;;
 esac
diff -Nru piuparts-1.0.0/custom-scripts/scripts/post_distupgrade_exceptions piuparts-1.0.1/custom-scripts/scripts/post_distupgrade_exceptions
--- piuparts-1.0.0/custom-scripts/scripts/post_distupgrade_exceptions	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/post_distupgrade_exceptions	2019-06-17 22:53:31.000000000 +0200
@@ -99,8 +99,19 @@
 
 fi
 
-if [ "$PIUPARTS_DISTRIBUTION" = "buster" ] || \
-	[ "$PIUPARTS_DISTRIBUTION" = "sid" -a "$PIUPARTS_DISTRIBUTION_PREV" = "stretch" ]; then
+if [ "$PIUPARTS_DISTRIBUTION_PREV" = "stretch" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		design-desktop*)
+			#850948: needrestart/stretch may hang during upgrade
+			log_debug
+			dpkg-divert --remove --rename /usr/lib/needrestart/apt-pinvoke
+			;;
+	esac
+
+fi
+
+if [ "$PIUPARTS_DISTRIBUTION" = "buster" ]; then
 
 	# libc-bin only upgrades pristine /etc/nsswitch.conf
 	if grep -q '^passwd:.*compat' /etc/nsswitch.conf ; then
diff -Nru piuparts-1.0.0/custom-scripts/scripts/post_remove_exceptions piuparts-1.0.1/custom-scripts/scripts/post_remove_exceptions
--- piuparts-1.0.0/custom-scripts/scripts/post_remove_exceptions	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/post_remove_exceptions	2019-06-17 22:49:36.000000000 +0200
@@ -21,4 +21,20 @@
 				;;
 		esac
 		;;
+	ibod|\
+	isdnactivecards|\
+	isdneurofile|\
+	isdnlog|\
+	isdnutils|\
+	isdnutils-xtools|\
+	isdnvbox|\
+	isdnvboxserver|\
+	INVALID)
+		case "$PIUPARTS_DISTRIBUTION" in
+			lenny|squeeze)
+				#431855: isdnutils-base fails to purge with "There are still files in /etc/isdn/ that you may want to remove manually."
+				log_debug
+				rm -fv /etc/isdn/*
+		esac
+		;;
 esac
diff -Nru piuparts-1.0.0/custom-scripts/scripts/post_setup_minimize piuparts-1.0.1/custom-scripts/scripts/post_setup_minimize
--- piuparts-1.0.0/custom-scripts/scripts/post_setup_minimize	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/post_setup_minimize	2019-06-17 22:53:31.000000000 +0200
@@ -8,7 +8,7 @@
 		jessie)
 			dpkg --purge gcc-4.8-base
 			;;
-		sid|stretch)
+		stretch)
 			dpkg --purge lsb-base tzdata
 			;;
 	esac
diff -Nru piuparts-1.0.0/custom-scripts/scripts/pre_distupgrade_allow_unauthenticated piuparts-1.0.1/custom-scripts/scripts/pre_distupgrade_allow_unauthenticated
--- piuparts-1.0.0/custom-scripts/scripts/pre_distupgrade_allow_unauthenticated	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/pre_distupgrade_allow_unauthenticated	2019-06-17 22:49:36.000000000 +0200
@@ -44,6 +44,8 @@
 # The Release file is not getting updated.
 Acquire::Check-Valid-Until "false";
 EOF
+elif [ "$PIUPARTS_DISTRIBUTION_NEXT" = "wheezy-backports" ]; then
+	:
 elif [ -e /etc/apt/apt.conf.d/unauthenticated-wheezy ]; then
 	echo "FAIL: /etc/apt/apt.conf.d/unauthenticated-wheezy exists"
 	exit 1
diff -Nru piuparts-1.0.0/custom-scripts/scripts/pre_distupgrade_exceptions piuparts-1.0.1/custom-scripts/scripts/pre_distupgrade_exceptions
--- piuparts-1.0.0/custom-scripts/scripts/pre_distupgrade_exceptions	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/pre_distupgrade_exceptions	2019-06-17 22:49:36.000000000 +0200
@@ -143,6 +143,19 @@
 				cyrus-makedirs --cleansquat
 			fi
 			;;
+		debian-edu-archive-keyring|\
+		debian-ports-archive-keyring|\
+		emdebian-archive-keyring|\
+		emdebian-grip-server)
+			# https://bugs.debian.org/687611
+			log_debug
+			for keyring in /etc/apt/trusted.gpg.d/*.gpg~
+			do
+				if [ -f "${keyring}" ]; then
+					mv -v "${keyring}" "${keyring%~}"
+				fi
+			done
+			;;
 		ekeyd-uds)
 			# ekeyd-uds was removed after squeeze, maintainer scripts are incompatible with udev/jessie
 			log_debug
@@ -176,14 +189,13 @@
 
 fi
 
-if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "experimental" ]; then
+if [ "$PIUPARTS_DISTRIBUTION" = "stretch" ]; then
 
-	case ${PIUPARTS_OBJECTS} in
-		dnscache-run=1:1.05-9~exp2)
-			#664848: breaks dns resolution in chroot if installed in a chroot
+	case ${PIUPARTS_OBJECTS%%=*} in
+		design-desktop*)
+			#850948: needrestart/stretch may hang during upgrade
 			log_debug
-			echo "*** ABORT - Installation broke DNS in chroot ***"
-			exit 1
+			dpkg-divert --rename /usr/lib/needrestart/apt-pinvoke
 			;;
 	esac
 
diff -Nru piuparts-1.0.0/custom-scripts/scripts/pre_distupgrade_zz_database-server piuparts-1.0.1/custom-scripts/scripts/pre_distupgrade_zz_database-server
--- piuparts-1.0.0/custom-scripts/scripts/pre_distupgrade_zz_database-server	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/pre_distupgrade_zz_database-server	2019-06-17 22:53:31.000000000 +0200
@@ -56,7 +56,7 @@
 		CANDIDATES="$CANDIDATES mariadb-server-10.3"
 		CANDIDATES="$CANDIDATES postgresql-11"
 		;;
-	sid)
+	bullseye|sid)
 		CANDIDATES="$CANDIDATES mariadb-server-10.3"
 		CANDIDATES="$CANDIDATES postgresql-11"
 		;;
@@ -152,19 +152,22 @@
 	lenny:squeeze)
 		upgrade_pg_cluster 8.3 8.4
 		;;
-	squeeze:wheezy)
+	squeeze*:wheezy)
 		upgrade_pg_cluster 8.4 9.1
 		;;
-	wheezy:jessie)
+	wheezy*:jessie)
 		upgrade_pg_cluster 9.1 9.4 --restart-first
 		;;
-	jessie:stretch)
+	jessie*:stretch)
 		upgrade_pg_cluster 9.4 9.6
 		;;
-	stretch:buster)
+	stretch*:buster)
 		upgrade_pg_cluster 9.6 11
 		;;
-	stretch:sid)
+	buster*:bullseye)
+		upgrade_pg_cluster 9.6 11
+		;;
+	buster:sid)
 		upgrade_pg_cluster 9.6 11
 		;;
 esac
diff -Nru piuparts-1.0.0/custom-scripts/scripts/pre_install_database-server piuparts-1.0.1/custom-scripts/scripts/pre_install_database-server
--- piuparts-1.0.0/custom-scripts/scripts/pre_install_database-server	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/pre_install_database-server	2019-06-17 22:49:36.000000000 +0200
@@ -18,18 +18,25 @@
 	auth2db-common)				MYSQL=yes ; CLIENT=yes ;;
 	auth2db-frontend)			MYSQL=yes ; CLIENT=yes ;;
 	b2evolution)				MYSQL=yes ;;
+	bacula)					POSTGRESQL=yes ;;
+	bacula-director)			POSTGRESQL=yes ;;
+	bacula-director-dbgsym)			POSTGRESQL=yes ;;
 	bacula-director-mysql)			MYSQL=yes ;;
 	bacula-director-mysql-dbg)		MYSQL=yes ;;
 	bacula-director-pgsql)			POSTGRESQL=yes ;;
 	bacula-director-pgsql-dbg)		POSTGRESQL=yes ;;
+	bacula-server)				POSTGRESQL=yes ;;
 	bandwidthd-pgsql)			POSTGRESQL=yes ;;
 	bareos)					POSTGRESQL=yes ;;
 	bareos-database-common)			POSTGRESQL=yes ;;
+	bareos-database-common-dbgsym)		POSTGRESQL=yes ;;
 	bareos-database-mysql)			POSTGRESQL=yes ; MYSQL=yes ;;
 	bareos-database-postgresql)		POSTGRESQL=yes ;;
 	bareos-database-sqlite3)		POSTGRESQL=yes ; SQLITE3=yes ;;
 	bareos-database-tools)			POSTGRESQL=yes ;;
+	bareos-database-tools-dbgsym)		POSTGRESQL=yes ;;
 	bareos-director)			POSTGRESQL=yes ;;
+	bareos-director-dbgsym)			POSTGRESQL=yes ;;
 	bley)					POSTGRESQL=yes ;;
 	blootbot)				MYSQL=yes ;;
 	buddycloud-server)			POSTGRESQL=yes ;;
@@ -37,6 +44,7 @@
 	cacti)					MYSQL=yes ;;
 	cacti-cactid)				MYSQL=yes ;;
 	cacti-spine)				MYSQL=yes ;;
+	cacti-spine-dbgsym)			MYSQL=yes ;;
 	chado-utils)				POSTGRESQL=yes ;;
 	convirt)				MYSQL=yes ;;
 	docbookwiki)				MYSQL=yes ;;
@@ -86,10 +94,14 @@
 	icinga-web-config-icinga2-ido-pgsql)	POSTGRESQL=yes ;;
 	icinga-web-pnp)				POSTGRESQL=yes ;;
 	icinga2-ido-mysql)			MYSQL=yes ;;
+	icinga2-ido-mysql-dbgsym)		MYSQL=yes ;;
 	icinga2-ido-pgsql)			POSTGRESQL=yes ;;
+	icinga2-ido-pgsql-dbgsym)		POSTGRESQL=yes ;;
 	jclicmoodle)				POSTGRESQL=yes ;;
 	jffnms)					MYSQL=yes ;;
+	kopano-core)				MYSQL=yes ;;
 	kopano-server)				MYSQL=yes ;;
+	kopano-server-dbgsym)			MYSQL=yes ;;
 	letodms)				MYSQL=yes ;;
 	letodms-webdav)				MYSQL=yes ;;
 	libchado-perl)				POSTGRESQL=yes ;;
@@ -116,6 +128,8 @@
 	ocsinventory-reports)			MYSQL=yes ;;
 	ocsinventory-server)			MYSQL=yes ;;
 	openacs)				POSTGRESQL=yes ;;
+	opendmarc)				MYSQL=yes ;;
+	opendmarc-dbgsym)			MYSQL=yes ;;
 	openstack-dashboard)			SQLITE3=yes ;;
 	openstack-dashboard-apache)		SQLITE3=yes ;;
 	otrs)					POSTGRESQL=yes ;;
@@ -141,6 +155,7 @@
 	prelude-manager)			MYSQL=yes ;;
 	prelude-manager-dbgsym)			MYSQL=yes ;;
 	prewikka)				MYSQL=yes ;;
+	puppetdb)				POSTGRESQL=yes ;;
 	pybit-web)				POSTGRESQL=yes ;;
 	python-django-horizon)			SQLITE3=yes ;;
 	python-quantum)				SQLITE3=yes ;;
@@ -159,7 +174,9 @@
 	roundcube-plugins)			MYSQL=yes ;;
 	roundcube-plugins-extra)		MYSQL=yes ;;
 	rsyslog-mysql)				MYSQL=yes ;;
+	rsyslog-mysql-dbgsym)			MYSQL=yes ;;
 	rsyslog-pgsql)				POSTGRESQL=yes ;;
+	rsyslog-pgsql-dbgsym)			POSTGRESQL=yes ;;
 	scuttle)				MYSQL=yes ;;
 	semanticscuttle)			MYSQL=yes ;;
 	serendipity)				MYSQL=yes ;;
@@ -170,8 +187,10 @@
 	sympa)					MYSQL=yes ;;
 	tango-accesscontrol)			MYSQL=yes ;;
 	tango-accesscontrol-dbg)		MYSQL=yes ;;
+	tango-accesscontrol-dbgsym)		MYSQL=yes ;;
 	tango-db)				MYSQL=yes ;;
 	tango-db-dbg)				MYSQL=yes ;;
+	tango-db-dbgsym)			MYSQL=yes ;;
 	textpattern)				MYSQL=yes ;;
 	torrentflux)				MYSQL=yes ;;
 	tt-rss)					MYSQL=yes ;;
diff -Nru piuparts-1.0.0/custom-scripts/scripts/pre_install_exceptions piuparts-1.0.1/custom-scripts/scripts/pre_install_exceptions
--- piuparts-1.0.0/custom-scripts/scripts/pre_install_exceptions	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/pre_install_exceptions	2019-06-17 22:49:36.000000000 +0200
@@ -52,6 +52,17 @@
 		;;
 esac
 
+if [ "$PIUPARTS_DISTRIBUTION" = "jessie-backports" ]; then
+
+	case ${PIUPARTS_OBJECTS%%=*} in
+		libudev1)
+			log_debug
+			apt-get -y -t $PIUPARTS_DISTRIBUTION install udev systemd
+			;;
+	esac
+
+fi
+
 if [ "$PIUPARTS_DISTRIBUTION" = "wheezy-backports" ]; then
 
 	case ${PIUPARTS_OBJECTS%%=*} in
@@ -191,6 +202,11 @@
 				apt-get -y install bootcd-i386
 			fi
 			;;
+		mini-buildd-rep)
+			#656746: mini-buildd-rep: fails to install: missing dependency on lvm2
+			log_debug
+			apt-get -y install udev lvm2
+			;;
 	esac
 
 fi
@@ -259,8 +275,10 @@
 			;;
 		ipppd|ibod|isdnutils)
 			#542156
-			log_debug
-			test -e /dev/MAKEDEV || ln -sfv /sbin/MAKEDEV /dev/MAKEDEV
+			if [ ! -e /dev/MAKEDEV ]; then
+				log_debug
+				ln -sfv /sbin/MAKEDEV /dev/MAKEDEV
+			fi
 			;;
 	esac
 
diff -Nru piuparts-1.0.0/custom-scripts/scripts/pre_remove_50_find_bad_permissions piuparts-1.0.1/custom-scripts/scripts/pre_remove_50_find_bad_permissions
--- piuparts-1.0.0/custom-scripts/scripts/pre_remove_50_find_bad_permissions	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/pre_remove_50_find_bad_permissions	2019-06-17 22:49:36.000000000 +0200
@@ -44,6 +44,15 @@
 			test ! -f "$file" || chmod -c o-w "$file"
 		done
 		;;
+	ilisp)
+		#WORKSAROUND #682826: ilisp: creates world writable directory /usr/lib/ilisp
+		# package was not in wheezy
+		for dir in /usr/lib/ilisp
+		do
+			test ! -d "$dir" || chmod -c o-w "$dir"
+		done
+		;;
+
     esac
 
 ;;
diff -Nru piuparts-1.0.0/custom-scripts/scripts/pre_remove_exceptions piuparts-1.0.1/custom-scripts/scripts/pre_remove_exceptions
--- piuparts-1.0.0/custom-scripts/scripts/pre_remove_exceptions	2018-10-21 13:56:11.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts/pre_remove_exceptions	2019-06-17 22:49:36.000000000 +0200
@@ -25,25 +25,42 @@
 				;;
 		esac
 		;;
-	isdnlog|isdnutils)
-		#WORKSAROUND #431855: fails with "There are still files in /etc/isdn/ that you may want to remove manually."
-		if [ "$PIUPARTS_DISTRIBUTION" = "lenny" ]; then
-			log_debug
-			rm -fv /etc/isdn/*
-		fi
+	freebsd-buildutils)
+		case "$PIUPARTS_DISTRIBUTION" in
+			lenny|squeeze)
+				# apt considers original-awk as essential
+				log_debug
+				apt-get -y remove freebsd-buildutils
+				echo 'Yes, do as I say!' | apt-get -y --force-yes remove original-awk
+		esac
 		;;
 	original-awk)
 		case "$PIUPARTS_DISTRIBUTION" in
-			lenny)
+			lenny|squeeze)
+				# apt considers original-awk as essential
 				log_debug
-				# apt considers this as essential
 				echo 'Yes, do as I say!' | apt-get -y --force-yes remove original-awk
 		esac
 		;;
 esac
 
 case "$PIUPARTS_DISTRIBUTION" in
+	jessie*)
+		# prevent failure of 'apt-get --reinstall install systemd-sysv systemd'
+		# due to spurious dependency cycle (#237470)
+		case ${PIUPARTS_OBJECTS%%=*} in
+			file-rc|\
+			live-config|\
+			live-config-upstart|\
+			upstart)
+				log_debug
+				apt-get -y install systemd-sysv
+				;;
+		esac
+		;;
+esac
 
+case "$PIUPARTS_DISTRIBUTION" in
 	lenny*|squeeze*|wheezy*|jessie*)
 		# --allow-remove-essential was added in apt 1.1 (stretch)
 		;;
diff -Nru piuparts-1.0.0/custom-scripts/scripts-broken-symlinks/post_install_extras_unbreak_symlinks piuparts-1.0.1/custom-scripts/scripts-broken-symlinks/post_install_extras_unbreak_symlinks
--- piuparts-1.0.0/custom-scripts/scripts-broken-symlinks/post_install_extras_unbreak_symlinks	2019-02-11 12:54:17.000000000 +0100
+++ piuparts-1.0.1/custom-scripts/scripts-broken-symlinks/post_install_extras_unbreak_symlinks	2019-06-17 22:49:36.000000000 +0200
@@ -44,7 +44,11 @@
 # python-kde4-dev: Depends: python-kde4 | python3-pykde4
 install_extra_package python-kde4-dev		python3-pykde4
 
-# /usr/include/libreoffice/sal/typesizes.h -> ../../x86_64-linux-gnu/libreoffice/sal/typesizes.h
+# /usr/bin/vmware-user -> vmware-user-suid-wrapper
+# open-vm-tools Suggests: open-vm-tools-desktop
+install_extra_package open-vm-tools		open-vm-tools-desktop
+
+# /usr/include/libreoffice/sal/typesizes.h -> ../../<triplet>/libreoffice/sal/typesizes.h
 # /usr/lib/libreoffice/sdk/index.html -> ../../../share/doc/libreoffice/sdk/index.html
 # libreoffice-dev: Suggests: libreoffice-dev-doc
 install_extra_package libreoffice-dev-common	libreoffice-dev libreoffice-dev-doc
@@ -68,6 +72,14 @@
 # /usr/lib/firefox/dictionaries -> ../../share/hunspell
 install_extra_package firefox			hunspell-en-us
 
+# /usr/lib/python2.7/dist-packages/Bio/Entrez/DTDs/mathml2.dtd -> ../../../../../../share/xml/schema/w3c/mathml/dtd/mathml2.dtd
+# python-biopython: Suggests: w3-dtd-mathml
+install_extra_package python-biopython		w3-dtd-mathml
+
+# /usr/lib/python2.7/dist-packages/sas/sasview/doc -> ../../../../../share/doc/sasview/html
+# python-sasview: Suggests: sasview-doc
+install_extra_package python-sasview		sasview-doc
+
 # /usr/lib/python2.7/dist-packages/wx.pth -> ../../wx/python/wx.pth
 # python-wxversion, alternative set up by python-wxgtk3.0, #857757
 install_extra_package python-wxversion		python-wxgtk3.0
@@ -80,11 +92,11 @@
 # ruby-psych: Suggests: libpsych-java
 install_extra_package ruby-psych		libpsych-java
 
-# /usr/lib/slepcdir/slepc3.10/x86_64-linux-gnu-complex/share/slepc/datafiles -> ../../../../../../share/doc/libslepc3.10-dev-examples/datafiles
+# /usr/lib/slepcdir/slepc3.10/<triplet>-complex/share/slepc/datafiles -> ../../../../../../share/doc/libslepc3.10-dev-examples/datafiles
 # libslepc-complex3.10-dev: Suggests: libslepc3.10-dev-examples
 install_extra_package libslepc-complex3.10-dev	libslepc3.10-dev-examples slepc3.10-doc
 
-# /usr/lib/slepcdir/slepc3.10/x86_64-linux-gnu-real/share/slepc/datafiles -> ../../../../../../share/doc/libslepc3.10-dev-examples/datafiles
+# /usr/lib/slepcdir/slepc3.10/<triplet>-real/share/slepc/datafiles -> ../../../../../../share/doc/libslepc3.10-dev-examples/datafiles
 # libslepc-real3.10-dev: Suggests: libslepc3.10-dev-examples
 install_extra_package libslepc-real3.10-dev	libslepc3.10-dev-examples slepc3.10-doc
 
@@ -93,15 +105,15 @@
 # wml: Suggests: freetable, weblint-perl
 install_extra_package wml			freetable weblint-perl
 
-# /usr/lib/x86_64-linux-gnu/dbus-1.0/debug-build/share/dbus-1/system.d -> ../../../../../../share/dbus-1/system.d
+# /usr/lib/<triplet>/dbus-1.0/debug-build/share/dbus-1/system.d -> ../../../../../../share/dbus-1/system.d
 install_extra_package dbus-1-dbg		systemd
 
-# /usr/lib/x86_64-linux-gnu/firebird/3.0/fbtrace.conf -> /etc/firebird/3.0/fbtrace.conf
-# /usr/lib/x86_64-linux-gnu/firebird/3.0/databases.conf -> /etc/firebird/3.0/databases.conf
+# /usr/lib/<triplet>/firebird/3.0/fbtrace.conf -> /etc/firebird/3.0/fbtrace.conf
+# /usr/lib/<triplet>/firebird/3.0/databases.conf -> /etc/firebird/3.0/databases.conf
 # firebird3.0-server-core: Suggests: firebird3.0-server
 install_extra_package firebird3.0-server-core	firebird3.0-server
 
-# /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf -> ../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
+# /usr/lib/<triplet>/qt-default/qtchooser/default.conf -> ../../../../share/qtchooser/qt4-<triplet>.conf
 install_extra_package libqtcore4		qtchooser
 
 # /usr/share/bacula-common/dbc_database.conf -> /etc/dbconfig-common/bacula-director-pgsql.conf
@@ -140,9 +152,7 @@
 
 # /usr/share/doc/libboost1.62-doc/HTML/boost -> ../../../../include/boost
 # libboost1.XX-doc: Suggests: libboost1.XX-dev
-install_extra_package libboost1.61-doc		libboost1.61-dev
 install_extra_package libboost1.62-doc		libboost1.62-dev
-install_extra_package libboost1.63-doc		libboost1.63-dev
 
 # /usr/share/doc/libembperl-perl/examples/forms/js/prototype.js -> ../../../../../javascript/prototype/prototype.js
 # libembperl-perl: Suggests: libjs-prototype
@@ -181,6 +191,10 @@
 # node-setimmediate: Suggests: libjs-mocha, libjs-chai
 install_extra_package node-setimmediate		libjs-chai libjs-mocha
 
+# /usr/share/doc/node-yajsml/examples/public/javascripts/lib/underscore.js -> ../../../../../../javascript/underscore/underscrore.js
+# node-yajsml: Suggests: libjs-underscore
+install_extra_package node-yajsml		libjs-underscore
+
 # /usr/share/doc/python-ly/html -> ../python-ly-doc/html
 # python-ly: Suggests: python-ly-doc
 install_extra_package python-ly			python-ly-doc
@@ -195,6 +209,10 @@
 # scribus-data: Recommends: scribus (= ${binary:Version})
 install_extra_package scribus-data		scribus hyphen-en-us
 
+# /usr/share/doc/xen-utils-common/html -> ../xen/html
+# xen-utils-common: Suggests: xen-doc
+install_extra_package xen-utils-common		xen-doc
+
 # /usr/share/eclipse/dropins/eclox/eclipse/plugins/org.gna.eclox.help_0.10.1/html/doxygen-doc -> ../../../../../../../doc/doxygen/html
 # doxygen: Suggests: doxygen-doc
 install_extra_package eclipse-eclox		doxygen-doc
@@ -214,6 +232,10 @@
 # /usr/share/icons/default.kde4 -> oxygen
 install_extra_package kde-runtime-data		oxygen-icon-theme
 
+# /usr/share/jcadencii/WineMinimum.bundle/Contents/SharedSupport/bin/wine -> ../../../../../../bin/wine
+# jcadencii: Suggests: wine
+install_extra_package jcadencii			wine
+
 # /usr/share/live/build/bootloaders/???linux/*.c32 -> /usr/lib/syslinux/modules/bios/*.c32
 # /usr/share/live/build/bootloaders/pxelinux/pxelinux.0 -> /usr/lib/PXELINUX/pxelinux.0
 # /usr/share/live/build/bootloaders/isolinux/isolinux.bin -> /usr/lib/ISOLINUX/isolinux.bin
@@ -232,22 +254,10 @@
 # /usr/share/nginx/modules -> ../../lib/nginx/modules
 install_extra_package nginx-common		libnginx-mod-http-echo
 
-# /usr/bin/vmware-user -> vmware-user-suid-wrapper
-# open-vm-tools Suggests: open-vm-tools-desktop
-install_extra_package open-vm-tools		open-vm-tools-desktop
-
 # /usr/share/org-mode/scripts/ditaa.jar -> ../../ditaa/ditaa.jar
 # org-mode: Suggests: ditaa
 install_extra_package org-mode			ditaa
 
-# /usr/lib/python2.7/dist-packages/Bio/Entrez/DTDs/mathml2.dtd -> ../../../../../../share/xml/schema/w3c/mathml/dtd/mathml2.dtd
-# python-biopython: Suggests: w3-dtd-mathml
-install_extra_package python-biopython		w3-dtd-mathml
-
-# /usr/lib/python2.7/dist-packages/sas/sasview/doc -> ../../../../../share/doc/sasview/html
-# python-sasview: Suggests: sasview-doc
-install_extra_package python-sasview		sasview-doc
-
 # /usr/share/pyshared/MoinMoin/words -> /etc/moin/words
 # /etc/moin/words -> /usr/share/dict/words
 install_extra_package python-moinmoin		wamerican
@@ -316,11 +326,16 @@
 	fi
 }
 
-# /etc/motd.d/cockpit -> /run/cockpit/motd
 # /etc/issue.d/cockpit.issue -> /run/cockpit/motd
+# /etc/motd.d/cockpit -> /run/cockpit/motd
 create_extra_dir cockpit-ws			/run/cockpit
 create_extra_file cockpit-ws			/run/cockpit/motd
 
+# /etc/issue.linuxlogo -> /var/run/linuxlogo/issue.linuxlogo
+# /etc/issue.linuxlogo.ascii -> /var/run/linuxlogo/issue.linuxlogo.ascii
+create_extra_dir linuxlogo			/var/run/linuxlogo
+create_extra_file linuxlogo			/var/run/linuxlogo/issue.linuxlogo /var/run/linuxlogo/issue.linuxlogo.ascii
+
 # /etc/lprng/printcap -> ../printcap
 create_extra_file lprng				/etc/printcap
 
@@ -328,33 +343,54 @@
 # /etc/openvswitch/conf.db -> /var/lib/openvswitch/conf.db
 create_extra_file openvswitch-switch		/var/lib/openvswitch/.conf.db.~lock~ /var/lib/openvswitch/conf.db
 
+# /etc/vdr/plugins/xineliboutput/config -> /var/lib/vdr/plugins/xineliboutput/config
+create_extra_file vdr-plugin-xineliboutput	/var/lib/vdr/plugins/xineliboutput/config
+
 # /etc/vdr/remote.conf -> /var/lib/vdr/remote.conf
 # /etc/vdr/setup.conf -> /var/lib/vdr/setup.conf
 # /var/lib/vdr/commands.conf -> ../../cache/vdr/commands.conf
 # /var/lib/vdr/reccmds.conf -> ../../cache/vdr/reccmds.conf
 create_extra_file vdr				/var/cache/vdr/commands.conf /var/cache/vdr/reccmds.conf /var/lib/vdr/remote.conf /var/lib/vdr/setup.conf
 
-# /etc/vdr/plugins/xineliboutput/config -> /var/lib/vdr/plugins/xineliboutput/config
-create_extra_file vdr-plugin-xineliboutput	/var/lib/vdr/plugins/xineliboutput/config
-
-# /usr/lib/mesa-diverted/i386-linux-gnu/libGLX_indirect.so.0 -> libGLX_mesa.so.0
-# /usr/lib/mesa-diverted/x86_64-linux-gnu/libGLX_indirect.so.0 -> libGLX_mesa.so.0
+# /usr/lib/mesa-diverted/<triplet>/libGLX_indirect.so.0 -> libGLX_mesa.so.0
 create_extra_file glx-diversions		/usr/lib/mesa-diverted/i386-linux-gnu/libGLX_mesa.so.0
 create_extra_file glx-diversions		/usr/lib/mesa-diverted/x86_64-linux-gnu/libGLX_mesa.so.0
 
+# /usr/lib/plan/holiday -> /etc/plan/holiday
+create_extra_file plan				/etc/plan/holiday
+
 # /usr/sbin/ganeti-masterd -> ../share/ganeti/default/ganeti-masterd
 # #857289
 create_extra_file ganeti			/usr/share/ganeti/default/ganeti-masterd
 
+# /usr/share/epiphany-browser/mime-types-permissions.xml -> /etc/gnome/epiphany/mime-types-permissions.xml
+create_extra_file epiphany-browser-data		/etc/gnome/epiphany/mime-types-permissions.xml
+
+# /usr/share/games/xwelltris/welltris.scores -> /var/games/xwelltris/welltris.scores
+create_extra_file xwelltris			/var/games/xwelltris/welltris.scores
+
+# /usr/share/gitlab-shell/config.yml -> /etc/gitlab-shell/config.yml
+create_extra_file gitlab-shell			/etc/gitlab-shell/config.yml
+
 # /usr/share/man/man1/rust-gdb.1.gz -> gdb.1.gz
+# /usr/share/man/man1/i686-w64-mingw32-gdb.1.gz -> gdb.1.gz
+# /usr/share/man/man1/x86_64-w64-mingw32-gdb.1.gz -> gdb.1.gz
 # gdb-doc is in non-free
 create_extra_file rust-gdb			/usr/share/man/man1/gdb.1.gz
+create_extra_file gdb-mingw-w64			/usr/share/man/man1/gdb.1.gz
+
+# /usr/share/notion/debian-menu.lua -> /var/lib/notion/debian-menu.lua
+# /usr/share/notion/debian-menu-i18n.lua -> /var/lib/notion/debian-menu-i18n.lua
+create_extra_file notion			/var/lib/notion/debian-menu.lua /var/lib/notion/debian-menu-i18n.lua
 
 # /usr/share/otrs/Kernel/Config/GenericAgent.pm -> /etc/otrs/Kernel/Config/GenericAgent.pm
 # /var/lib/otrs/run -> /run/otrs
 create_extra_file otrs2				/etc/otrs/Kernel/Config/GenericAgent.pm
 create_extra_dir otrs2				/run/otrs
 
+# /usr/share/slrn/newsgroups.dsc -> /var/lib/slrn/newsgroups.dsc
+create_extra_file slrn				/var/lib/slrn/newsgroups.dsc
+
 # /usr/share/texlive/texmf-dist/tex/latex/pdfx/sRGB_IEC61966-2-1_black_scaled.icc -> ../../../../../color/icc/sRGB_IEC61966-2-1_black_scaled.icc
 # sRGB_IEC61966-2-1_black_scaled.icc is provided by icc-profiles in non-free (#880363)
 create_extra_file texlive-latex-extra		/usr/share/color/icc/sRGB_IEC61966-2-1_black_scaled.icc
@@ -365,3 +401,6 @@
 
 # /var/cache/vdr/dvd -> /dev/dvd
 create_extra_file vdr-plugin-dvd		/dev/dvd
+
+# /usr/share/wordpress/wp-content/plugins/civicrm/civicrm/civicrm-wordpress.settings.php -> /etc/civicrm/civicrm-wordpress.settings.php
+create_extra_file wordpress-civicrm		/etc/civicrm/civicrm-wordpress.settings.php
diff -Nru piuparts-1.0.0/custom-scripts/scripts-debug-triggers/pre_distupgrade_debug_triggers piuparts-1.0.1/custom-scripts/scripts-debug-triggers/pre_distupgrade_debug_triggers
--- piuparts-1.0.0/custom-scripts/scripts-debug-triggers/pre_distupgrade_debug_triggers	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts-debug-triggers/pre_distupgrade_debug_triggers	2019-06-17 22:49:36.000000000 +0200
@@ -4,5 +4,5 @@
 if [ ! -f /etc/dpkg/dpkg.cfg.d/piuparts-debug-triggers ]
 then
 	echo "Enabling dpkg trigger debugging"
-	echo 'debug=70000' > /etc/dpkg/dpkg.cfg.d/piuparts-debug-triggers
+	echo 'debug=70441' > /etc/dpkg/dpkg.cfg.d/piuparts-debug-triggers
 fi
diff -Nru piuparts-1.0.0/custom-scripts/scripts-debug-triggers/pre_install_debug_triggers piuparts-1.0.1/custom-scripts/scripts-debug-triggers/pre_install_debug_triggers
--- piuparts-1.0.0/custom-scripts/scripts-debug-triggers/pre_install_debug_triggers	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts-debug-triggers/pre_install_debug_triggers	2019-06-17 22:49:36.000000000 +0200
@@ -6,5 +6,5 @@
 if [ ! -f /etc/dpkg/dpkg.cfg.d/piuparts-debug-triggers ]
 then
 	echo "Enabling dpkg trigger debugging"
-	echo 'debug=70000' > /etc/dpkg/dpkg.cfg.d/piuparts-debug-triggers
+	echo 'debug=70441' > /etc/dpkg/dpkg.cfg.d/piuparts-debug-triggers
 fi
diff -Nru piuparts-1.0.0/custom-scripts/scripts-multi-distro-upgrade/pre_remove_exceptions_multi-distro-upgrade piuparts-1.0.1/custom-scripts/scripts-multi-distro-upgrade/pre_remove_exceptions_multi-distro-upgrade
--- piuparts-1.0.0/custom-scripts/scripts-multi-distro-upgrade/pre_remove_exceptions_multi-distro-upgrade	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/custom-scripts/scripts-multi-distro-upgrade/pre_remove_exceptions_multi-distro-upgrade	2019-06-17 22:49:36.000000000 +0200
@@ -12,6 +12,19 @@
 		log_debug
 		touch /var/log/autotrust/dummy.log
 		;;
+	chef-solr=None)
+		# removed after wheezy
+		# logrotate config references /var/log/chef/solr.log
+		log_debug
+		touch /var/log/chef/solr.log
+		;;
+	chef-server-api=None)
+		# removed after wheezy
+		# logrotate config references /var/log/chef/server.log /var/log/chef/merb*log
+		log_debug
+		touch /var/log/chef/server.log
+		touch /var/log/chef/merb-dummy.log
+		;;
 	dancer-ircd=None)
 		# removed after wheezy
 		# logrotate config references /var/log/dancer-ircd/ircd.log
diff -Nru piuparts-1.0.0/debian/changelog piuparts-1.0.1/debian/changelog
--- piuparts-1.0.0/debian/changelog	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/debian/changelog	2019-06-18 14:48:59.000000000 +0200
@@ -1,3 +1,29 @@
+piuparts (1.0.1) unstable; urgency=medium
+
+  [ Andreas Beckmann ]
+  * piuparts.conf, distros.conf: Update for buster release.
+  * piuparts.py:
+    - Add '--max-command-output-size' option to allow overriding the default
+      of 8 MB for debugging runs.
+    - Run pre_remove scripts before computing packages to be removed.
+    - Fix spurious failure to remove packages with names ending with '+'.
+  * piupartslib/packagesdb.py:
+    - Remove stale .kpr files after receiving new logs.
+  * piuparts-slave.py:
+    - Generate separate tarball names for --merged-usr chroots.
+    - Re-exec on SIGUSR1, picking up updated code and new config sections.
+  * master-bin/detect_piuparts_issues:
+    - Clean up stale temporary and empty files.
+  * master-bin/rotate_master_logs: Delete master logs older than 90 days.
+  * slave-bin/slave_reexec: New, send SIGUSR1 to all running slaves.
+  * custom-scripts: Add and update several exceptions.
+  * piuparts.conf.anbe: Add some more example sections.
+
+  [ Holger Levsen ]
+  * generate_daily_report: improve statistics.
+
+ -- Holger Levsen <holger@debian.org>  Tue, 18 Jun 2019 14:48:59 +0200
+
 piuparts (1.0.0) unstable; urgency=medium
 
   [ David Steele ]
@@ -143,7 +169,7 @@
 
   [ Andreas Beckmann ]
   * bug-templates: Raise severity of "fails to purge" errors to serious.
-   (see #918379)
+    (see #918379)
   * distros.conf: Add jessie-lts as a full distro.
   * piuparts.conf:
     - Use jessie-lts as upgrade target and rename section
diff -Nru piuparts-1.0.0/instances/piuparts.conf.anbe piuparts-1.0.1/instances/piuparts.conf.anbe
--- piuparts-1.0.0/instances/piuparts.conf.anbe	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/instances/piuparts.conf.anbe	2019-06-17 22:53:31.000000000 +0200
@@ -96,22 +96,20 @@
 #   civicrm-common, #857601, wontfix, /usr/share/civicrm/packages/OpenFlashChart/open-flash-chart.swf -> ../../../../local/open-flash-chart.swf
 	-i :/usr/share/civicrm/packages/OpenFlashChart/open-flash-chart.swf
 #   musescore-common, #910145, wontfix, /usr/share/mscore-2.3/sound/{sf2,sfz} -> ../../sounds/{sf2,sfz}
-	-i :/usr/share/mscore-2.3/sound/sf2
-	-i :/usr/share/mscore-2.3/sound/sfz
-	-i :/usr/share/mscore-3.0/sound/sf2
-	-i :/usr/share/mscore-3.0/sound/sfz
+	-I :/usr/share/mscore3?-.*/sound/sf[2z]
 #   mender-client, #915680, /var/lib/mender -> /data/mender
 	-i :/var/lib/mender
 # ignore broken symlinks (patterns)
 	-I :/etc/.*/supervise
 	-I /usr/include/python2\.7_d/.*\.h
 	-I /usr/include/python3\..dm/.*\.h
+	-I /usr/include/python3\..dm/cpython
 	-I /usr/include/python3\..dm/internal
 	-I :/usr/lib/jvm/java-.*-openjdk-.*/src\.zip
 	-I :/usr/share/doc/kde/HTML/.*/common
 	-I :/usr/share/man/man1/(.*-)?python.*-config\.1\.gz
 # ignore broken symlinks (third party game data)
-	-I :/usr/lib/openjk/JediAcademy/base/assets.\.pk3
+	-I :/usr/lib/openjk/Jedi(Academy|Outcast)/base/assets.\.pk3
 	-I :/usr/lib/rtcw/main/.*\.(cfg|pk3)
 
 [global]
@@ -126,6 +124,8 @@
 	tarball/buster/i386
 	tarball/stretch/amd64
 	tarball/stretch/i386
+	tarball/stretch-merged-usr/amd64
+	tarball/stretch-merged-usr/i386
 	tarball/jessie/amd64
 	tarball/jessie/i386
 	tarball/wheezy/amd64
@@ -178,6 +178,7 @@
 	stretch3buster-rcmd/main
 	stretch2buster-rcmd_i386/main
 	stretch3buster-rcmd_i386/main
+	stretch2buster-merged-usr/main
 	stretch2buster-iri/main
 	stretch2bpo2buster/main
 	jessie2lts/main
@@ -243,6 +244,7 @@
 	stretch3buster-rcmd/contrib
 	stretch2buster-rcmd_i386/contrib
 	stretch3buster-rcmd_i386/contrib
+	stretch2buster-merged-usr/contrib
 	stretch2buster-iri/contrib
 	stretch2bpo2buster/contrib
 	jessie2lts/contrib
@@ -308,6 +310,7 @@
 	stretch3buster-rcmd/non-free
 	stretch2buster-rcmd_i386/non-free
 	stretch3buster-rcmd_i386/non-free
+	stretch2buster-merged-usr/non-free
 	stretch2buster-iri/non-free
 	stretch2bpo2buster/non-free
 	jessie2lts/non-free
@@ -331,7 +334,7 @@
 	lenny222testing_i386/non-free
 #
 	wheezy/main
-	wheezy-rcmd/main
+	wheezy_i386/main
 	wheezy-lts/main
 	wheezy-security/main
 	wheezy-backports/main
@@ -359,9 +362,10 @@
 	lenny/main
 	lenny_i386/main
 	lenny2squeeze/main
+	lenny2squeeze_i386/main
 #
 	wheezy/contrib
-	wheezy-rcmd/contrib
+	wheezy_i386/contrib
 	wheezy-lts/contrib
 #	wheezy-security/contrib
 	wheezy-backports/contrib
@@ -378,7 +382,7 @@
 	squeeze_i386/contrib
 	squeeze-lts/contrib
 	squeeze-backports/contrib
-	squeeze-backports-sloppy/contrib
+#	squeeze-backports-sloppy/contrib
 	squeeze2lts2wheezy/contrib
 	squeeze2wheezy/contrib
 	squeeze2wheezy_i386/contrib
@@ -389,11 +393,12 @@
 	lenny/contrib
 	lenny_i386/contrib
 	lenny2squeeze/contrib
+	lenny2squeeze_i386/contrib
 #
 	wheezy/non-free
-	wheezy-rcmd/non-free
+	wheezy_i386/non-free
 	wheezy-lts/non-free
-#	wheezy-security/non-free
+	wheezy-security/non-free
 	wheezy-backports/non-free
 	wheezy2lts/non-free
 	wheezy2jessie/non-free
@@ -408,7 +413,7 @@
 	squeeze_i386/non-free
 	squeeze-lts/non-free
 	squeeze-backports/non-free
-	squeeze-backports-sloppy/non-free
+#	squeeze-backports-sloppy/non-free
 	squeeze2lts2wheezy/non-free
 	squeeze2wheezy/non-free
 	squeeze2wheezy_i386/non-free
@@ -419,8 +424,9 @@
 	lenny/non-free
 	lenny_i386/non-free
 	lenny2squeeze/non-free
+	lenny2squeeze_i386/non-free
 #
-testing-suite = buster
+testing-suite = bullseye
 #
 json-sections = none
 #
@@ -500,7 +506,6 @@
 arch = amd64
 area = main
 components = main
-chroot-tgz = %(upgrade-test-distros)s-merged-usr_%(arch)s.tgz
 # 60*60*24*2
 max-tgz-age = 172800
 
@@ -514,7 +519,6 @@
 setarch = linux32
 area = main
 components = main
-chroot-tgz = %(upgrade-test-distros)s-merged-usr_%(arch)s.tgz
 # 60*60*24*2
 max-tgz-age = 172800
 
@@ -573,6 +577,33 @@
 max-tgz-age = 2592000
 
 
+[tarball/stretch-merged-usr/amd64]
+piuparts-flags =
+	%(flags-merged-usr)s
+	%(flags-start-stretch)s
+distro = None
+upgrade-test-distros = stretch
+arch = amd64
+area = main
+components = main
+# 60*60*24*30
+max-tgz-age = 2592000
+
+
+[tarball/stretch-merged-usr/i386]
+piuparts-flags =
+	%(flags-merged-usr)s
+	%(flags-start-stretch)s
+distro = None
+upgrade-test-distros = stretch
+arch = i386
+setarch = linux32
+area = main
+components = main
+# 60*60*24*30
+max-tgz-age = 2592000
+
+
 [tarball/jessie/amd64]
 piuparts-flags =
 	%(flags-default)s
@@ -938,7 +969,6 @@
 arch = amd64
 area = main
 components = main
-chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
 
 [sid-merged-usr/contrib]
 precedence = 45
@@ -949,7 +979,6 @@
 distro = sid
 arch = amd64
 area = contrib
-chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
 
 [sid-merged-usr/non-free]
 precedence = 45
@@ -960,7 +989,6 @@
 distro = sid
 arch = amd64
 area = non-free
-chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
 
 
 [sid-bl/main]
@@ -1777,11 +1805,9 @@
 reschedule-old-count = 0
 
 
-[wheezy-rcmd/main]
+[wheezy_i386/main]
 precedence = 1000
-description = + With recommended packages.
 piuparts-flags =
-	--install-recommends
 	%(flags-default)s
 	%(flags-start-wheezy)s
 	%(flags-end-wheezy)s
@@ -1792,30 +1818,26 @@
 components = main
 reschedule-old-count = 0
 
-[wheezy-rcmd/contrib]
+[wheezy_i386/contrib]
 precedence = 1000
-description = + With recommended packages.
 piuparts-flags =
-	--install-recommends
 	%(flags-default)s
 	%(flags-start-wheezy)s
 	%(flags-end-wheezy)s
-depends-sections = wheezy-rcmd/main wheezy-rcmd/non-free
+depends-sections = wheezy_i386/main wheezy_i386/non-free
 distro = wheezy
 arch = i386
 setarch = linux32
 area = contrib
 reschedule-old-count = 0
 
-[wheezy-rcmd/non-free]
+[wheezy_i386/non-free]
 precedence = 1000
-description = + With recommended packages.
 piuparts-flags =
-	--install-recommends
 	%(flags-default)s
 	%(flags-start-wheezy)s
 	%(flags-end-wheezy)s
-depends-sections = wheezy-rcmd/main wheezy-rcmd/contrib
+depends-sections = wheezy_i386/main wheezy_i386/contrib
 distro = wheezy
 arch = i386
 setarch = linux32
@@ -2031,7 +2053,7 @@
 	%(flags-default)s
 	%(flags-start-squeeze)s
 	%(flags-end-squeeze)s
-depends-sections = squeeze/main squeeze/non-free
+depends-sections = squeeze/main squeeze-lts/main squeeze/contrib squeeze/non-free squeeze-lts/non-free
 distro = squeeze-lts
 arch = amd64
 area = contrib
@@ -2043,7 +2065,7 @@
 	%(flags-default)s
 	%(flags-start-squeeze)s
 	%(flags-end-squeeze)s
-depends-sections = squeeze/main squeeze/contrib
+depends-sections = squeeze/main squeeze-lts/main squeeze/contrib squeeze-lts/contrib squeeze/non-free
 distro = squeeze-lts
 arch = amd64
 area = non-free
@@ -2298,6 +2320,53 @@
 reschedule-old-count = 0
 
 
+[lenny2squeeze_i386/main]
+precedence = 1000
+piuparts-flags =
+	%(flags-default)s
+	%(flags-start-lenny)s
+	%(flags-end-squeeze)s
+	-i /usr/local/share/octave/
+	-i /usr/local/share/octave/site-m/
+	-i /usr/share/octave/ls-R
+	-i /usr/share/octave/packages/
+arch = i386
+setarch = linux32
+area = main
+components = main
+distro = lenny
+upgrade-test-distros = lenny squeeze
+reschedule-old-count = 0
+
+[lenny2squeeze_i386/contrib]
+precedence = 1000
+piuparts-flags =
+	%(flags-default)s
+	%(flags-start-lenny)s
+	%(flags-end-squeeze)s
+depends-sections = lenny2squeeze_i386/main lenny2squeeze_i386/non-free
+arch = i386
+setarch = linux32
+area = contrib
+distro = lenny
+upgrade-test-distros = lenny squeeze
+reschedule-old-count = 0
+
+[lenny2squeeze_i386/non-free]
+precedence = 1000
+piuparts-flags =
+	%(flags-default)s
+	%(flags-start-lenny)s
+	%(flags-end-squeeze)s
+depends-sections = lenny2squeeze_i386/main lenny2squeeze_i386/contrib
+arch = i386
+setarch = linux32
+area = non-free
+distro = lenny
+upgrade-test-distros = lenny squeeze
+reschedule-old-count = 0
+
+
 [lenny222testing/main]
 precedence = 150
 piuparts-flags =
@@ -2309,7 +2378,8 @@
 area = main
 components = main
 distro = lenny
-upgrade-test-distros = lenny squeeze wheezy jessie stretch testing
+upgrade-test-distros = lenny squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 reschedule-fail-days = 12
 expire-fail-days = +8
@@ -2325,7 +2395,8 @@
 arch = amd64
 area = contrib
 distro = lenny
-upgrade-test-distros = lenny squeeze wheezy jessie stretch testing
+upgrade-test-distros = lenny squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [lenny222testing/non-free]
@@ -2339,7 +2410,8 @@
 arch = amd64
 area = non-free
 distro = lenny
-upgrade-test-distros = lenny squeeze wheezy jessie stretch testing
+upgrade-test-distros = lenny squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
@@ -2355,7 +2427,8 @@
 area = main
 components = main
 distro = lenny
-upgrade-test-distros = lenny squeeze wheezy jessie stretch testing
+upgrade-test-distros = lenny squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 reschedule-fail-days = 12
 expire-fail-days = +8
@@ -2372,7 +2445,8 @@
 setarch = linux32
 area = contrib
 distro = lenny
-upgrade-test-distros = lenny squeeze wheezy jessie stretch testing
+upgrade-test-distros = lenny squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [lenny222testing_i386/non-free]
@@ -2387,7 +2461,8 @@
 setarch = linux32
 area = non-free
 distro = lenny
-upgrade-test-distros = lenny squeeze wheezy jessie stretch testing
+upgrade-test-distros = lenny squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
@@ -2702,7 +2777,8 @@
 area = main
 components = main
 distro = squeeze
-upgrade-test-distros = squeeze wheezy jessie stretch testing
+upgrade-test-distros = squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [squeeze222testing/contrib]
@@ -2716,7 +2792,8 @@
 arch = amd64
 area = contrib
 distro = squeeze
-upgrade-test-distros = squeeze wheezy jessie stretch testing
+upgrade-test-distros = squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [squeeze222testing/non-free]
@@ -2730,7 +2807,8 @@
 arch = amd64
 area = non-free
 distro = squeeze
-upgrade-test-distros = squeeze wheezy jessie stretch testing
+upgrade-test-distros = squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
@@ -2746,7 +2824,8 @@
 area = main
 components = main
 distro = squeeze
-upgrade-test-distros = squeeze wheezy jessie stretch testing
+upgrade-test-distros = squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [squeeze222testing_i386/contrib]
@@ -2761,7 +2840,8 @@
 setarch = linux32
 area = contrib
 distro = squeeze
-upgrade-test-distros = squeeze wheezy jessie stretch testing
+upgrade-test-distros = squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [squeeze222testing_i386/non-free]
@@ -2776,7 +2856,8 @@
 setarch = linux32
 area = non-free
 distro = squeeze
-upgrade-test-distros = squeeze wheezy jessie stretch testing
+upgrade-test-distros = squeeze wheezy jessie stretch buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
@@ -2829,8 +2910,8 @@
 arch = amd64
 area = main
 components = main
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie/contrib]
 precedence = 95
@@ -2841,8 +2922,8 @@
 depends-sections = wheezy2jessie/main wheezy2jessie/non-free
 arch = amd64
 area = contrib
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie/non-free]
 precedence = 95
@@ -2853,8 +2934,8 @@
 depends-sections = wheezy2jessie/main wheezy2jessie/contrib
 arch = amd64
 area = non-free
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 
 [wheezy2jessie_i386/main]
@@ -2867,8 +2948,8 @@
 setarch = linux32
 area = main
 components = main
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie_i386/contrib]
 precedence = 95
@@ -2880,8 +2961,8 @@
 arch = i386
 setarch = linux32
 area = contrib
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie_i386/non-free]
 precedence = 95
@@ -2893,8 +2974,8 @@
 arch = i386
 setarch = linux32
 area = non-free
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 
 [wheezy2jessie-rcmd/main]
@@ -2909,8 +2990,8 @@
 arch = amd64
 area = main
 components = main
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie-rcmd/contrib]
 precedence = 95
@@ -2924,8 +3005,8 @@
 depends-sections = wheezy2jessie-rcmd/main wheezy2jessie-rcmd/non-free
 arch = amd64
 area = contrib
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie-rcmd/non-free]
 precedence = 95
@@ -2939,8 +3020,8 @@
 depends-sections = wheezy2jessie-rcmd/main wheezy2jessie-rcmd/contrib
 arch = amd64
 area = non-free
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 
 [wheezy2jessie-rcmd_i386/main]
@@ -2956,8 +3037,8 @@
 setarch = linux32
 area = main
 components = main
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie-rcmd_i386/contrib]
 precedence = 95
@@ -2972,8 +3053,8 @@
 arch = i386
 setarch = linux32
 area = contrib
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie-rcmd_i386/non-free]
 precedence = 95
@@ -2988,8 +3069,8 @@
 arch = i386
 setarch = linux32
 area = non-free
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 
 [wheezy2jessie-sysv/main]
@@ -3095,8 +3176,8 @@
 arch = amd64
 area = main
 components = main
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie-iri/contrib]
 precedence = 95
@@ -3109,8 +3190,8 @@
 depends-sections = wheezy2jessie-iri/main wheezy2jessie-iri/non-free
 arch = amd64
 area = contrib
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 [wheezy2jessie-iri/non-free]
 precedence = 95
@@ -3123,8 +3204,8 @@
 depends-sections = wheezy2jessie-iri/main wheezy2jessie-iri/contrib
 arch = amd64
 area = non-free
-distro = wheezy
-upgrade-test-distros = wheezy jessie
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts
 
 
 [wheezy2bpo2jessie/main]
@@ -3138,7 +3219,7 @@
 arch = amd64
 area = main
 components = main
-upgrade-test-distros = wheezy wheezy-backports jessie
+upgrade-test-distros = wheezy-lts wheezy-backports jessie-lts
 
 [wheezy2bpo2jessie/contrib]
 precedence = 95
@@ -3150,7 +3231,7 @@
 distro = wheezy-backports
 arch = amd64
 area = contrib
-upgrade-test-distros = wheezy wheezy-backports jessie
+upgrade-test-distros = wheezy-lts wheezy-backports jessie-lts
 
 [wheezy2bpo2jessie/non-free]
 precedence = 95
@@ -3162,11 +3243,11 @@
 distro = wheezy-backports
 arch = amd64
 area = non-free
-upgrade-test-distros = wheezy wheezy-backports jessie
+upgrade-test-distros = wheezy-lts wheezy-backports jessie-lts
 
 
 [wheezy222testing/main]
-precedence = 80
+precedence = 150
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-wheezy)s
@@ -3175,12 +3256,13 @@
 arch = amd64
 area = main
 components = main
-distro = wheezy
-upgrade-test-distros = wheezy jessie stretch testing
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [wheezy222testing/contrib]
-precedence = 95
+precedence = 150
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-wheezy)s
@@ -3189,12 +3271,13 @@
 depends-sections = wheezy222testing/main wheezy222testing/non-free
 arch = amd64
 area = contrib
-distro = wheezy
-upgrade-test-distros = wheezy jessie stretch testing
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [wheezy222testing/non-free]
-precedence = 95
+precedence = 150
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-wheezy)s
@@ -3203,13 +3286,14 @@
 depends-sections = wheezy222testing/main wheezy222testing/contrib
 arch = amd64
 area = non-free
-distro = wheezy
-upgrade-test-distros = wheezy jessie stretch testing
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
 [wheezy222testing_i386/main]
-precedence = 80
+precedence = 150
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-wheezy)s
@@ -3219,12 +3303,13 @@
 setarch = linux32
 area = main
 components = main
-distro = wheezy
-upgrade-test-distros = wheezy jessie stretch testing
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [wheezy222testing_i386/contrib]
-precedence = 95
+precedence = 150
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-wheezy)s
@@ -3234,12 +3319,13 @@
 arch = i386
 setarch = linux32
 area = contrib
-distro = wheezy
-upgrade-test-distros = wheezy jessie stretch testing
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [wheezy222testing_i386/non-free]
-precedence = 95
+precedence = 150
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-wheezy)s
@@ -3249,8 +3335,9 @@
 arch = i386
 setarch = linux32
 area = non-free
-distro = wheezy
-upgrade-test-distros = wheezy jessie stretch testing
+distro = wheezy-lts
+upgrade-test-distros = wheezy-lts jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
@@ -3301,7 +3388,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch/contrib]
 precedence = 95
@@ -3313,7 +3400,7 @@
 arch = amd64
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch/non-free]
 precedence = 95
@@ -3325,7 +3412,7 @@
 arch = amd64
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 
 [jessie3stretch/main]
@@ -3340,7 +3427,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch/contrib]
@@ -3355,7 +3442,7 @@
 arch = amd64
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch/non-free]
@@ -3370,7 +3457,7 @@
 arch = amd64
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 
@@ -3385,7 +3472,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch_i386/contrib]
 precedence = 95
@@ -3398,7 +3485,7 @@
 setarch = linux32
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch_i386/non-free]
 precedence = 95
@@ -3411,7 +3498,7 @@
 setarch = linux32
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 
 [jessie3stretch_i386/main]
@@ -3427,7 +3514,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch_i386/contrib]
@@ -3443,7 +3530,7 @@
 setarch = linux32
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch_i386/non-free]
@@ -3459,7 +3546,7 @@
 setarch = linux32
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 
@@ -3475,7 +3562,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch-rcmd/contrib]
 precedence = 95
@@ -3489,7 +3576,7 @@
 arch = amd64
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch-rcmd/non-free]
 precedence = 95
@@ -3503,7 +3590,7 @@
 arch = amd64
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 
 [jessie3stretch-rcmd/main]
@@ -3519,7 +3606,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch-rcmd/contrib]
@@ -3535,7 +3622,7 @@
 arch = amd64
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch-rcmd/non-free]
@@ -3551,7 +3638,7 @@
 arch = amd64
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 
@@ -3568,7 +3655,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch-rcmd_i386/contrib]
 precedence = 95
@@ -3583,7 +3670,7 @@
 setarch = linux32
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch-rcmd_i386/non-free]
 precedence = 95
@@ -3598,7 +3685,7 @@
 setarch = linux32
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 
 [jessie3stretch-rcmd_i386/main]
@@ -3615,7 +3702,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch-rcmd_i386/contrib]
@@ -3632,7 +3719,7 @@
 setarch = linux32
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 [jessie3stretch-rcmd_i386/non-free]
@@ -3649,7 +3736,7 @@
 setarch = linux32
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 
@@ -3665,7 +3752,7 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch-iri/contrib]
 precedence = 95
@@ -3679,7 +3766,7 @@
 arch = amd64
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 [jessie2stretch-iri/non-free]
 precedence = 95
@@ -3693,7 +3780,7 @@
 arch = amd64
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch
+upgrade-test-distros = jessie-lts stretch-next
 
 
 [jessie2bpo2stretch/main]
@@ -3702,12 +3789,12 @@
 	%(flags-default)s
 	%(flags-start-jessie)s
 	%(flags-end-stretch)s
-depends-sections = jessie/main
+depends-sections = jessie-lts/main
 distro = jessie-backports
 arch = amd64
 area = main
 components = main
-upgrade-test-distros = jessie-lts jessie-backports stretch
+upgrade-test-distros = jessie-lts jessie-backports stretch-next
 
 [jessie2bpo2stretch/contrib]
 precedence = 95
@@ -3715,11 +3802,11 @@
 	%(flags-default)s
 	%(flags-start-jessie)s
 	%(flags-end-stretch)s
-depends-sections = jessie/main jessie/contrib jessie/non-free jessie2bpo2stretch/main jessie2bpo2stretch/non-free
+depends-sections = jessie-lts/main jessie-lts/contrib jessie-lts/non-free jessie2bpo2stretch/main jessie2bpo2stretch/non-free
 distro = jessie-backports
 arch = amd64
 area = contrib
-upgrade-test-distros = jessie-lts jessie-backports stretch
+upgrade-test-distros = jessie-lts jessie-backports stretch-next
 
 [jessie2bpo2stretch/non-free]
 precedence = 95
@@ -3727,11 +3814,11 @@
 	%(flags-default)s
 	%(flags-start-jessie)s
 	%(flags-end-stretch)s
-depends-sections = jessie/main jessie/contrib jessie/non-free jessie2bpo2stretch/main jessie2bpo2stretch/contrib
+depends-sections = jessie-lts/main jessie-lts/contrib jessie-lts/non-free jessie2bpo2stretch/main jessie2bpo2stretch/contrib
 distro = jessie-backports
 arch = amd64
 area = non-free
-upgrade-test-distros = jessie-lts jessie-backports stretch
+upgrade-test-distros = jessie-lts jessie-backports stretch-next
 
 
 [jessie222testing/main]
@@ -3745,7 +3832,8 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch-next testing
+upgrade-test-distros = jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [jessie222testing/contrib]
@@ -3759,7 +3847,8 @@
 arch = amd64
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch-next testing
+upgrade-test-distros = jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [jessie222testing/non-free]
@@ -3773,7 +3862,8 @@
 arch = amd64
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch-next testing
+upgrade-test-distros = jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
@@ -3789,7 +3879,8 @@
 area = main
 components = main
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch-next testing
+upgrade-test-distros = jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [jessie222testing_i386/contrib]
@@ -3804,7 +3895,8 @@
 setarch = linux32
 area = contrib
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch-next testing
+upgrade-test-distros = jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 [jessie222testing_i386/non-free]
@@ -3819,7 +3911,8 @@
 setarch = linux32
 area = non-free
 distro = jessie-lts
-upgrade-test-distros = jessie-lts stretch-next testing
+upgrade-test-distros = jessie-lts stretch-next buster testing
+max-reserved = 25
 reschedule-old-count = 100
 
 
@@ -3861,7 +3954,7 @@
 
 
 [stretch2buster/main]
-precedence = 80
+precedence = 50
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-stretch)s
@@ -3901,7 +3994,7 @@
 
 
 [stretch3buster/main]
-precedence = 80
+precedence = 50
 description = + Testing two-stage upgrades.
 piuparts-flags =
 	--upgrade-before-dist-upgrade
@@ -3950,7 +4043,7 @@
 
 
 [stretch2buster_i386/main]
-precedence = 80
+precedence = 50
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-stretch)s
@@ -3993,7 +4086,7 @@
 
 
 [stretch3buster_i386/main]
-precedence = 80
+precedence = 50
 description = + Testing two-stage upgrades.
 piuparts-flags =
 	--upgrade-before-dist-upgrade
@@ -4045,7 +4138,7 @@
 
 
 [stretch2buster-rcmd/main]
-precedence = 80
+precedence = 50
 piuparts-flags =
 	--install-recommends
 	%(flags-default)s
@@ -4088,7 +4181,7 @@
 
 
 [stretch3buster-rcmd/main]
-precedence = 80
+precedence = 50
 description = + Testing two-stage upgrades with --install-recommends.
 piuparts-flags =
 	--install-recommends
@@ -4140,7 +4233,7 @@
 
 
 [stretch2buster-rcmd_i386/main]
-precedence = 80
+precedence = 50
 description = + Testing with --install-recommends.
 piuparts-flags =
 	--install-recommends
@@ -4189,7 +4282,7 @@
 
 
 [stretch3buster-rcmd_i386/main]
-precedence = 80
+precedence = 50
 description = + Testing two-stage upgrades with --install-recommends.
 piuparts-flags =
 	--install-recommends
@@ -4243,6 +4336,49 @@
 exclude-known-problems = packages_have_been_kept_back_error.conf packages_have_been_kept_back_issue.conf
 
 
+[stretch2buster-merged-usr/main]
+precedence = 90
+description = + In --merged-usr environment.
+piuparts-flags =
+	%(flags-merged-usr)s
+	%(flags-start-stretch)s
+	%(flags-end-buster)s
+	--scriptsdir /etc/piuparts/scripts-debug-problemresolver
+arch = amd64
+area = main
+components = main
+distro = stretch
+upgrade-test-distros = stretch buster
+
+[stretch2buster-merged-usr/contrib]
+precedence = 95
+description = + In --merged-usr environment.
+piuparts-flags =
+	%(flags-merged-usr)s
+	%(flags-start-stretch)s
+	%(flags-end-buster)s
+	--scriptsdir /etc/piuparts/scripts-debug-problemresolver
+depends-sections = stretch2buster-merged-usr/main stretch2buster-merged-usr/non-free
+arch = amd64
+area = contrib
+distro = stretch
+upgrade-test-distros = stretch buster
+
+[stretch2buster-merged-usr/non-free]
+precedence = 95
+description = + In --merged-usr environment.
+piuparts-flags =
+	%(flags-merged-usr)s
+	%(flags-start-stretch)s
+	%(flags-end-buster)s
+	--scriptsdir /etc/piuparts/scripts-debug-problemresolver
+depends-sections = stretch2buster-merged-usr/main stretch2buster-merged-usr/contrib
+arch = amd64
+area = non-free
+distro = stretch
+upgrade-test-distros = stretch buster
+
+
 [stretch2buster-iri/main]
 precedence = 90
 description = Debian %(area)s: package installation and removal in stretch, then upgrade to buster, installation, removal, and purge test.
diff -Nru piuparts-1.0.0/instances/piuparts.conf-template.pejacevic piuparts-1.0.1/instances/piuparts.conf-template.pejacevic
--- piuparts-1.0.0/instances/piuparts.conf-template.pejacevic	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/instances/piuparts.conf-template.pejacevic	2019-06-17 22:53:31.000000000 +0200
@@ -145,22 +145,20 @@
 #   civicrm-common, #857601, wontfix, /usr/share/civicrm/packages/OpenFlashChart/open-flash-chart.swf -> ../../../../local/open-flash-chart.swf
 	-i :/usr/share/civicrm/packages/OpenFlashChart/open-flash-chart.swf
 #   musescore-common, #910145, wontfix, /usr/share/mscore-2.3/sound/{sf2,sfz} -> ../../sounds/{sf2,sfz}
-	-i :/usr/share/mscore-2.3/sound/sf2
-	-i :/usr/share/mscore-2.3/sound/sfz
-	-i :/usr/share/mscore-3.0/sound/sf2
-	-i :/usr/share/mscore-3.0/sound/sfz
+	-I :/usr/share/mscore3?-.*/sound/sf[2z]
 #   mender-client, #915680, /var/lib/mender -> /data/mender
 	-i :/var/lib/mender
 # ignore broken symlinks (patterns)
 	-I :/etc/.*/supervise
 	-I /usr/include/python2\.7_d/.*\.h
 	-I /usr/include/python3\..dm/.*\.h
+	-I /usr/include/python3\..dm/cpython
 	-I /usr/include/python3\..dm/internal
 	-I :/usr/lib/jvm/java-.*-openjdk-.*/src\.zip
 	-I :/usr/share/doc/kde/HTML/.*/common
 	-I :/usr/share/man/man1/(.*-)?python.*-config\.1\.gz
 # ignore broken symlinks (third party game data)
-	-I :/usr/lib/openjk/JediAcademy/base/assets.\.pk3
+	-I :/usr/lib/openjk/Jedi(Academy|Outcast)/base/assets.\.pk3
 	-I :/usr/lib/rtcw/main/.*\.(cfg|pk3)
 
 
@@ -232,7 +230,7 @@
 	squeeze2squeeze-lts
 	squeeze
 	lenny2squeeze
-testing-suite = buster
+testing-suite = bullseye
 mirror = @MIRROR@
 master-host = pejacevic.debian.org
 master-user = piupartsm
@@ -287,7 +285,6 @@
 	%(flags-merged-usr)s
 distro = None
 upgrade-test-distros = sid
-chroot-tgz = %(upgrade-test-distros)s-merged-usr_@ARCH@.tgz
 # 3 days (60*60*24*3)
 max-tgz-age = 259200
 
@@ -408,7 +405,6 @@
 piuparts-flags =
 	%(flags-merged-usr)s
 distro = sid
-chroot-tgz = %(distro)s-merged-usr_@ARCH@.tgz
 
 
 [sid-broken-symlinks]
@@ -647,7 +643,6 @@
 
 [stretch-pu]
 precedence = 3
-json-sections = none
 piuparts-flags =
 	%(flags-default)s
 	%(flags-start-stretch)s
diff -Nru piuparts-1.0.0/Makefile piuparts-1.0.1/Makefile
--- piuparts-1.0.0/Makefile	2019-02-11 12:54:17.000000000 +0100
+++ piuparts-1.0.1/Makefile	2019-06-17 22:49:36.000000000 +0200
@@ -90,12 +90,12 @@
 	install -m 0644 README.txt README.html README_server.txt README_server.html docbook-xsl.css $(DESTDIR)$(docdir)/
 	install -d $(DESTDIR)$(man1dir)
 	install -m 0644 piuparts.1 $(DESTDIR)$(man1dir)/
+	gzip -9fn $(DESTDIR)$(man1dir)/piuparts.1
 	install -d $(DESTDIR)$(man8dir)
 	install -m 0644 piuparts_slave_run.8 piuparts_slave_join.8 piuparts_slave_stop.8 $(DESTDIR)$(man8dir)/
-	gzip -9f $(DESTDIR)$(man1dir)/piuparts.1
-	gzip -9f $(DESTDIR)$(man8dir)/piuparts_slave_run.8
-	gzip -9f $(DESTDIR)$(man8dir)/piuparts_slave_join.8
-	gzip -9f $(DESTDIR)$(man8dir)/piuparts_slave_stop.8
+	gzip -9fn $(DESTDIR)$(man8dir)/piuparts_slave_run.8
+	gzip -9fn $(DESTDIR)$(man8dir)/piuparts_slave_join.8
+	gzip -9fn $(DESTDIR)$(man8dir)/piuparts_slave_stop.8
 	install -m 0644 piuparts.1.html $(DESTDIR)$(docdir)/
 
 install-conf: build-stamp
diff -Nru piuparts-1.0.0/master-bin/detect_network_issues.in piuparts-1.0.1/master-bin/detect_network_issues.in
--- piuparts-1.0.0/master-bin/detect_network_issues.in	2019-02-11 12:54:17.000000000 +0100
+++ piuparts-1.0.1/master-bin/detect_network_issues.in	2019-06-17 22:49:36.000000000 +0200
@@ -62,7 +62,7 @@
 add_pattern 'E: Method file has died unexpectedly!'
 add_pattern "E: Sub-process rred received a segmentation fault."
 add_pattern "ERROR: Command failed \(status=-7\):.*'apt-get', 'update'"
-add_pattern 'Package .* .* not found in .*, .* is available'
+add_pattern 'Package .* .* not found in .*(, .* is available)?'
 add_pattern "AppStream system cache was updated, but problems were found: Metadata files have errors"
 
 FILE=$(mktemp)
diff -Nru piuparts-1.0.0/master-bin/detect_piuparts_issues.in piuparts-1.0.1/master-bin/detect_piuparts_issues.in
--- piuparts-1.0.0/master-bin/detect_piuparts_issues.in	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/master-bin/detect_piuparts_issues.in	2019-06-17 22:49:36.000000000 +0200
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Copyright © 2009-2018 Holger Levsen (holger@layer-acht.org)
-# Copyright © 2011-2017 Andreas Beckmann (anbe@debian.org)
+# Copyright © 2011-2019 Andreas Beckmann (anbe@debian.org)
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by the
@@ -96,6 +96,10 @@
 	for subdir in fail bugged affected ; do
 		test -d $MASTER/$SECTION/$subdir || continue
 		grep -r -l -E --include '*.log' "$PATTERN" $MASTER/$SECTION/$subdir >> $FILE 2>/dev/null
+	done
+	for subdir in fail bugged affected untestable pass ; do
+		test -d $MASTER/$SECTION/$subdir || continue
+		find $MASTER/$SECTION/$subdir -name 'tmp??????' -mtime +1 -delete 2>/dev/null
 		find $MASTER/$SECTION/$subdir -name '*.log' -size 0 >> $FILE
 	done
 done
diff -Nru piuparts-1.0.0/master-bin/detect_well_known_errors.py piuparts-1.0.1/master-bin/detect_well_known_errors.py
--- piuparts-1.0.0/master-bin/detect_well_known_errors.py	2018-12-09 22:27:32.000000000 +0100
+++ piuparts-1.0.1/master-bin/detect_well_known_errors.py	2019-06-17 22:49:36.000000000 +0200
@@ -35,7 +35,7 @@
 
 
 CONFIG_FILE = "/etc/piuparts/piuparts.conf"
-KPR_DIRS = ('pass', 'bugged', 'affected', 'fail')
+KPR_DIRS = ('pass', 'bugged', 'affected', 'fail', 'untestable')
 
 
 class Busy(Exception):
diff -Nru piuparts-1.0.0/master-bin/generate_daily_report.in piuparts-1.0.1/master-bin/generate_daily_report.in
--- piuparts-1.0.0/master-bin/generate_daily_report.in	2019-03-01 11:28:10.000000000 +0100
+++ piuparts-1.0.1/master-bin/generate_daily_report.in	2019-06-17 22:49:36.000000000 +0200
@@ -82,10 +82,15 @@
 		-type f -name '*.log' -newer $FAILURESTAMP -exec ls -1 {} + 2>/dev/null
 done | sed s#^$MASTER#$URLBASE# >> $DAILYTMP
 
-echo "$(cat $DAILYTMP | wc -l) new failures:" >> $DAILYREPORT
+new_release_failures=$(cat $DAILYTMP | (egrep "/(sid|$TESTING|testing2sid)/" 2>/dev/null || echo) | wc -l)
+new_failures=$(cat $DAILYTMP | wc -l)
+new_failure_diff=$(( $new_failures - $new_release_failures ))
+echo -n "$new_failures new failures in total, " >> $DAILYREPORT
+echo "$new_release_failures new failures sid, $TESTING and testing2sid:" >> $DAILYREPORT
 # show failures (and show failures in sid, $TESTING and testing2sid first
 cat $DAILYTMP | (egrep "/(sid|$TESTING|testing2sid)/" 2>/dev/null || true) >> $DAILYREPORT
 echo >> $DAILYREPORT
+echo "$new_failure_diff other new failures:" >> $DAILYREPORT
 cat $DAILYTMP | (egrep -v "/(sid|$TESTING|testing2sid)/" 2>/dev/null || true) >> $DAILYREPORT
 rm $DAILYTMP
 
diff -Nru piuparts-1.0.0/master-bin/reschedule_piuparts_tests.in piuparts-1.0.1/master-bin/reschedule_piuparts_tests.in
--- piuparts-1.0.0/master-bin/reschedule_piuparts_tests.in	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/master-bin/reschedule_piuparts_tests.in	2019-06-17 22:49:36.000000000 +0200
@@ -25,6 +25,7 @@
 get_config_value TESTING global testing-suite
 
 dryrun=""
+logfiles=""
 current=""
 longterm=""
 
@@ -62,6 +63,10 @@
 			shift
 			dryrun="yes"
 			;;
+		--logfiles)
+			shift
+			logfiles="yes"
+			;;
 		*)
 			break
 			;;
@@ -70,14 +75,38 @@
 
 test -n "$1" || exit 1
 
+TOTAL=0
+recycle_logfiles()
+{
+	local log recycle
+	for log in "$@"
+	do
+		recycle="$(dirname "$(dirname "$log")")/recycle"
+		if [ -f "$log" ] && [ ! -f "$recycle/$(basename $log)" ]; then
+			TOTAL=$(( $TOTAL + 1 ))
+			if [ -n "$dryrun" ]; then
+				echo "candidate: $log"
+			else
+				ln -fv "$log" $recycle/ || true
+			fi
+		fi
+	done
+}
+
+
+if [ -n "$logfiles" ]; then
+	recycle_logfiles "$@"
+fi
+
+
+if [ -z "$logfiles" ]; then
+
 subdirs="$pass $fail $bugged $affected $untestable"
 pattern=' ('"$1"')\.conf$'
 
-
 #
 # mark logs matching kpr tag $1 for recycling
 #
-TOTAL=0
 OLDPWD=$(pwd)
 LIST=$(mktemp)
 for SECTION in $SECTIONS ; do
@@ -112,21 +141,14 @@
 	mkdir -p $searchdirs $SECTION/recycle
 
 	grep -rlE "$pattern" --include '*.kpr' $searchdirs | sed 's/\.kpr$/.log/' > $LIST
-	for log in $(cat $LIST)
-	do
-		if [ -f "$log" ] && [ ! -f "$SECTION/recycle/$(basename $log)" ]; then
-			TOTAL=$(( $TOTAL + 1 ))
-			if [ -n "$dryrun" ]; then
-				echo "candidate: $log"
-			else
-				ln -fv "$log" $SECTION/recycle/ || true
-			fi
-		fi
-	done
+	recycle_logfiles $(cat $LIST)
 	cd "$OLDPWD"
 done
 rm -f $LIST
 
+fi
+
+
 if [ "$TOTAL" -gt "0" ]; then
 	if [ -n "$dryrun" ]; then
 		echo "Found $TOTAL candidate logfiles for recycling."
diff -Nru piuparts-1.0.0/master-bin/rotate_master_logs.in piuparts-1.0.1/master-bin/rotate_master_logs.in
--- piuparts-1.0.0/master-bin/rotate_master_logs.in	2018-12-09 22:27:32.000000000 +0100
+++ piuparts-1.0.1/master-bin/rotate_master_logs.in	2019-06-17 22:49:36.000000000 +0200
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright © 2017 Andreas Beckmann (anbe@debian.org)
+# Copyright © 2017-2019 Andreas Beckmann (anbe@debian.org)
 # Copyright © 2018 Holger Levsen (holger@layer-acht.org)
 #
 # This program is free software; you can redistribute it and/or modify it
@@ -48,6 +48,12 @@
 			xz -v9 $log >>$OUTPUT 2>&1
 		fi
 	done
+
+	# delete master logs older than 90 days, but keep at least five old logs
+	oldlogs=$(ls -t1 $SECTION/master.*.log.* 2>/dev/null | tail -n +5)
+	if [ -n "$oldlogs" ]; then
+		find $oldlogs -mtime +90 | xargs -r rm -fv >>$OUTPUT 2>&1
+	fi
 done
 
 LOGDATEDIR="$HTDOCS/logs/$(date -u '+%Y/%m/%d' -d '7 days ago')"
diff -Nru piuparts-1.0.0/piuparts.1.txt piuparts-1.0.1/piuparts.1.txt
--- piuparts-1.0.0/piuparts.1.txt	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/piuparts.1.txt	2019-06-17 22:49:36.000000000 +0200
@@ -173,6 +173,10 @@
 *--log-level*='level'::
   Display messages from loglevel LEVEL, possible values are: error, info, dump, debug. The default is dump.
 
+*--max-command-output-size*='size'::
+  Set the maximum permitted command output to _size_ (in MB) for debugging
+  runs exceeding the default of 8 MB.
+
 *--merged-usr*::
   When using debootstrap to create the chroot, use the '--merged-usr' option
   to create a chroot with /bin, /lib, /sbin being symlinks to their /usr
diff -Nru piuparts-1.0.0/piupartslib/conf.py piuparts-1.0.1/piupartslib/conf.py
--- piuparts-1.0.0/piupartslib/conf.py	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.1/piupartslib/conf.py	2019-06-17 22:49:36.000000000 +0200
@@ -246,12 +246,14 @@
                         c))
         return lines
 
-    def get_basetgz(self, distro, arch):
+    def get_basetgz(self, distro, arch, merged_usr=False):
         # look for the first base distribution
         for d in self._expand_depends(distro):
             if self.get(d, "depends"):
                 next  # skip partial distro
-            return "%s_%s.tar.gz" % (self.get_distribution(d), arch)
+            return "%s%s_%s.tar.gz" % (self.get_distribution(d),
+                                       "-merged-usr" if merged_usr else "",
+                                       arch)
         return None
 
 
diff -Nru piuparts-1.0.0/piupartslib/packagesdb.py piuparts-1.0.1/piupartslib/packagesdb.py
--- piuparts-1.0.0/piupartslib/packagesdb.py	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/piupartslib/packagesdb.py	2019-06-17 22:49:36.000000000 +0200
@@ -236,6 +236,9 @@
     def _log_name(self, package, version):
         return "%s_%s.log" % (package, version)
 
+    def _kpr_name(self, package, version):
+        return "%s_%s.kpr" % (package, version)
+
     def log_exists2(self, package, version, subdirs):
         log_name = self._log_name(package, version)
         for subdir in subdirs:
@@ -274,6 +277,11 @@
             self.remove_file(full_name)
         self._evict(full_name)
 
+    def remove_kpr(self, subdir, package, version):
+        full_name = os.path.join(subdir, self._kpr_name(package, version))
+        if os.path.exists(full_name):
+            self.remove_file(full_name)
+
     def stat(self, subdir, package, version):
         full_name = os.path.join(subdir, self._log_name(package, version))
         return os.stat(full_name)
@@ -300,8 +308,17 @@
     # some architectures or from third-party repositories
     # HACK: this hardcoded list should be moved to some data file
     _ignored_missing_dependencies = [
+        # non-linux
         "kbdcontrol",
         "vidcontrol",
+        # jessie
+        "mediawiki",
+        # stretch
+        "llvm-3.7-dev",
+        # third-party
+        "oracle-instantclient-basic",
+        "oracle-instantclient11.2-basic",
+        "oracle-instantclient12.1-basic",
     ]
 
     # keep in sync with piuparts-report.py: emphasize_reason()
@@ -887,32 +904,24 @@
                     self._logdb.create(self._recycle, package, version, "")
         self._logdb.remove(self._reserved, package, version)
 
-    def pass_package(self, package, version, log):
+    def _process_log(self, package, version, log, subdir, result):
         self._check_for_acceptability_as_filename(package)
         self._check_for_acceptability_as_filename(version)
         self._remove_logs_if_reserved(package, version)
-        if self._logdb.create(self._ok, package, version, log):
-            self._record_submission("pass", package, version)
+        if self._logdb.create(subdir, package, version, log):
+            self._record_submission(result, package, version)
+            self._logdb.remove_kpr(subdir, package, version)
         else:
-            raise LogfileExists(self._ok, package, version)
+            raise LogfileExists(subdir, package, version)
+
+    def pass_package(self, package, version, log):
+        self._process_log(package, version, log, self._ok, "pass")
 
     def fail_package(self, package, version, log):
-        self._check_for_acceptability_as_filename(package)
-        self._check_for_acceptability_as_filename(version)
-        self._remove_logs_if_reserved(package, version)
-        if self._logdb.create(self._fail, package, version, log):
-            self._record_submission("fail", package, version)
-        else:
-            raise LogfileExists(self._fail, package, version)
+        self._process_log(package, version, log, self._fail, "fail")
 
     def make_package_untestable(self, package, version, log):
-        self._check_for_acceptability_as_filename(package)
-        self._check_for_acceptability_as_filename(version)
-        self._remove_logs_if_reserved(package, version)
-        if self._logdb.create(self._evil, package, version, log):
-            self._record_submission("untestable", package, version)
-        else:
-            raise LogfileExists(self._evil, package, version)
+        self._process_log(package, version, log, self._evil, "untestable")
 
     def _get_rdep_dict(self):
         """Return dict of one-level reverse dependencies by package"""
diff -Nru piuparts-1.0.0/piuparts.py piuparts-1.0.1/piuparts.py
--- piuparts-1.0.0/piuparts.py	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/piuparts.py	2019-06-17 22:49:36.000000000 +0200
@@ -393,7 +393,6 @@
             "/var/mail/.*",
             "/var/run/.*",
             # package management
-            "/etc/apt/trusted.gpg.d/.*.gpg~",
             "/var/lib/apt/lists/.*",
             "/var/lib/dpkg/alternatives/.*",
             "/var/lib/dpkg/triggers/.*",
@@ -1506,7 +1505,7 @@
     def remove_packages(self, packages, ignore_errors=False):
         """Remove packages in a chroot."""
         if packages:
-            self.run(["apt-get", "remove"] + unqualify(packages), ignore_errors=ignore_errors)
+            self.run(["apt-get", "remove"] + ["%s-" % x if x.endswith('+') else x for x in unqualify(packages)], ignore_errors=ignore_errors)
 
     def purge_packages(self, packages, ignore_errors=False):
         """Purge packages in a chroot."""
@@ -1522,6 +1521,13 @@
             logging.debug(" reference: %s" % " ".join(reference_chroot_state["avail_md5"]))
             logging.debug(" current  : %s" % " ".join(self.avail_md5_history))
 
+        self.list_paths_with_symlinks()
+        self.check_debsums()
+        self.check_adequate(packages_qualified)
+
+        # Run custom scripts before removing all packages.
+        self.run_scripts("pre_remove")
+
         selections = reference_chroot_state["selections"]
         packages = unqualify(packages_qualified)
 
@@ -1548,13 +1554,6 @@
         all_to_install += [(name, version) for name, (state, version) in nondeps.iteritems()
                            if state == "install"]
 
-        self.list_paths_with_symlinks()
-        self.check_debsums()
-        self.check_adequate(packages_qualified)
-
-        # Run custom scripts before removing all packages.
-        self.run_scripts("pre_remove")
-
         # First remove all packages (and reinstall missing ones).
         self.remove_packages(deps_to_remove)
         if all_to_install:
@@ -2973,6 +2972,10 @@
                       default="dump",
                       help="Displays messages from LEVEL level, possible values are: error, info, dump, debug. The default is dump.")
 
+    parser.add_option("--max-command-output-size", action="store", metavar='SIZE',
+                      default=0,
+                      help="Set maximum permitted command output to SIZE (in MB).")
+
     (opts, args) = parser.parse_args()
 
     # expand combined options
@@ -2987,6 +2990,8 @@
     settings.tmpdir = opts.tmpdir
     settings.keep_env = opts.keep_env
     settings.shell_on_error = opts.shell_on_error
+    if opts.max_command_output_size:
+        settings.max_command_output_size = int(opts.max_command_output_size) * 1024 * 1024;
     settings.single_changes_list = opts.single_changes_list
     settings.single_packages = opts.single_packages
     settings.args_are_package_files = not opts.apt
diff -Nru piuparts-1.0.0/piuparts-slave.py piuparts-1.0.1/piuparts-slave.py
--- piuparts-1.0.0/piuparts-slave.py	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.1/piuparts-slave.py	2019-06-17 22:49:36.000000000 +0200
@@ -29,7 +29,7 @@
 import stat
 import time
 import logging
-from signal import alarm, signal, SIGALRM, SIGINT, SIGKILL, SIGHUP
+from signal import alarm, signal, SIGALRM, SIGINT, SIGKILL, SIGHUP, SIGUSR1
 import subprocess
 import fcntl
 import random
@@ -50,6 +50,7 @@
 interrupted = False
 old_sigint_handler = None
 got_sighup = False
+got_sigusr1 = False
 
 
 def setup_logging(log_level, log_file_name):
@@ -129,6 +130,14 @@
     print('SIGHUP: Will flush finished logs.')
 
 
+def sigusr1_handler(signum, frame):
+    global got_sigusr1
+    global got_sighup
+    got_sigusr1 = True
+    got_sighup = True
+    print('SIGUSR1: Will restart.')
+
+
 class MasterIsBusy(Exception):
 
     def __init__(self):
@@ -411,7 +420,8 @@
     def _get_tarball(self):
         basetgz = self._config["chroot-tgz"] or \
             self._distro_config.get_basetgz(self._config.get_start_distro(),
-                                            self._config.get_arch())
+                                            self._config.get_arch(),
+                                            merged_usr="--merged-usr" in self._config["piuparts-flags"])
         return os.path.join(self._config["basetgz-directory"], basetgz)
 
     def _check_tarball(self):
@@ -974,6 +984,7 @@
 def main():
     setup_logging(logging.INFO, None)
     signal(SIGHUP, sighup_handler)
+    signal(SIGUSR1, sigusr1_handler)
 
     # For supporting multiple architectures and suites, we take command-line
     # argument(s) referring to section(s) in the configuration file.
@@ -1014,6 +1025,10 @@
         for section in sorted(sections, key=lambda section: (section.precedence(), section.sleep_until())):
             test_count += section.run(do_processing=(test_count == 0))
 
+        if got_sigusr1:
+            logging.info("Restarting...")
+            os.execv(__file__, sys.argv)
+
         if test_count == 0 and got_sighup:
             # clear SIGHUP state after flushing all sections
             got_sighup = False
diff -Nru piuparts-1.0.0/slave-bin/slave_reexec.in piuparts-1.0.1/slave-bin/slave_reexec.in
--- piuparts-1.0.0/slave-bin/slave_reexec.in	1970-01-01 01:00:00.000000000 +0100
+++ piuparts-1.0.1/slave-bin/slave_reexec.in	2019-06-17 22:49:36.000000000 +0200
@@ -0,0 +1,30 @@
+#!/bin/sh
+set -e
+
+# Copyright © 2019 Andreas Beckmann (anbe@debian.org)
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <https://www.gnu.org/licenses/>
+
+#
+# Send all running piuparts-slaves SIGUSR1 to reexec themselves,
+# picking up new code and sections.
+#
+
+for pid in $(pgrep --full '/usr/bin/python @sharedir@/piuparts/piuparts-slave')
+do
+	echo "Sending SIGUSR1 to ${pid}..."
+	kill -USR1 $pid
+	sleep 5
+done
+echo "Done."
