[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