Hello community,

here is the log from the commit of package kiwi for openSUSE:Factory checked in 
at 2015-02-10 20:20:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-01-25 
21:14:11.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes   2015-02-10 
20:20:46.000000000 +0100
@@ -1,0 +2,209 @@
+Mon Feb  9 11:43:29 CET 2015 - m...@suse.de
+
+- v7.02.25 released
+  
+-------------------------------------------------------------------
+Mon Feb  2 09:44:42 CET 2015 - m...@suse.de
+  
+- DB: rebuild documentation
+  
+-------------------------------------------------------------------
+Mon Feb  2 09:43:48 CET 2015 - m...@suse.de
+  
+- DB: man page clarify use of images.sh/config.sh
+  
+-------------------------------------------------------------------
+Sat Jan 31 15:07:37 CET 2015 - dmuel...@suse.de
+  
+- aarch64: Load full EFI emulation size
+  
+-boot-load-size 1 is not a recommended option. First of all
+  a loader size that is not divideable by 4 is rejected by
+  most EFI firmwares. In addition we need to load all of the
+  EFI code into memory. When the option is not set, genisoimage
+  uses the full length by default, which is what we want.
+  
+-------------------------------------------------------------------
+Fri Jan 30 11:04:09 CET 2015 - m...@suse.de
+  
+- v7.02.24 released
+  
+-------------------------------------------------------------------
+Fri Jan 30 10:45:04 CET 2015 - m...@suse.de
+  
+- Fixed callPartitioner
+  
+  Instead of making the decision for the correct partition tool
+  by the name of the device use a method which knows better about
+  the type of the storage device. This applies to s390 only were
+  a dasd device could be a real dasd with 4k blocksize or an
+  emulated dasd with 512byte blocksize. In the first case fdasd
+  is used and in the other case parted must be used. The decision
+  for the tool is now based on the result if isDASDDevice()
+  which returns false for emulated dasd devices because we
+  only distinguish a different handling if the blocksize of the
+  device is _not_ 512byte
+  
+-------------------------------------------------------------------
+Fri Jan 30 10:43:19 CET 2015 - m...@suse.de
+  
+- Fixed critic testing via perlcritic
+  
+  perlcritic on 13.2 reports a module to not end with a true value
+  which is wrong and older versions of perlcritic do not complain
+  about the same code. As I don't want to dig into what perlcritic
+  does I decided to move the module in question to be not level 4
+  clean
+  
+-------------------------------------------------------------------
+Fri Jan 30 09:37:09 CET 2015 - m...@suse.de
+  
+- Fixed handling of zipl options
+  
+  For some reason it was not possible to provide the
+  information as commandline arguments. Thus we wrote
+  it into the menu section. In addition the verbose
+  zipl installation information is now part of the
+  kiwi build log file
+  
+-------------------------------------------------------------------
+Fri Jan 30 09:07:00 CET 2015 - m...@suse.de
+  
+- Fixed import of emulated dasd device
+  
+  dasd_configure is required to be called but kiwi
+  skipped that step for emulated dasd devices and
+  thus they did not exist on boot
+  
+-------------------------------------------------------------------
+Fri Jan 30 08:57:24 CET 2015 - m...@suse.de
+  
+- Added support for emulated DASD devices on s390
+  
+  an emulated dasd is a dasd device in FBA mode using
+  512byte blocksize. kiwi did not properly install zipl
+  to allow to boot from such devices
+  
+-------------------------------------------------------------------
+Thu Jan 29 16:03:33 CET 2015 - guillaume.gar...@suse.de
+  
+- Fix ARM build
+  
+-------------------------------------------------------------------
+Thu Jan 29 15:37:59 CET 2015 - adr...@suse.de
+  
+- collecting of -debuginfo packages from special suffixed packages
+  
+-------------------------------------------------------------------
+Thu Jan 29 12:13:26 CET 2015 - m...@suse.de
+  
+- Fixed importHostPackageKeys
+  
+  Import on systems which doesn't have a
+  /usr/lib/rpm/gnupg/keys structure failed
+  
+-------------------------------------------------------------------
+Thu Jan 29 11:36:18 CET 2015 - m...@suse.de
+  
+- Fixed exception handling if device type is unknown
+  
+-------------------------------------------------------------------
+Thu Jan 29 11:29:41 CET 2015 - m...@suse.de
+  
+- Added support for s390 emulated DASD devices
+  
+  An emulated DASD device is a disk with 512byte blocksize
+  like it is the case for real zFCP (scsi) devices. Therefore
+  kiwi handles an emulated DASD like a zFCP device but does
+  not configure host and disk adapter for it
+  
+-------------------------------------------------------------------
+Wed Jan 28 16:31:10 CET 2015 - m...@suse.de
+  
+- Fixed SLES12 s390 JeOS image template
+  
+  deleted obsolete packages, update pattern name
+  
+-------------------------------------------------------------------
+Wed Jan 28 15:27:50 CET 2015 - m...@suse.de
+  
+- Fixed resetBootBind
+  
+  make sure the tmp directory is removed while moving the
+  boot data one hierarchy level up
+  
+-------------------------------------------------------------------
+Wed Jan 28 10:29:05 CET 2015 - m...@suse.de
+  
+- DB: rebuild documentation
+  
+-------------------------------------------------------------------
+Wed Jan 28 10:27:47 CET 2015 - m...@suse.de
+  
+- DB: update man page
+  
+-------------------------------------------------------------------
+Wed Jan 28 10:09:28 CET 2015 - m...@suse.de
+  
+- Cleanup service handling config functions
+  
+  Enable/Disable a service is no longer done using the suse
+  specific insserv tool. Instead chkconfig for sysVInit or
+  systemctl for systemd based systems is used. This this
+  methods can be considered generic and should be base
+  functions
+  
+-------------------------------------------------------------------
+Wed Jan 28 10:00:21 CET 2015 - m...@suse.de
+  
+- DB: rebuild documentation
+  
+-------------------------------------------------------------------
+Wed Jan 28 09:59:20 CET 2015 - m...@suse.de
+  
+- DB: Update documentation and man page
+  
+-------------------------------------------------------------------
+Tue Jan 27 17:15:51 CET 2015 - m...@suse.de
+  
+- v7.02.23 released
+  
+-------------------------------------------------------------------
+Tue Jan 27 17:08:29 CET 2015 - m...@suse.de
+  
+- Fixed creation of split images
+  
+  The filename for the splitfile which is the read-write portion
+  of the image was build taking the displayname into account.
+  Only if the displayname was not set the filename was correct
+  because in that case the displayname and the diskname are the
+  same. If a custom displayname is set the splitfile name was
+  wrong and the read-write data was not included to the image
+  
+  In addition this patch uses the kiwi.buildinfo file to check
+  for the image type instead of taking weird assumptions based
+  on file names
+  
+-------------------------------------------------------------------
+Mon Jan 26 10:48:19 CET 2015 - m...@suse.de
+  
+- Make sure to handle all udev daemon processes
+  
+  If the call to udevadm control for some reason did not
+  stop all udev daemon processes kiwi checks the pids it
+  found and kills them manually. However kiwi just looked
+  up one process even though there might be more
+  
+-------------------------------------------------------------------
++++ 12 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kiwi/kiwi.changes
++++ and /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes

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

Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.52Xa9l/_old  2015-02-10 20:20:48.000000000 +0100
+++ /var/tmp/diff_new_pack.52Xa9l/_new  2015-02-10 20:20:48.000000000 +0100
@@ -26,7 +26,7 @@
 Group:          System/Management
 Url:            http://github.com/openSUSE/kiwi
 Name:           kiwi
-Version:        7.02.22
+Version:        7.02.25
 Release:        0
 Provides:       kiwi-image:lxc
 Provides:       kiwi-image:tbz
@@ -736,7 +736,7 @@
 fi
 %endif
 
-%ifarch %ix86 x86_64 ppc ppc64 ppc64le  s390 s390x
+%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x %arm aarch64
 
 %post -n kiwi-templates
 #============================================================

++++++ kiwi-docu.tar.bz2 ++++++
++++ 10653 lines of diff (skipped)

++++++ kiwi-repo.tar.bz2 ++++++

++++++ kiwi.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/.git-hooks/pre-commit 
new/kiwi/.git-hooks/pre-commit
--- old/kiwi/.git-hooks/pre-commit      2014-12-15 14:32:37.000000000 +0100
+++ new/kiwi/.git-hooks/pre-commit      2015-01-30 21:18:58.000000000 +0100
@@ -521,6 +521,13 @@
        kiwi.pl
 );
 
+# List of modules not clean to level 4 (harsh) of perlcritic
+# imho perlcritic is wrong here, at the place in the code the
+# critic information is simply wrong
+my @notClean4 = qw (
+    KIWIIsoLinux.pm
+);
+
 my @changedFiles;
 my $chld_in;
 my $chld_out;
@@ -598,7 +605,7 @@
        }
 }
 
-my @criticLevelFiles = (\@notClean1, \@notClean2, \@notClean3);
+my @criticLevelFiles = (\@notClean1, \@notClean2, \@notClean3, \@notClean4);
 
 
 # Verify the changed file against the strictest perlcritic level possible
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-19 08:24:00.000000000 +0100
@@ -1 +1 @@
-63fc5aa7fd1971ecdbea7c1882b62550fc13f30d
+859dc050fac040e3b3bb7fdb3ea81af4fc4bd02a
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-23 12:07:51.000000000 +0100
+++ new/kiwi/modules/KIWIBoot.pm        2015-01-30 09:40:20.000000000 +0100
@@ -26,6 +26,7 @@
 use File::Basename;
 use File::Spec;
 use Math::BigFloat;
+use Config::IniFiles;
 
 #==========================================
 # Base class
@@ -111,15 +112,33 @@
         return;
     }
     #==========================================
-    # find image type...
+    # find image type from buildinfo
     #------------------------------------------
     if (($system) && (! defined $cmdL->getBuildType())) {
-        if (($initrd) && ($initrd =~ /oemboot/)) {
-            $cmdL -> setBuildType ("oem");
+        my $result_dir = dirname($initrd);
+        my $buildinfo_file = $result_dir.'/kiwi.buildinfo';
+        if (! -f $buildinfo_file) {
+            $kiwi -> error (
+                "Can't find buildinfo file in image result at: $result_dir"
+            );
+            $kiwi -> failed ();
+            return;
         }
-        if (($initrd) && ($initrd =~ /vmxboot/)) {
-            $cmdL -> setBuildType ("vmx");
+        my $buildinfo = Config::IniFiles -> new (
+            -file => $buildinfo_file, -allowedcommentchars => '#'
+        );
+        my $imagetype = $buildinfo->val('main','image.type');
+        if (! $imagetype) {
+            $kiwi -> error (
+                "Can't find image type in buildinfo file: $buildinfo_file"
+            );
+            $kiwi -> failed ();
+            return;
+        }
+        if ($imagetype eq 'split') {
+            $haveSplit = 1;
         }
+        $cmdL -> setBuildType($imagetype);
     }
     #==========================================
     # check system image file parameter
@@ -251,9 +270,6 @@
         if ($read_result{sysz_size}) {
             $syszip = $read_result{sysz_size};
         }
-        if ($read_result{split}) {
-            $haveSplit = $read_result{split};
-        }
         if ($read_result{originXMLPath}) {
             $this->{originXMLPath} = $read_result{originXMLPath};
         }
@@ -2054,8 +2070,8 @@
     $label      = $xml -> getImageDisplayName();
     $version    = $xml -> getPreferences() -> getVersion();
     $diskname   = $xml -> getImageName();
+    $splitfile  = $destdir."/".$diskname."-read-write.".$arch."-".$version;
     $diskname   = $destdir."/".$diskname.".".$arch."-".$version.".raw";
-    $splitfile  = $destdir."/".$label."-read-write.".$arch."-".$version;
     $partidfile = $diskname;
     $partidfile =~ s/\.raw$/\.pids/;
     $this->{bootlabel}= $label;
@@ -5895,16 +5911,15 @@
     # Zipl
     #------------------------------------------
     if ($loader eq "zipl") {
-        $kiwi -> info ("Installing zipl on device: $diskname");
-        my $offset;
+        $kiwi -> info ("Installing zipl on device: $diskname\n");
         my $haveRealDevice = 1;
+        my $offset;
         if (! -b $diskname) {
             #==========================================
             # detect disk offset of disk image file
             #------------------------------------------
             $offset = $this -> diskOffset ($diskname);
             if (! $offset) {
-                $kiwi -> failed ();
                 $kiwi -> error  ("Failed to detect disk offset");
                 $kiwi -> failed ();
                 return;
@@ -5915,7 +5930,6 @@
         # mount boot device...
         #------------------------------------------
         if (! KIWIGlobals -> instance() -> mount ($bootdev, $mount)) {
-            $kiwi -> failed ();
             $kiwi -> error  ("Can't mount boot partition: $status");
             $kiwi -> failed ();
             $this -> cleanStack ();
@@ -5931,7 +5945,6 @@
             );
             my $result = $? >> 8;
             if ($result != 0) {
-                $kiwi -> failed ();
                 $kiwi -> error  (
                     "Can't get block size for device $this->{loop}: $bsize"
                 );
@@ -5942,20 +5955,26 @@
             }
             chomp $bsize;
             #==========================================
-            # try to identify target type
+            # set target type
             #------------------------------------------
-            my $type;
-            if ($bsize == 4096) {
-                $type = 'LDL';
-            } else {
-                $type = 'SCSI';
+            my $type = $xml -> getImageType() -> getZiplTargetType();
+            if (! $type) {
+                if ($bsize == 4096) {
+                    # we assume the target is a 4k dasd device in LDL mode
+                    # this could be wrong, there are also CDL dasd devices
+                    $type = 'LDL';
+                } else {
+                    # we assume the target is a 512b scsi device in SCSI mode
+                    # this could be wrong, thre are also emulated dasd devices
+                    # using 512b blocksize in FBA mode
+                    $type = 'SCSI';
+                }
             }
             #==========================================
-            # rewrite zipl.conf with additional params
+            # setup zipl caller options in zipl.conf
             #------------------------------------------
             my $readzconf = FileHandle -> new();
             if (! $readzconf -> open ($config)) {
-                $kiwi -> failed ();
                 $kiwi -> error  ("Can't open config file for reading: $!");
                 $kiwi -> failed ();
                 KIWIQX::qxx ("umount $mount 2>&1");
@@ -5966,44 +5985,43 @@
             $readzconf -> close();
             my $zconffd = FileHandle -> new();
             if (! $zconffd -> open (">$config")) {
-                $kiwi -> failed ();
                 $kiwi -> error  ("Can't open config file for writing: $!");
                 $kiwi -> failed ();
                 KIWIQX::qxx ("umount $mount 2>&1");
                 $this -> cleanStack ();
                 return;
             }
-            $kiwi -> loginfo ("zipl.conf target values:\n");
             foreach my $line (@data) {
                 print $zconffd $line;
                 if ($line =~ /^:menu/) {
-                    $kiwi -> loginfo ("targetbase = $this->{loop}\n");
-                    $kiwi -> loginfo ("targettype = $type\n");
-                    $kiwi -> loginfo ("targetblocksize = $bsize\n");
-                    $kiwi -> loginfo ("targetoffset = $offset\n");
+                    $kiwi -> info ("--> targetbase = $this->{loop}\n");
+                    $kiwi -> info ("--> targettype = $type\n");
+                    $kiwi -> info ("--> targetblocksize = $bsize\n");
+                    $kiwi -> info ("--> targetoffset = $offset\n");
                     print $zconffd "\t"."targetbase = $this->{loop}"."\n";
                     print $zconffd "\t"."targettype = $type"."\n";
                     print $zconffd "\t"."targetblocksize = $bsize"."\n";
                     print $zconffd "\t"."targetoffset = $offset"."\n";
-                }
+               }
             }
             $zconffd -> close();
         }
         #==========================================
         # call zipl...
         #------------------------------------------
-        $status = KIWIQX::qxx ("cd $mount && zipl -c $config 2>&1");
+        $status = KIWIQX::qxx (
+            "cd $mount && zipl -V -c $config -m menu 2>&1"
+        );
         $result = $? >> 8;
         if ($result != 0) {
-            $kiwi -> failed ();
             $kiwi -> error  ("Couldn't install zipl on $diskname: $status");
             $kiwi -> failed ();
             KIWIQX::qxx ("umount $mount 2>&1");
             $this -> cleanStack ();
             return;
         }
+        $kiwi -> loginfo($status);
         KIWIQX::qxx ("umount $mount 2>&1");
-        $kiwi -> done();
         #==========================================
         # clean loop maps
         #------------------------------------------
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     2015-01-09 15:52:18.000000000 +0100
+++ new/kiwi/modules/KIWICollect.pm     2015-01-30 21:18:58.000000000 +0100
@@ -1247,27 +1247,23 @@
                             if ( $this->{m_debugmedium} > 0 ) {
                                 # Add debug packages, we do not know,
                                 # if they exist at all
-                                my $suffix = "";
-                                my $basename = $packName;
                                 for my $tsuffix (qw(32bit 64bit x86)) {
                                     if ( $packName =~ /^(.*)(-$tsuffix)$/ ) {
-                                        $basename = $1;
-                                        $suffix = $2;
-                                        last;
+                                         # special handling of baselib 
packages. SLE 12 style
+                                         $this->addDebugPackage(
+                                             $1."-debuginfo".$2,
+                                             $arch, $packPointer
+                                         );
                                     }
                                 }
                                 $this->addDebugPackage(
-                                    $srcname."-debuginfo".$suffix,
+                                    $packName."-debuginfo",
                                     $arch, $packPointer
                                 );
                                 $this->addDebugPackage(
                                     $srcname."-debugsource", $arch,
                                     $packPointer
                                 );
-                                $this->addDebugPackage(
-                                    $basename."-debuginfo".$suffix,
-                                    $arch, $packPointer
-                                ) unless $srcname eq $basename;
                             }
                         }
                     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIConfig.sh 
new/kiwi/modules/KIWIConfig.sh
--- old/kiwi/modules/KIWIConfig.sh      2015-01-22 10:29:58.000000000 +0100
+++ new/kiwi/modules/KIWIConfig.sh      2015-01-28 10:35:07.000000000 +0100
@@ -32,6 +32,7 @@
         ln -s /usr/bin/$tool /usr/sbin/$tool
     fi
 done
+
 #======================================
 # baseSystemdServiceInstalled
 #--------------------------------------
@@ -68,18 +69,19 @@
         systemctl "$@" "$service"
     fi
 }
+
 #======================================
-# suseInsertService
+# baseInsertService
 #--------------------------------------
-function suseInsertService {
+function baseInsertService {
     # /.../
-    # Insert a service using either chkconfig or systemctl
+    # Enable a service using either chkconfig or systemctl
     # Examples:
     #
-    # suseInsertService sshd
+    # baseInsertService sshd
     #   --> enable sshd service
     #
-    # suseInsertService sshd 35
+    # baseInsertService sshd 35
     #   --> enable sshd service, if sysVInit in level 3+5
     # ----
     local service=$1
@@ -97,14 +99,14 @@
 }
 
 #======================================
-# suseRemoveService
+# baseRemoveService
 #--------------------------------------
-function suseRemoveService {
+function baseRemoveService {
     # /.../
-    # Remove a service using either chkconfig or systemctl
+    # Disable a service using either chkconfig or systemctl
     # Example:
     #
-    # suseRemoveService sshd
+    # baseRemoveService sshd
     #   --> disable sshd service
     # ----
     local service=$1
@@ -117,42 +119,58 @@
 }
 
 #======================================
-# suseService
+# baseService
 #--------------------------------------
-function suseService {
+function baseService {
     # /.../
-    # Enable | Disable a service transparently
+    # Enable or Disable a service transparently
     # for sysVInit and systemd
     # Examples:
     #
-    # suseService sshd on
+    # baseService sshd on
     #   --> enable sshd service
     #
-    # suseService sshd off
+    # baseService sshd off
     #   --> disable sshd service
     #
-    # suseService sshd 35
+    # baseService sshd 35
     #   --> enable sshd service, if sysVInit in level 3+5
     # ----
     local service=$1
     local target=$2
     if [ -z "$target" ];then
-        echo "suseService: no target specified"
+        echo "baseService: no target specified"
         return
     fi
     if [ -z "$service" ];then
-        echo "suseService: no service name specified"
+        echo "baseService: no service name specified"
         return
     fi
     if [ $target = off ];then
-        suseRemoveService $service
+        baseRemoveService $service
     else
-        suseInsertService $service $target
+        baseInsertService $service $target
     fi
 }
 
 #======================================
-# suseServiceDefaultOn
+# suseRemoveService
+#--------------------------------------
+function suseRemoveService {
+    # function kept for compatibility
+    baseRemoveService "$@"
+}
+
+#======================================
+# suseInsertService
+#--------------------------------------
+function suseInsertService {
+    # function kept for compatibility
+    baseInsertService "$@"
+}
+
+#======================================
+# suseActivateDefaultServices
 #--------------------------------------
 function suseActivateDefaultServices {
     # /.../
@@ -185,7 +203,7 @@
     fi
     for i in "${services[@]}";do
         echo "Activating service: $i"
-        suseInsertService $i
+        baseInsertService $i
     done
 }
 
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-01-23 13:57:46.000000000 +0100
+++ new/kiwi/modules/KIWIGlobals.pm     2015-02-09 11:43:23.000000000 +0100
@@ -1706,7 +1706,6 @@
     my $global = KIWIGlobals -> instance();
     my $profile= $cmdL -> getBuildProfiles();
     my $syszSize = 0;
-    my $haveSplit= 0;
     my $originXMLPath;
     if ((! $system) || (! $cmdL)) {
         return;
@@ -1750,13 +1749,6 @@
         $rootpath = $tmpdir;
     }
     #==========================================
-    # check for split type
-    #------------------------------------------
-    if (-f "$rootpath/rootfs.tar") {
-        $cmdL -> setBuildType ("split");
-        $haveSplit = 1;
-    }
-    #==========================================
     # read origin path of XML description
     #------------------------------------------
     if (open my $FD, '<', "$rootpath/image/main::Prepare") {
@@ -1814,7 +1806,6 @@
     my %result = (
         "xml" => $xml,
         "sysz_size" => $syszSize,
-        "split" => $haveSplit,
         "originXMLPath" => $originXMLPath
     );
     return %result;
@@ -1846,7 +1837,7 @@
     # Globals (generic)
     #------------------------------------------
     my %data;
-    $data{Version}         = "7.02.22";
+    $data{Version}         = "7.02.25";
     $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/KIWIIsoLinux.pm 
new/kiwi/modules/KIWIIsoLinux.pm
--- old/kiwi/modules/KIWIIsoLinux.pm    2014-12-15 14:32:46.000000000 +0100
+++ new/kiwi/modules/KIWIIsoLinux.pm    2015-02-06 23:16:20.000000000 +0100
@@ -402,7 +402,7 @@
     my $boot  = $base{$arch}{boot};
     my $loader= $base{$arch}{efi};
     $para.= " -no-emul-boot";
-    $para.= " -boot-load-size 1";
+    # do not add -boot-load-size 1 here
     $para.= " -b $loader";
     $para.= " -c $boot/boot.catalog";
     $para.= " -hide $boot/boot.catalog -hide-joliet $boot/boot.catalog";
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     2015-01-12 12:55:06.000000000 +0100
+++ new/kiwi/modules/KIWILinuxRC.sh     2015-01-30 21:18:58.000000000 +0100
@@ -694,7 +694,7 @@
         "reboot"
     fi
     $udev_bin --daemon
-    export UDEVD_PID=$(pidof -s $udev_bin)
+    export UDEVD_PID=$(pidof $udev_bin | tr ' ' ,)
 }
 #======================================
 # udevSystemStop
@@ -704,9 +704,27 @@
     # stop udev while in pre-init phase.
     # ----
     local IFS=$IFS_ORIG
-    if kill -0 $UDEVD_PID &>/dev/null;then
-        udevPending
-        kill $UDEVD_PID
+    local udevadmExec=$(lookup udevadm 2>/dev/null)
+    local umountProc=0
+    if [ ! -e "/proc/mounts" ];then
+        mount -t proc proc /proc
+        umountProc=1
+    fi
+    if [ -x $udevadmExec ];then
+        $udevadmExec control --exit
+    fi
+    if [ -z "$UDEVD_PID" ];then
+        . /iprocs
+    fi
+    local IFS=,
+    for p in $UDEVD_PID; do
+        if kill -0 $p &>/dev/null;then
+            udevPending
+            kill $p
+        fi
+    done
+    if [ $umountProc -eq 1 ];then
+        umount /proc
     fi
 }
 #======================================
@@ -801,11 +819,7 @@
 #--------------------------------------
 function udevKill {
     local IFS=$IFS_ORIG
-    . /iprocs
-    if kill -0 $UDEVD_PID &>/dev/null;then
-        udevPending
-        kill $UDEVD_PID
-    fi
+    udevSystemStop
 }
 #======================================
 # activeConsoles
@@ -4144,9 +4158,10 @@
     # is set to this device for further processing
     # ----
     local IFS=$IFS_ORIG
-    local deviceID=0
     local dpath=/dev/disk/by-path
     local ipl_type=$(cat /sys/firmware/ipl/ipl_type)
+    local deviceID=$(cat /sys/firmware/ipl/device)
+    local dev_type=$(cat /sys/bus/ccw/devices/$deviceID/devtype)
     local wwpn
     local slun
     #======================================
@@ -4163,25 +4178,34 @@
     #======================================
     # determine device type: dasd or zfcp
     #--------------------------------------
-    if [ -z "$ipl_type" ];then
+    if [ -z "$deviceID" ];then
         systemException \
-            "Can't find IPL type" \
+            "Can't find IPL device" \
         "reboot"
     fi
     if [ "$ipl_type" = "fcp" ];then
+        # plain FCP device 512b blocksize
         haveZFCP=1
     elif [ "$ipl_type" = "ccw" ];then
-        haveDASD=1
+        if [[ "$dev_type" =~ "3390" ]];then
+            # plain DASD device 4k blocksize
+            haveDASD=1
+        elif [[ "$dev_type" =~ "9336" ]];then
+            # emulated DASD device 512b blocksize, handled as FCP device
+            # but don't configure host and disk as required for plain
+            # FCP devices
+            haveZFCP=1
+        else
+            systemException \
+                "Unknown Device type: $dev_type" \
+            "reboot"
+        fi
     else
         systemException \
             "Unknown IPL type: $ipl_type" \
         "reboot"
     fi
     #======================================
-    # store device bus / host id
-    #--------------------------------------
-    deviceID=$(cat /sys/firmware/ipl/device)
-    #======================================
     # check if we can find the device
     #--------------------------------------
     if [ ! -e /sys/bus/ccw/devices/$deviceID ];then
@@ -4190,16 +4214,23 @@
         "reboot"
     fi
     #======================================
-    # DASD
+    # DASD real in CDL / LDL mode
     #--------------------------------------
     if [ $haveDASD -eq 1 ];then
         dasd_configure $deviceID 1 0
         biosBootDevice="$dpath/ccw-$deviceID"
     fi
     #======================================
-    # ZFCP
+    # DASD emulated in FBA mode
     #--------------------------------------
-    if [ $haveZFCP -eq 1 ];then
+    if [ $haveZFCP -eq 1 ] && [ "$ipl_type" = "ccw" ];then
+        dasd_configure $deviceID 1 0
+        biosBootDevice="$dpath/ccw-$deviceID"
+    fi
+    #======================================
+    # ZFCP real in SCSI mode
+    #--------------------------------------
+    if [ $haveZFCP -eq 1 ] && [ "$ipl_type" = "fcp" ];then
         wwpn=$(cat /sys/firmware/ipl/wwpn)
         slun=$(cat /sys/firmware/ipl/lun)
         zfcp_host_configure $deviceID 1
@@ -8756,7 +8787,7 @@
 #--------------------------------------
 function createPartitionerInput {
     local IFS=$IFS_ORIG
-    if echo $imageDiskDevice | grep -q 'dev\/dasd';then
+    if isDASDDevice; then
         PARTITIONER=fdasd
     fi
     if [ $PARTITIONER = "fdasd" ];then
@@ -10488,7 +10519,7 @@
     umount $bprefix/boot
     mv /$bootdir/boot /$bootdir/tmp
     mv /$bootdir/tmp/* /$bootdir
-    rmdir /$bootdir/tmp
+    rm -rf /$bootdir/tmp
     umount /$bootdir
     rmdir /$bootdir
     #======================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIRoot.pm new/kiwi/modules/KIWIRoot.pm
--- old/kiwi/modules/KIWIRoot.pm        2014-12-18 11:45:15.000000000 +0100
+++ new/kiwi/modules/KIWIRoot.pm        2015-01-30 08:02:53.000000000 +0100
@@ -1446,7 +1446,7 @@
         return $this;
     }
     $data.= KIWIQX::qxx (
-        "rpm -r $root --import $keydir/gpg-pubke* 2>&1"
+        "rpm -r $root --import $sigs/gpg-pubke* 2>&1"
     );
     $code = $? >> 8;
     if ($code != 0) {
@@ -1458,6 +1458,9 @@
         }
         return $this;
     }
+    if (-d $sigs) {
+        KIWIQX::qxx ("rm -rf $sigs");
+    }
     $kiwi -> done();
     return $this;
 }
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     2014-12-15 14:32:47.000000000 +0100
+++ new/kiwi/modules/KIWISchema.rnc     2015-01-30 09:26:29.000000000 +0100
@@ -1590,6 +1590,13 @@
             "extlinux" | "grub" | "grub2" | "syslinux" |
             "zipl" | "yaboot" | "uboot" | "berryboot"
         }
+    k.type.zipl_targettype.attribute =
+       ## The device type of the disk zipl should boot. On zFCP
+       ## devices use SCSI, on DASD devices use CDL or LDL on
+       ## emulated DASD devices use FBA
+       attribute zipl_targettype {
+           "CDL" | "LDL" | "FBA" | "SCSI"
+       }
     k.type.bootpartsize.attribute =
         ## For images with a separate boot partition this attribute
         ## specifies the size in MB. If not set the min bootpart
@@ -1795,6 +1802,7 @@
         k.type.firmware.attribute? &
         k.type.bootkernel.attribute? &
         k.type.bootloader.attribute? &
+        k.type.zipl_targettype.attribute? &
         k.type.bootpartition.attribute? &
         k.type.bootpartsize.attribute? &
         k.type.bootprofile.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     2014-12-15 14:32:47.000000000 +0100
+++ new/kiwi/modules/KIWISchema.rng     2015-01-30 09:26:29.000000000 +0100
@@ -2098,6 +2098,19 @@
         </choice>
       </attribute>
     </define>
+    <define name="k.type.zipl_targettype.attribute">
+      <attribute name="zipl_targettype">
+        <a:documentation>The device type of the disk zipl should boot. On zFCP
+devices use SCSI, on DASD devices use CDL or LDL on
+emulated DASD devices use FBA</a:documentation>
+        <choice>
+          <value>CDL</value>
+          <value>LDL</value>
+          <value>FBA</value>
+          <value>SCSI</value>
+        </choice>
+      </attribute>
+    </define>
     <define name="k.type.bootpartsize.attribute">
       <attribute name="bootpartsize">
         <a:documentation>For images with a separate boot partition this 
attribute
@@ -2473,6 +2486,9 @@
           <ref name="k.type.bootloader.attribute"/>
         </optional>
         <optional>
+          <ref name="k.type.zipl_targettype.attribute"/>
+        </optional>
+        <optional>
           <ref name="k.type.bootpartition.attribute"/>
         </optional>
         <optional>
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 2014-12-15 14:32:47.000000000 +0100
+++ new/kiwi/modules/KIWIXML.pm 2015-01-30 09:26:29.000000000 +0100
@@ -3909,7 +3909,8 @@
         'mdraid',
         'vga',
         'vhdfixedtag',
-        'volid'
+        'volid',
+        'zipl_targettype'
     );
     #==========================================
     # store a value for the default type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIXMLTypeData.pm 
new/kiwi/modules/KIWIXMLTypeData.pm
--- old/kiwi/modules/KIWIXMLTypeData.pm 2014-12-15 14:32:47.000000000 +0100
+++ new/kiwi/modules/KIWIXMLTypeData.pm 2015-01-30 09:26:29.000000000 +0100
@@ -97,6 +97,7 @@
     #     vga                    = ''
     #     vhdfixedtag            = ''
     #     volid                  = ''
+    #     zipl_targettype        = ''
     # }
     # ---
     #==========================================
@@ -163,6 +164,7 @@
         vga
         vhdfixedtag
         volid
+        zipl_targettype
     );
     $this->{supportedKeywords} = \%keywords;
     my %boolKW = map { ($_ => 1) } qw(
@@ -195,6 +197,7 @@
     $this->{bootfilesystem}         = $init->{bootfilesystem};
     $this->{bootkernel}             = $init->{bootkernel};
     $this->{bootloader}             = $init->{bootloader};
+    $this->{zipl_targettype}        = $init->{zipl_targettype};
     $this->{bootpartsize}           = $init->{bootpartsize};
     $this->{bootprofile}            = $init->{bootprofile};
     $this->{boottimeout}            = $init->{boottimeout};
@@ -295,6 +298,17 @@
 }
 
 #==========================================
+# getZiplTargetType
+#------------------------------------------
+sub getZiplTargetType {
+    # ...
+    # Return the configured zypl target type
+    # ---
+    my $this = shift;
+    return $this->{zipl_targettype};
+}
+
+#==========================================
 # getBootPartitionSize
 #------------------------------------------
 sub getBootPartitionSize {
@@ -857,6 +871,10 @@
             $element -> setAttribute('bootloader', $loader);
         }
     }
+    my $zipl_targettype = $this -> getZiplTargetType();
+    if ($zipl_targettype) {
+        $element -> setAttribute('zipl_targettype', $zipl_targettype);
+    }
     my $bPartSize = $this -> getBootPartitionSize();
     if ($bPartSize) {
         $element -> setAttribute('bootpartsize', $bPartSize);
@@ -1102,6 +1120,22 @@
 }
 
 #==========================================
+# setZiplTargetType
+#------------------------------------------
+sub setZiplTargetType {
+    # ...
+    # Set the configuration for the zipl target type
+    # ---
+    my $this  = shift;
+    my $zipl_type = shift;
+    if (! $this -> __isValidZiplTargetType($zipl_type, 'setZiplTargetType')) {
+        return;
+    }
+    $this->{zipl_targettype} = $zipl_type;
+    return $this;
+}
+
+#==========================================
 # setBootPartitionSize
 #------------------------------------------
 sub setBootPartitionSize {
@@ -1941,6 +1975,52 @@
             return;
         }
     }
+    if ($init->{zipl_targettype}) {
+        if (! $this->__isValidZiplTargetType(
+            $init->{zipl_targettype}, 'object initialization')) {
+            return;
+        }
+    }
+    return 1;
+}
+
+#==========================================
+# __isValidZiplTargetType
+#------------------------------------------
+sub __isValidZiplTargetType {
+    # ...
+    # Verify that the given zipl target type is supported
+    # ---
+    my $this   = shift;
+    my $zipl_type = shift;
+    my $caller = shift;
+    my $kiwi = $this->{kiwi};
+    if (! $caller ) {
+        my $msg = 'Internal error __isValidZiplTargetType called without '
+            . 'call origin argument.';
+        $kiwi -> info($msg);
+        $kiwi -> oops();
+    }
+    if (! $zipl_type ) {
+        my $msg = "$caller: no zipl target type argument specified, retaining "
+            . 'current data.';
+        $kiwi -> error($msg);
+        $kiwi -> failed();
+        return;
+    }
+    my %supported = map { ($_ => 1) } qw(
+        CDL
+        LDL
+        FBA
+        SCSI
+    );
+    if (! $supported{$zipl_type} ) {
+        my $msg = "$caller: specified zipl target type '$zipl_type' is not "
+            . 'supported.';
+        $kiwi -> error($msg);
+        $kiwi -> failed();
+        return;
+    }
     return 1;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/template/s390/suse-SLE12-JeOS/config.xml 
new/kiwi/template/s390/suse-SLE12-JeOS/config.xml
--- old/kiwi/template/s390/suse-SLE12-JeOS/config.xml   2014-12-15 
14:32:50.000000000 +0100
+++ new/kiwi/template/s390/suse-SLE12-JeOS/config.xml   2015-01-28 
21:14:06.000000000 +0100
@@ -30,23 +30,20 @@
         <user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" 
name="root"/>
     </users>
     <repository type="yast2">
-        <source path="obs://SUSE:SLE-12:GA/standard"/>
+        <source 
path="http://download.suse.de/install/SLP/SLE-12-Server-GM/s390x/DVD1"/>
     </repository>
     <packages type="image">
-        <namedCollection name="base"/>
+        <namedCollection name="Minimal"/>
         <product name="SUSE_SLES"/>
         <package name="cmsfs"/>
         <package name="kernel-default"/>
-        <package name="ifplugd"/>
         <package name="iputils"/>
         <package name="vim"/>
         <package name="s390-tools"/>
-        <package name="syslog-ng"/>
     </packages>
     <packages type="bootstrap">
         <package name="filesystem"/>
         <package name="glibc-locale"/>
         <package name="cracklib-dict-full"/>
-        <package name="openssl-certs"/>
     </packages>
 </image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm 
new/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm
--- old/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm     2014-12-15 
14:32:51.000000000 +0100
+++ new/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm     2015-01-30 
09:26:29.000000000 +0100
@@ -502,6 +502,34 @@
 }
 
 #==========================================
+# test_ctor_initUnsupportedZiplTargetType
+#------------------------------------------
+sub test_ctor_initUnsupportedZiplTargetType {
+    # ...
+    # Test the TypeData constructor with an initialization hash
+    # that contains unsupported data for the zipl_targettype
+    # ---
+    my $this = shift;
+    my $kiwi = $this -> {kiwi};
+    my %init = (
+                zipl_targettype => 'foo',
+                image      => 'split'
+            );
+    my $typeDataObj = KIWIXMLTypeData -> new(\%init);
+    my $msg = $kiwi -> getMessage();
+    my $expected = 'object initialization: specified zipl target type '
+        . "'foo' is not supported.";
+    $this -> assert_str_equals($expected, $msg);
+    my $msgT = $kiwi -> getMessageType();
+    $this -> assert_str_equals('error', $msgT);
+    my $state = $kiwi -> getState();
+    $this -> assert_str_equals('failed', $state);
+    # Test this condition last to get potential error messages
+    $this -> assert_null($typeDataObj);
+    return;
+}
+
+#==========================================
 # test_ctor_initUnsupportedData
 #------------------------------------------
 sub test_ctor_initUnsupportedData {
@@ -884,6 +912,27 @@
 }
 
 #==========================================
+# test_getZiplTargetType
+#------------------------------------------
+sub test_getZiplTargetType {
+    # ...
+    # Test the getZiplTargetType method
+    # ---
+    my $this = shift;
+    my $kiwi = $this -> {kiwi};
+    my $typeDataObj = $this -> __getTypeObj();
+    my $name = $typeDataObj -> getZiplTargetType();
+    my $msg = $kiwi -> getMessage();
+    $this -> assert_str_equals('No messages set', $msg);
+    my $msgT = $kiwi -> getMessageType();
+    $this -> assert_str_equals('none', $msgT);
+    my $state = $kiwi -> getState();
+    $this -> assert_str_equals('No state set', $state);
+    $this -> assert_str_equals('FBA', $name);
+    return;
+}
+
+#==========================================
 # test_getBootLoaderDefault
 #------------------------------------------
 sub test_getBootLoaderDefault {
@@ -1823,6 +1872,7 @@
         . 'bootfilesystem="fat32" '
         . 'bootkernel="xenk" '
         . 'bootloader="grub2" '
+        . 'zipl_targettype="FBA" '
         . 'bootpartsize="512" '
         . 'bootpartition="true" '
         . 'bootprofile="std" '
@@ -2074,6 +2124,35 @@
 }
 
 #==========================================
+# test_setZiplTargetType
+#------------------------------------------
+sub test_setZiplTargetType {
+    # ...
+    # Test the setZiplTargetType method
+    # ---
+    my $this = shift;
+    my $kiwi = $this -> {kiwi};
+    my $typeDataObj = $this -> __getTypeObj();
+    $typeDataObj = $typeDataObj -> setZiplTargetType('CDL');
+    my $msg = $kiwi -> getMessage();
+    $this -> assert_str_equals('No messages set', $msg);
+    my $msgT = $kiwi -> getMessageType();
+    $this -> assert_str_equals('none', $msgT);
+    my $state = $kiwi -> getState();
+    $this -> assert_str_equals('No state set', $state);
+    $this -> assert_not_null($typeDataObj);
+    my $bootL = $typeDataObj -> getZiplTargetType();
+    $msg = $kiwi -> getMessage();
+    $this -> assert_str_equals('No messages set', $msg);
+    $msgT = $kiwi -> getMessageType();
+    $this -> assert_str_equals('none', $msgT);
+    $state = $kiwi -> getState();
+    $this -> assert_str_equals('No state set', $state);
+    $this -> assert_str_equals('CDL', $bootL);
+    return;
+}
+
+#==========================================
 # test_setBootLoaderInvalidArg
 #------------------------------------------
 sub test_setBootLoaderInvalidArg {
@@ -5120,6 +5199,7 @@
                 bootfilesystem         => 'fat32',
                 bootkernel             => 'xenk',
                 bootloader             => 'grub2',
+                zipl_targettype        => 'FBA',
                 bootpartition          => 'true',
                 bootpartsize           => '512',
                 bootprofile            => 'std',

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to