Hello community,
here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2017-05-20 10:09:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi (Old)
and /work/SRC/openSUSE:Factory/.kiwi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi"
Sat May 20 10:09:23 2017 rev:657 rq:494933 version:7.04.31
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2017-04-11 09:28:48.319719941 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2017-05-20 10:09:39.845786769 +0200
@@ -1,0 +2,29 @@
+Mon May 8 13:47:55 CEST 2017 - ms@suse.de
+
+- v7.04.31 released
+
+-------------------------------------------------------------------
+Thu May 4 10:59:20 CEST 2017 - ms@suse.de
+
+- Fixed detection of Xen PV guest
+
+ The method isXen was used to check if the paravirtual kernel
+ kernel-xen is used and if so it influences the setup of the
+ bootloader. In newer versions there is no kernel-xen anymore
+ and its capabilities were moved into the pvops kernel provided
+ with the standard kernel-default package. Thus one kernel can
+ now serve for pv, hvm and dom0 images. Because of that there is
+ no other way than specifying the target Xen use case as part
+ of the image description. The information can be provided in
+ the doman setup of the machine configuratin with:
+
+- domain="dom0"
+- domain="domU"
+- domain="domU-PV"
+
+ The new domU-PV value allows to specify that this image is going
+ to be used as a xen para virtual guest. The standard domU value
+ will setup the bootloader in a way that it is usable as "real"
+ bootloader in an hvmloader Xen guest. Fixes (bsc#1036198)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.eH8CEw/_old 2017-05-20 10:09:44.545122768 +0200
+++ /var/tmp/diff_new_pack.eH8CEw/_new 2017-05-20 10:09:44.549122203 +0200
@@ -27,7 +27,7 @@
Name: kiwi
License: GPL-2.0
Group: System/Management
-Version: 7.04.30
+Version: 7.04.31
Provides: kiwi-schema = 6.2
Provides: kiwi-image:aci
Provides: kiwi-image:lxc
++++++ kiwi-docu.tar.bz2 ++++++
++++++ kiwi-repo.tar.bz2 ++++++
++++++ kiwi.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/.revision new/kiwi/.revision
--- old/kiwi/.revision 2016-04-18 16:58:06.610211984 +0200
+++ new/kiwi/.revision 2016-04-18 16:58:06.610211984 +0200
@@ -1 +1 @@
-db1de55608c1e1e7586f6026226bf1f9e1d6cdee
+79f37469be8e28a90509a01489f000dd696896f7
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 2017-03-24 09:32:11.849423945 +0100
+++ new/kiwi/modules/KIWIBoot.pm 2017-05-08 13:45:46.297275585 +0200
@@ -214,10 +214,6 @@
#------------------------------------------
$this->{gdata} = $global -> getKiwiConfig();
#==========================================
- # check if Xen system is used
- #------------------------------------------
- ($xengz, $isxen) = $global -> isXen ($initrd);
- #==========================================
# create tmp dir for operations
#------------------------------------------
$tmpdir = KIWIQX::qxx ("mktemp -qdt kiwiboot.XXXXXX");
@@ -274,6 +270,10 @@
}
}
#==========================================
+ # check if Xen system is used
+ #------------------------------------------
+ ($xengz, $isxen) = $global -> isXen ($initrd, $xml);
+ #==========================================
# read origin path of XML description
#------------------------------------------
if (($system) && (open my $FD, '<', "$system/image/main::Prepare")) {
@@ -4682,7 +4682,7 @@
#==========================================
# Standard boot
#------------------------------------------
- if ((! $isxen) || ($isxen && $xendomain eq "domU")) {
+ if ((! $isxen) || ($isxen && $xendomain =~ "domU")) {
if ($iso) {
print $FD "\t"."echo Loading linux...\n";
print $FD "\t"."set gfxpayload=$gfx"."\n";
@@ -4782,7 +4782,7 @@
$title = $this -> quoteLabel ("Failsafe -- $title");
print $FD 'menuentry "'.$title.'"';
print $FD ' --class opensuse --class os {'."\n";
- if ((! $isxen) || ($isxen && $xendomain eq "domU")) {
+ if ((! $isxen) || ($isxen && $xendomain =~ "domU")) {
if ($iso) {
print $FD "\t"."echo Loading linux...\n";
print $FD "\t"."set gfxpayload=$gfx"."\n";
@@ -4961,7 +4961,7 @@
#==========================================
# Standard boot
#------------------------------------------
- if ((! $isxen) || ($isxen && $xendomain eq "domU")) {
+ if ((! $isxen) || ($isxen && $xendomain =~ "domU")) {
if ($iso) {
print $FD " kernel (cd)/boot/linux vga=$vga";
print $FD " ramdisk_size=512000 ramdisk_blocksize=4096";
@@ -5011,7 +5011,7 @@
if ($failsafe) {
$title = $this -> makeLabel ("Failsafe -- $title");
print $FD "title $title\n";
- if ((! $isxen) || ($isxen && $xendomain eq "domU")) {
+ if ((! $isxen) || ($isxen && $xendomain =~ "domU")) {
if ($iso) {
print $FD " kernel (cd)/boot/linux vga=$vga";
print $FD " ramdisk_size=512000 ramdisk_blocksize=4096";
@@ -5411,7 +5411,7 @@
#==========================================
# Standard boot
#------------------------------------------
- if ((! $isxen) || ($isxen && $xendomain eq "domU")) {
+ if ((! $isxen) || ($isxen && $xendomain =~ "domU")) {
if ($iso) {
print $FD "\t"."label = $title\n";
print $FD "\t"."image = /boot/linux\n";
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 2017-03-24 09:32:33.637501263 +0100
+++ new/kiwi/modules/KIWIGlobals.pm 2017-05-08 13:47:46.685684686 +0200
@@ -1697,14 +1697,17 @@
#------------------------------------------
sub isXen {
# ...
- # Check if initrd is Xen based
+ # Check if a Xen PV setup is used
# ---
my $this = shift;
my $xengz = shift;
+ my $xml = shift;
my $isxen = 0;
my $gdata = KIWIGlobals -> instance() -> getKiwiConfig();
my $suf = $gdata -> {IrdZipperSuffix};
if ($xengz) {
+ # hypervisor found, now check if kernel-xen package is used
+ # which indicates a PV setup
$xengz =~ s/\.$suf$//;
$xengz =~ s/\.splash$//;
foreach my $xen (glob ("$xengz*xen*.$suf")) {
@@ -1718,6 +1721,19 @@
$isxen = 1;
}
}
+ # with the move of the kernel into a generic pvops kernel
+ # the kernel package can't be used anymore to distinguish
+ # the PV and HVM setup. Thus we have to rely on a correct
+ # domain setup
+ if ((! $isxen) && ($xml)) {
+ my $vconf = $xml -> getVMachineConfig();
+ if ($vconf) {
+ my $xendomain = $vconf -> getDomain();
+ if (($xendomain) && ($xendomain eq "domU-PV")) {
+ $isxen = 1;
+ }
+ }
+ }
}
return ($xengz, $isxen);
}
@@ -2018,7 +2034,7 @@
# Globals (generic)
#------------------------------------------
my %data;
- $data{Version} = "7.04.30";
+ $data{Version} = "7.04.31";
$data{Publisher} = "SUSE LINUX GmbH";
$data{Preparer} = "KIWI - http://opensuse.github.com/kiwi";
$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 2017-01-26 11:03:33.394179394 +0100
+++ new/kiwi/modules/KIWIImage.pm 2017-05-08 13:45:46.297275585 +0200
@@ -1085,7 +1085,7 @@
#==========================================
# Create VM format/configuration
#------------------------------------------
- if ((defined $name->{format}) || ($xendomain eq "domU")) {
+ if ((defined $name->{format}) || ($xendomain =~ /domU/)) {
$cmdL -> setSystemLocation (
$idest."/".$name->{systemImage}.".raw"
);
@@ -3131,7 +3131,7 @@
#==========================================
# Create VM format/configuration
#------------------------------------------
- if ((defined $name->{format}) || ($xendomain eq "domU")) {
+ if ((defined $name->{format}) || ($xendomain =~ /domU/)) {
$cmdL -> setSystemLocation (
$idest."/".$name->{systemImage}.".raw"
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIImageFormat.pm new/kiwi/modules/KIWIImageFormat.pm
--- old/kiwi/modules/KIWIImageFormat.pm 2017-03-08 11:14:47.514442852 +0100
+++ new/kiwi/modules/KIWIImageFormat.pm 2017-05-08 13:45:46.297275585 +0200
@@ -257,7 +257,7 @@
$kiwi -> skipped ();
return;
}
- if (($bootp) && ($bootp eq "xen") && ($xend eq "domU")) {
+ if (($bootp) && ($bootp eq "xen") && ($xend =~ /domU/)) {
$kiwi -> info ("Creating $imgtype image machine configuration\n");
return $this -> createXENConfiguration();
} elsif ($format eq "vmdk") {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWISchema.rnc new/kiwi/modules/KIWISchema.rnc
--- old/kiwi/modules/KIWISchema.rnc 2016-04-18 16:58:06.626212009 +0200
+++ new/kiwi/modules/KIWISchema.rnc 2017-05-08 13:45:46.301275599 +0200
@@ -2703,7 +2703,10 @@
attribute arch { "ix86" | "x86_64" }
k.machine.domain.attribute =
## The domain setup for the VM (xen only)
- attribute domain { "dom0" | "domU" }
+ ## dom0 is the master domain from which xen instances are started
+ ## domU indicates a HVM guest
+ ## domU-PV indicates a PV guest
+ attribute domain { "dom0" | "domU" | "domU-PV" }
k.machine.guestOS.attribute =
## The virtual guestOS identification string for the VM
## (vmdk and ovf, note the name designation is different for the two
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWISchema.rng new/kiwi/modules/KIWISchema.rng
--- old/kiwi/modules/KIWISchema.rng 2016-04-18 16:58:06.626212009 +0200
+++ new/kiwi/modules/KIWISchema.rng 2017-05-08 13:45:46.301275599 +0200
@@ -3862,10 +3862,14 @@
</define>
<define name="k.machine.domain.attribute">
<attribute name="domain">
-