Hello community,
here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2012-04-26 14:45:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi (Old)
and /work/SRC/openSUSE:Factory/.kiwi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi", Maintainer is "ms@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2012-04-23 09:15:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2012-04-26 14:45:40.000000000 +0200
@@ -1,0 +2,72 @@
+Thu Apr 26 12:19:36 CEST 2012 - ms@suse.de
+
+- v5.03.01 relased
+
+-------------------------------------------------------------------
+Thu Apr 26 11:57:25 CEST 2012 - ms@suse.de
+
+- make sure libext2fs stays inside the initrd, it's required
+ for tune2fs on Factory/openSUSE 12.2
+
+-------------------------------------------------------------------
+Thu Apr 26 10:56:24 CEST 2012 - ms@suse.de
+
+- fixed evaluation of --edit-bootconfig. There is either the
+ choice for setting the value on the commandline or as attribute
+ inside the XML description. Before this fix the code did not
+ correctly get the value depending on how kiwi is called
+- make sure any iso is created via the KIWIISOLinux provided
+ functions. According to this editbootconfig now also works
+ for the creation of installs ISO's
+
+-------------------------------------------------------------------
+Wed Apr 25 17:00:47 CEST 2012 - ms@suse.de
+
+- make sure grub menu.lst is correctly utf-8 encoded
+
+-------------------------------------------------------------------
+Wed Apr 25 16:56:10 CEST 2012 - ms@suse.de
+
+- added __hasValidLVMName() runtime check. This checks if the
+ optional LVM group name already exist on the build host.
+
+-------------------------------------------------------------------
+Wed Apr 25 15:47:03 CEST 2012 - ms@suse.de
+
+- fixed typo in error message, $! is empty but we stored the
+ messages in $status
+
+-------------------------------------------------------------------
+Tue Apr 24 18:00:50 CEST 2012 - ms@suse.de
+
+- fixed flag state for iso in extras/suse-11.4/suse-min-gnome
+
+-------------------------------------------------------------------
+Tue Apr 24 12:50:31 CEST 2012 - ms@suse.de
+
+- redirect errors from rpm --rebuilddb into the result variable
+
+-------------------------------------------------------------------
+Mon Apr 23 16:02:18 CEST 2012 - ms@suse.de
+
+- v5.02.25 released
+
+-------------------------------------------------------------------
+Sun Apr 22 14:37:09 CEST 2012 - ms@suse.de
+
+- fixed loop in partition size check
+
+-------------------------------------------------------------------
+Sun Apr 22 14:31:56 CEST 2012 - ms@suse.de
+
+- added a check for the split read/write partition size
+ when creating the virtual disk.
+
+-------------------------------------------------------------------
+Sat Apr 21 11:10:31 CEST 2012 - rjschwei@suse.de
+
+- add unit tests for the getOEM* methods
+ Prior to undertacing the restructuring of the XML object we need to get
+ unit tests in place
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.YzKJPo/_old 2012-04-26 14:45:42.000000000 +0200
+++ /var/tmp/diff_new_pack.YzKJPo/_new 2012-04-26 14:45:42.000000000 +0200
@@ -22,7 +22,7 @@
Summary: OpenSuSE - KIWI Image System
License: GPL-2.0
Group: System/Management
-Version: 5.02.24
+Version: 5.03.01
Release: 0
# requirements to build packages
BuildRequires: gcc-c++
++++++ kiwi-docu.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/kiwi/kiwi-docu.tar.bz2 /work/SRC/openSUSE:Factory/.kiwi.new/kiwi-docu.tar.bz2 differ: char 11, line 1
++++++ kiwi.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/.revision new/kiwi/.revision
--- old/kiwi/.revision 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/.revision 2012-04-20 13:43:32.000000000 +0200
@@ -1 +1 @@
-9026edecdc726157659543b374e5dedf27015fad
+a6277e7aaee6cdd88b451e324b782ff950a205c5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIBoot.pm new/kiwi/modules/KIWIBoot.pm
--- old/kiwi/modules/KIWIBoot.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIBoot.pm 2012-04-26 12:22:11.000000000 +0200
@@ -1003,18 +1003,16 @@
$name = $wdir."/".$name;
}
my $iso = new KIWIIsoLinux (
- $kiwi,$tmpdir,$name,undef,"checkmedia",$this->{cmdL}
+ $kiwi,$tmpdir,$name,$base.' '.$opts,"checkmedia",
+ $this->{cmdL},$this->{xml}
);
if (! defined $iso) {
return;
}
- my $tool= $iso -> getTool();
if ($bootloader =~ /(sys|ext)linux/) {
$iso -> createISOLinuxConfig ("/boot");
}
- $status = qxx ("cd $tmpdir && $tool $base $opts -o $name . 2>&1");
- $result = $? >> 8;
- if ($result != 0) {
+ if (! $iso -> createISO()) {
$kiwi -> failed ();
$kiwi -> error ("Failed creating ISO image: $status");
$kiwi -> failed ();
@@ -2006,14 +2004,23 @@
# check system partition size
#------------------------------------------
my $sizeOK = 1;
+ my $splitPSize = 1;
+ my $splitISize = 0;
my $systemPSize = $this->getStorageSize ($root);
my $systemISize = $main::global -> isize ($system);
$systemISize /= 1024;
chomp $systemPSize;
#print "_______A $systemPSize : $systemISize\n";
- if ($systemPSize <= $systemISize) {
+ if ($haveSplit) {
+ $splitPSize = $this->getStorageSize ($deviceMap{3});
+ $splitISize = $main::global -> isize ($splitfile);
+ $splitISize /= 1024;
+ chomp $splitPSize;
+ #print "_______B $splitPSize : $splitISize\n";
+ }
+ if (($systemPSize <= $systemISize) || ($splitPSize <= $splitISize)) {
#==========================================
- # system partition still too small
+ # system partition(s) still too small
#------------------------------------------
sleep (1);
$this -> deleteVolumeGroup();
@@ -2405,7 +2412,7 @@
my $status = qxx ("$unzip | (cd $irddir && cpio -di 2>&1)");
$result = $? >> 8;
if ($result != 0) {
- $kiwi -> error ("Failed to extract initrd data: $!");
+ $kiwi -> error ("Failed to extract initrd data: $status");
$kiwi -> failed ();
qxx ("rm -rf $irddir");
return;
@@ -3318,6 +3325,7 @@
#==========================================
# General grub setup
#------------------------------------------
+ binmode(FD, ":encoding(UTF-8)");
print FD "color cyan/blue white/blue\n";
print FD "default $defaultBootNr\n";
my $bootTimeout = 10;
@@ -4061,6 +4069,7 @@
my $chainload= $this->{chainload};
my $lvm = $this->{lvm};
my $cmdL = $this->{cmdL};
+ my $xml = $this->{xml};
my $locator = new KIWILocator($kiwi);
my $result;
my $status;
@@ -4069,6 +4078,9 @@
#------------------------------------------
if ($cmdL) {
my $editBoot = $cmdL -> getEditBootConfig();
+ if (! $editBoot) {
+ $editBoot = $xml -> getEditBootConfig();
+ }
if (($editBoot) && (-e $editBoot)) {
system ("cd $tmpdir && bash --norc -c $editBoot");
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIConfig.txt new/kiwi/modules/KIWIConfig.txt
--- old/kiwi/modules/KIWIConfig.txt 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIConfig.txt 2012-04-26 12:22:11.000000000 +0200
@@ -245,6 +245,7 @@
<file name="libutempter"/>
<file name="libutil"/>
<file name="libkmod"/>
+ <file name="libext2fs"/>
</strip>
</initrd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIGlobals.pm new/kiwi/modules/KIWIGlobals.pm
--- old/kiwi/modules/KIWIGlobals.pm 2012-04-20 13:43:37.000000000 +0200
+++ new/kiwi/modules/KIWIGlobals.pm 2012-04-26 12:22:11.000000000 +0200
@@ -42,7 +42,7 @@
# Globals (generic)
#------------------------------------------
my %data;
- $data{Version} = "5.02.24";
+ $data{Version} = "5.03.01";
$data{Publisher} = "SUSE LINUX Products GmbH";
$data{Preparer} = "KIWI - http://kiwi.berlios.de";
$data{ConfigName} = "config.xml";
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 2012-04-20 13:43:37.000000000 +0200
+++ new/kiwi/modules/KIWIImage.pm 2012-04-26 12:22:11.000000000 +0200
@@ -2101,7 +2101,7 @@
}
$attr .= " -A \"$this->{mbrid}\"";
my $isolinux = new KIWIIsoLinux (
- $kiwi,$CD,$name,$attr,"checkmedia",$this->{cmdL}
+ $kiwi,$CD,$name,$attr,"checkmedia",$this->{cmdL},$this->{xml}
);
if (defined $isolinux) {
$isoerror = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIImageCreator.pm new/kiwi/modules/KIWIImageCreator.pm
--- old/kiwi/modules/KIWIImageCreator.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIImageCreator.pm 2012-04-26 12:22:11.000000000 +0200
@@ -459,13 +459,6 @@
$kiwi,$cmdL,$xml
);
#==========================================
- # Check for edit bootconfig in XML
- #------------------------------------------
- my $editBoot = $xml -> getEditBootConfig();
- if ($editBoot) {
- $cmdL -> setEditBootConfig ($editBoot);
- }
- #==========================================
# Check for default destination in XML
#------------------------------------------
if (! $target) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIIsoLinux.pm new/kiwi/modules/KIWIIsoLinux.pm
--- old/kiwi/modules/KIWIIsoLinux.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIIsoLinux.pm 2012-04-26 12:22:11.000000000 +0200
@@ -57,7 +57,8 @@
my $dest = shift; # destination for the iso file
my $params = shift; # global genisoimage/mkisofs parameters
my $mediacheck = shift; # run tagmedia with --check y/n
- my $cmdL = shift; # commandline params
+ my $cmdL = shift; # commandline params: optional
+ my $xml = shift; # system image XML: optional
#==========================================
# Constructor setup
#------------------------------------------
@@ -206,6 +207,7 @@
$this -> {check} = $mediacheck;
$this -> {gdata} = $main::global -> getGlobals();
$this -> {cmdL} = $cmdL;
+ $this -> {xml} = $xml;
return $this;
}
@@ -686,9 +688,13 @@
my $ldir = $this -> {tmpdir};
my $prog = $this -> {tool};
my $cmdL = $this -> {cmdL};
+ my $xml = $this -> {xml};
my $cmdln= "$prog $para -o $dest $ldir $src 2>&1";
if ($cmdL) {
my $editBoot = $cmdL -> getEditBootConfig();
+ if ((! $editBoot) && ($xml)) {
+ $editBoot = $xml -> getEditBootConfig();
+ }
if (($editBoot) && (-e $editBoot)) {
system ("cd $src && bash --norc -c $editBoot");
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIManager.pm new/kiwi/modules/KIWIManager.pm
--- old/kiwi/modules/KIWIManager.pm 2012-04-20 13:43:37.000000000 +0200
+++ new/kiwi/modules/KIWIManager.pm 2012-04-26 12:22:11.000000000 +0200
@@ -1000,7 +1000,7 @@
$kiwi -> done();
} else {
$kiwi -> info ('Rebuild RPM package db...');
- $data = qxx ("@kchroot /bin/rpm --rebuilddb");
+ $data = qxx ("@kchroot /bin/rpm --rebuilddb 2>&1");
$kiwi -> done();
}
}
@@ -2562,7 +2562,7 @@
if ($code != 0) {
$kiwi -> info ('Rebuild RPM package db...');
$data = qxx ("@kchroot /bin/rm -rf /var/lib/rpm/*");
- $data = qxx ("@kchroot /bin/rpm --rebuilddb");
+ $data = qxx ("@kchroot /bin/rpm --rebuilddb 2>&1");
$code = $? >> 8;
if ($code != 0) {
$kiwi -> failed ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIRuntimeChecker.pm new/kiwi/modules/KIWIRuntimeChecker.pm
--- old/kiwi/modules/KIWIRuntimeChecker.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIRuntimeChecker.pm 2012-04-26 12:22:11.000000000 +0200
@@ -101,6 +101,9 @@
if (! $this -> __checkPackageManagerExists()) {
return;
}
+ if (! $this -> __hasValidLVMName()) {
+ return;
+ }
return 1;
}
@@ -137,6 +140,40 @@
# Private helper methods
#------------------------------------------
#==========================================
+# __hasValidLVMName
+#------------------------------------------
+sub __hasValidLVMName {
+ # ...
+ # check if the optional LVM group name doesn't
+ # exist on the build host
+ # ---
+ my $this = shift;
+ my $kiwi = $this->{kiwi};
+ my $xml = $this->{xml};
+ my $vgroupName = $xml -> getLVMGroupName();
+ if (! $vgroupName) {
+ return 1;
+ }
+ my @hostGroups = qxx ("vgs --noheadings -o vg_name 2>/dev/null");
+ chomp @hostGroups;
+ foreach my $hostGroup (@hostGroups) {
+ $hostGroup =~ s/^\s+//g;
+ $hostGroup =~ s/\s+$//g;
+ if ($hostGroup eq $vgroupName) {
+ my $msg = "There is already a volume group ";
+ $msg .= "named \"$vgroupName\" on this build host";
+ $kiwi -> error ($msg);
+ $kiwi -> failed ();
+ $msg = "Please choose another name in your image configuration";
+ $kiwi -> error ($msg);
+ $kiwi -> failed ();
+ return;
+ }
+ }
+ return 1;
+}
+
+#==========================================
# __hasValidArchives
#------------------------------------------
sub __hasValidArchives {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml new/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml
--- old/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml 2012-04-23 16:05:07.000000000 +0200
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="5.3" name="testCase-OEM-settings">
+ <description type="system">
+ <author>Robert Schweikert</author>
+ <contact>rjschwei@suse.com</contact>
+ <specification>Test configuration to verify OEM setting are stored and returned properly in the XML object</specification>
+ </description>
+ <preferences>
+ <type image="oem" filesystem="ext4" boot="oemboot/suse-12.1" installiso="true">
+ <oemconfig>
+ <oem-align-partition>true</oem-align-partition>
+ <oem-boot-title>Unit Test</oem-boot-title>
+ <oem-bootwait>false</oem-bootwait>
+ <oem-inplace-recovery>true</oem-inplace-recovery>
+ <oem-kiwi-initrd>true</oem-kiwi-initrd>
+ <oem-partition-install>false</oem-partition-install>
+ <oem-reboot>false</oem-reboot>
+ <oem-reboot-interactive>false</oem-reboot-interactive>
+ <oem-recovery>true</oem-recovery>
+ <oem-recoveryID>20</oem-recoveryID>
+ <oem-silent-boot>true</oem-silent-boot>
+ <oem-shutdown>false</oem-shutdown>
+ <oem-shutdown-interactive>true</oem-shutdown-interactive>
+ <oem-swap>true</oem-swap>
+ <oem-swapsize>2048</oem-swapsize>
+ <oem-systemsize>20G</oem-systemsize>
+ <oem-unattended>true</oem-unattended>
+ <oem-unattended-id>scsi-SATA_ST9500420AS_5VJ5JL6T-part1</oem-unattended-id>
+ </oemconfig>
+ </type>
+ <version>0.0.1</version>
+ <rpm-check-signatures>false</rpm-check-signatures>
+ <rpm-force>true</rpm-force>
+ <locale>en_US</locale>
+ <keytable>us.map.gz</keytable>
+ </preferences>
+ <users group="root">
+ <user pwd="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root"/>
+ </users>
+ <repository type="yast2">
+ <source path="opensuse://12.1/repo/oss/"/>
+ </repository>
+ <packages type="image">
+ <package name="kernel-default"/>
+ <opensusePattern name="base"/>
+ </packages>
+ <packages type="bootstrap">
+ <package name="filesystem"/>
+ <package name="glibc-locale"/>
+ </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/tests/unit/lib/Test/kiwiXML.pm new/kiwi/tests/unit/lib/Test/kiwiXML.pm
--- old/kiwi/tests/unit/lib/Test/kiwiXML.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/tests/unit/lib/Test/kiwiXML.pm 2012-04-23 16:05:07.000000000 +0200
@@ -4,7 +4,7 @@
# PROJECT : OpenSUSE Build-Service
# COPYRIGHT : (c) 2011 Novell Inc.
# :
-# AUTHOR : Robert Schweikert