Hello community, here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2011-12-14 14:33:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kiwi (Old) and /work/SRC/openSUSE:Factory/.kiwi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2011-12-06 16:22:50.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2011-12-14 14:33:40.000000000 +0100 @@ -1,0 +2,145 @@ +Wed Dec 14 11:23:18 CET 2011 - [email protected] + +- DB: rebuild schema documentation + +------------------------------------------------------------------- +Wed Dec 14 11:11:40 CET 2011 - [email protected] + +- fixed/unify spec file license names/setup + +------------------------------------------------------------------- +Wed Dec 14 11:01:09 CET 2011 - [email protected] + +- revert commit: 43be86a0aa57fb393e914c03d9c621b1dec0eb31 + moved hook calls pre/postpartition back inside of the block + +------------------------------------------------------------------- +Wed Dec 14 10:48:52 CET 2011 - [email protected] + +- removed used of binary only ovftool and added native support + for creating the ovf machine description. So far only the + basic information is setup in the ovf but this will be + enhanced according to user requests. Along with the change + support for the ova format has been added as well. ova is + tar container including the actual image plus a manifest + and the ovf XML description + +------------------------------------------------------------------- +Tue Dec 13 17:21:16 CET 2011 - [email protected] + +- fix the OpenNebula example cloud node setup to ensure the cloud admin + home directory gets properly nfs mounted on reboot for 12.1 using systemd + +------------------------------------------------------------------- +Mon Dec 12 17:37:20 CET 2011 - [email protected] + +- fixed BEGIN block evaluation in KIWICollect.pm + +------------------------------------------------------------------- +Mon Dec 12 10:48:06 CET 2011 - [email protected] + +- add a 30 second timeout for the LWP:UserAgent + +------------------------------------------------------------------- +Mon Dec 12 09:04:22 CET 2011 - [email protected] + +- DB: rebuild documentation + +------------------------------------------------------------------- +Fri Dec 9 15:24:35 CET 2011 - [email protected] + +- v5.01.8 released + +------------------------------------------------------------------- +Fri Dec 9 15:09:39 CET 2011 - [email protected] + +- fixed udev database transfer. udev stores the database in /run and + in /dev/.udev. kiwi did not take care for the information in /run + which has a bad impact on systemd waiting for udev events which did + not appear. Along with this fix the changes from commit 1a12ad0974ea + were partially reverted. The obsolete udev rule is gone again and + we don't use the exit control signal in udevSystemStop. The more + failsafe udev exit code in the initrd udevKill() function has been + tested and will stay there (bnc #731457) + +------------------------------------------------------------------- +Fri Dec 9 13:53:50 CET 2011 - [email protected] + +- v5.01.7 released + +------------------------------------------------------------------- +Fri Dec 9 10:38:21 CET 2011 - [email protected] + +- change the suggested repo for the aoetools package to be server:/ltsp + the previously suggested project system:/aoetools does not appear to + be maintained + +------------------------------------------------------------------- +Thu Dec 8 18:01:45 CET 2011 - [email protected] + +- fixed split boot. setupBootPartition() behaved incorrectly + with the split image because the read-write part is also + used to store the boot configuration in this mode + +------------------------------------------------------------------- +Thu Dec 8 16:58:58 CET 2011 - [email protected] + +- fixed --grub-chainload setup. In this mode the mbr from the + master-boot-code package is used to call the grub installed + into a partition. The code there was broken in a way that the + filesystem on that partition was damaged + +------------------------------------------------------------------- +Thu Dec 8 13:19:57 CET 2011 - [email protected] + +- fixed boot device setup for split build + +------------------------------------------------------------------- +Thu Dec 8 12:58:21 CET 2011 - [email protected] + +- update 12.1 examples + * there is no default pattern anymore + * don't use recommended packages, zypper behaves strange here + and starts to install a kernel-debug and other unwanted + packages + +------------------------------------------------------------------- +Thu Dec 8 11:39:01 CET 2011 - [email protected] + +- fixed 32bit xen domU build for 12.1 JeOS template + xen and xen-tools only exists on 64bit 12.1 distro + +------------------------------------------------------------------- +Thu Dec 8 11:22:23 CET 2011 - [email protected] + +- update example to work with OpenNebula 3.0 packages in OBS +- open nebula example fixes regarding network detection on cloud node +- open nebula example update the 12.1 example to work with systemd + +------------------------------------------------------------------- +Thu Dec 8 10:45:27 CET 2011 - [email protected] + +- fixed some typos when displaying schema validation error messages + +------------------------------------------------------------------- +Wed Dec 7 21:00:36 CET 2011 - [email protected] + +- fixed repo file check if alias names with '/' content is used + +------------------------------------------------------------------- +Wed Dec 7 20:31:57 CET 2011 - [email protected] + +- fixed handling of dm devices in udev database of the + kiwi initrd to prevent systemd to block on boot (bnc #731457) + * try to shutdown udev with 'udevadm control --exit' + * try to cleanup udev database with 'udevadm info --cleanup-db' + * add persistent udev rule for dm devices + +------------------------------------------------------------------- +Wed Dec 7 20:05:15 CET 2011 - [email protected] + +- fixed rpmLibs() baselibs setup to use a tmp copy of + ldconfig from the host system to allow to work with + the other library tmp copies + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi.spec ++++++ --- /var/tmp/diff_new_pack.rVQc2u/_old 2011-12-14 14:33:42.000000000 +0100 +++ /var/tmp/diff_new_pack.rVQc2u/_new 2011-12-14 14:33:42.000000000 +0100 @@ -15,14 +15,18 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# needsrootforbuild Url: http://github.com/openSUSE/kiwi Name: kiwi -BuildRequires: perl-Config-IniFiles perl-XML-LibXML perl-libwww-perl -BuildRequires: module-init-tools screen zlib-devel -BuildRequires: gcc-c++ libxslt +BuildRequires: gcc-c++ +BuildRequires: libxslt +BuildRequires: module-init-tools +BuildRequires: perl-Config-IniFiles +BuildRequires: perl-XML-LibXML +BuildRequires: perl-libwww-perl +BuildRequires: screen +BuildRequires: zlib-devel %if %{suse_version} > 1020 BuildRequires: fdupes %endif @@ -30,14 +34,20 @@ BuildRequires: syslinux %endif %if %{suse_version} > 1030 -BuildRequires: libexpat-devel rpm-devel +BuildRequires: libexpat-devel +BuildRequires: rpm-devel %endif %if %{suse_version} > 1030 && %{suse_version} <= 1130 -BuildRequires: libsatsolver-devel swig +BuildRequires: libsatsolver-devel +BuildRequires: swig %endif %if %{suse_version} > 1140 -BuildRequires: btrfsprogs perl-Test-Unit squashfs -BuildRequires: cdrkit-cdrtools-compat genisoimage zypper +BuildRequires: btrfsprogs +BuildRequires: perl-Test-Unit +BuildRequires: squashfs +BuildRequires: cdrkit-cdrtools-compat +BuildRequires: genisoimage +BuildRequires: zypper %endif %if %{suse_version} <= 1010 Requires: qt @@ -64,10 +74,10 @@ %endif %endif Summary: OpenSuSE - KIWI Image System -Version: 5.01.6 -Release: 1 -Group: System/Management License: GPL-2.0 +Group: System/Management +Version: 5.01.8 +Release: 0 Source: %{name}.tar.bz2 Source1: %{name}-rpmlintrc Source2: %{name}-docu.tar.bz2 @@ -86,13 +96,13 @@ Authors: -------- - Marcus Schaefer <[email protected]> + Marcus Schaefer <[email protected]> %package -n kiwi-instsource -License: GPL-2.0 Requires: kiwi = %{version} Requires: inst-source-utils createrepo build Summary: Installation Source creation +License: GPL-2.0 Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -107,12 +117,12 @@ Authors: -------- - Adrian Schroeter <[email protected]> - Jan Bornschlegel <[email protected]> + Adrian Schroeter <[email protected]> + Jan Bornschlegel <[email protected]> %package -n kiwi-doc -License: LGPL-2.0+ Summary: OpenSuSE - KIWI Image System Documentation +License: LGPL-2.0+ Group: Documentation/Howto %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -128,8 +138,8 @@ Marcus Schaefer %package -n kiwi-tools -License: GPL-2.0+ Summary: OpenSuSE - KIWI tools collection +License: GPL-2.0+ Group: System/Management %description -n kiwi-tools @@ -138,14 +148,14 @@ Authors: -------- - Marcus Schaefer <[email protected]> + Marcus Schaefer <[email protected]> %ifarch %ix86 x86_64 %package -n kiwi-pxeboot -License: GPL-2.0+ Requires: syslinux Summary: OpenSuSE - KIWI Image System PXE boot structure +License: GPL-2.0+ Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -156,13 +166,12 @@ Authors: -------- - Marcus Schaefer <[email protected]> + Marcus Schaefer <[email protected]> %endif %ifarch %ix86 x86_64 %package -n kiwi-desc-isoboot -License: GPL-2.0+ Requires: kiwi = %{version} Requires: syslinux %if %{suse_version} > 1010 @@ -171,6 +180,7 @@ Requires: mkisofs %endif Summary: OpenSuSE - KIWI Image System ISO boot +License: GPL-2.0+ Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -181,13 +191,12 @@ Authors: -------- - Marcus Schaefer <[email protected]> + Marcus Schaefer <[email protected]> %endif %ifarch %ix86 x86_64 ppc ppc64 s390 s390x %package -n kiwi-desc-vmxboot -License: GPL-2.0+ Requires: kiwi = %{version} %if 0%{?suse_version} Requires: multipath-tools parted @@ -208,6 +217,7 @@ %endif %endif Summary: OpenSuSE - KIWI Image System Virtual Machine boot +License: GPL-2.0+ Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -218,15 +228,15 @@ Authors: -------- - Marcus Schaefer <[email protected]> + Marcus Schaefer <[email protected]> %endif %ifarch %ix86 x86_64 ppc ppc64 s390 s390x %package -n kiwi-desc-netboot -License: GPL-2.0+ Requires: kiwi = %{version} Summary: OpenSuSE - KIWI Image System PXE network boot +License: GPL-2.0+ Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -237,13 +247,12 @@ Authors: -------- - Marcus Schaefer <[email protected]> + Marcus Schaefer <[email protected]> %endif %ifarch %ix86 x86_64 ppc ppc64 s390 s390x %package -n kiwi-desc-oemboot -License: GPL-2.0 Requires: kiwi = %{version} %ifarch ppc ppc64 s390 s390x Requires: virt-utils @@ -269,6 +278,7 @@ Requires: mkisofs %endif Summary: OpenSuSE - KIWI image descriptions +License: GPL-2.0 Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -281,15 +291,15 @@ Authors: -------- - Marcus Schaefer <[email protected]> + Marcus Schaefer <[email protected]> %endif %ifarch %ix86 x86_64 ppc ppc64 s390 s390x %package -n kiwi-templates -License: GPL-2.0+ Requires: kiwi-desc-vmxboot = %{version} Summary: OpenSuSE - KIWI JeOS system image templates +License: GPL-2.0+ Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch @@ -307,8 +317,8 @@ %ifarch %ix86 x86_64 ppc ppc64 s390 s390x %package -n kiwi-media-requires -License: GPL-2.0+ Summary: OpenSuSE - packages which should be part of the DVD +License: GPL-2.0+ Group: System/Management %if 0%{?suse_version} > 1120 BuildArch: noarch ++++++ 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-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 2011-11-25 15:18:17.000000000 +0100 +++ new/kiwi/.revision 2011-12-09 15:29:45.000000000 +0100 @@ -1 +1 @@ -1697f74166c111b5fe7edcc867ad4eceb3edc39e +8a95a59c7084fd55a6852929f5ae666ae67bc813 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 2011-12-01 16:19:28.000000000 +0100 +++ new/kiwi/modules/KIWIBoot.pm 2011-12-09 15:29:45.000000000 +0100 @@ -2343,7 +2343,7 @@ } elsif (($bootloader eq "yaboot") && (! $lvm)) { $boot = $deviceMap{prep}; } elsif (($syszip) || ($haveSplit) || ($lvm)) { - $root = $deviceMap{2}; + $boot = $deviceMap{2}; if ($haveluks) { $boot = $deviceMap{3}; } @@ -3718,13 +3718,18 @@ push @glog,"GRUB: commands:"; push @glog,@cmdlog; } - my $stage1 = grep { /^\s*Running.*succeeded$/ } @glog; - my $stage1_5 = grep { /^\s*Running.*are embedded\.$/ } @glog; - $result = !(($stage1 == 1) && ($stage1_5 == 1)); + $result = grep { /^\s*Running.*succeeded$/ } @glog; + if (($result) && (! $chainload)) { + $result = grep { /^\s*Running.*are embedded\.$/ } @glog; + } + if ($result) { + # found stage information, set good result exit code + $result = 0; + } $glog = join ("\n",@glog); $kiwi -> loginfo ("GRUB: $glog\n"); } - if ($result != 1) { + if ($result == 0) { my $boot = "'boot sector'"; my $null = "/dev/null"; $status= qxx ( @@ -3785,12 +3790,6 @@ qxx ( "$fdst|dd of=$diskname bs=1 count=4 seek=\$((0x190)) $opt 2>&1" ); - #========================================== - # zero out preload range - #------------------------------------------ - $status = qxx ( - "dd if=/dev/zero of=$diskname bs=1 count=496 seek=512 $opt 2>&1" - ); } $kiwi -> done(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWICollect.pm new/kiwi/modules/KIWICollect.pm --- old/kiwi/modules/KIWICollect.pm 2011-11-25 15:18:17.000000000 +0100 +++ new/kiwi/modules/KIWICollect.pm 2011-12-12 17:39:13.000000000 +0100 @@ -5,6 +5,7 @@ # COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH, Germany # : # AUTHOR : Jan-Christoph Bornschlegel <[email protected]> +# Maintainer : Adrian Schroeter <[email protected]> # : # BELONGS TO : Operating System images # : @@ -18,6 +19,10 @@ package KIWICollect; +BEGIN { + unshift @INC, '/usr/share/inst-source-utils/modules'; +} + #========================================== # Modules #------------------------------------------ @@ -71,10 +76,6 @@ # # ---BAUSTELLE--- -BEGIN { - unshift @INC, '/usr/share/inst-source-utils/modules'; -} - #========================================== # Constructor #------------------------------------------ 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 2011-12-02 16:44:26.000000000 +0100 +++ new/kiwi/modules/KIWIGlobals.pm 2011-12-09 15:29:45.000000000 +0100 @@ -40,7 +40,7 @@ # Globals (generic) #------------------------------------------ my %data; - $data{Version} = "5.01.6"; + $data{Version} = "5.01.8"; $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/KIWIImageFormat.pm new/kiwi/modules/KIWIImageFormat.pm --- old/kiwi/modules/KIWIImageFormat.pm 2011-11-25 15:18:17.000000000 +0100 +++ new/kiwi/modules/KIWIImageFormat.pm 2011-12-14 11:18:37.000000000 +0100 @@ -108,12 +108,14 @@ #------------------------------------------ my %xenref = $xml -> getXenConfig(); my %vmwref = $xml -> getVMwareConfig(); + my %ovfref = $xml -> getOVFConfig(); #========================================== # Store object data #------------------------------------------ $this->{cmdL} = $cmdL; $this->{xenref} = \%xenref; $this->{vmwref} = \%vmwref; + $this->{ovfref} = \%ovfref; $this->{kiwi} = $kiwi; $this->{xml} = $xml; $this->{format} = $format; @@ -161,6 +163,9 @@ } elsif ($format eq "ovf") { $kiwi -> info ("Starting raw => $format conversion\n"); return $this -> createOVF(); + } elsif ($format eq "ova") { + $kiwi -> info ("Starting raw => $format conversion\n"); + return $this -> createOVA(); } elsif ($format eq "qcow2") { $kiwi -> info ("Starting raw => $format conversion\n"); return $this -> createQCOW2(); @@ -206,7 +211,7 @@ } elsif ($format eq "vmdk") { $kiwi -> info ("Starting $imgtype image machine configuration\n"); return $this -> createVMwareConfiguration(); - } elsif ($format eq "ovf") { + } elsif (($format eq "ovf") || ($format eq "ova")) { $kiwi -> info ("Starting $imgtype image machine configuration\n"); return $this -> createOVFConfiguration(); } else { @@ -219,6 +224,24 @@ } #========================================== +# createOVA +#------------------------------------------ +sub createOVA { + my $this = shift; + my $kiwi = $this->{kiwi}; + my $cmdL = $this->{cmdL}; + my $format = $this->{format}; + #========================================== + # requires ovf to operate + #------------------------------------------ + my $ovfdir = $this -> createOVF(); + if (! $ovfdir) { + return undef; + } + return $ovfdir; +} + +#========================================== # createOVF #------------------------------------------ sub createOVF { @@ -226,71 +249,47 @@ my $kiwi = $this->{kiwi}; my $format = $this->{format}; my $cmdL = $this->{cmdL}; - my $ovftool= "/usr/bin/ovftool"; - my $vmdk; - my $vmxf; + my $xml = $this->{xml}; + my $ovfref = $this->{ovfref}; + my $image = $this->{image}; + my $mf; + my $ovf; my $source; my $target; + my $ovfsha1; + my $imagesha1; + my $FD; #========================================== - # check for ovftool + # create vmdk for VMware, required for ovf #------------------------------------------ - if (! -x $ovftool) { - $kiwi -> error ("Can't find $ovftool, is it installed ?"); - $kiwi -> failed (); - return undef; + if ($ovfref->{ovf_type} eq "vmware") { + my $origin_format = $this->{format}; + $this->{format} = "vmdk"; + $image = $this->createVMDK(); + if (! $image) { + return undef; + } + $this->{format} = $origin_format; + $this->{image} = $image; } #========================================== - # create vmdk first, required for ovf + # prepare ovf destination directory #------------------------------------------ - $this->{format} = "vmdk"; - $vmdk = $this->createVMDK(); - $vmxf = $this->createMaschineConfiguration(); - #========================================== - # create ovf from the vmdk - #------------------------------------------ - if ((-e $vmdk) && (-e $vmxf)) { - $source = $vmxf; - $target = $vmxf; - $target =~ s/\.vmx$/\.$format/; - $this->{format} = $format; - $kiwi -> info ("Creating $format image..."); - # /.../ - # temporary hack, because ovftool is not able to handle - # scsi-hardDisk correctly at the moment - # ---- beg ---- - qxx ("sed -i -e 's;scsi-hardDisk;disk;' $source"); - # ---- end ---- - my $status = qxx ("rm -rf $target; mkdir -p $target 2>&1"); - my $result = $? >> 8; - if ($result != 0) { - $kiwi -> failed (); - $kiwi -> error ("Couldn't create OVF directory: $status"); - $kiwi -> failed (); - return undef; - } - my $output = basename $target; - $status= qxx ( - "$ovftool -o -q $source $target/$output 2>&1" - ); - $result = $? >> 8; - my $destination = $cmdL -> getImageTargetDir(); - # --- beg ---- - qxx ("sed -i -e 's;disk;scsi-hardDisk;' $source"); - qxx ("rm -rf $destination/*.lck 2>&1"); - # --- end ---- - if ($result != 0) { - $kiwi -> failed (); - $kiwi -> error ("Couldn't create OVF image: $status"); - $kiwi -> failed (); - return undef; - } - $kiwi -> done(); + my $ovfdir = $image; + if ($ovfref->{ovf_type} eq "vmware") { + $ovfdir =~ s/\.vmdk$/\.ovf/; } else { - $kiwi -> error ("Required vmdk files not present"); - $kiwi -> failed (); - return undef; + $ovfdir =~ s/\.raw$/\.ovf/; } - return $target; + if (-d $ovfdir) { + qxx ("rm -f $ovfdir/*"); + } else { + qxx ("mkdir -p $ovfdir"); + } + my $img_base = basename $image; + qxx ("ln -s $image $ovfdir/$img_base"); + $this->{ovfdir} = $ovfdir; + return $ovfdir; } #========================================== @@ -967,9 +966,186 @@ # createOVFConfiguration #------------------------------------------ sub createOVFConfiguration { - # TODO - my $this = shift; - return $this; + my $this = shift; + my $kiwi = $this->{kiwi}; + my $xml = $this->{xml}; + my $ovfdir = $this->{ovfdir}; + my $ovfref = $this->{ovfref}; + my $format = $this->{format}; + my $base = basename $this->{image}; + my $ovf; + my $diskformat; + my $systemtype; + my $ostype; + my $osid; + my $FD; + #========================================== + # setup config file name from image name + #------------------------------------------ + $kiwi -> info ("Creating image OVF configuration file..."); + my $image = $base; + if ($base =~ /(.*)\.(.*?)$/) { + $image = $1; + $base = $image.".ovf"; + } + $ovf = $ovfdir."/".$base; + unlink $ovf; + #========================================== + # check XML configuration data + #------------------------------------------ + my %ovfconfig = %{$ovfref}; + if ((! %ovfconfig) || (! $ovfconfig{ovf_type})) { + $kiwi -> skipped (); + $kiwi -> warning ("Not enough or Missing OFV config data"); + $kiwi -> skipped (); + return $ovf; + } + my $type = $ovfconfig{ovf_type}; + #========================================== + # OVF type specific setup + #------------------------------------------ + if ($type eq "zvm") { + $osid = 36; + $systemtype = "IBM:zVM:LINUX"; + $ostype = "sles"; + $diskformat = "http://www.ibm.com/". + "xmlns/ovf/diskformat/s390.linuxfile.exustar.gz"; + } elsif ($type eq "povervm") { + $osid = 84; + $systemtype = "IBM:POWER:AIXLINUX"; + $ostype = "sles"; + $diskformat = "http://www.ibm.com/". + "xmlns/ovf/diskformat/power.aix.mksysb"; + } elsif ($type eq "xen") { + $osid = 84; + } else { + $osid = 84; + $systemtype = "vmx-04"; + $ostype = $ovfconfig{vmware_guest}; + $diskformat = "http://www.vmware.com/". + "interfaces/specifications/vmdk.html#streamOptimized"; + } + #========================================== + # create config file + #------------------------------------------ + if (! open ($FD,">$ovf")) { + $kiwi -> error ("Couldn't create OVF config file: $!"); + $kiwi -> failed (); + return undef; + } + #========================================== + # global setup + #------------------------------------------ + print $FD "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"."\n". + '<Envelope vmw:buildId="build-260188"'."\n". + 'xmlns="http://schemas.dmtf.org/ovf/envelope/1"'."\n". + 'xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common"'."\n". + 'xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"'."\n". + 'xmlns:rasd="http://schemas.dmtf.org/"'."\n". + 'wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"'."\n". + 'xmlns:vmw="http://www.vmware.com/schema/ovf"'."\n". + 'xmlns:vssd="http://schemas.dmtf.org/"'."\n". + 'wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"'."\n". + 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'."\n"; + #========================================== + # image description + #------------------------------------------ + my $size = -s $this->{image}; + print $FD "<ovf:References>"."\n"; + print $FD "\t"."<ovf:File ovf:href=\"$base\""."\n". + "\t"."ovf:id=\"file1\""."\n". + "\t"."ovf:size=\"$size\"/>"."\n"; + print $FD "</ovf:References>"."\n"; + #========================================== + # storage description + #------------------------------------------ + print $FD "<ovf:DiskSection>"."\n". + "\t"."<ovf:Info>Disk Section</ovf:Info>"."\n". + "\t"."<ovf:Disk ovf:capacity=\"$size\"". + " ovf:capacityAllocationUnits=\"byte\"". + " ovf:diskId=\"vmRef1disk\" ovf:fileRef=\"file1\"". + " ovf:format=\"$diskformat\"". + " ovf:populatedSize=\"$size\"/>"."\n"; + print $FD "</ovf:DiskSection>"."\n"; + #========================================== + # network description + #------------------------------------------ + if (defined $ovfconfig{ovf_bridge}) { + my $name = "The bridged network for:"; + my %nics = %{$ovfconfig{ovf_bridge}}; + while (my @nic_info = each %nics) { + my $nic = $nic_info[0]; + next if $nic eq "undef"; + print $FD "<ovf:NetworkSection>"."\n". + "\t"."<Info>The list of logical networks</Info>"."\n". + "\t"."<Network ovf:name=\"$nic\">"."\n". + "\t\t"."<Description>$name $nic</Description>"."\n"; + print $FD "</ovf:NetworkSection>"."\n"; + } + } + #========================================== + # virtual system description + #------------------------------------------ + print $FD "<VirtualSystem ovf:id=\"vm\">"."\n". + "\t"."<Info>A virtual machine</Info>"."\n". + "\t"."<Name>$base</Name>"."\n". + "\t"."<OperatingSystemSection ". + "ovf:id=\"$osid\" vmw:osType=\"$ostype\">"."\n". + "\t\t"."<Info>Appliance created by KIWI</Info>"."\n". + "\t"."</OperatingSystemSection>"."\n". + "\t"."<VirtualHardwareSection>"."\n". + "\t\t"."<Info>Virtual hardware requirements</Info>"."\n". + "\t\t"."<System>"."\n". + "\t\t"."<vssd:ElementName>Virtual Hardware Family". + "</vssd:ElementName>"."\n". + "\t\t"."<vssd:InstanceID>0</vssd:InstanceID>"."\n". + "\t\t"."<vssd:VirtualSystemIdentifier>$base". + "</vssd:VirtualSystemIdentifier>"."\n". + "\t\t"."<vssd:VirtualSystemType>$systemtype". + "</vssd:VirtualSystemType>"."\n". + "\t\t"."</System>"."\n"; + print $FD "\t"."</VirtualHardwareSection>"."\n"; + print $FD "\t"."</VirtualSystem>"."\n"; + #========================================== + # close envelope + #------------------------------------------ + print $FD "</Envelope>"; + close $FD; + #========================================== + # create manifest file + #------------------------------------------ + my $mf = $ovf; + $mf =~ s/\.ovf$/\.mf/; + if (! open ($FD,">$mf")) { + $kiwi -> error ("Couldn't create manifest file: $!"); + $kiwi -> failed (); + return undef; + } + my $base_image = basename $this->{image}; + my $base_config= basename $ovf; + my $ovfsha1 = qxx ("sha1sum $ovf | cut -f1 -d ' ' 2>&1"); + my $imagesha1 = qxx ("sha1sum $this->{image} | cut -f1 -d ' ' 2>&1"); + print $FD "SHA1($base_config)= $ovfsha1"."\n"; + print $FD "SHA1($base_image)= $imagesha1"."\n"; + close $FD; + #========================================== + # create OVA tarball + #------------------------------------------ + if ($format eq "ova") { + my $destdir = dirname $this->{image}; + my $ovaimage = basename $ovfdir; + $ovaimage =~ s/\.ovf$/\.ova/; + my $status = qxx ("tar -h -C $ovfdir -cf $destdir/$ovaimage . 2>&1"); + my $result = $? >> 8; + if ($result != 0) { + $kiwi -> failed (); + $kiwi -> error ("Couldn't create $format image: $status"); + $kiwi -> failed (); + return undef; + } + } + $kiwi -> done(); + return $ovf; } #========================================== 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 2011-12-01 16:19:28.000000000 +0100 +++ new/kiwi/modules/KIWILinuxRC.sh 2011-12-09 15:29:45.000000000 +0100 @@ -433,6 +433,11 @@ mkdir -m 1777 $prefix/shm mount -t tmpfs -o mode=1777 tmpfs $prefix/shm #====================================== + # mount udev db tmpfs + #-------------------------------------- + mkdir -p -m 0755 /run + mount -t tmpfs -o mode=0755,nodev,nosuid tmpfs /run + #====================================== # mount devpts tmpfs #-------------------------------------- mkdir -m 0755 $prefix/pts @@ -678,7 +683,17 @@ # udevKill #-------------------------------------- function udevKill { - . /iprocs ; kill $UDEVD_PID + . /iprocs + if [ -x /sbin/udevadm ];then + Echo "udevd: stop via control signal..." + udevadm control --exit &>/dev/null + udevadm info --cleanup-db &>/dev/null + fi + sleep 2 + if kill -0 $UDEVD_PID &>/dev/null;then + Echo "udevd: still running, killing it the hard way" + kill $UDEVD_PID + fi } #====================================== # startSplashy @@ -5795,6 +5810,7 @@ reopenKernelConsole udevPending mount --move /dev /mnt/dev + mount --move /run /mnt/run udevKill #====================================== # run preinit stage @@ -7735,16 +7751,18 @@ # no such boot device like for live ISO hybrid disk return fi + if [ ! -z "$COMBINED_IMAGE" ];then + # split read-write partition is boot device + return + fi #====================================== # copy boot data from image to bootpart #-------------------------------------- mkdir -p /$mpoint mount $imageBootDevice /$mpoint - if [ -z "$COMBINED_IMAGE" ];then - cp -a /mnt/boot /$mpoint - if [ -e /boot.tgz ];then - tar -xf /boot.tgz -C /$mpoint - fi + cp -a /mnt/boot /$mpoint + if [ -e /boot.tgz ];then + tar -xf /boot.tgz -C /$mpoint fi umount /$mpoint rmdir /$mpoint 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 2011-11-28 10:11:53.000000000 +0100 +++ new/kiwi/modules/KIWIManager.pm 2011-12-09 15:29:45.000000000 +0100 @@ -870,7 +870,9 @@ $kiwi -> done (); } else { my @zypper= @{$this->{zypper_chroot}}; - my $repo = "$dataDir/repos/$alias.repo"; + my $alias_filename = $alias; + $alias_filename =~ s/\//_/g; + my $repo = "$dataDir/repos/$alias_filename.repo"; if (! -f $repo) { $kiwi -> info ("Adding chroot zypper service: $alias"); $data = qxx ("@kchroot @zypper $sadd 2>&1"); @@ -2643,7 +2645,8 @@ '/lib/libnss_files*', '/lib64/libnsl*', '/lib64/libnss_compat*', - '/lib64/libnss_files*' + '/lib64/libnss_files*', + '/sbin/ldconfig' ); foreach my $item (@libs) { foreach my $l (glob ($item)) { 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 2011-12-01 16:19:28.000000000 +0100 +++ new/kiwi/modules/KIWISchema.rnc 2011-12-14 11:18:37.000000000 +0100 @@ -1492,7 +1492,7 @@ k.type.format.attribute = ## Specifies the format of the virtual disk. attribute format { - "ec2" | "ovf" | "qcow2" | "vmdk" | "vhd" + "ec2" | "ovf" | "ova" | "qcow2" | "vmdk" | "vhd" } k.type.fsnocheck.attribute = ## Turn off periodic filesystem checks on ext2/3/4. @@ -1769,6 +1769,9 @@ # common element <vmdisk> # div { + k.vmdisk.disktype.attribute = + ## The type of the disk as it is internally handled by the VM + attribute disktype { text } k.vmdisk.controller.attribute = ## The disk controller used for the VM guest attribute controller { "ide" | "scsi" } @@ -1779,6 +1782,7 @@ ## The disk device to appear in the guest (xen only) attribute device { text } k.vmdisk.attlist = + k.vmdisk.disktype.attribute? & k.vmdisk.controller.attribute & k.vmdisk.id.attribute & k.vmdisk.device.attribute? @@ -2331,6 +2335,9 @@ # main block: <machine> # div { + k.machine.ovftype.attribute = + ## The OVF configuration type + attribute ovftype { "zvm" | "povervm" | "xen" | "vmware" } k.machine.HWversion.attribute = ## The virtual HW version number for the VM configuration attribute HWversion { xsd:integer } @@ -2343,6 +2350,24 @@ k.machine.guestOS.attribute = ## the virtual guestOS identification string for the VM attribute guestOS { text } + k.machine.min_memory.attribute = + ## The virtual machine min memory + attribute min_memory { xsd:nonNegativeInteger } + k.machine.des_memory.attribute = + ## The virtual machine desired memory + attribute des_memory { xsd:nonNegativeInteger } + k.machine.max_memory.attribute = + ## The virtual machine max memory + attribute max_memory { xsd:nonNegativeInteger } + k.machine.min_cpu.attribute = + ## The virtual machine min CPU count + attribute min_cpu { xsd:nonNegativeInteger } + k.machine.des_cpu.attribute = + ## The virtual machine desired CPU count + attribute des_cpu { xsd:nonNegativeInteger } + k.machine.max_cpu.attribute = + ## The virtual machine max CPU count + attribute max_cpu { xsd:nonNegativeInteger } k.machine.memory.attribute = ## The memory setup for the guest VM. Specify memory in MB attribute memory { xsd:nonNegativeInteger } @@ -2350,6 +2375,13 @@ ## The number of virtual cpus for the guest VM attribute ncpus { xsd:nonNegativeInteger } k.machine.attlist = + k.machine.min_memory.attribute? & + k.machine.des_memory.attribute? & + k.machine.max_memory.attribute? & + k.machine.min_cpu.attribute? & + k.machine.des_cpu.attribute? & + k.machine.max_cpu.attribute? & + k.machine.ovftype.attribute? & k.machine.HWversion.attribute? & k.machine.arch.attribute? & k.machine.domain.attribute? & 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 2011-12-01 16:19:28.000000000 +0100 +++ new/kiwi/modules/KIWISchema.rng 2011-12-14 11:18:37.000000000 +0100 @@ -2015,6 +2015,7 @@ <choice> <value>ec2</value> <value>ovf</value> + <value>ova</value> <value>qcow2</value> <value>vmdk</value> <value>vhd</value> @@ -2512,6 +2513,11 @@ --> <div> + <define name="k.vmdisk.disktype.attribute"> + <attribute name="disktype"> + <a:documentation>The type of the disk as it is internally handled by the VM</a:documentation> + </attribute> + </define> <define name="k.vmdisk.controller.attribute"> <attribute name="controller"> <a:documentation>The disk controller used for the VM guest</a:documentation> @@ -2534,6 +2540,9 @@ </define> <define name="k.vmdisk.attlist"> <interleave> + <optional> + <ref name="k.vmdisk.disktype.attribute"/> + </optional> <ref name="k.vmdisk.controller.attribute"/> <ref name="k.vmdisk.id.attribute"/> <optional> @@ -3334,6 +3343,17 @@ --> <div> + <define name="k.machine.ovftype.attribute"> + <attribute name="ovftype"> + <a:documentation>The OVF configuration type</a:documentation> + <choice> + <value>zvm</value> + <value>povervm</value> + <value>xen</value> + <value>vmware</value> + </choice> + </attribute> + </define> <define name="k.machine.HWversion.attribute"> <attribute name="HWversion"> <a:documentation>The virtual HW version number for the VM configuration</a:documentation> @@ -3364,6 +3384,42 @@ <a:documentation>the virtual guestOS identification string for the VM</a:documentation> </attribute> </define> + <define name="k.machine.min_memory.attribute"> + <attribute name="min_memory"> + <a:documentation>The virtual machine min memory</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <define name="k.machine.des_memory.attribute"> + <attribute name="des_memory"> + <a:documentation>The virtual machine desired memory</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <define name="k.machine.max_memory.attribute"> + <attribute name="max_memory"> + <a:documentation>The virtual machine max memory</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <define name="k.machine.min_cpu.attribute"> + <attribute name="min_cpu"> + <a:documentation>The virtual machine min CPU count</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <define name="k.machine.des_cpu.attribute"> + <attribute name="des_cpu"> + <a:documentation>The virtual machine desired CPU count</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <define name="k.machine.max_cpu.attribute"> + <attribute name="max_cpu"> + <a:documentation>The virtual machine max CPU count</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </define> <define name="k.machine.memory.attribute"> <attribute name="memory"> <a:documentation>The memory setup for the guest VM. Specify memory in MB</a:documentation> @@ -3379,6 +3435,27 @@ <define name="k.machine.attlist"> <interleave> <optional> + <ref name="k.machine.min_memory.attribute"/> + </optional> + <optional> + <ref name="k.machine.des_memory.attribute"/> + </optional> + <optional> + <ref name="k.machine.max_memory.attribute"/> + </optional> + <optional> + <ref name="k.machine.min_cpu.attribute"/> + </optional> + <optional> + <ref name="k.machine.des_cpu.attribute"/> + </optional> + <optional> + <ref name="k.machine.max_cpu.attribute"/> + </optional> + <optional> + <ref name="k.machine.ovftype.attribute"/> + </optional> + <optional> <ref name="k.machine.HWversion.attribute"/> </optional> <optional> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIURL.pm new/kiwi/modules/KIWIURL.pm --- old/kiwi/modules/KIWIURL.pm 2011-11-25 15:18:17.000000000 +0100 +++ new/kiwi/modules/KIWIURL.pm 2011-12-12 17:39:13.000000000 +0100 @@ -561,6 +561,7 @@ # allow proxy server from environment #------------------------------------------ $browser->env_proxy(); + $browser->timeout(30); #========================================== # normalize URL data #------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIXML.pm new/kiwi/modules/KIWIXML.pm --- old/kiwi/modules/KIWIXML.pm 2011-11-25 15:18:17.000000000 +0100 +++ new/kiwi/modules/KIWIXML.pm 2011-12-14 11:18:37.000000000 +0100 @@ -3065,6 +3065,80 @@ } #========================================== +# getOVFConfig +#------------------------------------------ +sub getOVFConfig { + # ... + # Create an Attribute hash from the <machine> + # section if it exists suitable for the OVM + # configuration + # --- + my $this = shift; + my $tnode= $this->{typeNode}; + my $node = $tnode -> getElementsByTagName ("machine") -> get_node(1); + my %result = (); + if (! defined $node) { + return %result; + } + #========================================== + # global setup + #------------------------------------------ + my $minmemory = $node -> getAttribute ("min_memory"); + my $desmemory = $node -> getAttribute ("des_memory"); + my $maxmemory = $node -> getAttribute ("max_memory"); + my $memory = $node -> getAttribute ("memory"); + my $ncpus = $node -> getAttribute ("ncpus"); + my $mincpu = $node -> getAttribute ("min_cpu"); + my $descpu = $node -> getAttribute ("des_cpu"); + my $maxcpu = $node -> getAttribute ("max_cpu"); + my $type = $node -> getAttribute ("ovftype"); + #========================================== + # storage setup + #------------------------------------------ + my $disk = $node -> getElementsByTagName ("vmdisk"); + my ($device); + if ($disk) { + my $node = $disk -> get_node(1); + $device = $node -> getAttribute ("device"); + $device = $node -> getAttribute ("disktype"); + } + #========================================== + # network setup + #------------------------------------------ + my $bridges = $node -> getElementsByTagName ("vmnic"); + my %vifs = (); + for (my $i=1;$i<= $bridges->size();$i++) { + my $bridge = $bridges -> get_node($i); + if ($bridge) { + my $bname = $bridge -> getAttribute ("interface"); + if (! $bname) { + $bname = "undef"; + } + $vifs{$bname} = $i; + } + } + #========================================== + # save hash + #------------------------------------------ + $result{ovf_minmemory} = $minmemory; + $result{ovf_desmemory} = $desmemory; + $result{ovf_maxmemory} = $maxmemory; + $result{ovf_memory} = $memory; + $result{ovf_ncpus} = $ncpus; + $result{ovf_mincpu} = $mincpu; + $result{ovf_descpu} = $descpu; + $result{ovf_maxcpu} = $maxcpu; + $result{ovf_type} = $type; + if ($disk) { + $result{ovf_disk} = $device; + } + foreach my $bname (keys %vifs) { + $result{ovf_bridge}{$bname} = $vifs{$bname}; + } + return %result; +} + +#========================================== # getInstSourcePackageAttributes #------------------------------------------ sub getInstSourcePackageAttributes { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIXMLValidator.pm new/kiwi/modules/KIWIXMLValidator.pm --- old/kiwi/modules/KIWIXMLValidator.pm 2011-11-25 15:18:17.000000000 +0100 +++ new/kiwi/modules/KIWIXMLValidator.pm 2011-12-09 15:29:45.000000000 +0100 @@ -946,17 +946,19 @@ }; if ($@) { my $evaldata=$@; - $kiwi -> error ("Schema validation failed"); + $kiwi -> error ("Schema validation failed: $evaldata"); $kiwi -> failed (); my $configStr = $systemXML -> parse_file( $controlFile ) -> toString(); my $upgradedStr = $systemTree -> toString(); my $upgradedContolFile = $controlFile; if ($configStr ne $upgradedStr) { $upgradedContolFile =~ s/\.xml/\.converted\.xml/; - $kiwi -> info ("Automatically upgraded $controlFile to"); - $kiwi -> info ("$upgradedContolFile\n"); - $kiwi -> info ("Reported line numbers may not match the "); - $kiwi -> info ("file $controlFile\n"); + $kiwi -> info ( + "Automatically upgraded $controlFile to $upgradedContolFile\n" + ); + $kiwi -> info ( + "Reported line numbers may not match the file $controlFile\n" + ); open (my $UPCNTFL, '>', $upgradedContolFile); print $UPCNTFL $upgradedStr; close ( $UPCNTFL ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ix86/netboot/suse-linuxrc new/kiwi/system/boot/ix86/netboot/suse-linuxrc --- old/kiwi/system/boot/ix86/netboot/suse-linuxrc 2011-11-25 11:57:34.000000000 +0100 +++ new/kiwi/system/boot/ix86/netboot/suse-linuxrc 2011-12-14 11:18:37.000000000 +0100 @@ -344,8 +344,8 @@ #====================================== # 14) Create ptable on diskful system #-------------------------------------- -runHook prepartition if [ $LOCAL_BOOT = "no" ] && [ $systemIntegrity = "clean" ];then + runHook prepartition #====================================== # Create partition table #-------------------------------------- @@ -427,8 +427,8 @@ createFilesystem $imageBootDevice fi fi + runHook postpartition fi -runHook postpartition #====================================== # 15) Setup root device environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ppc/netboot/suse-linuxrc new/kiwi/system/boot/ppc/netboot/suse-linuxrc --- old/kiwi/system/boot/ppc/netboot/suse-linuxrc 2011-11-25 11:57:34.000000000 +0100 +++ new/kiwi/system/boot/ppc/netboot/suse-linuxrc 2011-12-14 11:18:37.000000000 +0100 @@ -344,8 +344,8 @@ #====================================== # 14) Create ptable on diskful system #-------------------------------------- -runHook prepartition if [ $LOCAL_BOOT = "no" ] && [ $systemIntegrity = "clean" ];then + runHook prepartition #====================================== # Create partition table #-------------------------------------- @@ -427,8 +427,8 @@ createFilesystem $imageBootDevice fi fi + runHook postpartition fi -runHook postpartition #====================================== # 15) Setup root device environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/s390/netboot/suse-linuxrc new/kiwi/system/boot/s390/netboot/suse-linuxrc --- old/kiwi/system/boot/s390/netboot/suse-linuxrc 2011-11-25 11:57:34.000000000 +0100 +++ new/kiwi/system/boot/s390/netboot/suse-linuxrc 2011-12-14 11:18:37.000000000 +0100 @@ -358,8 +358,8 @@ #====================================== # 14) Create ptable on diskful system #-------------------------------------- -runHook prepartition if [ $LOCAL_BOOT = "no" ] && [ $systemIntegrity = "clean" ];then + runHook prepartition #====================================== # Create partition table #-------------------------------------- @@ -443,8 +443,8 @@ createFilesystem $imageBootDevice fi fi + runHook postpartition fi -runHook postpartition #====================================== # 15) Setup root device environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/template/ix86/suse-12.1-JeOS/config.xml new/kiwi/template/ix86/suse-12.1-JeOS/config.xml --- old/kiwi/template/ix86/suse-12.1-JeOS/config.xml 2011-11-25 15:18:17.000000000 +0100 +++ new/kiwi/template/ix86/suse-12.1-JeOS/config.xml 2011-12-09 15:29:45.000000000 +0100 @@ -76,8 +76,8 @@ </packages> <packages type="image" profiles="xenFlavour"> <package name="kernel-xen" replaces="kernel-default"/> - <package name="xen-tools" replaces=""/> - <package name="xen" replaces=""/> + <package name="xen-tools" arch="x86_64" replaces=""/> + <package name="xen" arch="x86_64" replaces=""/> </packages> <packages type="image" profiles="vmxFlavour"> <package name="kernel-default" replaces="kernel-xen"/> -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
