Hello community, here is the log from the commit of package kiwi checked in at Tue Nov 20 18:32:49 CET 2007. -------- --- arch/i386/kiwi/kiwi.changes 2007-11-20 10:38:40.000000000 +0100 +++ /mounts/work_src_done/STABLE/kiwi/kiwi.changes 2007-11-20 16:09:54.360332000 +0100 @@ -1,0 +2,10 @@ +Tue Nov 20 13:50:57 CET 2007 - ms@suse.de + +- v1.93 +- added support for iso:///path/to/iso/file (#338090) +- added update of user/group permissions (#342219) +- added closeKernelConsole function and rename existing function + to openKernelConsole which is more what it does +- fixed initial creation of /dev/tty1-4 devices + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi.spec ++++++ --- /var/tmp/diff_new_pack.x19802/_old 2007-11-20 18:32:29.000000000 +0100 +++ /var/tmp/diff_new_pack.x19802/_new 2007-11-20 18:32:29.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package kiwi (Version 1.92) +# spec file for package kiwi (Version 1.93) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -18,7 +18,7 @@ %endif Requires: perl perl-XML-LibXML perl-libwww-perl screen coreutils Summary: OpenSuSE - KIWI Image System -Version: 1.92 +Version: 1.93 Release: 1 Group: System/Management License: GPL v2 or later @@ -354,6 +354,13 @@ %{_datadir}/kiwi/image/oemboot/suse* %changelog * Tue Nov 20 2007 - ms@suse.de +- v1.93 +- added support for iso:///path/to/iso/file (#338090) +- added update of user/group permissions (#342219) +- added closeKernelConsole function and rename existing function + to openKernelConsole which is more what it does +- fixed initial creation of /dev/tty1-4 devices +* Tue Nov 20 2007 - ms@suse.de - v1.92 - fixed cleanup code, make sure umount happens when not busy * Mon Nov 19 2007 - ms@suse.de ++++++ kiwi.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/kiwi.pl new/kiwi/kiwi.pl --- old/kiwi/kiwi.pl 2007-11-20 10:30:18.000000000 +0100 +++ new/kiwi/kiwi.pl 2007-11-20 15:19:44.000000000 +0100 @@ -39,7 +39,7 @@ #============================================ # Globals (Version) #-------------------------------------------- -our $Version = "1.92"; +our $Version = "1.93"; our $openSUSE = "http://download.opensuse.org/repositories/"; our $ConfigFile = "$ENV{'HOME'}/.kiwirc"; our $ConfigStatus = 0; 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 2007-10-29 10:29:15.000000000 +0100 +++ new/kiwi/modules/KIWIConfigure.pm 2007-11-20 15:19:42.000000000 +0100 @@ -142,6 +142,18 @@ return undef; } $kiwi -> done (); + if (defined $home) { + $kiwi -> info("Setting owner/group permissions $user [$group]"); + $data = qx ( chroot $root chown -R $user:$group $home ); + $code = $? >> 8; + if ($code != 0) { + $kiwi -> failed (); + $kiwi -> info ($data); + $kiwi -> failed (); + return undef; + } + $kiwi -> done(); + } } } return $this; 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 2007-11-16 16:09:15.000000000 +0100 +++ new/kiwi/modules/KIWILinuxRC.sh 2007-11-20 15:19:42.000000000 +0100 @@ -65,6 +65,15 @@ #-------------------------------------- function closeKernelConsole { # /.../ + # close the kernel console, set level to 1 + # ---- + klogconsole -l 1 +} +#====================================== +# openKernelConsole +#-------------------------------------- +function openKernelConsole { + # /.../ # move the kernel console to tty3 as you can't see the messages # now directly it looks like the kernel console is switched off # but it isn't really. If DEBUG is set the logging remains on @@ -194,7 +203,11 @@ if [ -e $prefix/null ];then rm -f $prefix/null fi - test -c $prefix/tty || mknod -m 0666 $prefix/tty c 5 0 + test -c $prefix/tty || mknod -m 0666 $prefix/tty c 5 0 + test -c $prefix/tty1 || mknod -m 0666 $prefix/tty1 c 4 1 + test -c $prefix/tty2 || mknod -m 0666 $prefix/tty2 c 4 2 + test -c $prefix/tty3 || mknod -m 0666 $prefix/tty3 c 4 3 + test -c $prefix/tty4 || mknod -m 0666 $prefix/tty4 c 4 4 test -c $prefix/console || mknod -m 0600 $prefix/console c 5 1 test -c $prefix/ptmx || mknod -m 0666 $prefix/ptmx c 5 2 exec < $prefix/console > $prefix/console diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIPattern.pm new/kiwi/modules/KIWIPattern.pm --- old/kiwi/modules/KIWIPattern.pm 2007-11-14 09:28:46.000000000 +0100 +++ new/kiwi/modules/KIWIPattern.pm 2007-11-20 15:19:43.000000000 +0100 @@ -276,7 +276,7 @@ #========================================== # remote pattern check #------------------------------------------ - my $urlHandler = new KIWIURL ($kiwi); + my $urlHandler = new KIWIURL ($kiwi,undef); my $publics_url = $url; my $highlvl_url = $urlHandler -> openSUSEpath ($publics_url); if (defined $highlvl_url) { 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 2007-11-20 10:30:17.000000000 +0100 +++ new/kiwi/modules/KIWIRoot.pm 2007-11-20 15:19:43.000000000 +0100 @@ -90,16 +90,8 @@ #------------------------------------------ foreach my $source (keys %repository) { my $type = $repository{$source}; - my $urlHandler = new KIWIURL ($kiwi); - my $publics_url = $source; - my $highlvl_url = $urlHandler -> openSUSEpath ($publics_url); - if (defined $highlvl_url) { - $publics_url = $highlvl_url; - } - $highlvl_url = $urlHandler -> thisPath ($publics_url); - if (defined $highlvl_url) { - $publics_url = $highlvl_url; - } + my $urlHandler = new KIWIURL ($kiwi,$this); + my $publics_url = $urlHandler -> normalizePath ($source); if ($publics_url =~ /^\//) { if (! -d $publics_url) { $kiwi -> warning ("local URL path not found: $publics_url"); @@ -599,6 +591,26 @@ } #========================================== +# addToMountList +#------------------------------------------ +sub addToMountList { + # ... + # add mount path to mount list + # --- + my $this = shift; + my $path = shift; + my @mountList; + if (defined $this->{mountList}) { + @mountList = @{$this->{mountList}}; + } else { + @mountList = (); + } + push (@mountList,$path); + $this->{mountList} = \@mountList; + return $this; +} + +#========================================== # setupMount #------------------------------------------ sub setupMount { @@ -611,7 +623,12 @@ my $root = $this->{root}; my $baseSystem = $this->{baseSystem}; my $prefix = $root."/".$baseSystem; - my @mountList = (); + my @mountList; + if (defined $this->{mountList}) { + @mountList = @{$this->{mountList}}; + } else { + @mountList = (); + } $kiwi -> info ("Mounting required file systems"); if (! -d $prefix) { if (! mkdir $prefix) { @@ -719,6 +736,9 @@ if ($item =~ /^$prefix/) { qx ( rmdir -p $item 2>&1 ); } + if ($item =~ /^\/tmp\/kiwimount/) { + qx ( rmdir -p $item 2>&1 ); + } } if (defined $this->{baseRoot}) { $overlay -> resetOverlay(); @@ -726,6 +746,7 @@ if (-d $prefix) { rmdir $prefix; } + undef $this->{mountList}; return $this; } 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 2007-11-05 16:28:49.000000000 +0100 +++ new/kiwi/modules/KIWIURL.pm 2007-11-20 15:19:43.000000000 +0100 @@ -18,6 +18,7 @@ # Modules #------------------------------------------ use strict; +use File::Basename; use KIWILog; use LWP; @@ -40,6 +41,7 @@ # Module Parameters #------------------------------------------ my $kiwi = shift; + my $root = shift; #========================================== # Constructor setup #------------------------------------------ @@ -50,10 +52,38 @@ # Store object data #------------------------------------------ $this->{kiwi} = $kiwi; + $this->{root} = $root; return $this; } -#========================================== +#========================================== +# normalizePath +#------------------------------------------ +sub normalizePath { + # ... + # check all path functions and normalize the high level + # URLs if required + # --- + my $this = shift; + my $module = shift; + my $kiwi = $this->{kiwi}; + my $path; + $path = $this -> thisPath ($module); + if (defined $path) { + return $path; + } + $path = $this -> openSUSEpath ($module); + if (defined $path) { + return $path; + } + $path = $this -> isoPath ($module); + if (defined $path) { + return $path; + } + return $module; +} + +#========================================== # thisPath #------------------------------------------ sub thisPath { @@ -100,6 +130,66 @@ } #========================================== +# isPath +#------------------------------------------ +sub isoPath { + # ... + # This method builds a valid path from a iso://... + # description. The iso woll be loop mounted and + # the loop location serves as source path + # --- + my $this = shift; + my $module = shift; + my $kiwi = $this->{kiwi}; + my $root = $this->{root}; + my $result; + my $status; + #========================================== + # normalize URL data + #------------------------------------------ + if ($module !~ /^iso:\/\//) { + return undef; + } + $module =~ s/iso:\/\///; + if ($module !~ /^\//) { + my $pwd = qx (pwd); chomp $pwd; + $module = $pwd."/".$module; + } + if (! -e $module) { + $kiwi -> warning ("ISO path: $module doesn't exist: $!"); + $kiwi -> skipped (); + return undef; + } + my $name = basename ($module); + my $tmpdir = "/tmp/kiwimount-$name-$$"; + #========================================== + # create ISO mount point and perform mount + #------------------------------------------ + if (! defined $root) { + return $tmpdir; + } + $status = qx (mkdir -p $tmpdir 2>&1); + $result = $? >> 8; + if ($result != 0) { + $kiwi -> warning ("Couldn't create tmp dir for iso mount: $status: $!"); + $kiwi -> skipped (); + return undef; + } + $status = qx (mount -o loop $module $tmpdir 2>&1); + $result = $? >> 8; + if ($result != 0) { + $kiwi -> warning ("Failed to loop mount ISO path: $status"); + $kiwi -> skipped (); + return undef; + } + #========================================== + # add loop mount to mount list of root obj + #------------------------------------------ + $root -> addToMountList ($tmpdir); + return $tmpdir; +} + +#========================================== # openSUSEpath #------------------------------------------ sub openSUSEpath { 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 2007-11-16 11:26:50.000000000 +0100 +++ new/kiwi/modules/KIWIXML.pm 2007-11-20 15:19:43.000000000 +0100 @@ -213,7 +213,6 @@ sub createURLList { my $this = shift; my $kiwi = $this->{kiwi}; - my $foreignRepo = $this->{foreignRepo}; my %repository = (); my @urllist = (); my @sourcelist = (); @@ -227,21 +226,8 @@ @sourcelist = keys %repository; } foreach my $source (@sourcelist) { - my $urlHandler; - if ( defined $foreignRepo->{prepare} ) { - $urlHandler = new KIWIURL ($kiwi,$foreignRepo->{prepare}); - } else { - $urlHandler = new KIWIURL ($kiwi,$this->{imageDesc}); - } - my $publics_url = $source; - my $highlvl_url = $urlHandler -> openSUSEpath ($publics_url); - if (defined $highlvl_url) { - $publics_url = $highlvl_url; - } - $highlvl_url = $urlHandler -> thisPath ($publics_url); - if (defined $highlvl_url) { - $publics_url = $highlvl_url; - } + my $urlHandler = new KIWIURL ($kiwi,undef); + my $publics_url = $urlHandler -> normalizePath ($source); push (@urllist,$publics_url); } $this->{urllist} = \@urllist; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/.revision new/kiwi/.revision --- old/kiwi/.revision 2007-11-20 10:38:20.000000000 +0100 +++ new/kiwi/.revision 2007-11-20 16:09:23.000000000 +0100 @@ -1 +1 @@ -828 \ No newline at end of file +831 \ No newline at end of file diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-linuxrc new/kiwi/system/boot/isoboot/suse-linuxrc --- old/kiwi/system/boot/isoboot/suse-linuxrc 2007-11-16 16:09:02.000000000 +0100 +++ new/kiwi/system/boot/isoboot/suse-linuxrc 2007-11-20 15:19:40.000000000 +0100 @@ -48,6 +48,7 @@ # 1) Mounting local file systems #-------------------------------------- mountSystemFilesystems &>/dev/null +closeKernelConsole #====================================== # 2) probe for livecd_config in cmdline @@ -72,7 +73,7 @@ #-------------------------------------- startShell errorLogStart -closeKernelConsole +openKernelConsole #====================================== # 6) Including required kernel modules diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/netboot/suse-linuxrc new/kiwi/system/boot/netboot/suse-linuxrc --- old/kiwi/system/boot/netboot/suse-linuxrc 2007-11-16 16:08:21.000000000 +0100 +++ new/kiwi/system/boot/netboot/suse-linuxrc 2007-11-20 15:19:38.000000000 +0100 @@ -72,6 +72,7 @@ # 1) Mounting local file systems #-------------------------------------- mountSystemFilesystems &>/dev/null +closeKernelConsole #====================================== # 2) Prepare module load support @@ -90,7 +91,7 @@ #-------------------------------------- startShell errorLogStart -closeKernelConsole +openKernelConsole #====================================== # 5) Include proc/cmdline information diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/oemboot/suse-linuxrc new/kiwi/system/boot/oemboot/suse-linuxrc --- old/kiwi/system/boot/oemboot/suse-linuxrc 2007-11-16 16:08:10.000000000 +0100 +++ new/kiwi/system/boot/oemboot/suse-linuxrc 2007-11-20 15:19:38.000000000 +0100 @@ -53,6 +53,7 @@ # 1) Mounting local file systems #-------------------------------------- mountSystemFilesystems &>/dev/null +closeKernelConsole #====================================== # 2) Prepare module load support @@ -70,7 +71,7 @@ #-------------------------------------- startShell errorLogStart -closeKernelConsole +openKernelConsole #====================================== # 5) Include proc/cmdline information diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/usbboot/suse-linuxrc new/kiwi/system/boot/usbboot/suse-linuxrc --- old/kiwi/system/boot/usbboot/suse-linuxrc 2007-11-16 16:08:30.000000000 +0100 +++ new/kiwi/system/boot/usbboot/suse-linuxrc 2007-11-20 15:19:39.000000000 +0100 @@ -46,6 +46,7 @@ # 1) Mounting local file systems #-------------------------------------- mountSystemFilesystems &>/dev/null +closeKernelConsole #====================================== # 2) Prepare module load support @@ -63,7 +64,7 @@ #-------------------------------------- startShell errorLogStart -closeKernelConsole +openKernelConsole #====================================== # 5) Including required kernel modules diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/vmxboot/suse-linuxrc new/kiwi/system/boot/vmxboot/suse-linuxrc --- old/kiwi/system/boot/vmxboot/suse-linuxrc 2007-11-16 16:09:09.000000000 +0100 +++ new/kiwi/system/boot/vmxboot/suse-linuxrc 2007-11-20 15:19:40.000000000 +0100 @@ -93,6 +93,7 @@ # 1) Mounting local file systems #-------------------------------------- mountSystemFilesystems &>/dev/null +closeKernelConsole #====================================== # 2) Prepare module load support @@ -110,7 +111,7 @@ #-------------------------------------- startShell errorLogStart -closeKernelConsole +openKernelConsole #====================================== # 5) Including required kernel modules diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/xenboot/suse-linuxrc new/kiwi/system/boot/xenboot/suse-linuxrc --- old/kiwi/system/boot/xenboot/suse-linuxrc 2007-11-16 16:09:13.000000000 +0100 +++ new/kiwi/system/boot/xenboot/suse-linuxrc 2007-11-20 15:19:41.000000000 +0100 @@ -54,6 +54,7 @@ # 1) Mounting local file systems #-------------------------------------- mountSystemFilesystems &>/dev/null +closeKernelConsole #====================================== # 2) Prepare module load support @@ -71,7 +72,7 @@ #-------------------------------------- startShell errorLogStart -closeKernelConsole +openKernelConsole #====================================== # 5) Including required kernel modules ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org