[Piuparts-commits] [SCM] piuparts git repository branch, develop, updated. 2a550c64635bf85aff342060b3d0268274415747
Andreas Beckmann
debian at abeckmann.de
Sun Nov 27 22:22:00 UTC 2011
The following commit has been merged in the develop branch:
commit 57d6c35fa6eb065049b4015a8f06421b50c15876
Author: Andreas Beckmann <debian at abeckmann.de>
Date: Sun Nov 6 15:00:58 2011 +0100
restore initial chroot from temp_tgz
Unless --basetgz is given, install_and_upgrade_between_distros() creates a
temporary tgz of the source distribution chroot. Use this to initialize
the source distribution chroot for the second round (when actual package
installations are performed). No need to run debootstrap again.
Signed-off-by: Andreas Beckmann <debian at abeckmann.de>
diff --git a/piuparts.py b/piuparts.py
index 79b3b60..0b98969 100644
--- a/piuparts.py
+++ b/piuparts.py
@@ -715,21 +715,23 @@ class Chroot:
os.chmod(self.name, 0755)
logging.debug("Created temporary directory %s" % self.name)
- def create(self):
+ def create(self, temp_tgz = None):
"""Create a chroot according to user's wishes."""
self.create_temp_dir()
cid = do_on_panic(self.remove)
- if settings.basetgz:
+ if temp_tgz:
+ self.unpack_from_tgz(temp_tgz)
+ elif settings.basetgz:
self.unpack_from_tgz(settings.basetgz)
elif settings.lvm_volume:
self.setup_from_lvm(settings.lvm_volume)
else:
self.setup_minimal_chroot()
- self.configure_chroot()
self.mount_proc()
self.mount_selinux()
+ self.configure_chroot()
if settings.basetgz:
self.run(["apt-get", "-yf", "upgrade"])
self.minimize()
@@ -747,7 +749,7 @@ class Chroot:
# Run custom scripts after creating the chroot.
self.run_scripts("post_setup")
- if settings.savetgz:
+ if settings.savetgz and not temp_tgz:
self.pack_into_tgz(settings.savetgz)
dont_do_on_panic(cid)
@@ -2050,9 +2052,8 @@ def install_and_upgrade_between_distros(package_files, packages):
if settings.basetgz:
chroot.create()
else:
- # FIXME: restore from temp_tgz
+ chroot.create(temp_tgz)
chroot.remove_temp_tgz_file(temp_tgz)
- chroot.create()
cid = do_on_panic(chroot.remove)
chroot.check_for_no_processes()
--
piuparts git repository
More information about the Piuparts-commits
mailing list