[Mageia-sysadm] [154] factorize chroot rebuild code

root at mageia.org root at mageia.org
Fri Nov 26 00:43:52 CET 2010


Revision: 154
Author:   blino
Date:     2010-11-26 00:43:52 +0100 (Fri, 26 Nov 2010)
Log Message:
-----------
factorize chroot rebuild code

Modified Paths:
--------------
    build_system/iurt/trunk/lib/Iurt/Chroot.pm

Modified: build_system/iurt/trunk/lib/Iurt/Chroot.pm
===================================================================
--- build_system/iurt/trunk/lib/Iurt/Chroot.pm	2010-11-25 23:41:13 UTC (rev 153)
+++ build_system/iurt/trunk/lib/Iurt/Chroot.pm	2010-11-25 23:43:52 UTC (rev 154)
@@ -429,12 +429,6 @@
 	if (!-f $chroot_tar) {
 	    plog("rebuild chroot tarball");
 	    $rebuild = 1;
-	    if (!build_chroot($run, $config, $tmp_chroot, $chroot_tar, $opt)) {
-		plog('NOTIFY', "creating chroot failed.");
-		$clean->();
-		sudo($run, $config, '--rm', '-r', $chroot, $chroot_tar);
-		return;
-	    }
 	} else {
 	    link $chroot_tar, $tmp_tar or die "FATAL: could not initialize chroot ($!)\n";
 
@@ -451,14 +445,7 @@
 		if (@removed_pkgs) {
 			plog('DEBUG', "changed packages: @removed_pkgs");
 			plog('NOTIFY', "Rebuilding chroot tarball");
-
 			$rebuild = 1;
-			sudo($run, $config, '--rm', '-r', $tmp_chroot);
-			if (!build_chroot($run, $config, $tmp_chroot, $chroot_tar, $opt)) { 
-			    plog('NOTIFY', "creating chroot failed.");
-			    $clean->();
-			    return;
-			}
 		} else {
 			plog('NOTIFY', "chroot tarball is already up-to-date");
 			link $tmp_tar, $chroot_tar;
@@ -466,15 +453,19 @@
 	    } else {
 		plog('DEBUG', "can't open $tmp_chroot/var/log/qa");
 		plog('ERR', "can't check chroot, recreating");
-
-		if (!build_chroot($run, $config, $tmp_chroot, $chroot_tar, $opt)) {
-		    plog('NOTIFY', "creating chroot failed.");
-		    $clean->();       
-		    return;
-		}
+                $rebuild = 1;
 	    }
 	}
 
+    if ($rebuild) {
+	    if (!build_chroot($run, $config, $tmp_chroot, $chroot_tar, $opt)) {
+		plog('NOTIFY', "creating chroot failed.");
+		$clean->();
+		sudo($run, $config, '--rm', '-r', $chroot, $chroot_tar);
+		return;
+	    }
+    }
+
     if (!-d $chroot || $rebuild) {
 	plog('DEBUG', "recreate chroot $chroot");
 	plog('NOTIFY', "recreate chroot");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/mageia-sysadm/attachments/20101126/bc8587b1/attachment-0001.html>


More information about the Mageia-sysadm mailing list