[Piuparts-devel] Bug#589498: [PATCH 2/5] add PIUPARTS_DISTRIBUTION to the environment

Andreas Beckmann debian at abeckmann.de
Fri Nov 11 11:22:37 UTC 2011


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

Signed-off-by: Andreas Beckmann <debian at abeckmann.de>
---
 README.txt  |    9 +++++++--
 piuparts.py |    4 ++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/README.txt b/README.txt
index ff83ae7..5a0c16a 100644
--- a/README.txt
+++ b/README.txt
@@ -165,6 +165,9 @@ PIUPARTS_PHASE is set to one of the following values:
 During the 'install' test, the PIUPARTS_PHASE variable is set to
 'install'.
 
+The current distribution is available in the variable
+PIUPARTS_DISTRIBUTION.
+
 The following prefixes for scripts are recognized:
 
 'post_setup_' - after the *setup* of the chroot is finished.
@@ -189,10 +192,12 @@ current version in the archive has been installed (this is done
 in the second test, "Installation, upgrade and purging test").
 
 'pre_distupgrade_' - before *upgrading* the chroot to the *next
-distribution*.
+distribution*. The next distribution is available in the variable
+PIUPARTS_DISTRIBUTION_NEXT.
 
 'post_distupgrade_' - after *upgrading* the chroot to the *next
-distribution*.
+distribution*. The previous distribution is available in the
+variable PIUPARTS_DISTRIBUTION_PREV.
 
 
 === Example custom scripts:
diff --git a/piuparts.py b/piuparts.py
index 8209e41..feffca7 100644
--- a/piuparts.py
+++ b/piuparts.py
@@ -747,6 +747,7 @@ class Chroot:
 
     def configure_chroot(self):
         """Configure a chroot according to current settings"""
+        os.environ["PIUPARTS_DISTRIBUTION"] = settings.debian_distros[0]
         if not settings.keep_sources_list:
             self.create_apt_sources(settings.debian_distros[0])
         self.create_apt_conf()
@@ -761,11 +762,14 @@ class Chroot:
         """Upgrade a chroot installation to each successive distro."""
         for distro in distros:
             logging.debug("Upgrading %s to %s" % (self.name, distro))
+            os.environ["PIUPARTS_DISTRIBUTION_NEXT"] = distro
             self.create_apt_sources(distro)
             # Run custom scripts before upgrade
             self.run_scripts("pre_distupgrade")
             self.run(["apt-get", "update"])
             self.run(["apt-get", "-yf", "dist-upgrade"])
+            os.environ["PIUPARTS_DISTRIBUTION_PREV"] = os.environ["PIUPARTS_DISTRIBUTION"]
+            os.environ["PIUPARTS_DISTRIBUTION"] = distro
             # Sometimes dist-upgrade won't upgrade the packages we want
             # to test because the new version depends on a newer library,
             # and installing that would require removing the old version
-- 
1.7.7.1






More information about the Piuparts-devel mailing list