Hello community,

here is the log from the commit of package kiwi for openSUSE:Factory checked in 
at 2016-03-18 21:30:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-03-04 
19:29:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes   2016-03-18 
21:30:26.000000000 +0100
@@ -1,0 +2,101 @@
+Mon Mar 14 10:29:13 CET 2016 - [email protected]
+
+- v7.03.64 released
+  
+-------------------------------------------------------------------
+Mon Mar 14 10:28:54 CET 2016 - [email protected]
+  
+- Revert "Added pv kernel profile"
+  
+  There is no kernel-pv
+  This reverts commit 8ca75eeee4bd7999a20ed050d9ebe4ba75607c5d.
+  
+-------------------------------------------------------------------
+Sun Mar 13 12:04:53 CET 2016 - [email protected]
+  
+- v7.03.63 released
+  
+-------------------------------------------------------------------
+Sun Mar 13 12:03:31 CET 2016 - [email protected]
+  
+- Use shim-install to setup EFI secure boot
+  
+  This fixes (bnc#968475)
+  
+-------------------------------------------------------------------
+Fri Mar 11 15:20:25 CET 2016 - [email protected]
+  
+- Added pv kernel profile
+  
+-------------------------------------------------------------------
+Fri Mar  4 18:47:53 CET 2016 - [email protected]
+  
+- rpm: require tar>=1.2.7 for --xattrs support
+  
+  tar 1.2.6 and earlier doesn't have support for the --xattrs options
+  (which is necessary in order to build valid Docker image root
+  filesystems).
+  
+  Signed-off-by: Aleksa Sarai <[email protected]>
+  
+-------------------------------------------------------------------
+Fri Mar  4 17:27:33 CET 2016 - [email protected]
+  
+- travis: install newest version of GNU tar from trusty source
+  
+--xattrs support was added quite some time ago, but Travis doesn't seem
+  to have a recent enough version of GNU tar. Realistically, most
+  up-to-date systems do, so we can just install the latest version here.
+  
+  In order to install the latest version, we have to build it from the
+  Ubuntu 14.04 source repo.
+  
+  Signed-off-by: Aleksa Sarai <[email protected]>
+  
+-------------------------------------------------------------------
+Fri Mar  4 16:42:05 CET 2016 - [email protected]
+  
+- modules: KIWIContainerBuilder: preserve xattrs
+  
+  tar doesn't preserve extended attributes by default, causing Docker
+  images to not have any correct set-capabilities bits set on binaries
+  such as ping. Fix this by adding the --xattrs flag to the tar command
+  run to generate the root filesystem image.
+  
+  Signed-off-by: Aleksa Sarai <[email protected]>
+  
+-------------------------------------------------------------------
+Fri Mar  4 10:04:57 CET 2016 - [email protected]
+  
+- v7.03.62 released
+  
+-------------------------------------------------------------------
+Thu Mar  3 11:08:06 CET 2016 - [email protected]
+  
+- v7.03.61 released
+  
+-------------------------------------------------------------------
+Thu Mar  3 11:07:41 CET 2016 - [email protected]
+  
+- Fixed gce disk format
+  
+  The order of the files in the tarball is important. The first
+  entry must be the manifest.json followed by disk.raw. In addition
+  the style of the manifest.json has been adapted too. A space after
+  colon seems to be required for gce to accept the data
+  
+-------------------------------------------------------------------
+Tue Mar  1 17:45:46 CET 2016 - [email protected]
+  
+- v7.03.60 released
+  
+-------------------------------------------------------------------
+Tue Mar  1 17:42:51 CET 2016 - [email protected]
+  
+- Fixed global mount method
+  
+  There could be a max of four partitions in the image setup
+  bios_grub/prep | EFI | boot | root. Thus the search should
+  expect the layout correctly. Fixes #554
+  
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.rNLBhZ/_old  2016-03-18 21:30:28.000000000 +0100
+++ /var/tmp/diff_new_pack.rNLBhZ/_new  2016-03-18 21:30:28.000000000 +0100
@@ -27,7 +27,7 @@
 Name:           kiwi
 License:        GPL-2.0
 Group:          System/Management
-Version:        7.03.59
+Version:        7.03.64
 Provides:       kiwi-schema = 6.2
 Provides:       kiwi-image:aci
 Provides:       kiwi-image:lxc
@@ -90,7 +90,7 @@
 Requires:       perl-libwww-perl
 Requires:       rsync
 Requires:       screen
-Requires:       tar
+Requires:       tar >= 1.2.7
 Requires:       psmisc
 Requires:       util-linux
 %if 0%{?suse_version} == 1110

++++++ 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  2015-12-17 09:28:28.000000000 +0100
+++ new/kiwi/.revision  2016-03-10 16:36:42.000000000 +0100
@@ -1 +1 @@
-4a1e250ae109e86ae8577239c6b0b0879b2ae8a3
+abefa16730fcf356afb2b45b71d93d13dae02780
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/.travis.yml new/kiwi/.travis.yml
--- old/kiwi/.travis.yml        2014-12-15 14:32:37.000000000 +0100
+++ new/kiwi/.travis.yml        2016-03-10 16:36:42.000000000 +0100
@@ -11,6 +11,9 @@
     - sudo apt-get update -qq
     - sudo apt-get install -y xsltproc
     - sudo apt-get install -y syslinux
+    - echo "deb http://archive.ubuntu.com/ubuntu trusty main" | sudo tee -a 
/etc/apt/sources.list
+    - sudo apt-get update
+    - sudo apt-get install -y -t trusty tar
 
 install:
     - cpanm -f -n $(cat .perlmodules | tr "\n" " ")
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        2016-03-01 12:13:56.000000000 +0100
+++ new/kiwi/modules/KIWIBoot.pm        2016-03-12 21:32:25.000000000 +0100
@@ -3932,77 +3932,77 @@
         #==========================================
         # Use signed EFI modules from packages UEFI
         #------------------------------------------
-        if ($firmware eq "uefi") {
-            $kiwi -> info ("Importing grub2 shim/signed efi modules");
-            my $s_data      = $stages{efi}{data};
-            my $s_shim_ms   = $stages{efi}{shim_ms};
-            my $s_shim_suse = $stages{efi}{shim_suse};
-            my $s_signed    = $stages{efi}{signed};
-            my $fo_bin;
-            if ($arch eq 'x86_64') {
-                $fo_bin = 'bootx64.efi';
-            } elsif ($arch =~ /i.86/) {
-                $fo_bin = 'bootx32.efi';
-            } elsif (($arch eq 'aarch64') || ($arch eq 'arm64')) {
-                $fo_bin = 'bootaa64.efi';
-            } elsif ($arch =~ /arm/) {
-                $fo_bin = 'bootarm.efi';
-            }
-            $result = 0;
-            if ($zipped) {
-                $status= KIWIQX::qxx (
-                    "$unzip | (cd $tmpdir && cpio -i -d $s_data 2>&1)"
-                );
-            } else {
-                $status= KIWIQX::qxx (
-                    "cat $initrd | (cd $tmpdir && cpio -i -d $s_data 2>&1)"
-                );
-            }
-            if ((! -e "$tmpdir/$s_shim_ms") && (! -e "$tmpdir/$s_shim_suse")) {
-                my $s_shim = "$tmpdir/$s_shim_ms";
-                if (-e $s_shim) {
-                    $s_shim = "$tmpdir/$s_shim_suse"
-                }
-                $kiwi -> failed ();
-                $kiwi -> error  (
-                    "Can't find shim $s_shim in initrd");
-                $kiwi -> failed ();
-                return;
-            }
-            if (! -e "$tmpdir/$s_signed") {
-                $kiwi -> failed ();
-                $kiwi -> error  (
-                    "Can't find grub2 $s_signed in initrd");
-                $kiwi -> failed ();
-                return;
-            }
-            $status = KIWIQX::qxx (
-                "cp $tmpdir/$s_shim_ms $tmpdir/EFI/BOOT/$fo_bin 2>&1"
-            );
-            $result = $? >> 8;
-            if ($result != 0) {
-                $status = KIWIQX::qxx (
-                    "cp $tmpdir/$s_shim_suse $tmpdir/EFI/BOOT/$fo_bin 2>&1"
-                );
-                $result = $? >> 8;
-            }
-            if ($result != 0) {
-                $kiwi -> failed ();
-                $kiwi -> error ("Failed to copy shim module: $status");
-                $kiwi -> failed ();
-                return;
-            }
-            $status = KIWIQX::qxx (
-                "cp $tmpdir/$s_signed $tmpdir/EFI/BOOT/grub.efi 2>&1");
-            $result = $? >> 8;
-            if ($result != 0) {
-                $kiwi -> failed ();
-                $kiwi -> error ("Failed to copy signed module: $status");
-                $kiwi -> failed ();
-                return;
-            }
-            $kiwi -> done();
-        }
+        #if ($firmware eq "uefi") {
+        #    $kiwi -> info ("Importing grub2 shim/signed efi modules");
+        #    my $s_data      = $stages{efi}{data};
+        #    my $s_shim_ms   = $stages{efi}{shim_ms};
+        #    my $s_shim_suse = $stages{efi}{shim_suse};
+        #    my $s_signed    = $stages{efi}{signed};
+        #    my $fo_bin;
+        #    if ($arch eq 'x86_64') {
+        #        $fo_bin = 'bootx64.efi';
+        #    } elsif ($arch =~ /i.86/) {
+        #        $fo_bin = 'bootx32.efi';
+        #    } elsif (($arch eq 'aarch64') || ($arch eq 'arm64')) {
+        #        $fo_bin = 'bootaa64.efi';
+        #    } elsif ($arch =~ /arm/) {
+        #        $fo_bin = 'bootarm.efi';
+        #    }
+        #    $result = 0;
+        #    if ($zipped) {
+        #        $status= KIWIQX::qxx (
+        #            "$unzip | (cd $tmpdir && cpio -i -d $s_data 2>&1)"
+        #        );
+        #    } else {
+        #        $status= KIWIQX::qxx (
+        #            "cat $initrd | (cd $tmpdir && cpio -i -d $s_data 2>&1)"
+        #        );
+        #    }
+        #    if ((! -e "$tmpdir/$s_shim_ms") && (! -e "$tmpdir/$s_shim_suse")) 
{
+        #        my $s_shim = "$tmpdir/$s_shim_ms";
+        #        if (-e $s_shim) {
+        #            $s_shim = "$tmpdir/$s_shim_suse"
+        #        }
+        #        $kiwi -> failed ();
+        #        $kiwi -> error  (
+        #            "Can't find shim $s_shim in initrd");
+        #        $kiwi -> failed ();
+        #        return;
+        #    }
+        #    if (! -e "$tmpdir/$s_signed") {
+        #        $kiwi -> failed ();
+        #        $kiwi -> error  (
+        #            "Can't find grub2 $s_signed in initrd");
+        #        $kiwi -> failed ();
+        #        return;
+        #    }
+        #    $status = KIWIQX::qxx (
+        #        "cp $tmpdir/$s_shim_ms $tmpdir/EFI/BOOT/$fo_bin 2>&1"
+        #    );
+        #    $result = $? >> 8;
+        #    if ($result != 0) {
+        #        $status = KIWIQX::qxx (
+        #            "cp $tmpdir/$s_shim_suse $tmpdir/EFI/BOOT/$fo_bin 2>&1"
+        #        );
+        #        $result = $? >> 8;
+        #    }
+        #    if ($result != 0) {
+        #        $kiwi -> failed ();
+        #        $kiwi -> error ("Failed to copy shim module: $status");
+        #        $kiwi -> failed ();
+        #        return;
+        #    }
+        #    $status = KIWIQX::qxx (
+        #        "cp $tmpdir/$s_signed $tmpdir/EFI/BOOT/grub.efi 2>&1");
+        #    $result = $? >> 8;
+        #    if ($result != 0) {
+        #        $kiwi -> failed ();
+        #        $kiwi -> error ("Failed to copy signed module: $status");
+        #        $kiwi -> failed ();
+        #        return;
+        #    }
+        #    $kiwi -> done();
+        #}
         #==========================================
         # Create OFW grub2 boot images
         #------------------------------------------
@@ -5746,15 +5746,57 @@
             $grubarch = "powerpc-ieee1275";
         }
         #==========================================
-        # Mount boot partition
+        # Mount system
         #------------------------------------------
         if (! KIWIGlobals -> instance() -> mount (
-            $bootdev, $mount, undef, $xml
+            $deviceMap->{root}, $mount, undef, $xml
         )) {
-            $kiwi -> error ("Couldn't mount boot partition: $bootdev");
+            $kiwi -> error ("Couldn't mount root partition: $bootdev");
             $kiwi -> failed ();
             return;
         }
+        if (($deviceMap->{boot}) && ($deviceMap->{boot} ne 
$deviceMap->{root})){
+            my $bootdir = KIWIQX::qxx ("mktemp -qdt kiwibootdev.XXXXXX");
+            chomp $bootdir;
+            KIWIGlobals -> instance() -> push_to_umount_stack (
+                "rmdir $bootdir"
+            );
+            if (! KIWIGlobals -> instance() -> mount (
+                $deviceMap->{boot}, $bootdir, undef, $xml
+            )) {
+                $kiwi -> error ("Couldn't mount boot partition: $bootdev");
+                $kiwi -> failed ();
+                $this -> cleanStack ();
+                return;
+            }
+            KIWIQX::qxx ("mount --bind $bootdir/boot $mount/boot");
+            KIWIGlobals -> instance() -> push_to_umount_stack (
+                "umount $mount/boot"
+            );
+        }
+        if ($firmware eq "uefi") {
+            KIWIQX::qxx ("mkdir -p $mount/boot/efi");
+            if (! KIWIGlobals -> instance() -> mount (
+                $deviceMap->{jump}, "$mount/boot/efi", undef, $xml
+            )) {
+                $kiwi -> error ("Couldn't mount efi boot partition: $bootdev");
+                $kiwi -> failed ();
+                $this -> cleanStack ();
+                return;
+            }
+            KIWIQX::qxx ("mount --bind /proc $mount/proc");
+            KIWIGlobals -> instance() -> push_to_umount_stack (
+                "umount $mount/proc"
+            );
+            KIWIQX::qxx ("mount --bind /sys $mount/sys");
+            KIWIGlobals -> instance() -> push_to_umount_stack (
+                "umount $mount/sys"
+            );
+            KIWIQX::qxx ("mount --bind /dev $mount/dev");
+            KIWIGlobals -> instance() -> push_to_umount_stack (
+                "umount $mount/dev"
+            );
+        }
         my $stages = $mount."/boot/grub2/$grubarch";
         if (($firmware =~ /ec2|bios|ofw/) && (! -e "$stages/$grubimg")) {
             $kiwi -> error  ("Mandatory grub2 modules not found");
@@ -5815,6 +5857,7 @@
                     "grub2 ppc core.elf module not found"
                 );
                 $kiwi -> failed();
+                $this -> cleanStack ();
                 return;
             }
         }
@@ -5822,6 +5865,7 @@
             if (! $grubtool) {
                 $kiwi -> error  ("Mandatory $grubtool not found");
                 $kiwi -> failed ();
+                $this -> cleanStack ();
                 return;
             }
             $kiwi -> info ("Installing grub2:\n");
@@ -5835,8 +5879,33 @@
                     "Couldn't install $loader on $loaderTarget: $status"
                 );
                 $kiwi -> failed ();
+                $this -> cleanStack ();
                 return;
             }
+            if ($firmware eq "uefi") {
+                my $grub2_install = "$mount/usr/sbin/grub2-install";
+                KIWIQX::qxx (
+                    "cp $grub2_install $grub2_install".".orig"
+                );
+                KIWIQX::qxx (
+                    "cp $mount/bin/true $grub2_install"
+                );
+                $status = KIWIQX::qxx (
+                    "chroot $mount shim-install --removable $this->{loop}"
+                );
+                $result = $? >> 8;
+                KIWIQX::qxx (
+                    "cp $grub2_install".".orig"." $grub2_install"
+                );
+                if ($result != 0) {
+                    $kiwi -> error  (
+                        "Couldn't install shim data: $status"
+                    );
+                    $kiwi -> failed ();
+                    $this -> cleanStack ();
+                    return;
+                }
+            }
         }
         #==========================================
         # Clean loop maps
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIContainerBuilder.pm 
new/kiwi/modules/KIWIContainerBuilder.pm
--- old/kiwi/modules/KIWIContainerBuilder.pm    2015-09-21 16:23:18.000000000 
+0200
+++ new/kiwi/modules/KIWIContainerBuilder.pm    2016-03-10 16:36:42.000000000 
+0100
@@ -367,7 +367,7 @@
         return;
     }
     my $data = KIWIQX::qxx (
-        "$tar -C $origin -cJf $baseBuildDir/$imgFlName @dirlist 2>&1"
+        "$tar --xattrs -C $origin -cJf $baseBuildDir/$imgFlName @dirlist 2>&1"
     );
     my $code = $? >> 8;
     if ($code != 0) {
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-03-01 17:19:42.000000000 +0100
+++ new/kiwi/modules/KIWIGlobals.pm     2016-03-14 10:29:08.000000000 +0100
@@ -239,6 +239,18 @@
 }
 
 #==========================================
+# push_to_umount_stack
+#------------------------------------------
+sub push_to_umount_stack {
+    my $this = shift;
+    my $entry = shift;
+    my @UmountStack = @{$this->{UmountStack}};
+    push @UmountStack, $entry;
+    $this->{UmountStack} = \@UmountStack;
+    return $this;
+}
+
+#==========================================
 # mount
 #------------------------------------------
 sub mount {
@@ -326,7 +338,10 @@
                 push @UmountStack,"kpartx -sd $loop";
                 $this->{UmountStack} = \@UmountStack;
                 $loop =~ s/\/dev\///;
-                $source = "/dev/mapper/".$loop."p3";
+                $source = "/dev/mapper/".$loop."p4";
+                if (! -b $source) {
+                    $source = "/dev/mapper/".$loop."p3";
+                }
                 if (! -b $source) {
                     $source = "/dev/mapper/".$loop."p2";
                 }
@@ -2001,7 +2016,7 @@
     # Globals (generic)
     #------------------------------------------
     my %data;
-    $data{Version}         = "7.03.59";
+    $data{Version}         = "7.03.64";
     $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/KIWIImageFormat.pm 
new/kiwi/modules/KIWIImageFormat.pm
--- old/kiwi/modules/KIWIImageFormat.pm 2015-11-17 16:38:19.000000000 +0100
+++ new/kiwi/modules/KIWIImageFormat.pm 2016-03-10 16:36:42.000000000 +0100
@@ -610,7 +610,7 @@
     $target = $dist."-guest-gce-".$version.".tar.gz";
     $status = KIWIQX::qxx ("mv $source $gce_source 2>&1");
     $result = $? >> 8;
-    my @content= ('disk.raw');
+    my @content;
     if ($result != 0) {
         $kiwi -> error  ("Failed to prepare source image: $status");
         $kiwi -> failed ();
@@ -624,6 +624,10 @@
         my %json_data;
         $json_data{licenses} = [ $license ];
         my $json_text = $json_ref ->encode( \%json_data );
+        # gce is so picky on the style, even though every json parser
+        # can read and validate the encode result, gce can't, space after
+        # colon seems required
+        $json_text =~ s/:\[/: \[/;
         if (! $json_fd -> open (">$json_meta")) {
             $kiwi -> failed ();
             $kiwi -> error  (
@@ -637,6 +641,7 @@
         push @content, 'manifest.json';
         $kiwi -> done();
     }
+    push @content, 'disk.raw';
     $kiwi -> info("--> Creating GNU tar archive");
     $status = KIWIQX::qxx (
         "cd $src_dirname && tar --format=gnu -cSzf $target @content 2>&1"


Reply via email to