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>