Hello community,

here is the log from the commit of package kiwi for openSUSE:Factory
checked in at Wed Mar 16 10:58:08 CET 2011.



--------
--- kiwi/kiwi.changes   2011-03-14 17:56:28.000000000 +0100
+++ /mounts/work_src_done/STABLE/kiwi/kiwi.changes      2011-03-15 
18:14:35.000000000 +0100
@@ -1,0 +2,69 @@
+Tue Mar 15 18:06:03 CET 2011 - [email protected]
+  
+- fixed device map cleanup. The cleanup happened to early
+  because the installBootLoader() code accesses the device
+  map under certain circumstances but the original device
+  was already freed. In that case the installBootLoader()
+  code re-adds the mapping but that could lead to a different
+  device name compared to the one stored in the device
+  mapping table
+  
+-------------------------------------------------------------------
+Tue Mar 15 16:56:52 CET 2011 - [email protected]
+  
+- prevent the use of File::Path qw(make_path remove_tree) because
+  it's not compatible to File::Path qw(mkpath rmtree) in older
+  perl versions
+  
+-------------------------------------------------------------------
+Tue Mar 15 11:50:21 CET 2011 - [email protected]
+  
+- fixed race condition in CD device search, missing udevPending
+- fixed wrong mountCalled variable setup, the return code of the
+  mount call was not checked. So even if the mount failed the
+  variable was set to 'yes' which leads to an umount of the root
+  filesystem before the root filesystem was activated
+  
+-------------------------------------------------------------------
+Tue Mar 15 09:54:36 CET 2011 - [email protected]
+  
+- removed local sle11 repo assigned to 11.4 net|oemboot boot image
+  description. This was to pull in busybox but I don't want sle
+  busybox in 11.4 to avoid compatibility problems (bnc #679659)
+  
+-------------------------------------------------------------------
+Tue Mar 15 09:46:29 CET 2011 - [email protected]
+  
+- removed busybox from boot image descriptions for 11.4. It's
+  not distributed with the 11.4 media anymore (bnc #679660)
+  
+-------------------------------------------------------------------
+Tue Mar 15 09:38:08 CET 2011 - [email protected]
+  
+- added new consistency check to assure that all credentials
+  used with any specified "https" repository are the same. Further
+  the consistency check verifies that the username and password
+  attributes are always used together.
+  
+-------------------------------------------------------------------
+Tue Mar 15 09:36:01 CET 2011 - [email protected]
+  
+- added support for https repositories for zypper with username
+  and password. Here is an example specification:
+  
+  <repository type="rpm-md" username="UNAME" password="PASS">
+  <source path="https://..."/>
+  </repository>
+  
+  kiwi now writes a credentials file and takes advantage of
+  the zypper support for this file. This patch also addresses
+  the problem that in the current implementation we end up using
+  the build system zypper configuration file "zypper.conf"
+  as zypper is called without the "--config" option.
+  
+-------------------------------------------------------------------
+Tue Mar 15 09:29:30 CET 2011 - [email protected]
+  
+- DB: update documentation, https support added for zypper
+  
+-------------------------------------------------------------------

calling whatdependson for head-i586


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

Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.7AYk5I/_old  2011-03-16 10:55:27.000000000 +0100
+++ /var/tmp/diff_new_pack.7AYk5I/_new  2011-03-16 10:55:27.000000000 +0100
@@ -66,7 +66,7 @@
 %endif
 Summary:        OpenSuSE - KIWI Image System
 Version:        4.81
-Release:        1
+Release:        2
 Group:          System/Management
 License:        GPLv2
 Source:         %{name}.tar.bz2

++++++ kiwi-docu.tar.bz2 ++++++
kiwi/kiwi-docu.tar.bz2 /mounts/work_src_done/STABLE/kiwi/kiwi-docu.tar.bz2 
differ: char 11, line 1

++++++ kiwi.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/.revision new/kiwi/.revision
--- old/kiwi/.revision  2011-03-11 15:47:36.000000000 +0100
+++ new/kiwi/.revision  2011-03-11 15:47:36.000000000 +0100
@@ -1 +1 @@
-ea7388d2a0c22024e9b23763764e63a63df6da1f
+2c6b1b34d7616364a657482c9a1db49eeb01a383
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/Makefile new/kiwi/Makefile
--- old/kiwi/Makefile   2011-02-21 15:15:25.000000000 +0100
+++ new/kiwi/Makefile   2011-03-15 12:07:25.000000000 +0100
@@ -164,6 +164,7 @@
        #--------------------------------------------
        tests/unit/cleanup.sh
        for i in `find tests/unit -name "*.t"`;do \
+               echo $$i ;\
                perl $$i ;\
        done
 
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        2011-03-11 15:36:06.000000000 +0100
+++ new/kiwi/modules/KIWIBoot.pm        2011-03-15 18:10:36.000000000 +0100
@@ -84,7 +84,7 @@
        # create log object if not done
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        #==========================================
        # check initrd file parameter
@@ -2226,13 +2226,6 @@
        main::umount();
        $kiwi -> done();
        #==========================================
-       # cleanup device maps and part mount
-       #------------------------------------------
-       if ($lvm) {
-               qxx ("vgchange -an $this->{lvmgroup} 2>&1");
-       }
-       $this -> cleanLoopMaps();
-       #==========================================
        # Install boot loader on disk
        #------------------------------------------
        my $bootdevice = $diskname;
@@ -2244,6 +2237,13 @@
                return undef;
        }
        #==========================================
+       # cleanup device maps and part mount
+       #------------------------------------------
+       if ($lvm) {
+               qxx ("vgchange -an $this->{lvmgroup} 2>&1");
+       }
+       $this -> cleanLoopMaps();
+       #==========================================
        # cleanup temp directory
        #------------------------------------------
        qxx ("rm -rf $tmpdir");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWICommandLine.pm 
new/kiwi/modules/KIWICommandLine.pm
--- old/kiwi/modules/KIWICommandLine.pm 2011-03-11 15:36:06.000000000 +0100
+++ new/kiwi/modules/KIWICommandLine.pm 2011-03-15 12:07:25.000000000 +0100
@@ -49,7 +49,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        #==========================================
        # Object initialize object member data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIConfigure.pm 
new/kiwi/modules/KIWIConfigure.pm
--- old/kiwi/modules/KIWIConfigure.pm   2011-02-21 15:15:26.000000000 +0100
+++ new/kiwi/modules/KIWIConfigure.pm   2011-03-15 12:07:25.000000000 +0100
@@ -49,7 +49,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        if (! defined $xml) {
                $kiwi -> error ("No XML reference specified");
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       2011-03-11 15:36:06.000000000 +0100
+++ new/kiwi/modules/KIWIImage.pm       2011-03-15 12:07:25.000000000 +0100
@@ -70,7 +70,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        if (! defined $xml) {
                $kiwi -> error ("No XML reference specified");
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 2011-03-11 15:36:06.000000000 +0100
+++ new/kiwi/modules/KIWIImageFormat.pm 2011-03-15 12:07:25.000000000 +0100
@@ -57,7 +57,7 @@
        my $code;
        my $data;
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        #==========================================
        # check image file
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     2011-03-14 17:52:23.000000000 +0100
+++ new/kiwi/modules/KIWILinuxRC.sh     2011-03-15 12:07:25.000000000 +0100
@@ -2804,6 +2804,7 @@
                        sleep 1
                fi
                count=`expr $count + 1`
+               udevPending
        done
        echo
        if [ -z "$cddev" ];then
@@ -7107,12 +7108,13 @@
        # according to the different boot-up situations
        # ----
        #======================================
-       # mount boot partition of required
+       # mount boot partition if required
        #--------------------------------------
        local mountCalled=no
-       if [ -e "$imageRWDevice" ] && blkid $imageRWDevice;then
-               kiwiMount $imageRWDevice "/mnt"
-               mountCalled=yes
+       if [ -e "$imageBootDevice" ] && blkid $imageBootDevice;then
+               if kiwiMount $imageBootDevice "/mnt";then
+                       mountCalled=yes
+               fi
        fi
        #======================================
        # Change to boot directory
@@ -7164,9 +7166,6 @@
                umount /mnt
        fi
 }
-
-#FIXME
-
 #======================================
 # initialize
 #--------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWILocator.pm 
new/kiwi/modules/KIWILocator.pm
--- old/kiwi/modules/KIWILocator.pm     2011-02-25 13:03:46.000000000 +0100
+++ new/kiwi/modules/KIWILocator.pm     2011-03-15 12:07:25.000000000 +0100
@@ -50,7 +50,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        #==========================================
        # Store object data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWILog.pm new/kiwi/modules/KIWILog.pm
--- old/kiwi/modules/KIWILog.pm 2010-11-19 15:29:38.000000000 +0100
+++ new/kiwi/modules/KIWILog.pm 2011-03-15 18:10:36.000000000 +0100
@@ -106,7 +106,7 @@
        my $level   = $this->{level};
        my $date    = $this->{date};
        if (! defined $smem) {
-               if ($this->trace()) {
+               if (($this->trace()) && ($main::TT)) {
                        $main::BT.=eval { Carp::longmess 
($main::TT.$main::TL++) };
                }
                return undef;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIManager.pm 
new/kiwi/modules/KIWIManager.pm
--- old/kiwi/modules/KIWIManager.pm     2011-03-11 15:36:06.000000000 +0100
+++ new/kiwi/modules/KIWIManager.pm     2011-03-15 18:10:36.000000000 +0100
@@ -24,6 +24,7 @@
 use File::Basename;
 use Config::IniFiles;
 use KIWILog;
+use KIWILocator;
 use KIWIQX;
 
 #==========================================
@@ -36,11 +37,12 @@
 # Exports
 #------------------------------------------
 our %packageManager;
-$packageManager{smart}   = "/usr/bin/smart";
-$packageManager{zypper}  = "/usr/bin/zypper";
-$packageManager{ensconce}= "/usr/bin/ensconce";
-$packageManager{yum}     = "/usr/bin/yum";
-$packageManager{default} = "smart";
+my $locator = new KIWILocator();
+$packageManager{smart}   = $locator -> getExecPath('smart');
+$packageManager{zypper}  = $locator -> getExecPath('zypper');
+$packageManager{ensconce}= $locator -> getExecPath('ensconce');
+$packageManager{yum}     = $locator -> getExecPath('yum');
+$packageManager{default} = 'smart';
 
 #==========================================
 # Constructor
@@ -70,7 +72,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        if (! defined $xml) {
                $kiwi -> error  ("Missing XML description pointer");
@@ -91,26 +93,64 @@
        if (! defined $manager) {
                $manager = $packageManager{default};
        }
+       if (defined $targetArch && $manager ne 'zypper') {
+               $kiwi -> warning ("Target architecture not supported for 
$manager");
+               $kiwi -> skipped ();
+       }
+       #==========================================
+       # Clean out any potential previous data
+       #------------------------------------------
        my $dataDir = "/var/cache/kiwi/$manager";
        if (! -d $dataDir) {
                qxx ("mkdir -p $dataDir");
        }
-       my $zyppConf = "/var/cache/kiwi/zypp.conf.$$";
-       qxx ("rm -f /var/cache/kiwi/zypp.conf*");
-       qxx ("echo '[main]' > $zyppConf");
-       $ENV{ZYPP_CONF} = $zyppConf;    
-       my $zconfig = new Config::IniFiles (
-               -file => $zyppConf, -allowedcommentchars => '#'
-       );
-       if (defined $targetArch) {
-               if ($manager eq "zypper") {
+       qxx ("rm -rf $dataDir/*");
+       my $zyppConf;   # Configuration file for libzypp
+       my $zypperConf; # Configuration file for zypper
+       my $zconfig;
+       #==========================================
+       # Create package manager conf files
+       #------------------------------------------
+       if ($manager eq "zypper") {
+               $zypperConf = "$dataDir/zypper.conf.$$";
+               $zyppConf = "$dataDir/zypp.conf.$$";
+               qxx ("echo '[main]' > $zypperConf");
+               qxx ("echo '[main]' > $zyppConf");
+               $ENV{ZYPP_CONF} = $zyppConf;
+               # /.../
+               # Bug in aria2c causes loss of credentials, thus download will 
not
+               # work. Disable aria2c and use curl instead. curl is the 
default for
+               # SLES 11 and openSUSE 11.4
+               # ----
+               $ENV{ZYPP_ARIA2C} = 0;
+               $zconfig = new Config::IniFiles (
+                       -file => $zyppConf, -allowedcommentchars => '#'
+               );
+               my ($uname, $pass) = $xml->getHttpsRepositoryCredentials();
+               if ($uname) {
+                       $kiwi -> info ('Creating credentials data');
+                       my $credDir = "$dataDir/credentials.d";
+                       mkdir $credDir;
+                       $zconfig->newval('main', 'credentials.global.dir', 
$credDir);
+                       $zconfig->RewriteConfig();
+                       open my $credFile, '>'. "$credDir/kiwiRepoCredentials";
+                       if (!$credFile) {
+                               my $msg = 'Unable to open credetials file for 
write '
+                               . "in $credDir";
+                               $kiwi -> error ($msg);
+                               $kiwi -> failed();
+                               return undef;
+                       }
+                       print $credFile "username=$uname\n";
+                       print $credFile "password=$pass\n";
+                       close $credFile;
+                       $kiwi -> done();
+               }
+               if (defined $targetArch) {
                        $kiwi -> info ("Setting target architecture to: 
$targetArch");
                        $zconfig->newval('main', 'arch', $targetArch);
-                       $zconfig->RewriteConfig;
+                       $zconfig->RewriteConfig();
                        $kiwi -> done ();
-               } else {
-                       $kiwi -> warning ("Target architecture not supported 
for $manager");
-                       $kiwi -> skipped ();
                }
        }
        my @channelList = ();
@@ -145,7 +185,8 @@
                "--no-gpg-checks",
                "--reposd-dir $dataDir",
                "--cache-dir $dataDir",
-               "--raw-cache-dir $dataDir"
+               "--raw-cache-dir $dataDir",
+               "--config $zypperConf"
        ];
        $this->{ensconce}    = [
                $packageManager{ensconce},
@@ -746,6 +787,14 @@
                                        if ($val =~ /^'\//) {
                                                $val =~ 
s/^'(.*)'$/"file:\/\/$1"/
                                        }
+                                       if ($val =~ /^'https:/) {
+                                               my ($uname, $pass) = 
$this->{xml}
+                                                                       
->getHttpsRepositoryCredentials();
+                                               if ($uname) {
+                                                       chop $val;
+                                                       $val .= 
"?credentials=kiwiRepoCredentials'";
+                                               }
+                                       }
                                        push (@zopts,$val);
                                }
                                #==========================================
@@ -1152,6 +1201,7 @@
                print $fd "export ZYPP_MODALIAS_SYSFS=/tmp\n";
                print $fd "export YAST_IS_RUNNING=true\n";
                print $fd "export ZYPP_CONF=".$this->{zyppconf}."\n";
+               print $fd "export ZYPP_ARIA2C=0\n";
                print $fd "@kchroot @zypper install ";
                print $fd "@installOpts @addonPackages &\n";
                print $fd "SPID=\$!;wait \$SPID\n";
@@ -1286,6 +1336,7 @@
                print $fd "export ZYPP_MODALIAS_SYSFS=/tmp\n";
                print $fd "export YAST_IS_RUNNING=true\n";
                print $fd "export ZYPP_CONF=".$this->{zyppconf}."\n";
+               print $fd "export ZYPP_ARIA2C=0\n";
                print $fd "@kchroot @zypper remove ";
                print $fd "@installOpts @removePackages || true &\n";
                print $fd "SPID=\$!;wait \$SPID\n";
@@ -1444,6 +1495,7 @@
                print $fd "export ZYPP_MODALIAS_SYSFS=/tmp\n";
                print $fd "export YAST_IS_RUNNING=true\n";
                print $fd "export ZYPP_CONF=".$this->{zyppconf}."\n";
+               print $fd "export ZYPP_ARIA2C=0\n";
                if (defined $delPacks) {
                        my @removePackages = @{$delPacks};
                        if (@removePackages) {
@@ -1896,6 +1948,7 @@
                        print $fd "export ZYPP_MODALIAS_SYSFS=/tmp\n";
                        print $fd "export YAST_IS_RUNNING=true\n";
                        print $fd "export 
ZYPP_CONF=".$root."/".$this->{zyppconf}."\n";
+                       print $fd "export ZYPP_ARIA2C=0\n";
                        if (@newprods) {
                                print $fd "@zypper --root $root install ";
                                print $fd "@installOpts -t product @newprods 
&\n";
@@ -1961,6 +2014,7 @@
                        print $fd "export ZYPP_MODALIAS_SYSFS=/tmp\n";
                        print $fd "export YAST_IS_RUNNING=true\n";
                        print $fd "export ZYPP_CONF=".$this->{zyppconf}."\n";
+                       print $fd "export ZYPP_ARIA2C=0\n";
                        if (@newprods) {
                                print $fd "@kchroot @zypper install ";
                                print $fd "@installOpts -t product @newprods 
&\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIMigrate.pm 
new/kiwi/modules/KIWIMigrate.pm
--- old/kiwi/modules/KIWIMigrate.pm     2011-01-20 09:19:55.000000000 +0100
+++ new/kiwi/modules/KIWIMigrate.pm     2011-03-15 12:07:25.000000000 +0100
@@ -67,7 +67,7 @@
        my $code;
        my $data;
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        if (! defined $name) {
                $kiwi -> failed ();
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        2011-03-02 10:57:51.000000000 +0100
+++ new/kiwi/modules/KIWIRoot.pm        2011-03-15 12:07:25.000000000 +0100
@@ -62,7 +62,7 @@
        #------------------------------------------
        my $code;
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        if (($imageDesc !~ /\//) && (! -d $imageDesc)) {
                $imageDesc = $main::System."/".$imageDesc;
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      2011-03-11 15:36:06.000000000 
+0100
+++ new/kiwi/modules/KIWIRuntimeChecker.pm      2011-03-15 12:07:25.000000000 
+0100
@@ -72,7 +72,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        $this->{cmdArgs} = $cmdArgs;
        $this->{locator} = new KIWILocator($kiwi);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWISharedMem.pm 
new/kiwi/modules/KIWISharedMem.pm
--- old/kiwi/modules/KIWISharedMem.pm   2011-02-25 13:03:46.000000000 +0100
+++ new/kiwi/modules/KIWISharedMem.pm   2011-03-15 12:07:25.000000000 +0100
@@ -50,7 +50,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        my $key = shmget(IPC_PRIVATE, MAXBUF, S_IRWXU);
        if (! defined $key) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/modules/KIWIURL.pm new/kiwi/modules/KIWIURL.pm
--- old/kiwi/modules/KIWIURL.pm 2011-02-21 15:15:26.000000000 +0100
+++ new/kiwi/modules/KIWIURL.pm 2011-03-15 12:07:25.000000000 +0100
@@ -50,7 +50,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        #==========================================
        # Store object data
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 2011-03-11 15:36:06.000000000 +0100
+++ new/kiwi/modules/KIWIXML.pm 2011-03-15 12:07:26.000000000 +0100
@@ -94,7 +94,7 @@
        #------------------------------------------
        my $arch = qxx ("uname -m"); chomp $arch;
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        #==========================================
        # Check pre condition
@@ -1789,6 +1789,30 @@
 }
 
 #==========================================
+# getHttpsRepositoryCredentials
+#------------------------------------------
+sub getHttpsRepositoryCredentials {
+       # ...
+       # If any repository is configered with credentials return the username
+       # and password
+       # ---
+       my $this = shift;
+       my @repoNodes = $this->{repositNodeList} -> get_nodelist();
+       for my $repo (@repoNodes) {
+               my $uname = $repo -> getAttribute('username');
+               my $pass = $repo -> getAttribute('password');
+               if ($uname) {
+                       my @sources = $repo -> getElementsByTagName ('source');
+                       my $path = $sources[0] -> getAttribute('path');
+                       if ( $path =~ /^https:/) {
+                               return ($uname, $pass);
+                       }
+               }
+       }
+       return undef;
+}
+
+#==========================================
 # ignoreRepositories
 #------------------------------------------
 sub ignoreRepositories {
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        2011-03-11 15:36:06.000000000 
+0100
+++ new/kiwi/modules/KIWIXMLValidator.pm        2011-03-15 12:07:26.000000000 
+0100
@@ -56,7 +56,7 @@
        # Constructor setup
        #------------------------------------------
        if (! defined $kiwi) {
-               $kiwi = new KIWILog();
+               $kiwi = new KIWILog("tiny");
        }
        #==========================================
        # Check pre-conditions
@@ -305,6 +305,68 @@
 }
 
 #==========================================
+# __checkHttpsCredentialsrConsistent
+#------------------------------------------
+sub __checkHttpsCredentialsConsistent {
+       # ...
+       # username and password attributes for all repositories configured
+       # as https: must have the same value. Any repository that has a
+       # username attribute must also have a password attribute.
+       # ---
+       my $this = shift;
+       my $kiwi = $this -> {kiwi};
+       my @repoNodes = $this->{systemTree} -> 
getElementsByTagName('repository');
+       my $uname;
+       my $passwd;
+       my $numRep = @repoNodes;
+       for my $repoNode (@repoNodes) {
+               my $user = $repoNode -> getAttribute('username');
+               my $pass = $repoNode -> getAttribute('password');
+               if (! $user && $pass) {
+                       my $msg = 'Specified password without username on 
repository';
+                       $kiwi -> error ($msg);
+                       $kiwi -> failed();
+                       return undef;
+               }
+               if ($user && (! $pass)) {
+                       my $msg = 'Specified username without password on 
repository';
+                       $kiwi -> error ($msg);
+                       $kiwi -> failed();
+                       return undef;
+               }
+               if ($user && $pass) {
+                       my @sources = $repoNode -> getElementsByTagName 
('source');
+                       my $path = $sources[0] -> getAttribute('path');
+                       if ($path !~ /^https:/) {
+                               next;
+                       }
+                       if (! $uname) {
+                               $uname = $user;
+                               $passwd = $pass;
+                               next;
+                       }
+                       if ($user ne $uname) {
+                               my $msg = "Specified username, $user, for https 
repository "
+                               . "does not match previously specified name, 
$uname. "
+                               . 'All credentials for https repositories must 
be equal.';
+                               $kiwi -> error ($msg);
+                               $kiwi -> failed();
+                               return undef;
+                       }
+                       if ($pass ne $passwd) {
+                               my $msg = "Specified password, $pass, for https 
repository "
+                               . "does not match previously specified 
password, $passwd. "
+                               . 'All credentials for https repositories must 
be equal.';
+                               $kiwi -> error ($msg);
+                               $kiwi -> failed();
+                               return undef;
+                       }
+               }
+       }
+       return 1;
+}
+
+#==========================================
 # __checkPatternTypeAttrConsistent
 #------------------------------------------
 sub __checkPatternTypeAttrConsistent {
@@ -755,6 +817,9 @@
        if (! $this -> __checkFilesysSpec()) {
                return undef;
        }
+       if (! $this -> __checkHttpsCredentialsConsistent()) {
+               return undef;
+       }
        if (! $this -> __checkPatternTypeAttrUse()) {
                return undef;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/system/boot/ix86/netboot/suse-11.4/config.xml 
new/kiwi/system/boot/ix86/netboot/suse-11.4/config.xml
--- old/kiwi/system/boot/ix86/netboot/suse-11.4/config.xml      2011-03-14 
14:50:38.000000000 +0100
+++ new/kiwi/system/boot/ix86/netboot/suse-11.4/config.xml      2011-03-15 
12:07:26.000000000 +0100
@@ -143,9 +143,6 @@
        <repository type="yast2" status="replaceable">
                <source path="/image/CDs/full-11.4-i386"/>
        </repository>
-       <repository type="rpm-dir" status="fixed">
-               <source path="/usr/share/kiwi/repo/suse-repo/suse-sle11-repo"/>
-       </repository>
        <packages type="image" profiles="std">
                <package name="kernel-default"/>
        </packages>
@@ -172,7 +169,6 @@
                <package name="psmisc"/>
                <package name="iputils"/>
                <package name="atftp"/>
-               <package name="busybox"/>
                <package name="bind-libs"/>
                <package name="bind-utils"/>
                <package name="dhcpcd"/>
@@ -206,7 +202,6 @@
                <package name="clicfs"/>
                <package name="iputils"/>
                <package name="atftp"/>
-               <package name="busybox"/>
                <package name="dhcpcd"/>
                <package name="file"/>
                <package name="hwinfo"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/system/boot/ix86/oemboot/suse-11.4/config.xml 
new/kiwi/system/boot/ix86/oemboot/suse-11.4/config.xml
--- old/kiwi/system/boot/ix86/oemboot/suse-11.4/config.xml      2011-03-14 
14:50:38.000000000 +0100
+++ new/kiwi/system/boot/ix86/oemboot/suse-11.4/config.xml      2011-03-15 
12:07:26.000000000 +0100
@@ -84,9 +84,6 @@
        <repository type="yast2" status="replaceable">
                <source path="/image/CDs/full-i386"/>
        </repository>
-       <repository type="rpm-dir" status="fixed">
-               <source path="/usr/share/kiwi/repo/suse-repo/suse-sle11-repo"/>
-       </repository>
        <packages type="image" profiles="std">
                <package name="kernel-default"/>
        </packages>
@@ -109,7 +106,6 @@
        <packages type="image">
                <package name="curl"/>
                <package name="atftp"/>
-               <package name="busybox"/>
                <package name="parted"/>
                <package name="adaptec-firmware"/>
                <package name="dialog"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_1.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_1.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_1.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_1.xml     
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_2.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_2.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_2.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_2.xml     
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_3.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_3.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_3.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_3.xml     
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-md" username="someoneelse" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Pool/sle-11-x86_64"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_4.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_4.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_4.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_4.xml     
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-md" username="itsme" password="another">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Pool/sle-11-x86_64"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_5.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_5.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_5.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_5.xml     
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Pool/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-dir" username="another">
+               <source path="smb://myshare"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_6.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_6.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_6.xml     
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsInvalid_6.xml     
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Pool/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-dir" password="another">
+               <source path="smb://myshare"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_1.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_1.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_1.xml       
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_1.xml       
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="heythere" password="any">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_2.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_2.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_2.xml       
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_2.xml       
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Pool/sle-11-x86_64"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_3.xml 
new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_3.xml
--- old/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_3.xml       
1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/xmlValidator/httpsRepoCredentialsValid_3.xml       
2011-03-15 12:07:26.000000000 +0100
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="4.9" name="suse-11.3-oem-preload">
+       <description type="system">
+               <author>Robert Schweikert</author>
+               <contact>[email protected]</contact>
+               <specification>test missing filesystem attr</specification>
+       </description>
+       <preferences>
+               <type image="oem" filesystem="ext3" boot="oemboot/suse-11.3" 
installiso="true" installboot="install">
+                       <oemconfig>
+                               <oem-reboot>true</oem-reboot>
+                               <oem-swap>false</oem-swap>
+                               <oem-unattended>true</oem-unattended>
+                       </oemconfig>
+               </type>
+               <version>1.0.0</version>
+               <packagemanager>zypper</packagemanager>
+               <rpm-check-signatures>false</rpm-check-signatures>
+               <rpm-force>true</rpm-force>
+               <locale>en_US</locale>
+               <keytable>us.map.gz</keytable>
+       </preferences>
+       <users group="root">
+               <user pwd="linux" pwdformat="plain" home="/root" name="root"/>
+       </users>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Updates/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-md" username="itsme" password="heythere">
+               <source 
path="https://nu.novell.com/repo/$RCE/SLES11-SP1-Pool/sle-11-x86_64"/>
+       </repository>
+       <repository type="rpm-dir" username="someoneelse" password="another">
+               <source path="smb://myshare"/>
+       </repository>
+       <packages type="image" patternType="plusRecommended">
+               <package name="bootsplash-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="gfxboot-branding-openSUSE" bootinclude="true" 
bootdelete="true"/>
+               <package name="kernel-default"/>
+               <package name="vi"/>
+               <opensusePattern name="default"/>
+       </packages>
+       <packages type="bootstrap">
+               <package name="filesystem"/>
+               <package name="glibc-locale"/>
+       </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kiwi/tests/unit/lib/Test/xmlValidator.pm 
new/kiwi/tests/unit/lib/Test/xmlValidator.pm
--- old/kiwi/tests/unit/lib/Test/xmlValidator.pm        2011-03-11 
15:36:07.000000000 +0100
+++ new/kiwi/tests/unit/lib/Test/xmlValidator.pm        2011-03-15 
12:07:26.000000000 +0100
@@ -296,6 +296,52 @@
 }
 
 #==========================================
+# test_httpsRepoCredentials
+#------------------------------------------
+sub test_httpsRepoCredentials {
+       # ...
+       # Test proper enforcement of the credential rules for repositories.
+       # Repositories with username attribute must have password attribute and
+       # vice versa
+       # All https repositories must have the same credentials.
+       # ---
+       my $this = shift;
+       my @invalidConfigs = $this -> __getInvalidFiles('httpsRepoCredentials');
+       my $expectedMsg;
+       for my $iConfFile (@invalidConfigs) {
+               my $validator = $this -> __getValidator($iConfFile);
+               $validator -> validate();
+               my $kiwi = $this -> {kiwi};
+               my $msg = $kiwi -> getMessage();
+               if ($iConfFile =~ /httpsRepoCredentialsInvalid_1|5.xml/) {
+                       $expectedMsg = 'Specified username without password on 
repository';
+                       
+               } elsif ($iConfFile =~ /httpsRepoCredentialsInvalid_2|6.xml/) {
+                       $expectedMsg = 'Specified password without username on 
repository';
+               } elsif ($iConfFile =~ /httpsRepoCredentialsInvalid_3.xml/) {
+                       $expectedMsg = 'Specified username, someoneelse, for 
https '
+                       . 'repository does not match previously specified name, 
itsme. '
+                       . 'All credentials for https repositories must be 
equal.';
+               } elsif ($iConfFile =~ /httpsRepoCredentialsInvalid_4.xml/) {
+                       $expectedMsg = 'Specified password, another, for https 
repository '
+                       . 'does not match previously specified password, 
heythere. All '
+                       . 'credentials for https repositories must be equal.';
+               } else {
+                       $expectedMsg = 'Should not get here.';
+               }
+               $this -> assert_str_equals($expectedMsg, $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_not_null($validator);
+       }
+       my @validConfigs = $this -> __getValidFiles('httpsRepoCredentials');
+       $this -> __verifyValid(@validConfigs);
+}
+
+#==========================================
 # test_missingFilesysAttr
 #------------------------------------------
 sub test_missingFilesysAttr {


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



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to