Hello community, here is the log from the commit of package kiwi checked in at Wed Oct 3 01:01:33 CEST 2007. -------- --- arch/i386/kiwi/kiwi.changes 2007-09-25 20:31:26.000000000 +0200 +++ /mounts/work_src_done/STABLE/kiwi/kiwi.changes 2007-09-26 23:28:39.104970000 +0200 @@ -1,0 +2,22 @@ +Wed Sep 26 23:22:38 CEST 2007 - ms@suse.de + +- fixed stick creation for compressed images. Too many spare + space was added to the read-only image part. This was a waste + of space + +------------------------------------------------------------------- +Wed Sep 26 16:29:16 CEST 2007 - ms@suse.de + +- added harddisk boot for isoboot (#328509) +- load BusLogic module for vmxboot/oemboot systems (#327358) +- fixed pattern download by using the content file. On local + repo check by glob search if no content file exists (#328003) + +------------------------------------------------------------------- +Tue Sep 25 23:07:24 CEST 2007 - ms@suse.de + +- added more robust disk device detection for oemboot (#328327) +- changed relative path handling. Check if relative path exist + before using the default /usr/share/kiwi/image lookup (#328269) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi.spec ++++++ --- /var/tmp/diff_new_pack.tg3272/_old 2007-10-03 01:01:20.000000000 +0200 +++ /var/tmp/diff_new_pack.tg3272/_new 2007-10-03 01:01:20.000000000 +0200 @@ -19,7 +19,7 @@ Requires: perl perl-XML-LibXML perl-libwww-perl screen coreutils perl-Net-Jabber Summary: OpenSuSE - KIWI Image System Version: 1.64 -Release: 21 +Release: 23 Group: System/Management License: GPL v2 or later Source: kiwi.tar.bz2 @@ -329,6 +329,19 @@ %doc %{_datadir}/kiwi/image/oemboot/README %{_datadir}/kiwi/image/oemboot/suse* %changelog +* Wed Sep 26 2007 - ms@suse.de +- fixed stick creation for compressed images. Too many spare + space was added to the read-only image part. This was a waste + of space +* Wed Sep 26 2007 - ms@suse.de +- added harddisk boot for isoboot (#328509) +- load BusLogic module for vmxboot/oemboot systems (#327358) +- fixed pattern download by using the content file. On local + repo check by glob search if no content file exists (#328003) +* Tue Sep 25 2007 - ms@suse.de +- added more robust disk device detection for oemboot (#328327) +- changed relative path handling. Check if relative path exist + before using the default /usr/share/kiwi/image lookup (#328269) * Tue Sep 25 2007 - ms@suse.de - fixed ftp:// pattern requests (#328003) - really fixed call of config-cdroot.sh if relative path is used ++++++ kiwi.tar.bz2 ++++++ 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 2007-09-20 17:37:50.000000000 +0200 +++ new/kiwi/modules/KIWIBoot.pm 2007-09-26 23:17:26.000000000 +0200 @@ -75,7 +75,7 @@ my $result = $? >> 8; if ($result == 0) { $syszip = -s $system; - $syszip+= 70 * 1024 * 1024; + $syszip+= 5 * 1024 * 1024; } else { $syszip = 0; } @@ -110,9 +110,8 @@ $vmsize = $kernelSize + $initrdSize + $syszip; } else { $vmsize = $kernelSize + $initrdSize + $systemSize; + $vmsize+= $vmsize * 0.3 # and 30% free space } - my $sparesSize = 0.3 * $vmsize; # and 30% free space - $vmsize = $vmsize + $sparesSize; $vmsize = $vmsize / 1024 / 1024; $vmsize = int $vmsize; $vmsize = $vmsize."M"; 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 2007-09-25 19:17:43.000000000 +0200 +++ new/kiwi/modules/KIWIImage.pm 2007-09-26 10:10:35.000000000 +0200 @@ -398,7 +398,7 @@ $main::Survive = "yes"; $main::RootTree = "$tmpdir/kiwi-".$text."boot-$$"; $main::Prepare = $boot; - if ($boot !~ /^\//) { + if (($boot !~ /^\//) && (! -d $boot)) { $main::Prepare = $main::System."/".$boot; } if ($type{bootprofile}) { @@ -775,7 +775,7 @@ $main::Survive = "yes"; $main::RootTree = "$tmpdir/kiwi-cdboot-$$"; $main::Prepare = $boot; - if ($boot !~ /^\//) { + if (($boot !~ /^\//) && (! -d $boot)) { $main::Prepare = $main::System."/".$boot; } $main::ForeignRepo{xmlnode} = $xml -> getForeignNodeList(); 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-09-25 20:13:55.000000000 +0200 +++ new/kiwi/modules/KIWIPattern.pm 2007-09-26 16:15:27.000000000 +0200 @@ -148,6 +148,55 @@ } #========================================== +# checkContentFile +#------------------------------------------ +sub checkContentData { + my $this = shift; + my $location= shift; + my $content = shift; + my $pattern = shift; + my $arch = $this->{arch}; + #========================================== + # check content: DESCRDIR... + #------------------------------------------ + my $perr = 1; + my @plines = split (/\n/,$content); + foreach my $line (@plines) { + if ($line =~ /DESCRDIR (.*)/) { + $location = $location."/".$1; + $perr = 0; + last; + } + } + if ($perr) { + return undef; + } + #=========================================== + # check content: pattern file... + #------------------------------------------- + $perr = 1; + $this->{pzip} = 0; + foreach my $line (@plines) { + if ($line =~ / ($pattern-.*$arch\.pat\.gz)/) { + $location = $location."/".$1; + $this->{pzip} = 1; + $perr = 0; + last; + } + if ($line =~ / ($pattern-.*$arch\.pat)/) { + $location = $location."/".$1; + $this->{pzip} = 0; + $perr = 0; + last; + } + } + if ($perr) { + return undef; + } + return $location; +} + +#========================================== # downloadPattern #------------------------------------------ sub downloadPattern { @@ -164,32 +213,50 @@ #========================================== # local pattern check #------------------------------------------ - my $path = "$url//suse/setup/descr"; - my @file = bsd_glob ("$path/$pattern-*.$arch.pat"); - if (! @file) { - @file = bsd_glob ("$path/$pattern-*.$arch.pat.gz"); - } - if (! @file) { + my $cfile = $url."/content"; + if (! -f $cfile) { return (undef, - "Couldn't find pat by glob: \<$path/$pattern-*.$arch.pat\>" + "Couldn't find content file: $cfile" ); - } - foreach my $file (@file) { - # / FIXME / - # The glob match will include the -32bit patterns in any - # case. Is that ok or not ? should it be configurable ? - # --- - if ($file =~ /\.gz$/) { - if (! open (FD,"cat $file | gzip -cd|")) { - return (undef,"Couldn't uncompress pattern: $file: $!"); - } - } else { - if (! open (FD,$file)) { - return (undef,"Couldn't open pattern: $file: $!"); - } + if (! open (FD,$cfile)) { + return (undef,"Couldn't open content file: $cfile: $!"); } local $/; $content .= <FD>; close FD; } + #========================================== + # check content file + #------------------------------------------ + my $pfile = $this -> checkContentData ($url,$content,$pattern); + if (! defined $pfile) { + #=========================================== + # no content file but local, try glob search + #------------------------------------------- + my $path = "$url//suse/setup/descr"; + my @file = bsd_glob ("$path/$pattern-*.$arch.pat"); + if (! @file) { + @file = bsd_glob ("$path/$pattern-*.$arch.pat.gz"); + } + if (! @file) { + return (undef, + "Pattern glob match failed: $pattern" + ); + } + $pfile = $file[0]; + } + #========================================== + # finally get the pattern + #------------------------------------------ + if ($pfile =~ /\.gz$/) { + if (! open (FD,"cat $pfile | gzip -cd|")) { + return (undef,"Couldn't uncompress pattern: $pfile: $!"); + } + } else { + if (! open (FD,$pfile)) { + return (undef,"Couldn't open pattern: $pfile: $!"); + } + } + local $/; $content .= <FD>; + close FD; } else { #========================================== # remote pattern check @@ -201,57 +268,20 @@ $publics_url = $highlvl_url; } my $browser = LWP::UserAgent->new; - my $location = $publics_url."/setup/descr"; + my $location = $publics_url."/content"; my $request = HTTP::Request->new (GET => $location); my $response = $browser -> request ( $request ); - my $title = $response -> title (); $content = $response -> content (); - if ((! defined $title) || ($title =~ /not found/i)) { - $location = $publics_url."/suse/setup/descr"; - $request = HTTP::Request->new (GET => $location); - $response = $browser -> request ( $request ); - $title = $response -> title (); - $content = $response -> content (); - if ($title =~ /not found/i) { - return (undef,"Page not found: $location"); - } + if (! defined $content) { + return (undef,"Failed to load content file: $location"); } #========================================== - # check for http pages first... - #------------------------------------------ - my $pzip = 0; - my $perr = 0; - if ($content !~ /\"($pattern-.*$arch\.pat)\"/) { - if ($content !~ /\"($pattern-.*$arch\.pat\.gz)\"/) { - $perr = 1; - } else { - $location = $location."/".$1; - $pzip = 1; - } - } else { - $location = $location."/".$1; - } - #========================================== - # check for ftp pages next... + # check content file #------------------------------------------ - if ($perr) { - my @plines = split (/\n/,$content); - foreach my $line (@plines) { - if ($line =~ / ($pattern-.*$arch\.pat\.gz)/) { - $location = $location."/".$1; - $pzip = 1; $perr = 0; - last; - } - if ($line =~ / ($pattern-.*$arch\.pat)/) { - $location = $location."/".$1; - $pzip = 0; $perr = 0; - last; - } - } - } - if ($perr) { + $location = $this -> checkContentData ($publics_url,$content,$pattern); + if (! defined $location) { return (undef, - "Couldn't find pat by regexp: /$pattern-.*$arch\.pat/" + "Pattern match or DESCRDIR search failed: $pattern" ); } #========================================== @@ -260,7 +290,7 @@ $request = HTTP::Request->new (GET => $location); $response = $browser -> request ( $request ); $content = $response -> content (); - if ($pzip) { + if ($this->{pzip}) { my $tmpdir = qx ( mktemp -q -d /tmp/kiwipattern.XXXXXX ); my $result = $? >> 8; chomp $tmpdir; 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-09-25 13:31:27.000000000 +0200 +++ new/kiwi/modules/KIWIRoot.pm 2007-09-26 00:05:21.000000000 +0200 @@ -58,7 +58,7 @@ if (! defined $kiwi) { $kiwi = new KIWILog(); } - if ($imageDesc !~ /\//) { + if (($imageDesc !~ /\//) && (! -d $imageDesc)) { $imageDesc = $main::System."/".$imageDesc; } if (! defined $baseSystem) { 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-09-18 13:59:14.000000000 +0200 +++ new/kiwi/modules/KIWIXML.pm 2007-09-26 00:06:39.000000000 +0200 @@ -63,7 +63,7 @@ if (! defined $kiwi) { $kiwi = new KIWILog(); } - if ($imageDesc !~ /\//) { + if (($imageDesc !~ /\//) && (! -d $imageDesc)) { $imageDesc = $main::System."/".$imageDesc; } my $arch = qx ( arch ); chomp $arch; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/.revision new/kiwi/.revision --- old/kiwi/.revision 2007-09-25 20:31:19.000000000 +0200 +++ new/kiwi/.revision 2007-09-26 23:28:22.000000000 +0200 @@ -1 +1 @@ -647 \ No newline at end of file +653 \ No newline at end of file diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-10.1/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-10.1/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-10.1/cdboot/isolinux.cfg 2007-08-28 12:38:31.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-10.1/cdboot/isolinux.cfg 2007-09-26 17:09:15.000000000 +0200 @@ -5,6 +5,10 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + # memory test label memtest kernel memtest diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-10.2/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-10.2/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-10.2/cdboot/isolinux.cfg 2007-08-28 12:38:32.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-10.2/cdboot/isolinux.cfg 2007-09-26 17:09:27.000000000 +0200 @@ -5,6 +5,10 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + # memory test label memtest kernel memtest diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-10.3/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-10.3/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-10.3/cdboot/isolinux.cfg 2007-08-28 12:38:34.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-10.3/cdboot/isolinux.cfg 2007-09-26 17:09:37.000000000 +0200 @@ -5,6 +5,10 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + # memory test label memtest kernel memtest diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLED10/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLED10/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLED10/cdboot/isolinux.cfg 2007-08-28 12:38:41.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLED10/cdboot/isolinux.cfg 2007-09-26 17:10:03.000000000 +0200 @@ -5,6 +5,14 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + +# memory test +label memtest + kernel memtest + implicit 1 gfxboot bootlogo display isolinux.msg diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLED10-smp/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLED10-smp/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLED10-smp/cdboot/isolinux.cfg 2007-08-28 12:38:36.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLED10-smp/cdboot/isolinux.cfg 2007-09-26 17:10:30.000000000 +0200 @@ -5,6 +5,14 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + +# memory test +label memtest + kernel memtest + implicit 1 gfxboot bootlogo display isolinux.msg diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLED10-SP1/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLED10-SP1/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLED10-SP1/cdboot/isolinux.cfg 2007-08-28 12:38:42.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLED10-SP1/cdboot/isolinux.cfg 2007-09-26 17:10:12.000000000 +0200 @@ -5,6 +5,10 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + # memory test label memtest kernel memtest diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLED10-SP1-smp/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLED10-SP1-smp/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLED10-SP1-smp/cdboot/isolinux.cfg 2007-08-28 12:38:37.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLED10-SP1-smp/cdboot/isolinux.cfg 2007-09-26 17:10:19.000000000 +0200 @@ -5,6 +5,10 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + # memory test label memtest kernel memtest diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLES10/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLES10/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLES10/cdboot/isolinux.cfg 2007-08-28 12:38:27.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLES10/cdboot/isolinux.cfg 2007-09-26 17:10:40.000000000 +0200 @@ -5,6 +5,14 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + +# memory test +label memtest + kernel memtest + implicit 1 gfxboot bootlogo display isolinux.msg diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLES10-smp/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLES10-smp/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLES10-smp/cdboot/isolinux.cfg 2007-08-28 12:38:21.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLES10-smp/cdboot/isolinux.cfg 2007-09-26 17:11:09.000000000 +0200 @@ -5,6 +5,14 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + +# memory test +label memtest + kernel memtest + implicit 1 gfxboot bootlogo display isolinux.msg diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLES10-SP1/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLES10-SP1/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLES10-SP1/cdboot/isolinux.cfg 2007-08-28 12:38:28.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLES10-SP1/cdboot/isolinux.cfg 2007-09-26 17:10:49.000000000 +0200 @@ -5,6 +5,10 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + # memory test label memtest kernel memtest diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/system/boot/isoboot/suse-SLES10-SP1-smp/cdboot/isolinux.cfg new/kiwi/system/boot/isoboot/suse-SLES10-SP1-smp/cdboot/isolinux.cfg --- old/kiwi/system/boot/isoboot/suse-SLES10-SP1-smp/cdboot/isolinux.cfg 2007-08-28 12:38:23.000000000 +0200 +++ new/kiwi/system/boot/isoboot/suse-SLES10-SP1-smp/cdboot/isolinux.cfg 2007-09-26 17:10:57.000000000 +0200 @@ -5,6 +5,10 @@ kernel linux append initrd=initrd ramdisk_size=512000 splash=silent showopts +# hard disk +label Boot from Hard-Disk + localboot 0x80 + # memory test label memtest kernel memtest 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-09-21 15:16:49.000000000 +0200 +++ new/kiwi/system/boot/oemboot/suse-linuxrc 2007-09-26 17:54:16.000000000 +0200 @@ -80,8 +80,8 @@ # 4) Including required kernel modules #-------------------------------------- probeDevices -for module in usb_storage sg sd_mod;do - modprobe $module +for module in usb_storage sg sd_mod BusLogic;do + modprobe $module >/dev/null 2>&1 done sleep 5 @@ -146,7 +146,8 @@ # ---- Echo "Searching harddrive for installation" hwinfo="/usr/sbin/hwinfo --disk" - export deviceDisk=`$hwinfo | grep "Device File:" | head -n 1 | cut -f2 -d:` + export deviceDisk=`$hwinfo |\ + grep "Device File:" | head -n 1 | cut -f2 -d: | cut -f1 -d\(` export deviceDisk=`echo $deviceDisk` if [ -z $deviceDisk ];then systemException \ 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-09-21 15:16:51.000000000 +0200 +++ new/kiwi/system/boot/vmxboot/suse-linuxrc 2007-09-26 17:34:19.000000000 +0200 @@ -66,6 +66,10 @@ # Functions #-------------------------------------- VMFindSystem () { + for module in BusLogic;do + modprobe $module >/dev/null 2>&1 + done + sleep 5 for rdevice in /dev/hda2 /dev/sda2 /dev/hda1 /dev/sda1;do imageRootDevice=$rdevice imageDiskDevice=`echo $imageRootDevice | tr -d [0-9]` ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org