Hello community,
here is the log from the commit of package kiwi
checked in at Mon Sep 17 17:22:19 CEST 2007.
--------
--- arch/i386/kiwi/kiwi.changes 2007-09-14 15:23:22.000000000 +0200
+++ /mounts/work_src_done/STABLE/kiwi/kiwi.changes 2007-09-17 16:53:21.117107000 +0200
@@ -1,0 +2,33 @@
+Mon Sep 17 16:48:51 CEST 2007 - ms@suse.de
+
+- missing mksquashfs is now handled as fatal error
+
+-------------------------------------------------------------------
+Mon Sep 17 15:24:47 CEST 2007 - ms@suse.de
+
+- fixed suse-isolinux exit code
+
+-------------------------------------------------------------------
+Mon Sep 17 08:44:37 CEST 2007 - ms@suse.de
+
+- added call of posbios if installed to obtain BIOS information
+ uploaded into the registry file while a new network client is
+ registered
+- added kernelCheck for installed and active kernel in
+ netboot boot image, suse-linuxrc
+- added image notification if a new image is installed on the
+ client via PXE in the netboot boot image, suse-linuxrc
+- added support for base image usage. This means you can use
+ the contents of a given directory as the base image instead of
+ starting with a clean and empty directory. kiwi will use the
+ overlay technique with either aufs or unionfs to build the
+ target directory as combination of the base (--base-root) image
+ and a new image directory optionally specified with the --root
+ option. As result the image root directory will contain only a
+ part of the complete image which is the data not part of the
+ base image or the data which has been touched/copied. In
+ principal all copy-on-write actions within the combined filesystem
+ causes data to be written in the image root directory. base
+ image support works for the prepare and create steps of kiwi
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.Yd1810/_old 2007-09-17 17:22:00.000000000 +0200
+++ /var/tmp/diff_new_pack.Yd1810/_new 2007-09-17 17:22:00.000000000 +0200
@@ -16,7 +16,7 @@
Requires: perl perl-XML-LibXML perl-libwww-perl screen
Summary: OpenSuSE - KIWI Image System
Version: 1.64
-Release: 5
+Release: 9
Group: System/Management
License: GPL v2 or later
Source: kiwi.tar.bz2
@@ -327,6 +327,30 @@
%{_datadir}/kiwi/image/oemboot/suse*
%changelog
+* Mon Sep 17 2007 - ms@suse.de
+- missing mksquashfs is now handled as fatal error
+* Mon Sep 17 2007 - ms@suse.de
+- fixed suse-isolinux exit code
+* Mon Sep 17 2007 - ms@suse.de
+- added call of posbios if installed to obtain BIOS information
+ uploaded into the registry file while a new network client is
+ registered
+- added kernelCheck for installed and active kernel in
+ netboot boot image, suse-linuxrc
+- added image notification if a new image is installed on the
+ client via PXE in the netboot boot image, suse-linuxrc
+- added support for base image usage. This means you can use
+ the contents of a given directory as the base image instead of
+ starting with a clean and empty directory. kiwi will use the
+ overlay technique with either aufs or unionfs to build the
+ target directory as combination of the base (--base-root) image
+ and a new image directory optionally specified with the --root
+ option. As result the image root directory will contain only a
+ part of the complete image which is the data not part of the
+ base image or the data which has been touched/copied. In
+ principal all copy-on-write actions within the combined filesystem
+ causes data to be written in the image root directory. base
+ image support works for the prepare and create steps of kiwi
* Wed Sep 12 2007 - ms@suse.de
- show the output of --list-profiles in a nicer format
- added installed OS version check for oemboot
++++++ kiwi.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/kiwi.pl new/kiwi/kiwi.pl
--- old/kiwi/kiwi.pl 2007-09-14 15:17:38.000000000 +0200
+++ new/kiwi/kiwi.pl 2007-09-17 16:49:39.000000000 +0200
@@ -27,6 +27,7 @@
use KIWIImage;
use KIWIBoot;
use KIWIMigrate;
+use KIWIOverlay;
#============================================
# Globals (Version)
@@ -81,6 +82,7 @@
our @Profiles; # list of profiles to include in image
our $ListProfiles; # lists the available profiles in image
our $ForceNewRoot; # force creation of new root directory
+our $BaseRoot; # use given path as base system
#============================================
# Globals
@@ -142,7 +144,8 @@
#==========================================
# Initialize installation source tree
#------------------------------------------
- my $root = $xml -> createTmpDirectory ( $RootTree );
+ my @root = $xml -> createTmpDirectory ( $RootTree );
+ my $root = $root[1];
if (! defined $root) {
$kiwi -> error ("Couldn't create instsource root");
$kiwi -> failed ();
@@ -255,17 +258,19 @@
#------------------------------------------
$root = new KIWIRoot (
$kiwi,$xml,$Prepare,$RootTree,
- "/base-system"
+ "/base-system",undef,undef,$BaseRoot
);
if (! defined $root) {
$kiwi -> error ("Couldn't create root object");
$kiwi -> failed ();
my $code = kiwiExit (1); return $code;
}
- if (! defined $root -> init ()) {
- $kiwi -> error ("Base initialization failed");
- $kiwi -> failed ();
- my $code = kiwiExit (1); return $code;
+ if (! defined $BaseRoot) {
+ if (! defined $root -> init ()) {
+ $kiwi -> error ("Base initialization failed");
+ $kiwi -> failed ();
+ my $code = kiwiExit (1); return $code;
+ }
}
#==========================================
# Install root system
@@ -290,9 +295,28 @@
# Create image from chroot system
#------------------------------------------
if (defined $Create) {
+ #==========================================
+ # Check for overlay requirements
+ #------------------------------------------
+ my $overlay;
+ my $origroot;
+ if (defined $BaseRoot) {
+ $overlay = new KIWIOverlay ( $kiwi,$BaseRoot,$Create );
+ if (! defined $overlay) {
+ my $code = kiwiExit (1); return $code;
+ }
+ $origroot = $Create;
+ $Create = $overlay -> mountOverlay();
+ if (! defined $Create) {
+ my $code = kiwiExit (1); return $code;
+ }
+ }
$kiwi -> info ("Reading image description...");
my $xml = new KIWIXML ( $kiwi,"$Create/image",undef,$SetImageType );
if (! defined $xml) {
+ if (defined $BaseRoot) {
+ $overlay -> resetOverlay();
+ }
my $code = kiwiExit (1); return $code;
}
$kiwi -> done();
@@ -306,6 +330,9 @@
$kiwi -> failed ();
$kiwi -> info ("No destination directory specified");
$kiwi -> failed ();
+ if (defined $BaseRoot) {
+ $overlay -> resetOverlay();
+ }
my $code = kiwiExit (1); return $code;
}
$kiwi -> done();
@@ -315,14 +342,20 @@
#------------------------------------------
$image = new KIWIImage (
$kiwi,$xml,$Create,$Destination,$StripImage,
- "/base-system"
+ "/base-system",$origroot
);
if (! defined $image) {
+ if (defined $BaseRoot) {
+ $overlay -> resetOverlay();
+ }
my $code = kiwiExit (1); return $code;
}
my %type = %{$xml->getImageTypeAndAttributes()};
my $para = checkType ( \%type );
if (! defined $para) {
+ if (defined $BaseRoot) {
+ $overlay -> resetOverlay();
+ }
my $code = kiwiExit (1); return $code;
}
#==========================================
@@ -350,6 +383,9 @@
undef $main::Create;
if (! defined main::main()) {
$main::Survive = "default";
+ if (defined $BaseRoot) {
+ $overlay -> resetOverlay();
+ }
my $code = kiwiExit (1); return $code;
}
$main::Survive = "default";
@@ -407,8 +443,14 @@
};
$kiwi -> error ("Unsupported type: $type{type}");
$kiwi -> failed ();
+ if (defined $BaseRoot) {
+ $overlay -> resetOverlay();
+ }
my $code = kiwiExit (1); return $code;
}
+ if (defined $BaseRoot) {
+ $overlay -> resetOverlay();
+ }
if ($ok) {
my $code = kiwiExit (0); return $code;
} else {
@@ -447,7 +489,7 @@
#------------------------------------------
$root = new KIWIRoot (
$kiwi,$xml,$Upgrade,undef,
- "/base-system",$Upgrade,\@AddPackage
+ "/base-system",$Upgrade,\@AddPackage,$BaseRoot
);
if (! defined $root) {
$kiwi -> error ("Couldn't create root object");
@@ -674,6 +716,7 @@
"setup-grub-splash=s" => \$SetupSplashForGrub,
"list-profiles|i=s" => \$ListProfiles,
"force-new-root" => \$ForceNewRoot,
+ "base-root=s" => \$BaseRoot,
"help|h" => \&usage,
"<>" => \&usage
);
@@ -735,9 +778,12 @@
print " kiwi -i | --list-profiles\n";
print "Image Preparation/Creation:\n";
print " kiwi -p | --prepare <image-path>\n";
+ print " [ --base-root <base-path> ]\n";
print " kiwi -c | --create <image-root>\n";
+ print " [ --base-root <base-path> ]\n";
print "Image Upgrade:\n";
print " kiwi -u | --upgrade <image-root>\n";
+ print " [ --base-root <base-path> ]\n";
print "System to Image migration:\n";
print " kiwi -m | --migrate <name> --destdir <destination-path> \\\n";
print " [ --exclude <directory> --exclude ... ] \\\n";
@@ -976,8 +1022,9 @@
if (-f "/usr/bin/mksquashfs") {
$para .= ",$type{flags}";
} else {
- $kiwi -> warning ("missing mksquashfs: flags $type{flags}");
- $kiwi -> skipped ();
+ $kiwi -> error("missing mksquashfs for flag: $type{flags}");
+ $kiwi -> failed();
+ return undef;
}
}
last SWITCH;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIImage.pm new/kiwi/modules/KIWIImage.pm
--- old/kiwi/modules/KIWIImage.pm 2007-09-11 19:56:36.000000000 +0200
+++ new/kiwi/modules/KIWIImage.pm 2007-09-17 10:51:13.000000000 +0200
@@ -48,6 +48,7 @@
my $imageDest = shift;
my $imageStrip = shift;
my $baseSystem = shift;
+ my $imageOrig = shift;
#==========================================
# Constructor setup
#------------------------------------------
@@ -80,7 +81,11 @@
return undef;
}
if (! defined $main::LogFile) {
- $kiwi -> setRootLog ($imageTree.".".$$.".screenrc.log");
+ if (defined $imageOrig) {
+ $kiwi -> setRootLog ($imageOrig.".".$$.".screenrc.log");
+ } else {
+ $kiwi -> setRootLog ($imageTree.".".$$.".screenrc.log");
+ }
}
my $arch = qx ( arch ); chomp ( $arch );
$arch = ".$arch";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWILinuxRC.sh new/kiwi/modules/KIWILinuxRC.sh
--- old/kiwi/modules/KIWILinuxRC.sh 2007-09-14 15:18:08.000000000 +0200
+++ new/kiwi/modules/KIWILinuxRC.sh 2007-09-17 10:51:13.000000000 +0200
@@ -132,6 +132,35 @@
esac
}
#======================================
+# kernelCheck
+#--------------------------------------
+function kernelCheck {
+ # /.../
+ # Check this running kernel against the kernel
+ # installed in the image. If the version doesn't
+ # match we need to reboot to activate the system
+ # image kernel.
+ # ----
+ kactive=`uname -r`
+ kreboot=1
+ prefix=$1
+ for i in $prefix/lib/modules/*;do
+ if [ ! -d $i ];then
+ continue
+ fi
+ kinstname=${i##*/}
+ if [ $kinstname = $kactive ];then
+ kreboot=0
+ break
+ fi
+ done
+ if [ $kreboot = 1 ];then
+ Echo "Kernel versions do not match rebooting in 5 sec..."
+ REBOOT_IMAGE="yes"
+ sleep 5
+ fi
+}
+#======================================
# probeFileSystem
#--------------------------------------
function probeFileSystem {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWILog.pm new/kiwi/modules/KIWILog.pm
--- old/kiwi/modules/KIWILog.pm 2007-07-18 10:02:51.000000000 +0200
+++ new/kiwi/modules/KIWILog.pm 2007-09-17 10:51:13.000000000 +0200
@@ -22,15 +22,6 @@
use Carp qw (cluck);
#==========================================
-# Private
-#------------------------------------------
-#my @showLevel = (0,1,2,3,4,5);
-#my $channel = \*STDOUT;
-#my $errorOk = 0;
-#my $fileLog;
-#my $rootLog;
-
-#==========================================
# Constructor
#------------------------------------------
sub new {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIOverlay.pm new/kiwi/modules/KIWIOverlay.pm
--- old/kiwi/modules/KIWIOverlay.pm 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/modules/KIWIOverlay.pm 2007-09-17 10:51:13.000000000 +0200
@@ -0,0 +1,151 @@
+#================
+# FILE : KIWIOverlay.pm
+#----------------
+# PROJECT : OpenSUSE Build-Service
+# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH, Germany
+# :
+# AUTHOR : Marcus Schaefer