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 - m...@suse.de
+
+- v7.04.31 released
+  
+-------------------------------------------------------------------
+Thu May  4 10:59:20 CEST 2017 - m...@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">
-        <a:documentation>The domain setup for the VM (xen 
only)</a:documentation>
+        <a:documentation>The domain setup for the VM (xen only)
+dom0 is the master domain from which xen instances are started
+domU indicates a HVM guest
+domU-PV indicates a PV guest</a:documentation>
         <choice>
           <value>dom0</value>
           <value>domU</value>
+          <value>domU-PV</value>
         </choice>
       </attribute>
     </define>


Reply via email to