commit kiwi for openSUSE:Factory
Hello community, here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2015-02-27 11:08:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2015-02-22 17:25:13.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2015-02-27 11:08:02.000000000 +0100 @@ -1,0 +2,100 @@ +Mon Feb 23 15:50:27 CET 2015 - ms@suse.de + +- v7.02.27 released + +------------------------------------------------------------------- +Mon Feb 23 15:27:55 CET 2015 - ms@suse.de + +- Fixed critic for KIWIMiniIsoPlugin.pm + +------------------------------------------------------------------- +Mon Feb 23 15:15:44 CET 2015 - ms@suse.de + +- Fixed critic for KIWIDescrPlugin.pm + +------------------------------------------------------------------- +Mon Feb 23 14:48:15 CET 2015 - ms@suse.de + +- Fixed potential link attack security issue + + kiwi statically creates a tmp executable in /dev/shm. Apart from + the fact that it's the wrong place in the filesystem to do this + kiwi should use a correctly created tmpfile. This Fixes #444 + +------------------------------------------------------------------- +Mon Feb 23 11:04:56 CET 2015 - ms@suse.de + +- Fixed zero block analyser + + If all free blocks in a filesystem contain a zero the compression + result of the later image is better compared to if there is any + random junk in it. In order to have all free blocks set to a zero + byte kiwi used the dd + rm method which had the disadvantage of + destroying the sparseness of the image file. Because of that the + method was applied only if the image was built from a real disk + device which did not allow us to strip away a sparse image from + anyways. However this is not very flexible because: + + 1. In most cases an image is built from a loop device mapped + against a sparse file. Thus the method is not called most + of the time + + 2. With filesystems using more complex internal structures like + xfs btrfs, zfs and friends there is not much difference in + the compression results, but the time to create a huge empty + file which is removed later is signifcantly recognized + + Thus this change deletes the old way of zero out free blocks and + uses a tool to do the job for us. For extX based filesystems the + zerofree utility exists and is used if installed. For other + filesystems I'm not aware of a tool and thus we don't handle + them at the moment. If there is tool available kiwi print a + warning message + +------------------------------------------------------------------- +Mon Feb 23 10:07:52 CET 2015 - ms@suse.de + +- DB: rebuild documentation + +------------------------------------------------------------------- +Mon Feb 23 10:07:05 CET 2015 - ms@suse.de + +- DB: added chapter how to create vagrant boxes + +------------------------------------------------------------------- +Sun Feb 22 17:40:03 CET 2015 - matwey.kornilov@suse.de + +- Revert archives to consistent state + + Following three files were probably corrupted by f69d1d7bc3104f9e221abf8fc5efdf94ee0eb8b1 + template/armv7l/suse-12.3-JeOS/uboot-setup.tgz + tools/livestick/theme/upstream/booting.tgz + tools/livestick/theme/upstream/tooling.tgz + +------------------------------------------------------------------- +Wed Feb 18 14:41:42 CET 2015 - ludwig.nussel@suse.de + +- pass repo url for NET iso via linuxrc (bnc#916175) + +------------------------------------------------------------------- +Fri Feb 13 11:36:06 CET 2015 - jmassaguerpla@suse.de + +- check user_name is defined when checking file tree + + It is possible to have files that should be owned by root which + are owned by a non-existing user, meaning the uid has no corresponding + username. When this happens, the check used to give the error + + "Use of uninitialized value $user_name in concatenation (.) or string + at /usr/share/kiwi/modules/KIWIRuntimeChecker.pm line 1558." + + Thus we need to check whether the user exists. + +------------------------------------------------------------------- +Thu Feb 12 13:46:01 CET 2015 - jmassaguerpla@suse.de + +- remove plymouth packages from s390x boot image + + We don't need graphical boot on s390x. + +------------------------------------------------------------------- @@ -319,0 +420,5 @@ +Mon Jan 12 18:30:44 CET 2015 - dimstar@suse.de + +- Switch to using appstream-builder instead of XML parsing + +------------------------------------------------------------------- @@ -749,0 +855,2 @@ + +- Activate new swap after repartitioning ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi.spec ++++++ --- /var/tmp/diff_new_pack.1LL30u/_old 2015-02-27 11:08:04.000000000 +0100 +++ /var/tmp/diff_new_pack.1LL30u/_new 2015-02-27 11:08:04.000000000 +0100 @@ -26,7 +26,7 @@ Group: System/Management Url: http://github.com/openSUSE/kiwi Name: kiwi -Version: 7.02.26 +Version: 7.02.27 Release: 0 Provides: kiwi-image:lxc Provides: kiwi-image:tbz ++++++ kiwi-docu.tar.bz2 ++++++ ++++ 10052 lines of diff (skipped) ++++++ 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 2014-12-15 14:32:44.000000000 +0100 +++ new/kiwi/.revision 2014-12-15 14:32:44.000000000 +0100 @@ -1 +1 @@ -18a16424da55c8ecd8c1f047b45c248cf2a240d7 +b7a97d8439839f0e8675eba3a68328b1ccd775bb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/Makefile new/kiwi/Makefile --- old/kiwi/Makefile 2014-12-15 14:32:37.000000000 +0100 +++ new/kiwi/Makefile 2015-02-23 14:55:02.000000000 +0100 @@ -281,7 +281,6 @@ rm -f /usr/sbin/kiwi rm -f /usr/share/emacs/site-lisp/suse-start-kiwi-mode.el rm -f /etc/bash_completion.d/kiwi.sh - rm -f /dev/shm/lwp-download build: clean ./.doit -p --local diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIDescrPlugin.pm new/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIDescrPlugin.pm --- old/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIDescrPlugin.pm 2014-12-15 14:32:38.000000000 +0100 +++ new/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIDescrPlugin.pm 2015-02-23 15:15:37.000000000 +0100 @@ -233,23 +233,18 @@ ); return 1; } - if ((-x "/usr/bin/extract-appdata-icons") && - (-s "$targetdir/appdata.xml") - ) { - $cmd = "/usr/bin/extract-appdata-icons " - . "$targetdir/appdata.xml $targetdir"; - $call = $this -> callCmd($cmd); - $status = $call->[0]; - if($status) { + if (-x "/usr/bin/openSUSE-appstream-process") { + foreach my $p (@paths) { + $cmd = "/usr/bin/openSUSE-appstream-process"; + $cmd .= " $p"; + $cmd .= " $targetdir"; + $call = $this -> callCmd($cmd); + $status = $call->[0]; my $out = join("\n",@{$call->[1]}); - $this->logMsg("E", + $this->logMsg("I", "Called <$cmd> exit status: <$status> output: $out" ); - return 1; - } - if($this->{m_compress} =~ m{yes}i) { - system("gzip", "--rsyncable", "$targetdir/appdata.xml"); - } + }; } if($this->{m_compress} =~ m{yes}i) { foreach my $pfile(glob("$targetdir/packages*")) { @@ -306,44 +301,18 @@ ); return 0; } - my $newtargetdir = "$p/$datadir/repodata"; - if ((-x "/usr/bin/extract-appdata-icons") && - (-s "$newtargetdir/appdata.xml") - ) { - $cmd = "/usr/bin/extract-appdata-icons " - . "$newtargetdir/appdata.xml $newtargetdir"; - $call = $this -> callCmd($cmd); - $status = $call->[0]; - if($status) { - my $out = join("\n",@{$call->[1]}); - $this->logMsg("E", - "Called $cmd exit status: <$status> output: $out" - ); - return 1; - } - if($this->{m_compress} =~ m{yes}i) { - system("gzip", "--rsyncable", "$newtargetdir/appdata.xml"); - } - } - if ((-x "/usr/bin/extract-appdata-icons") && - (-s "$targetdir/appdata.xml") - ) { - $newtargetdir = "$p/$datadir/repodata"; - system("cp $targetdir/appdata.xml $newtargetdir/appdata.xml"); - $cmd = "/usr/bin/extract-appdata-icons " - . "$newtargetdir/appdata.xml $newtargetdir"; + if (-x "/usr/bin/openSUSE-appstream-process") + { + $cmd = "/usr/bin/openSUSE-appstream-process"; + $cmd .= " $p/$datadir"; + $cmd .= " $p/$datadir/repodata"; + $call = $this -> callCmd($cmd); $status = $call->[0]; - if($status) { - my $out = join("\n",@{$call->[1]}); - $this->logMsg("E", - "Called $cmd exit status: <$status> output: $out" - ); - return 1; - } - if($this->{m_compress} =~ m{yes}i) { - system("gzip", "--rsyncable", "$newtargetdir/appdata.xml"); - } + my $out = join("\n",@{$call->[1]}); + $this->logMsg("I", + "Called $cmd exit status: <$status> output: $out" + ); } if ( -f "/usr/bin/add_product_susedata" ) { my $kwdfile = abs_path( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIMiniIsoPlugin.pm new/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIMiniIsoPlugin.pm --- old/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIMiniIsoPlugin.pm 2014-12-15 14:32:38.000000000 +0100 +++ new/kiwi/distribution/kiwi-instsource-plugins-openSUSE-13-2/KIWIMiniIsoPlugin.pm 2015-02-23 15:22:29.000000000 +0100 @@ -1,5 +1,5 @@ ################################################################ -# Copyright (c) 2014 SUSE +# Copyright (c) 2014, 2015 SUSE LLC # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -142,6 +142,8 @@ $this->removeMediaCheck($isolxfiles[0]); } + $this -> updateInitRDNET($repoloc); + my @gfxbootfiles; find( sub { find_cb($this, '.*/gfxboot\.cfg$', \@gfxbootfiles) }, @@ -155,7 +157,6 @@ $this->logMsg("W", $msg); return $retval; } - $this -> updateEFIGrubConfig($repoloc); $retval = $this -> updateGraphicsBootConfig ( \@gfxbootfiles, $repoloc, $srv, $path ); @@ -294,38 +295,68 @@ return $retval; } -sub updateEFIGrubConfig { - my $this = shift; - my $repoloc = shift; - my $grubcfg = $this->collect() - ->basesubdirs()->{1} . "/EFI/BOOT/grub.cfg"; - if (! -f $grubcfg ) { - $this->logMsg("I", "no grub.cfg at <$grubcfg>"); - return; +# borrowed from obs with permission from mls@suse.de to license as +# GPLv2+ +sub _makecpiohead { + my ($name, $s) = @_; + return "07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!\0\0\0\0" if !$s; + # magic ino + my $h = "07070100000000"; + # mode S_IFREG + $h .= sprintf("%08x", oct(100000) | $s->[2]&oct(777)); + # uid gid nlink + $h .= "000000000000000000000001"; + $h .= sprintf("%08x%08x", $s->[9], $s->[7]); + $h .= "00000000000000000000000000000000"; + $h .= sprintf("%08x", length($name) + 1); + $h .= "00000000$name\0"; + $h .= substr("\0\0\0\0", (length($h) & 3)) if length($h) & 3; + my $pad = ''; + $pad = substr("\0\0\0\0", ($s->[7] & 3)) if $s->[7] & 3; + return ($h, $pad); +} + +# append a config snippet to initrd that instructs linuxrc to use +# download.opensuse.org +# https://bugzilla.opensuse.org/show_bug.cgi?id=916175 +sub updateInitRDNET { + my ($this, $repoloc) = @_; + + $this -> logMsg("I", "prepare initrd for NET iso"); + + my $zipper = KIWIGlobals -> instance() -> getKiwiConfig() -> {IrdZipperCommand}; + + # FIXME: looks like IrdZipperCommand is not configured correctly + # in openSUSE product files to match installation-images so + # hardcode for now + $zipper = "xz --check=crc32"; + + my $linuxrc = "defaultrepo=$repoloc\n"; + + my ($cpio, $pad) = _makecpiohead('./etc/linuxrc.d/10_repo', [0, 0, oct(644), 1, 0, 0, 0, length($linuxrc), 0, 0, 0]); + $cpio .= $linuxrc; + $cpio .= $pad if $pad; + $cpio .= _makecpiohead(); + + my @initrdfiles; + find( + sub { find_cb($this, '.*/initrd$', \@initrdfiles) }, + $this->handler()->collect()->basedir() + ); + + $this -> logMsg("E", "no initrds found!") unless @initrdfiles; + + for my $initrd (@initrdfiles) { + $this -> logMsg("I", "updating $initrd with $repoloc"); + my $fh = FileHandle -> new(); + if (! $fh -> open("|$zipper -c >> $initrd")) { + #if (! $fh -> open(">$initrd.append")) { + croak "Cant launch $zipper for $initrd: $!"; + } + print $fh $cpio; + $fh -> close(); } - $this->logMsg("I", "editing <$grubcfg>"); - my $IN = FileHandle -> new(); - my $OUT = FileHandle -> new(); - if (! $IN -> open($grubcfg)) { - croak "Cant open file for reading $grubcfg: $!"; - } - if (! $OUT -> open(">$grubcfg.new")) { - croak "Cant open file for writing $grubcfg.new: $!"; - } - while(<$IN>) { - my $line = $_; - chomp $line; - $this->logMsg("I", "-$line"); - $line =~ - s,(linuxefi /boot/x86_64/loader/linux),$1 install=$repoloc,x; - $this->logMsg("I", "+$line"); - print $OUT "$line\n"; - } - $OUT -> close(); - $IN -> close(); - $this -> callCmd("diff -u $grubcfg $grubcfg.new"); - rename("$grubcfg.new", $grubcfg); - return $this; + return; } sub find_cb { 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 2015-01-30 09:35:46.000000000 +0100 +++ new/kiwi/modules/KIWIBoot.pm 2015-02-23 11:33:29.000000000 +0100 @@ -2662,21 +2662,44 @@ return; } $kiwi -> done(); - if (($haveDiskDevice) && (! $this->{gdata}->{StudioNode})) { - #========================================== - # fill disk device with zero bytes - #------------------------------------------ - $kiwi -> info ("Filling target device with zero bytes..."); - KIWIQX::qxx ("dd if=/dev/zero of=$loopdir/abc 2>&1"); - KIWIQX::qxx ("rm -f $loopdir/abc"); - $kiwi -> done(); - } #========================================== # Umount system image partition #------------------------------------------ KIWIGlobals -> instance() -> umount(); } #========================================== + # Run zerofree if present and extX rootfs + #------------------------------------------ + # zerofree replaces any block of an extX filesystem marked as free + # and containing something different than a zero with a zero byte. + # Later on that results in better compression results of an image + # containing this filesystem + my $blktype = KIWIQX::qxx("blkid $root -s TYPE -o value"); + chomp $blktype; + if ($blktype) { + my $zero_free = $locator -> getExecPath ("zerofree"); + if (($zero_free) && ($blktype =~ /^ext[234]/)) { + $kiwi -> info ( + "Scanning $blktype free blocks and replace them by zero..." + ); + my $status = KIWIQX::qxx ("$zero_free $root 2>&1"); + my $result = $? >> 8; + if ($result != 0) { + $kiwi -> failed(); + $kiwi -> error ("zerofree failed with: $status"); + $kiwi -> failed(); + $this -> cleanStack (); + return; + } + $kiwi -> done(); + } else { + $kiwi -> warning( + "No free blocks analyzer available for $blktype" + ); + $kiwi -> skipped(); + } + } + #========================================== # create read/write filesystem if needed #------------------------------------------ if (($syszip) && (! $haveSplit) && (! $rawRW)) { 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 2015-02-12 11:01:54.000000000 +0100 +++ new/kiwi/modules/KIWIGlobals.pm 2015-02-23 15:50:21.000000000 +0100 @@ -1147,7 +1147,6 @@ my $proxy; my $user; my $pass; - my $lwp = "/dev/shm/lwp-download"; #========================================== # Check parameters #------------------------------------------ @@ -1221,6 +1220,15 @@ $pass=$2; } } + #========================================== + # Create lwp-download callback + #------------------------------------------ + my $lwp = KIWIQX::qxx ("mktemp -qt kiwi-lwp-download-XXXXXX 2>&1"); + my $code = $? >> 8; chomp $lwp; + if ($code != 0) { + $kiwi->loginfo("Couldn't create tmp file: $lwp: $!"); + return; + } my $LWP = FileHandle -> new(); if (! $LWP -> open (">$lwp")) { $kiwi->loginfo("downloadFile::Failed to create $lwp: $!"); @@ -1238,6 +1246,8 @@ my $lwpload = $locator -> getExecPath ('lwp-download'); if (! $lwpload) { $kiwi->loginfo("downloadFile::Can't find lwp-download"); + $LWP -> close(); + unlink $lwp; return; } print $LWP $lwpload.' "$1" "$2"'."\n"; @@ -1252,8 +1262,9 @@ KIWIQX::qxx ("chmod a+w $lwp 2>&1"); $dest = $dirname."/".$basename; my $data = KIWIQX::qxx ("$lwp $url $dest 2>&1"); - my $code = $? >> 8; + $code = $? >> 8; if ($code == 0) { + unlink $lwp; return $url; } if ($url =~ /(^.*\/)(.*)/) { @@ -1266,6 +1277,7 @@ $response = $browser -> request ( $request ); }; if ($@) { + unlink $lwp; return; } my $content = $response -> content (); @@ -1280,14 +1292,18 @@ $data = KIWIQX::qxx ("$lwp $url $dest 2>&1"); $code = $? >> 8; if ($code == 0) { + unlink $lwp; return $url; } } } + unlink $lwp; return; } else { + unlink $lwp; return; } + unlink $lwp; return $url; } @@ -1837,7 +1853,7 @@ # Globals (generic) #------------------------------------------ my %data; - $data{Version} = "7.02.26"; + $data{Version} = "7.02.27"; $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/KIWIRuntimeChecker.pm new/kiwi/modules/KIWIRuntimeChecker.pm --- old/kiwi/modules/KIWIRuntimeChecker.pm 2014-12-15 14:32:47.000000000 +0100 +++ new/kiwi/modules/KIWIRuntimeChecker.pm 2015-02-16 10:46:34.000000000 +0100 @@ -1550,7 +1550,9 @@ my $group_name = getgrgid($gid); if (($uid != 0) || ($gid != 0)) { $msg = "Image tree check for $path "; - $msg.= "returned owner/group name '$user_name/$group_name' "; + if (defined($user_name) && defined($group_name)) { + $msg.= "returned owner/group name '$user_name/$group_name' "; + } $msg.= "with owner/group IDs '$uid/$gid'. "; $msg.= "Expected 'root/root with 0/0 IDs'"; $kiwi -> error ($msg); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/armv7l/oemboot/suse-repart new/kiwi/system/boot/armv7l/oemboot/suse-repart --- old/kiwi/system/boot/armv7l/oemboot/suse-repart 2014-12-15 14:32:48.000000000 +0100 +++ new/kiwi/system/boot/armv7l/oemboot/suse-repart 2015-02-23 14:54:37.000000000 +0100 @@ -670,6 +670,10 @@ if ! mkswap $imageSwapDevice 1>&2;then systemException "Failed to create swap signature" "reboot" fi + Echo "Activating swap space on $imageSwapDevice" + if ! swapon $imageSwapDevice 1>&2;then + Echo "Warning: Could not activate swap on $imageSwapDevice" + fi fi fi #====================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/s390/netboot/suse-SLES12/config.xml new/kiwi/system/boot/s390/netboot/suse-SLES12/config.xml --- old/kiwi/system/boot/s390/netboot/suse-SLES12/config.xml 2015-02-11 17:29:51.000000000 +0100 +++ new/kiwi/system/boot/s390/netboot/suse-SLES12/config.xml 2015-02-13 11:45:44.000000000 +0100 @@ -101,8 +101,6 @@ <package name="netcfg"/> <package name="nfs-client"/> <package name="parted"/> - <package name="plymouth"/> - <package name="plymouth-scripts"/> <package name="tar"/> <package name="xfsprogs"/> <package name="s390-tools"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/s390/oemboot/suse-SLES12/config.xml new/kiwi/system/boot/s390/oemboot/suse-SLES12/config.xml --- old/kiwi/system/boot/s390/oemboot/suse-SLES12/config.xml 2015-02-11 17:29:51.000000000 +0100 +++ new/kiwi/system/boot/s390/oemboot/suse-SLES12/config.xml 2015-02-13 11:45:44.000000000 +0100 @@ -120,8 +120,6 @@ <package name="netcfg"/> <package name="parted"/> <package name="pciutils"/> - <package name="plymouth"/> - <package name="plymouth-scripts"/> <package name="squashfs"/> <package name="sysconfig"/> <package name="sysfsutils"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/s390/vmxboot/suse-SLES12/config.xml new/kiwi/system/boot/s390/vmxboot/suse-SLES12/config.xml --- old/kiwi/system/boot/s390/vmxboot/suse-SLES12/config.xml 2015-02-11 17:29:51.000000000 +0100 +++ new/kiwi/system/boot/s390/vmxboot/suse-SLES12/config.xml 2015-02-13 11:45:44.000000000 +0100 @@ -120,8 +120,6 @@ <package name="netcfg"/> <package name="parted"/> <package name="pciutils"/> - <package name="plymouth"/> - <package name="plymouth-scripts"/> <package name="squashfs"/> <package name="sysconfig"/> <package name="sysfsutils"/> Files old/kiwi/template/armv7l/suse-12.3-JeOS/uboot-setup.tgz and new/kiwi/template/armv7l/suse-12.3-JeOS/uboot-setup.tgz differ Files old/kiwi/tools/livestick/theme/upstream/booting.tgz and new/kiwi/tools/livestick/theme/upstream/booting.tgz differ Files old/kiwi/tools/livestick/theme/upstream/tooling.tgz and new/kiwi/tools/livestick/theme/upstream/tooling.tgz differ -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de