[Piuparts-commits] [SCM] piuparts git repository branch, develop, updated. 0.44-701-g79736e3

Andreas Beckmann debian at abeckmann.de
Thu Jun 14 10:08:41 UTC 2012


The following commit has been merged in the develop branch:
commit 2a8d4fc73281fcf6e24e449cae48ac73c1f632b4
Author: Andreas Beckmann <debian at abeckmann.de>
Date:   Mon Jun 11 19:46:49 2012 +0200

    p: generalize temp_tgz creation
    
    Move decision whether to save a temporary .tgz (to avoid repeated
    bootstrapping) into Chroot.
    
    Signed-off-by: Andreas Beckmann <debian at abeckmann.de>

diff --git a/piuparts.py b/piuparts.py
index dab0f11..aeeaf15 100644
--- a/piuparts.py
+++ b/piuparts.py
@@ -731,6 +731,7 @@ class Chroot:
 
     def __init__(self):
         self.name = None
+        self.bootstrapped = False
 
     def create_temp_dir(self):
         """Create a temporary directory for the chroot."""
@@ -808,6 +809,9 @@ class Chroot:
             else:
                 logging.debug("Keeping directory tree at %s" % self.name)
 
+    def was_bootstrapped(self):
+        return self.bootstrapped
+
     def create_temp_tgz_file(self):
         """Return the path to a file to be used as a temporary tgz file"""
         # Yes, create_temp_file() would work just as well, but putting it in
@@ -951,6 +955,7 @@ class Chroot:
             options.append('--components=%s' % ','.join(settings.debian_mirrors[0][1]))
         run(prefix + ["debootstrap", "--variant=minbase"] + options +
             [settings.debian_distros[0], self.name, settings.debian_mirrors[0][0]])
+        self.bootstrapped = True
 
     def minimize(self):
         """Minimize a chroot by removing (almost all) unnecessary packages"""
@@ -2158,7 +2163,8 @@ def install_and_upgrade_between_distros(package_files, packages):
         # load root_info and selections
         chroot_state = load_meta_data(settings.end_meta)
     else:
-        if not settings.basetgz and not settings.schroot:
+        temp_tgz = None
+        if chroot.was_bootstrapped():
             temp_tgz = chroot.create_temp_tgz_file()
             # FIXME: on panic remove temp_tgz
             chroot.pack_into_tgz(temp_tgz)
@@ -2184,7 +2190,7 @@ def install_and_upgrade_between_distros(package_files, packages):
         logging.info("Notice: package selections and meta data from target distro saved, now starting over from source distro. See the description of --save-end-meta and --end-meta to learn why this is neccessary and how to possibly avoid it.")
 
         chroot = get_chroot()
-        if settings.basetgz or settings.schroot:
+        if temp_tgz is None:
             chroot.create()
         else:
             chroot.create(temp_tgz)

-- 
piuparts git repository



More information about the Piuparts-commits mailing list