Hello community, here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2016-05-31 12:08:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kiwi (Old) and /work/SRC/openSUSE:Factory/.kiwi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi" Changes: -------- --- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2016-05-11 16:36:59.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2016-05-31 12:08:38.000000000 +0200 @@ -1,0 +2,52 @@ +Mon May 30 15:45:30 CEST 2016 - m...@suse.de + +- v7.03.72 released + +------------------------------------------------------------------- +Mon May 30 14:56:15 CEST 2016 - adr...@suse.de + +- fix hash key handling for perl 5.24 (boo#981080) + +------------------------------------------------------------------- +Sun May 29 22:06:18 CEST 2016 - m...@suse.de + +- v7.03.71 released + +------------------------------------------------------------------- +Sun May 29 21:40:53 CEST 2016 - m...@suse.de + +- Delete vmxboot dracut optimization + + For vmx type images, dracut was called in background to speedup + the boot process. However this could cause a race condition + together with grub2-mkconfig. If grub2-mkconfig is called but + dracut has not yet created the initrd, grub2 creates a configuration + file without an initrd. The result boot setup is not able to + reboot the system because the initrd is not loaded. + This fixes (bnc#982092) + +------------------------------------------------------------------- +Wed May 25 10:06:03 CEST 2016 - m...@suse.de + +- v7.03.70 released + +------------------------------------------------------------------- +Wed May 25 09:44:08 CEST 2016 - m...@suse.de + +- v7.03.69 released + +------------------------------------------------------------------- +Wed May 25 09:40:46 CEST 2016 - m...@suse.de + +- Added readonly check for persistent data + + When creating a partition for persistent data, check + if the device class has the readonly flag set before + trying to write anything there. Fixes #576 + +------------------------------------------------------------------- +Tue May 24 18:33:54 CEST 2016 - adr...@suse.de + +- tag debug and source medias in rpm-md meta data (bnc#980871) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi.spec ++++++ --- /var/tmp/diff_new_pack.5M9ANW/_old 2016-05-31 12:08:40.000000000 +0200 +++ /var/tmp/diff_new_pack.5M9ANW/_new 2016-05-31 12:08:40.000000000 +0200 @@ -27,7 +27,7 @@ Name: kiwi License: GPL-2.0 Group: System/Management -Version: 7.03.68 +Version: 7.03.72 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.000000000 +0200 +++ new/kiwi/.revision 2016-04-18 16:58:06.000000000 +0200 @@ -1 +1 @@ -8d6d9b50006574b346368fae5c697111f5d8adb1 +d426afa2067161aaee6059b6c9d93eae007ce03c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/distribution/kiwi-instsource-plugins-SLE-12-SP2/KIWIDescrPlugin.pm new/kiwi/distribution/kiwi-instsource-plugins-SLE-12-SP2/KIWIDescrPlugin.pm --- old/kiwi/distribution/kiwi-instsource-plugins-SLE-12-SP2/KIWIDescrPlugin.pm 2016-05-03 12:28:34.000000000 +0200 +++ new/kiwi/distribution/kiwi-instsource-plugins-SLE-12-SP2/KIWIDescrPlugin.pm 2016-05-25 10:05:45.000000000 +0200 @@ -272,6 +272,8 @@ my $cmd; my $call; my $status; + my $debug_medium = $this->{m_collect}->productData()->getOpt("DEBUGMEDIUM"); + my $source_medium = $this->{m_collect}->productData()->getOpt("SOURCEMEDIUM"); foreach my $p (@{$paths}) { $cmd = "$this->{m_createrepo}"; $cmd .= " --unique-md-filenames"; @@ -279,6 +281,11 @@ $cmd .= " --no-database"; $cmd .= " --repo=\"$repoid\"" if $repoid; $cmd .= " --distro=\"$cpeid,$distroname\"" if $cpeid && $distroname; + + # Is this the debug medium? + $cmd .= " --repo=debug" if ($p =~ m{.*$debug_medium$}x); + $cmd .= " --repo=source" if ($p =~ m{.*$source_medium$}x); + $cmd .= " $p/$datadir"; $this->logMsg("I", "Executing command <$cmd>"); $call = $this -> callCmd($cmd); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/distribution/kiwi-instsource-plugins-openSUSE-Leap-42-2/KIWIDescrPlugin.pm new/kiwi/distribution/kiwi-instsource-plugins-openSUSE-Leap-42-2/KIWIDescrPlugin.pm --- old/kiwi/distribution/kiwi-instsource-plugins-openSUSE-Leap-42-2/KIWIDescrPlugin.pm 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/distribution/kiwi-instsource-plugins-openSUSE-Leap-42-2/KIWIDescrPlugin.pm 2016-05-25 10:05:45.000000000 +0200 @@ -272,6 +272,8 @@ my $cmd; my $call; my $status; + my $debug_medium = $this->{m_collect}->productData()->getOpt("DEBUGMEDIUM"); + my $source_medium = $this->{m_collect}->productData()->getOpt("SOURCEMEDIUM"); foreach my $p (@{$paths}) { $cmd = "$this->{m_createrepo}"; $cmd .= " --unique-md-filenames"; @@ -279,6 +281,11 @@ $cmd .= " --no-database"; $cmd .= " --repo=\"$repoid\"" if $repoid; $cmd .= " --distro=\"$cpeid,$distroname\"" if $cpeid && $distroname; + + # Is this the debug medium? + $cmd .= " --repo=debug" if ($p =~ m{.*$debug_medium$}x); + $cmd .= " --repo=source" if ($p =~ m{.*$source_medium$}x); + $cmd .= " $p/$datadir"; $this->logMsg("I", "Executing command <$cmd>"); $call = $this -> callCmd($cmd); 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 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/modules/KIWICollect.pm 2016-05-30 15:45:22.000000000 +0200 @@ -1367,14 +1367,14 @@ } # write out the channel files based on the collected rpms - for my $m (keys($this->{m_reportLog})) { + for my $m (keys(%{$this->{m_reportLog}})) { my $medium = $this->{m_reportLog}->{$m}; my $fd; if (! open($fd, ">", $medium->{filename})) { die "Unable to open report file: $medium->{filename}"; } print $fd "<report>\n"; - for my $entry(sort(keys($medium->{entries}))) { + for my $entry(sort(keys(%{$medium->{entries}}))) { my $binary = $medium->{entries}->{$entry}; $this->printTrackLine( $fd, @@ -1395,7 +1395,7 @@ my ($this, $fd, $prefix, $hash, $suffix, %supporthash) = @_; print $fd $prefix; my $name; - for my $k(sort(keys($hash))) { + for my $k(sort(keys(%$hash))) { next if $k eq 'localfile'; print $fd " "; my $attribute = $k."='".$hash->{$k}."'"; 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 2016-05-09 15:46:28.000000000 +0200 +++ new/kiwi/modules/KIWIGlobals.pm 2016-05-30 15:45:25.000000000 +0200 @@ -2016,7 +2016,7 @@ # Globals (generic) #------------------------------------------ my %data; - $data{Version} = "7.03.68"; + $data{Version} = "7.03.72"; $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/KIWILinuxRC.sh new/kiwi/modules/KIWILinuxRC.sh --- old/kiwi/modules/KIWILinuxRC.sh 2016-04-18 16:58:06.000000000 +0200 +++ new/kiwi/modules/KIWILinuxRC.sh 2016-05-29 22:33:49.000000000 +0200 @@ -1623,21 +1623,11 @@ if [ -x "$dracutExec" ]; then # 1. dracut params=" -f /boot/initrd-$kernel_version $kernel_version" - if [[ $kiwi_initrdname =~ vmxboot ]];then - Echo "Creating dracut based initrd (background process)" - # run dracut in the background to speed up the boot. - # We loose the status check of the call and reboot is - # only safe after the call has finished. Therefore this - # is only done for simple vmx type images which are - # mostly used in cloud frameworks - $dracutExec -H $params &>/dev/null </dev/null & - else - Echo "Creating dracut based initrd" - if ! $dracutExec -H $params;then - Echo "Can't create initrd with dracut" - systemIntegrity=unknown - bootLoaderOK=0 - fi + Echo "Creating dracut based initrd" + if ! $dracutExec -H $params;then + Echo "Can't create initrd with dracut" + systemIntegrity=unknown + bootLoaderOK=0 fi elif [ -x "$mkinitrdExec" ]; then # 2. mkinitrd @@ -9233,6 +9223,19 @@ unset kiwi_hybridpersistent return fi + # Check if device is writable + # Please note, this checks if the device is a read only device. + # It does not check if the media given to the device is a read + # only media. Example: hybrid live iso on readonly CD booted + # from a CD/DVD RW device. An additional media check might be + # required in the future + local ro_device_class=/sys/class/block/$(basename $device)/ro + if [ -e $ro_device_class ] && [ $(cat $ro_device_class) = 1 ];then + Echo "Device $device is marked readonly" + Echo "Persistent writing deactivated" + unset kiwi_hybridpersistent + return + fi # Find partition ID we could use to create a new write partition for pID in 1 2 3 4;do local partd=$(ddn $device $pID) @@ -9260,6 +9263,7 @@ # based persistent write partitions to be created as first partition # on efi|uefi ISO hybrid images echo -e "n\np\n$pID\n\n\nw\nq" | fdisk $imageDiskDevice + partitionerWriteStatus=$? blockdev --rereadpt $imageDiskDevice else createPartitionerInput \