[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#934934: buster-pu: package piuparts/1.0.0+deb10u1



Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

We'd like to update piuparts with the following changes in buster, fixing a
bunch of rather important bugs (as well as one trivial wishlist bug and a 
trivial normal bug), including one for buster=stable (which missed the buster
relase because 1.0.1 was not accepted).

 piuparts (1.0.0+deb10u1) buster; urgency=medium
 .
   * Happy 26th birthday, Debian! And many thanks to all the contributors!
 .
   [ Andreas Beckmann ]
   * piuparts.py:
     - Run pre_remove scripts before computing packages to be removed.
     - Fix spurious failure to remove packages with names ending with '+'.
     - Add '--max-command-output-size' option to allow overriding the default
       of 8 MB for debugging runs.
   * piuparts-slave.py:
     - Generate separate tarball names for --merged-usr chroots.
   * detect_well_known_errors.py:
     - process untestable logs.
   * Makefile: use gzip -n for reproducibility.
   * piuparts.conf, distros.conf: Update for buster release.
   * custom-scripts: some updates for buster. If custom-scripts are used, it's
     probably better to use piuparts from bpo.
 .
   [ Holger Levsen ]
   * Cherry-picking the above.

The diffstat to 1.0.0 in buster is:

$ debdiff piuparts_1.0.0.dsc piuparts_1.0.0+deb10u1.dsc | diffstat
 .gitignore                                                |    3 +
 Makefile                                                  |    8 ++--
 conf/distros.conf                                         |    8 ++--
 custom-scripts/scripts/post_distupgrade_exceptions        |    1 
 custom-scripts/scripts/post_setup_minimize                |    2 -
 custom-scripts/scripts/pre_distupgrade_zz_database-server |    7 ++--
 debian/.gitignore                                         |    5 ++
 debian/changelog                                          |   24 ++++++++++++++
 instances/piuparts.conf-template.pejacevic                |    4 --
 instances/piuparts.conf.anbe                              |    7 ----
 master-bin/detect_well_known_errors.py                    |    2 -
 piuparts-slave.py                                         |    3 +
 piuparts.1.txt                                            |    4 ++
 piuparts.py                                               |   22 ++++++++----
 piupartslib/conf.py                                       |    6 ++-
 15 files changed, 73 insertions(+), 33 deletions(-)

The full diff is attached.

Thanks for your work on buster!


-- 
cheers,
	Holger

-------------------------------------------------------------------------------
               holger@(debian|reproducible-builds|layer-acht).org
       PGP fingerprint: B8BF 5413 7B09 D35C F026 FE9D 091A B856 069A AA1C
diff -Nru piuparts-1.0.0/conf/distros.conf piuparts-1.0.0+deb10u1/conf/distros.conf
--- piuparts-1.0.0/conf/distros.conf	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.0+deb10u1/conf/distros.conf	2019-08-16 15:05:52.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/post_distupgrade_exceptions piuparts-1.0.0+deb10u1/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.0+deb10u1/custom-scripts/scripts/post_distupgrade_exceptions	2019-08-16 15:21:58.000000000 +0200
@@ -100,7 +100,6 @@
 fi
 
 if [ "$PIUPARTS_DISTRIBUTION" = "buster" ] || \
-	[ "$PIUPARTS_DISTRIBUTION" = "sid" -a "$PIUPARTS_DISTRIBUTION_PREV" = "stretch" ]; 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_setup_minimize piuparts-1.0.0+deb10u1/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.0+deb10u1/custom-scripts/scripts/post_setup_minimize	2019-08-16 15:05:52.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_zz_database-server piuparts-1.0.0+deb10u1/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.0+deb10u1/custom-scripts/scripts/pre_distupgrade_zz_database-server	2019-08-16 15:21:58.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"
 		;;
@@ -164,7 +164,10 @@
 	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/debian/changelog piuparts-1.0.0+deb10u1/debian/changelog
--- piuparts-1.0.0/debian/changelog	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.0+deb10u1/debian/changelog	2019-08-16 15:21:58.000000000 +0200
@@ -1,3 +1,27 @@
+piuparts (1.0.0+deb10u1) buster; urgency=medium
+
+  * Happy 26th birthday, Debian! And many thanks to all the contributors!
+ 
+  [ Andreas Beckmann ]
+  * 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 '+'.
+  * piuparts-slave.py:
+    - Generate separate tarball names for --merged-usr chroots.
+  * detect_well_known_errors.py:
+    - process untestable logs.
+  * Makefile: use gzip -n for reproducibility.
+  * piuparts.conf, distros.conf: Update for buster release.
+  * custom-scripts: some updates for buster. If custom-scripts are used, it's
+    probably better to use piuparts from bpo.
+
+  [ Holger Levsen ]
+  * Cherry-picking the above.
+
+ -- Holger Levsen <holger@debian.org>  Fri, 16 Aug 2019 15:21:58 +0200
+
 piuparts (1.0.0) unstable; urgency=medium
 
   [ David Steele ]
diff -Nru piuparts-1.0.0/debian/.gitignore piuparts-1.0.0+deb10u1/debian/.gitignore
--- piuparts-1.0.0/debian/.gitignore	1970-01-01 01:00:00.000000000 +0100
+++ piuparts-1.0.0+deb10u1/debian/.gitignore	2018-04-22 03:24:26.000000000 +0200
@@ -0,0 +1,5 @@
+files
+piuparts.debhelper.log
+piuparts.postinst.debhelper
+piuparts.prerm.debhelper
+piuparts.substvars
diff -Nru piuparts-1.0.0/.gitignore piuparts-1.0.0+deb10u1/.gitignore
--- piuparts-1.0.0/.gitignore	1970-01-01 01:00:00.000000000 +0100
+++ piuparts-1.0.0+deb10u1/.gitignore	2019-05-04 21:49:33.000000000 +0200
@@ -0,0 +1,3 @@
+*.pyc
+/deps.png
+/debiman-piuparts-distill/debiman-piuparts-distill
diff -Nru piuparts-1.0.0/instances/piuparts.conf.anbe piuparts-1.0.0+deb10u1/instances/piuparts.conf.anbe
--- piuparts-1.0.0/instances/piuparts.conf.anbe	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.0+deb10u1/instances/piuparts.conf.anbe	2019-08-16 15:21:58.000000000 +0200
@@ -420,7 +420,7 @@
 	lenny_i386/non-free
 	lenny2squeeze/non-free
 #
-testing-suite = buster
+testing-suite = bullseye
 #
 json-sections = none
 #
@@ -500,7 +500,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 +513,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
 
@@ -938,7 +936,6 @@
 arch = amd64
 area = main
 components = main
-chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
 
 [sid-merged-usr/contrib]
 precedence = 45
@@ -949,7 +946,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 +956,6 @@
 distro = sid
 arch = amd64
 area = non-free
-chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
 
 
 [sid-bl/main]
diff -Nru piuparts-1.0.0/instances/piuparts.conf-template.pejacevic piuparts-1.0.0+deb10u1/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.0+deb10u1/instances/piuparts.conf-template.pejacevic	2019-08-16 15:21:58.000000000 +0200
@@ -232,7 +232,7 @@
 	squeeze2squeeze-lts
 	squeeze
 	lenny2squeeze
-testing-suite = buster
+testing-suite = bullseye
 mirror = @MIRROR@
 master-host = pejacevic.debian.org
 master-user = piupartsm
@@ -287,7 +287,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 +407,6 @@
 piuparts-flags =
 	%(flags-merged-usr)s
 distro = sid
-chroot-tgz = %(distro)s-merged-usr_@ARCH@.tgz
 
 
 [sid-broken-symlinks]
diff -Nru piuparts-1.0.0/Makefile piuparts-1.0.0+deb10u1/Makefile
--- piuparts-1.0.0/Makefile	2019-02-11 12:54:17.000000000 +0100
+++ piuparts-1.0.0+deb10u1/Makefile	2019-08-16 14:54:19.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_well_known_errors.py piuparts-1.0.0+deb10u1/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.0+deb10u1/master-bin/detect_well_known_errors.py	2019-08-16 14:46:07.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/piuparts.1.txt piuparts-1.0.0+deb10u1/piuparts.1.txt
--- piuparts-1.0.0/piuparts.1.txt	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.0+deb10u1/piuparts.1.txt	2019-08-16 14:54:19.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.0+deb10u1/piupartslib/conf.py
--- piuparts-1.0.0/piupartslib/conf.py	2018-04-22 04:30:08.000000000 +0200
+++ piuparts-1.0.0+deb10u1/piupartslib/conf.py	2019-08-16 14:42:20.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/piuparts.py piuparts-1.0.0+deb10u1/piuparts.py
--- piuparts-1.0.0/piuparts.py	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.0+deb10u1/piuparts.py	2019-08-16 15:21:58.000000000 +0200
@@ -1506,7 +1506,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 +1522,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 +1555,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 +2973,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 +2991,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.0+deb10u1/piuparts-slave.py
--- piuparts-1.0.0/piuparts-slave.py	2019-05-04 21:37:32.000000000 +0200
+++ piuparts-1.0.0+deb10u1/piuparts-slave.py	2019-08-16 15:21:58.000000000 +0200
@@ -411,7 +411,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):

Attachment: signature.asc
Description: PGP signature


Reply to: