Hello community,
here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2014-05-09 06:57: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 2014-05-02 09:51:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2014-05-09 06:57:39.000000000 +0200
@@ -1,0 +2,209 @@
+Thu May 8 11:33:15 CEST 2014 - ms@suse.de
+
+- v5.06.86 released
+
+-------------------------------------------------------------------
+Thu May 8 11:32:32 CEST 2014 - ms@suse.de
+
+- fixed typo in spec file, unbalanced %if
+
+-------------------------------------------------------------------
+Thu May 8 10:42:14 CEST 2014 - ms@suse.de
+
+- v5.06.85 released
+
+-------------------------------------------------------------------
+Thu May 8 10:26:22 CEST 2014 - ms@suse.de
+
+- Cleanup list of authors per package in spec file
+
+-------------------------------------------------------------------
+Thu May 8 10:09:30 CEST 2014 - ms@suse.de
+
+- Update package helper tools to auto update the kiwi-schema
+ provides in the spec file if the kiwi RNC schema has changed
+
+-------------------------------------------------------------------
+Thu May 8 10:04:14 CEST 2014 - ms@suse.de
+
+- Added kiwi-schema metadata provides to spec file
+ This was requested by the slepos team to be able to require
+ the right kiwi version and schema to yast2-product-creator
+
+-------------------------------------------------------------------
+Thu May 8 09:28:14 CEST 2014 - ms@suse.de
+
+- Added compatibility fix for fetchFile function
+ * Instead of matching for the exact value 'uncompressed' the
+ function treats all values matching the expression '^uncomp'
+ as a statement to indicate an uncompressed image
+
+-------------------------------------------------------------------
+Wed May 7 21:41:33 CEST 2014 - ms@suse.de
+
+- Fixed __hasBootDescription runtime check
+ * the check should also work with custom user boot descriptions
+
+-------------------------------------------------------------------
+Wed May 7 21:24:21 CEST 2014 - ms@suse.de
+
+- Follup up fix for spec file requirements:
+ * need virt-utils for SLE11, use qemu-tools for anything else
+ * add virt-utils/qemu-tools to base kiwi package only
+
+-------------------------------------------------------------------
+Wed May 7 19:24:16 CEST 2014 - ms@suse.de
+
+- Added custom filters for kiwi --describe in KIWIAnalyse.filter
+
+-------------------------------------------------------------------
+Wed May 7 15:43:59 CEST 2014 - ms@suse.de
+
+- DB: rebuild man pages
+
+-------------------------------------------------------------------
+Wed May 7 15:43:13 CEST 2014 - ms@suse.de
+
+- DB: update man page
+
+-------------------------------------------------------------------
+Wed May 7 13:39:27 CEST 2014 - ms@suse.de
+
+- v5.06.84 released
+
+-------------------------------------------------------------------
+Wed May 7 13:37:18 CEST 2014 - ms@suse.de
+
+- Fixed spec file requirements:
+ Replaced virt-utils with qemu-tools, virt-utils was dropped
+
+-------------------------------------------------------------------
+Wed May 7 08:50:19 CEST 2014 - ms@suse.de
+
+- v5.06.83 released
+
+-------------------------------------------------------------------
+Wed May 7 08:49:14 CEST 2014 - ms@suse.de
+
+- DB: update schema documentation
+
+-------------------------------------------------------------------
+Wed May 7 08:44:02 CEST 2014 - ms@suse.de
+
+- Follow up fix for directory check in cleanMount
+ use the exact same parameter for test as for umount
+
+-------------------------------------------------------------------
+Tue May 6 23:27:09 CEST 2014 - ms@suse.de
+
+- Fixed SLE12 JeOS template
+ * install patterns with the namedCollection attribute
+ * make sure the desired release package is installed in
+ the bootstrap phase to avoid the installation of this
+ strange dummy-release package which I don't understand
+ what it is good for at all
+
+-------------------------------------------------------------------
+Tue May 6 09:05:01 CEST 2014 - ms@suse.de
+
+- Fixed directory check in cleanMount
+ If no repo alias is set the repo uri is also used as name for
+ the mount point directory. In this case the name could contain
+ quoted characters. Perl's test operator can't deal with shell
+ escaped directory names. Thus we check with the shell test
+ built-in if the mount point directory exists
+
+-------------------------------------------------------------------
+Mon May 5 15:14:26 CEST 2014 - ms@suse.de
+
+- v5.06.82 released
+
+-------------------------------------------------------------------
+Mon May 5 14:44:17 CEST 2014 - ms@suse.de
+
+- DB: rebuild documentation
+
+-------------------------------------------------------------------
+Mon May 5 12:57:20 CEST 2014 - tom_schr@suse.de
+
+- Added some info about Docker and KIWI
+
+-------------------------------------------------------------------
+Mon May 5 09:41:49 CEST 2014 - ms@suse.de
+
+- Fixed check for .repo file
+ The repo path is stored quoted for use use with the shell
+ but the perl test operator can't deal with shell escaped
+ characters and failed. Thus shell's test built-in is used
+ instead
+
+-------------------------------------------------------------------
+Fri May 2 16:26:22 CEST 2014 - ms@suse.de
+
+- v5.06.81 released
+
+-------------------------------------------------------------------
+Fri May 2 16:15:40 CEST 2014 - ms@suse.de
+
+- Fixed suseService function
+ * Use of undefined variable $action where it should be $target
+
+-------------------------------------------------------------------
+Fri May 2 15:29:56 CEST 2014 - ms@suse.de
+
+- Fixed 32bit EFI build
+ * if secure boot is requested, warn and switch to non
+ secure EFI boot. shim only exists for 64bit linux
+ * fixed lookup of bootloader stage files. In case of
+ 32bit EFI the lookup path must be 'i386-efi'
+
+-------------------------------------------------------------------
+Fri May 2 15:27:35 CEST 2014 - ms@suse.de
+
+- Added 32bit efi modules package to boot descriptions
+ for openSUSE 12.3 iso | oem and vmxboot
+
+-------------------------------------------------------------------
+Fri May 2 12:01:40 CEST 2014 - ms@suse.de
+
+- Fixed unit test Test/kiwiContainerConfigWriter.pm
+ * message output has changed in the container code
+
+-------------------------------------------------------------------
+Fri May 2 10:32:15 CEST 2014 - fcastelli@suse.de
+
+- Added openSUSE 13.1 template for docker target.
+
+-------------------------------------------------------------------
+Thu May 1 22:23:08 CEST 2014 - ms@suse.de
+
+- Fixed __populateRepos in software analyser
+ * The CD/DVD repos from zypper were not correctly added
+ as iso repo in the kiwi generated clone configuration
+
+-------------------------------------------------------------------
+Thu May 1 20:57:44 CEST 2014 - ms@suse.de
+
+- Fixed container image name extension
+ * if docker is set the extension should be set to docker and not lxc
+
+-------------------------------------------------------------------
+Wed Apr 30 12:45:39 CEST 2014 - ms@suse.de
+
+- Added support for docker image types
+
+ kiwi supports creation of lxc images which are stored below
+ var/lib/lxc/<container-name>. The docker subsystem expects
+ the image to be packed differently. Thus we added a new type:
++++ 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.QwUhcv/_old 2014-05-09 06:57:41.000000000 +0200
+++ /var/tmp/diff_new_pack.QwUhcv/_new 2014-05-09 06:57:41.000000000 +0200
@@ -26,8 +26,9 @@
Group: System/Management
Url: http://github.com/openSUSE/kiwi
Name: kiwi
-Version: 5.06.80
+Version: 5.06.86
Release: 0
+Provides: kiwi-schema = 6.1
# requirements to build packages
BuildRequires: diffutils
BuildRequires: e2fsprogs
@@ -81,6 +82,8 @@
Requires: rsync
Requires: screen
Requires: util-linux
+%if 0%{?suse_version}
+# SUSE specific requires
%if 0%{?suse_version} >= 1210
Requires: libsolv-tools
Requires: perl-solv
@@ -88,6 +91,16 @@
Requires: perl-satsolver >= 0.42
Requires: satsolver-tools
%endif
+%if %suse_version == 1110
+Requires: virt-utils
+%else
+Requires: qemu-tools
+%endif
+%endif
+%if 0%{?rhel_version} || 0%{?fedora} || 0%{?centos}
+# RHEL specific requires
+Requires: qemu-img
+%endif
# recommended to run kiwi
%if 0%{?suse_version}
Recommends: db45-utils
@@ -160,6 +173,7 @@
Authors:
--------
Marcus Schaefer
rpm/kiwi.spec.new && mv rpm/kiwi.spec.new rpm/kiwi.spec
-echo "update to version: $version... done" +echo "update to version: ${version}... done" +echo "update to schema: ${schema}... done" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/.revision new/kiwi/.revision --- old/kiwi/.revision 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/.revision 2014-05-08 10:42:52.000000000 +0200 @@ -1 +1 @@ -b8a815445395991bc9b75931807bd6193550d920 +9102d6cf4a38f556c62960cac9cffe4ab04b2bc1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/metadata/KIWIAnalyse.filter new/kiwi/metadata/KIWIAnalyse.filter --- old/kiwi/metadata/KIWIAnalyse.filter 1970-01-01 01:00:00.000000000 +0100 +++ new/kiwi/metadata/KIWIAnalyse.filter 2014-05-08 10:42:56.000000000 +0200 @@ -0,0 +1,8 @@ +# /.../ +# The following rules are embedded into a 'grep -E' call of the +# format '^/(\$|rule1|rule2|rule[n]' +# ---- +boot +var\/lib\/rpm +var\/lib\/ntp +var\/cache diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIAnalyseCustomData.sh new/kiwi/modules/KIWIAnalyseCustomData.sh --- old/kiwi/modules/KIWIAnalyseCustomData.sh 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIAnalyseCustomData.sh 2014-05-08 10:42:56.000000000 +0200 @@ -44,9 +44,14 @@ sort -u $1 -o $1 } +function custom_filter { + local filter=/usr/share/kiwi/metadata/KIWIAnalyse.filter + grep -v '^#' $filter | tr '\n' '|' +} + function filter_items { # files and directories matching here are filtered out - echo -n "^/(\$|tmp|dev|proc|sys|run|lost\+found|var\/run)" + echo -n "^/(\$|$(custom_filter)tmp|dev|proc|sys|run|lost\+found|var\/run)" } function filter_filesystem { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIAnalyseSoftware.pm new/kiwi/modules/KIWIAnalyseSoftware.pm --- old/kiwi/modules/KIWIAnalyseSoftware.pm 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIAnalyseSoftware.pm 2014-05-08 10:42:52.000000000 +0200 @@ -365,6 +365,7 @@ $source = "dir://".$mpoint; push @{$mounts},$mpoint; $osc{$product}{$source}{flag} = "local"; + $origsrc = "iso://$iso"; } #========================================== # handle source type http|https|ftp:// 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 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIBoot.pm 2014-05-08 10:42:52.000000000 +0200 @@ -483,8 +483,11 @@ $kiwi -> warning ( "UEFI Secure boot is only supported on x86_64" ); - $kiwi -> skipped (); - $firmware = 'bios'; + $kiwi -> skipped(); + $kiwi -> warning ( + "--> switching to non secure EFI boot\n" + ); + $firmware = 'efi'; } } #========================================== @@ -3618,6 +3621,9 @@ my $grub_efi = 'grub2'; my $grub_share = 'grub2'; my $lib = 'lib'; + if ($arch ne 'x86_64') { + $efipc = 'i386-efi'; + } if ($zipped) { $test = $unzip; } 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 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIConfig.sh 2014-05-08 10:42:52.000000000 +0200 @@ -144,10 +144,10 @@ echo "suseService: no service name specified" return fi - if [ $action = off ];then + if [ $target = off ];then suseRemoveService $service else - suseInsertService $service $action + suseInsertService $service $target fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIConfigWriter.pm new/kiwi/modules/KIWIConfigWriter.pm --- old/kiwi/modules/KIWIConfigWriter.pm 2014-03-04 11:48:57.000000000 +0100 +++ new/kiwi/modules/KIWIConfigWriter.pm 2014-05-08 10:42:52.000000000 +0200 @@ -100,6 +100,27 @@ } #========================================== +# setConfigFileName +#------------------------------------------ +sub setConfigFileName { + # ... + # Set the configuration file name + # --- + my $this = shift; + my $name = shift; + my $kiwi = $this->{kiwi}; + if (! $name) { + my $msg = 'setConfigFileName: no filename argument ' + . 'provided, retaining current data.'; + $kiwi -> error($msg); + $kiwi -> failed(); + return; + } + $this->{name} = $name; + return $this; +} + +#========================================== # setConfigDir #------------------------------------------ sub setConfigDir { @@ -126,4 +147,5 @@ $this->{confDir} = $confDir; return $this; } + 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIConfigWriterFactory.pm new/kiwi/modules/KIWIConfigWriterFactory.pm --- old/kiwi/modules/KIWIConfigWriterFactory.pm 2014-03-04 11:48:57.000000000 +0100 +++ new/kiwi/modules/KIWIConfigWriterFactory.pm 2014-05-08 10:42:52.000000000 +0200 @@ -90,8 +90,11 @@ my $xml = $this->{xml}; my $typeName = $xml -> getImageType() -> getTypeName(); SWITCH: for ($typeName) { - /^lxc/smx && do { + /^lxc|^docker/smx && do { my $writer = KIWIContainerConfigWriter -> new($xml, $confDir); + if (($writer) && ($typeName eq 'docker')) { + $writer -> setConfigFileName('default.conf'); + } return $writer; }; } 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 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIContainerBuilder.pm 2014-05-08 10:42:52.000000000 +0200 @@ -318,18 +318,48 @@ my $kiwi = $this->{kiwi}; my $locator = $this->{locator}; my $xml = $this->{xml}; + my $type = $xml -> getImageType(); + my $imageType = $type -> getTypeName(); + my $extension = '-lxc'; $kiwi -> info('Creating container tarball...'); + if ($imageType eq 'docker') { + $extension = '-docker'; + } my $baseBuildDir = $this -> getBaseBuildDirectory(); my $origin = $baseBuildDir . '/' . $this -> p_getBaseWorkingDir(); my $globals = KIWIGlobals -> instance(); - my $imgFlName = $globals -> generateBuildImageName($xml, '-', '-lxc'); + my $imgFlName = $globals -> generateBuildImageName( + $xml, '-', $extension + ); $imgFlName .= '.tbz'; my $tar = $locator -> getExecPath('tar'); - my $cmd = "cd $origin; " - . "$tar -cjf $baseBuildDir/$imgFlName etc var 2>&1"; - my $data = KIWIQX::qxx ($cmd); + if (! $tar) { + $kiwi -> failed(); + $kiwi -> error("Could not find tar utility"); + $kiwi -> failed(); + return; + } + my @dirlist; + if (opendir my($dh), $origin) { + @dirlist = grep { !/^\.\.?$/x } readdir $dh; + closedir $dh; + } else { + $kiwi -> failed(); + $kiwi -> error("Couldn't open dir $origin: $!"); + $kiwi -> failed(); + return; + } + if (! @dirlist) { + $kiwi -> failed(); + $kiwi -> error("Got empty dirlist"); + $kiwi -> failed(); + return; + } + my $data = KIWIQX::qxx ( + "$tar -C $origin -cjf $baseBuildDir/$imgFlName @dirlist 2>&1" + ); my $code = $? >> 8; if ($code != 0) { $kiwi -> failed(); @@ -350,25 +380,30 @@ # ... # Create the directory for the container configuration file # --- - my $this = shift; + my $this = shift; my $cmdL = $this->{cmdL}; my $kiwi = $this->{kiwi}; my $locator = $this->{locator}; - my $xml = $this->{xml}; - $kiwi -> info('Creating container configuration directory'); + my $xml = $this->{xml}; + my $msg; + $kiwi -> info("Creating container configuration directory\n"); # Build the directory name - my $dirPath = '/etc/lxc/'; - my $name = $xml -> getImageType() -> getContainerName(); - if (! $name) { - $kiwi -> failed(); - my $msg = 'KIWIContainerBuilder:__createContainerConfigDir ' - . 'internal error no container name found. Please file a bug.'; - $kiwi -> error($msg); - $kiwi -> failed(); - return; + my $dirPath = 'etc/lxc'; + my $type = $xml -> getImageType(); + my $containerName = $type -> getContainerName(); + my $imageType = $type -> getTypeName(); + if ($imageType eq "lxc") { + if (! $containerName) { + $msg = 'KIWIContainerBuilder:__createContainerConfigDir ' + . 'internal error no container name found. Please file a bug.'; + $kiwi -> error($msg); + $kiwi -> failed(); + return; + } + $dirPath .= '/'.$containerName; } - $dirPath .= $name; my $path = $this -> __createWorkingDir($dirPath); + $kiwi -> info ("--> $dirPath"); if (! $path) { $kiwi -> failed(); return; @@ -584,19 +619,25 @@ my $kiwi = $this->{kiwi}; my $locator = $this->{locator}; my $xml = $this->{xml}; + my $dirPath; + my $msg; $kiwi -> info('Creating rootfs target directory'); # Build the directory name - my $dirPath = 'var/lib/lxc/'; - my $name = $xml -> getImageType() -> getContainerName(); - if (! $name) { - $kiwi -> failed(); - my $msg = 'KIWIContainerBuilder:__createTargetRootTree ' - . 'internal error no container name found. Please file a bug.'; - $kiwi -> error($msg); - $kiwi -> failed(); - return; + my $type = $xml -> getImageType(); + my $imageType = $type -> getTypeName(); + if ($imageType eq 'lxc') { + $dirPath = 'var/lib/lxc/'; + my $containerName = $type -> getContainerName(); + if (! $containerName) { + $kiwi -> failed(); + $msg = 'KIWIContainerBuilder:__createTargetRootTree ' + . 'internal error no container name found. Please file a bug.'; + $kiwi -> error($msg); + $kiwi -> failed(); + return; + } + $dirPath .= $containerName . '/rootfs'; } - $dirPath .= $name . '/rootfs'; my $path = $this -> __createWorkingDir($dirPath); if (! $path) { $kiwi -> failed(); @@ -620,10 +661,15 @@ my $locator = $this->{locator}; my $basePath = $this -> getBaseBuildDirectory(); my $baseWork = $this -> p_getBaseWorkingDir(); - if (! $path && ! $baseWork) { + my $dirPath; + if (! $baseWork) { return $basePath; } - my $dirPath = $basePath . '/' . $baseWork . '/' . $path; + if ($path) { + $dirPath = $basePath . '/' . $baseWork . '/' . $path; + } else { + $dirPath = $basePath . '/' . $baseWork; + } my $mdir = $locator -> getExecPath('mkdir'); my $data = KIWIQX::qxx ("$mdir -p $dirPath"); my $code = $? >> 8; @@ -647,7 +693,7 @@ my $kiwi = $this->{kiwi}; my $locator = $this->{locator}; $kiwi -> info('Disable unwanted services'); - my $sysctl = $locator -> getExecPath('systemct', $targetDir); + my $sysctl = $locator -> getExecPath('systemctl', $targetDir); my $croot = $locator -> getExecPath('chroot'); if ($sysctl) { my @srvs = qw ( @@ -669,6 +715,10 @@ } } for my $srvPath (@services) { + if (-l $srvPath) { + # only real service files can be disabled + next; + } my @parts = split /\//smx, $srvPath; my $name = $parts[-1]; my $cmd = "$croot $targetDir " @@ -677,7 +727,7 @@ my $code = $? >> 8; if ($code != 0) { $kiwi -> failed(); - $kiwi -> error('Could not disable service: $name'); + $kiwi -> error("Could not disable service: $name"); $kiwi -> failed(); return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIContainerConfigWriter.pm new/kiwi/modules/KIWIContainerConfigWriter.pm --- old/kiwi/modules/KIWIContainerConfigWriter.pm 2014-03-04 11:48:57.000000000 +0100 +++ new/kiwi/modules/KIWIContainerConfigWriter.pm 2014-05-08 10:42:52.000000000 +0200 @@ -61,7 +61,10 @@ my $this = shift; my $kiwi = $this->{kiwi}; my $xml = $this->{xml}; - $kiwi -> info('Write container configuration file'); + my $loc = $this -> getConfigDir(); + my $fileName = $this -> getConfigFileName(); + $kiwi -> info("Write container configuration file\n"); + $kiwi -> info ("--> $loc/$fileName"); my $vmConfig = $xml -> getVMachineConfig(); my $config = '# KIWI generated container configuration file' . "\n"; if ($vmConfig) { @@ -115,10 +118,6 @@ . 'lxc.cgroup.devices.allow = c 5:2 rwm' . "\n" . '# rtc' . "\n" . 'lxc.cgroup.devices.allow = c 254:0 rwm' . "\n"; - - my $loc = $this -> getConfigDir(); - my $fileName = $this -> getConfigFileName(); - my $status = open (my $CONF, '>', "$loc/$fileName"); if (! $status) { $kiwi -> failed(); @@ -132,6 +131,7 @@ print $CONF $config; $status = close $CONF; if (! $status) { + $kiwi -> oops(); my $msg = 'Unable to close configuration file' . "$loc/$fileName"; $kiwi -> warning($msg); 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 2014-04-29 16:29:54.000000000 +0200 +++ new/kiwi/modules/KIWIGlobals.pm 2014-05-08 11:36:15.000000000 +0200 @@ -1398,7 +1398,7 @@ # Globals (generic) #------------------------------------------ my %data; - $data{Version} = "5.06.80"; + $data{Version} = "5.06.86"; $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/KIWIImage.pm new/kiwi/modules/KIWIImage.pm --- old/kiwi/modules/KIWIImage.pm 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIImage.pm 2014-05-08 10:42:52.000000000 +0200 @@ -1690,7 +1690,10 @@ $kiwi -> warning ( "UEFI Secure boot is only supported on x86_64" ); - $kiwi -> skipped (); + $kiwi -> skipped(); + $kiwi -> warning ( + "--> switching to non secure EFI boot\n" + ); $firmware = 'efi'; } #========================================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIImageBuildFactory.pm new/kiwi/modules/KIWIImageBuildFactory.pm --- old/kiwi/modules/KIWIImageBuildFactory.pm 2014-03-04 11:48:57.000000000 +0100 +++ new/kiwi/modules/KIWIImageBuildFactory.pm 2014-05-08 10:42:52.000000000 +0200 @@ -94,7 +94,7 @@ my $xml = $this->{xml}; my $typeName = $xml -> getImageType() -> getTypeName(); SWITCH: for ($typeName) { - /^lxc/smx && do { + /^lxc|^docker/smx && do { my $builder = KIWIContainerBuilder -> new($xml, $cmdL, $unPImg); return $builder; }; 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 2014-04-29 16:29:54.000000000 +0200 +++ new/kiwi/modules/KIWILinuxRC.sh 2014-05-08 10:42:56.000000000 +0200 @@ -6729,7 +6729,7 @@ #====================================== # set source path + tool if compressed #-------------------------------------- - if [ ! -z "$izip" ] && [ ! "$izip" = "uncompressed" ];then + if [ ! -z "$izip" ] && [[ ! "$izip" =~ ^uncomp ]];then if [ $izip = "compressed" ] || [ "$izip" = "compressed-gzip" ]; then unzip="gzip -d" path=$(echo "$path" | sed -e s@\\.gz@@) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIManagerZypper.pm new/kiwi/modules/KIWIManagerZypper.pm --- old/kiwi/modules/KIWIManagerZypper.pm 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIManagerZypper.pm 2014-05-08 10:42:52.000000000 +0200 @@ -351,9 +351,16 @@ $alias_filename =~ s/\//_/g; my $repo = "$root/$dataDir/repos/$alias_filename.repo"; my $imgRepo = "$root/etc/zypp/repos.d/$alias_filename.repo"; + # /.../ + # test if the repo exists with a shell test built-in + # this is because the repo string could contain shell escaped + # characters which is not supported by perl's test operators + # ---- + KIWIQX::qxx ("test -f $repo"); + my $repo_exists = ($? >> 8) == 0; my $sed; if (! $chroot) { - if (! -f $repo) { + if (! $repo_exists) { $kiwi -> info ("Adding bootstrap zypper service: $alias"); $data = KIWIQX::qxx ("@zypper --root \"$root\" $sadd 2>&1"); $code = $? >> 8; @@ -379,7 +386,7 @@ $kiwi -> done (); } else { my @zypper= @{$this->{zypper_chroot}}; - if (! -f $repo) { + if (! $repo_exists) { $kiwi -> info ("Adding chroot zypper service: $alias"); $data = KIWIQX::qxx ("@kchroot @zypper $sadd 2>&1"); $code = $? >> 8; 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-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIRoot.pm 2014-05-08 10:42:52.000000000 +0200 @@ -1534,16 +1534,27 @@ } my @newList= (); foreach my $item (reverse @mountList) { + # check for matching exclude expression if specified if (defined $expr) { if ($item !~ /$expr/) { push (@newList,$item); next; } } - $kiwi -> loginfo ("Umounting path: $item\n"); - if (! -d $item) { + # /.../ + # test if the item is a directory with a shell test built-in + # this is because the repo string could contain shell escaped + # characters which is not supported by perl's test operators + # ---- + KIWIQX::qxx ("test -d \"$item\""); + my $mountpoint_exists = ($? >> 8) == 0; + if (! $mountpoint_exists) { + $kiwi -> loginfo ( + "Warning: \"$item\" not a directory or not existing\n" + ); next; } + $kiwi -> loginfo ("Umounting path: $item\n"); my $data = KIWIQX::qxx ("umount \"$item\" 2>&1"); my $code = $? >> 8; if (($code != 0) && ($data !~ "not mounted")) { 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-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIRuntimeChecker.pm 2014-05-08 10:42:56.000000000 +0200 @@ -354,7 +354,7 @@ return 1; } my $name = $type -> getTypeName(); - if ($name =~ /^lxc/smx) { + if ($name =~ /^lxc|^docker/smx) { my $pckgs = $xml -> getPackages(); push @{$pckgs}, @{$xml -> getBootstrapPackages()}; for my $pckg (@{$pckgs}) { @@ -1171,6 +1171,7 @@ btrfs clicfs cpio + docker ext2 ext3 ext4 @@ -1273,17 +1274,10 @@ if (! $description) { return 1; } - if ($imgType !~ /iso|pxe|oem|vmx/) { - return 1; - } - if ($imgType eq 'pxe') { - $imgType = 'net'; - } - my $gdata = KIWIGlobals -> instance() -> getKiwiConfig(); - if (! -d "$gdata->{System}/${imgType}boot") { - my $msg = "The required boot image description for the "; - $msg.= "selected build type: '$imgType' does not exist. "; - $msg.= "Please install the package: kiwi-desc-${imgType}boot"; + my $bootdir = $locator -> getBootImageDescription($description); + if (! $bootdir) { + my $msg = "The required boot image description: '$description' "; + $msg.= "for the selected build type: '$imgType' does not exist. "; $kiwi -> error($msg); $kiwi -> failed(); return; 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-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWISchema.rnc 2014-05-08 10:42:52.000000000 +0200 @@ -1703,7 +1703,7 @@ k.type.image.attribute = ## Specifies the image type attribute image { - "btrfs" | "clicfs" | "cpio" | "ext2" | "ext3" | + "btrfs" | "clicfs" | "cpio" | "docker" | "ext2" | "ext3" | "ext4" | "iso" | "lxc" | "oem" | "product" | "pxe" | "reiserfs" | "split" | "squashfs" | "tbz" | "vmx" | "xfs" | "zfs" } @@ -2604,8 +2604,8 @@ # div { k.packages.type.attribute = attribute type { - "bootstrap" | "delete" | "image" | "iso" | "lxc" | "oem" | "pxe" | - "split" | "testsuite" | "vmx" + "bootstrap" | "delete" | "docker" | "image" | "iso" | + "lxc" | "oem" | "pxe" | "split" | "testsuite" | "vmx" } k.packages.profiles.attribute = k.profiles.attribute k.packages.patternType.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-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWISchema.rng 2014-05-08 10:42:52.000000000 +0200 @@ -2297,6 +2297,7 @@ <value>btrfs</value> <value>clicfs</value> <value>cpio</value> + <value>docker</value> <value>ext2</value> <value>ext3</value> <value>ext4</value> @@ -3761,6 +3762,7 @@ <choice> <value>bootstrap</value> <value>delete</value> + <value>docker</value> <value>image</value> <value>iso</value> <value>lxc</value> 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-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIXMLTypeData.pm 2014-05-08 10:42:52.000000000 +0200 @@ -2195,6 +2195,7 @@ btrfs clicfs cpio + docker ext2 ext3 ext4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIXMLValidator.pm new/kiwi/modules/KIWIXMLValidator.pm --- old/kiwi/modules/KIWIXMLValidator.pm 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/modules/KIWIXMLValidator.pm 2014-05-08 10:42:52.000000000 +0200 @@ -213,9 +213,9 @@ } #========================================== -# __checkConainerSpec +# __checkContainerSpec #------------------------------------------ -sub __checkConainerSpec { +sub __checkContainerSpec { # ... # Check that the container attribute is set and has a valid name # --- @@ -1217,7 +1217,7 @@ # relevant inside the initrd # ---- my %typeChildDeps = ( - 'machine' => 'image:cpio,lxc,oem,vmx,split', + 'machine' => 'image:cpio,lxc,docker,oem,vmx,split', 'oemconfig' => 'image:cpio,oem,split', 'pxedeploy' => 'image:cpio,pxe', 'size' => ':', # generic @@ -1745,7 +1745,7 @@ if (! $this -> __checkBootSpecPresent()) { return; } - if (! $this -> __checkConainerSpec()) { + if (! $this -> __checkContainerSpec()) { return; } if (! $this -> __checkDefaultProfSetting()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ix86/isoboot/suse-12.3/config.xml new/kiwi/system/boot/ix86/isoboot/suse-12.3/config.xml --- old/kiwi/system/boot/ix86/isoboot/suse-12.3/config.xml 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/system/boot/ix86/isoboot/suse-12.3/config.xml 2014-05-08 10:42:52.000000000 +0200 @@ -119,6 +119,8 @@ <package name="grub"/> <package name="grub2"/> <package name="grub2-efi"/> + <package name="grub2-i386-efi" arch="i686"/> + <package name="grub2-i386-efi" arch="i586"/> <package name="shim" arch="x86_64"/> <package name="hdparm"/> <package name="hwinfo"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ix86/oemboot/suse-12.3/config.xml new/kiwi/system/boot/ix86/oemboot/suse-12.3/config.xml --- old/kiwi/system/boot/ix86/oemboot/suse-12.3/config.xml 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/system/boot/ix86/oemboot/suse-12.3/config.xml 2014-05-08 10:42:52.000000000 +0200 @@ -136,6 +136,8 @@ <package name="grub"/> <package name="grub2"/> <package name="grub2-efi"/> + <package name="grub2-i386-efi" arch="i686"/> + <package name="grub2-i386-efi" arch="i586"/> <package name="shim" arch="x86_64"/> <package name="hwinfo"/> <package name="iputils"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ix86/vmxboot/suse-12.3/config.xml new/kiwi/system/boot/ix86/vmxboot/suse-12.3/config.xml --- old/kiwi/system/boot/ix86/vmxboot/suse-12.3/config.xml 2014-04-29 16:29:49.000000000 +0200 +++ new/kiwi/system/boot/ix86/vmxboot/suse-12.3/config.xml 2014-05-08 10:42:52.000000000 +0200 @@ -113,6 +113,8 @@ <package name="grub"/> <package name="grub2"/> <package name="grub2-efi"/> + <package name="grub2-i386-efi" arch="i686"/> + <package name="grub2-i386-efi" arch="i586"/> <package name="shim" arch="x86_64"/> <package name="hwinfo"/> <package name="kernel-firmware"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/template/ix86/suse-SLE12-JeOS/config.xml new/kiwi/template/ix86/suse-SLE12-JeOS/config.xml --- old/kiwi/template/ix86/suse-SLE12-JeOS/config.xml 2014-04-29 16:29:50.000000000 +0200 +++ new/kiwi/template/ix86/suse-SLE12-JeOS/config.xml 2014-05-08 10:42:52.000000000 +0200 @@ -68,16 +68,7 @@ <source path="http://download.suse.de/ibs/SUSE:/SLE-12:/GA/standard/"/> </repository> <packages type="image"> -<!-- The installation of patterns in SLE12 requires the SLE12 zypper --> -<!-- Thus the following definition only works when building on SLE12 --> -<!-- <namedCollection name="Minimal"/>--> -<!-- In order to stay compatible we just install the pattern package --> - <package name="patterns-sles-Minimal"/> -<!-- The installation of products in SLE12 requires the SLE12 zypper --> -<!-- Thus the following definition only works when building on SLE12 --> -<!-- <product name="SLES"/>--> -<!-- In order to stay compatible we just install the product package --> - <package name="sles-release-DVD"/> + <namedCollection name="Minimal"/> <package name="plymouth-branding-SLE" bootinclude="true"/> <package name="grub2-branding-SLE" bootinclude="true"/> <package name="ifplugd"/> @@ -128,6 +119,19 @@ <package name="glibc-locale"/> <package name="cracklib-dict-full"/> <package name="ca-certificates"/> +<!-- + The installation of products in SLE12 requires the SLE12 zypper + Thus the following definition only works when building on SLE12 + + <product name="SLES"/> + + In order to stay compatible we just install the product rpm + package. It's required to install the release package in the + bootstrap phase in order to avoid the installation of an auto + selected dummy-release package which later conflicts with all + other release packages +--> + <package name="sles-release"/> </packages> <packages type="delete"> <package name="kernel-debug"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/tests/unit/lib/Test/kiwiContainerBuilder.pm new/kiwi/tests/unit/lib/Test/kiwiContainerBuilder.pm --- old/kiwi/tests/unit/lib/Test/kiwiContainerBuilder.pm 2014-03-04 11:48:57.000000000 +0100 +++ new/kiwi/tests/unit/lib/Test/kiwiContainerBuilder.pm 2014-05-08 10:42:52.000000000 +0200 @@ -438,7 +438,7 @@ my $builder = KIWIContainerBuilder -> new($xml, $cmdL, $image); my $res = $builder -> __createContainerConfigDir(); my $msg = $kiwi -> getMessage(); - my $expected = 'Creating container configuration directory'; + my $expected = "Creating container configuration directory\n--> etc/lxc/mycontainer"; $this -> assert_str_equals($expected, $msg); my $msgT = $kiwi -> getMessageType(); $this -> assert_str_equals('info', $msgT); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/tests/unit/lib/Test/kiwiContainerConfigWriter.pm new/kiwi/tests/unit/lib/Test/kiwiContainerConfigWriter.pm --- old/kiwi/tests/unit/lib/Test/kiwiContainerConfigWriter.pm 2014-03-04 11:48:57.000000000 +0100 +++ new/kiwi/tests/unit/lib/Test/kiwiContainerConfigWriter.pm 2014-05-08 10:42:52.000000000 +0200 @@ -307,8 +307,8 @@ my $writer = KIWIContainerConfigWriter -> new($xml, $cDir); my $res = $writer -> p_writeConfigFile(); my $msg = $kiwi -> getInfoMessage(); - my $expected = 'Write container configuration file' - . 'Write fstab for container'; + my $expected = "Write container configuration file\n" + . "--> /tmp/kiwiDevTests/configWrite fstab for container"; $this -> assert_str_equals($expected, $msg); my $msgT = $kiwi -> getMessageType(); $this -> assert_str_equals('info', $msgT); -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org