Mailinglist Archive: opensuse-commit (1083 mails)
| < Previous | Next > |
commit kiwi
- From: root@xxxxxxxxxxxxxxx (h_root)
- Date: Tue, 25 Sep 2007 21:11:38 +0200
- Message-id: <20070925191139.26CAD67832C@xxxxxxxxxxxxxxx>
Hello community,
here is the log from the commit of package kiwi
checked in at Tue Sep 25 21:11:38 CEST 2007.
--------
--- arch/i386/kiwi/kiwi.changes 2007-09-21 15:46:03.000000000 +0200
+++ /mounts/work_src_done/STABLE/STABLE/kiwi/kiwi.changes 2007-09-25 20:31:26.958153000 +0200
@@ -1,0 +2,39 @@
+Tue Sep 25 16:48:45 CEST 2007 - ms@xxxxxxx
+
+- fixed ftp:// pattern requests (#328003)
+- really fixed call of config-cdroot.sh if relative path is used
+- added better error information for pattern downloads
+
+-------------------------------------------------------------------
+Tue Sep 25 15:51:05 CEST 2007 - ms@xxxxxxx
+
+- fixed build for x86_64
+- fixed call of config-cdroot.sh if relative path is used
+
+-------------------------------------------------------------------
+Tue Sep 25 12:13:07 CEST 2007 - ms@xxxxxxx
+
+- fixed spec file architecture build requirements
+- fixed missing copy call of config-cdroot.sh
+
+-------------------------------------------------------------------
+Mon Sep 24 11:06:10 CEST 2007 - ms@xxxxxxx
+
+- fixed documentation typos (#327668)
+- added config-cdroot.sh to be called if existent. The script is called
+ with access to the image environment and within the CD root directory.
+ The call takes place outside of a chroot because the CD root has no
+ accessable root tree with bash or other programs available (#327799)
+- added better failed message if loop mount has failed
+- added posbios as allowed tool in initrd
+- allow tool parameter to suseStripInitrd() function to
+ prevent the given tools from being deleted
+- added experimental jabber client to kiwi, which can be
+ configured in $HOME/.kiwirc
+ my $JabberServer = "server-name"
+ my $JabberUserName = "user-name"
+ my $JabberPassword = "password"
+ my $JabberRessource = "ressource-name"
+ my $JabberComponent = "component-name"
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.y26112/_old 2007-09-25 21:11:21.000000000 +0200
+++ /var/tmp/diff_new_pack.y26112/_new 2007-09-25 21:11:21.000000000 +0200
@@ -12,11 +12,14 @@
Name: kiwi
Url: http://kiwi.berlios.de
-BuildRequires: module-init-tools perl perl-XML-LibXML perl-libwww-perl screen smart syslinux
-Requires: perl perl-XML-LibXML perl-libwww-perl screen coreutils
+BuildRequires: module-init-tools perl perl-Net-Jabber perl-XML-LibXML perl-libwww-perl screen smart
+%ifarch %ix86 x86_64
+BuildRequires: syslinux
+%endif
+Requires: perl perl-XML-LibXML perl-libwww-perl screen coreutils perl-Net-Jabber
Summary: OpenSuSE - KIWI Image System
Version: 1.64
-Release: 18
+Release: 21
Group: System/Management
License: GPL v2 or later
Source: kiwi.tar.bz2
@@ -26,7 +29,7 @@
%description
The OpenSuSE KIWI Image System provides a complete operating system
image solution for Linux supported hardware platforms as well as for
-virtualisation systems like Xen.
+virtualization systems like Xen.
@@ -326,6 +329,33 @@
%doc %{_datadir}/kiwi/image/oemboot/README
%{_datadir}/kiwi/image/oemboot/suse*
%changelog
+* Tue Sep 25 2007 - ms@xxxxxxx
+- fixed ftp:// pattern requests (#328003)
+- really fixed call of config-cdroot.sh if relative path is used
+- added better error information for pattern downloads
+* Tue Sep 25 2007 - ms@xxxxxxx
+- fixed build for x86_64
+- fixed call of config-cdroot.sh if relative path is used
+* Tue Sep 25 2007 - ms@xxxxxxx
+- fixed spec file architecture build requirements
+- fixed missing copy call of config-cdroot.sh
+* Mon Sep 24 2007 - ms@xxxxxxx
+- fixed documentation typos (#327668)
+- added config-cdroot.sh to be called if existent. The script is called
+ with access to the image environment and within the CD root directory.
+ The call takes place outside of a chroot because the CD root has no
+ accessable root tree with bash or other programs available (#327799)
+- added better failed message if loop mount has failed
+- added posbios as allowed tool in initrd
+- allow tool parameter to suseStripInitrd() function to
+ prevent the given tools from being deleted
+- added experimental jabber client to kiwi, which can be
+ configured in $HOME/.kiwirc
+ my $JabberServer = "server-name"
+ my $JabberUserName = "user-name"
+ my $JabberPassword = "password"
+ my $JabberRessource = "ressource-name"
+ my $JabberComponent = "component-name"
* Fri Sep 21 2007 - ms@xxxxxxx
- pass allong $@ to init process (#327037)
- fixed remote download of pattern files (#327096)
++++++ kiwi.tar.bz2 ++++++
Files old/kiwi/doc/kiwi.pdf and new/kiwi/doc/kiwi.pdf differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIConfig.sh new/kiwi/modules/KIWIConfig.sh
--- old/kiwi/modules/KIWIConfig.sh 2007-09-20 17:37:50.000000000 +0200
+++ new/kiwi/modules/KIWIConfig.sh 2007-09-24 11:23:11.000000000 +0200
@@ -320,8 +320,9 @@
usleep parted mke2fs pvcreate vgcreate lvm resize2fs ln hdparm
dmesg splash fbmngplay portmap start-statd sm-notify
rpc.statd rpc.idmapd nbd-client mount.nfs mount.nfs4 eject
- blockdev
+ blockdev posbios
"
+ tools="$tools $1"
for path in /sbin /usr/sbin /usr/bin /bin;do
baseStripTools "$path" "$tools"
done
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-20 17:37:50.000000000 +0200
+++ new/kiwi/modules/KIWIImage.pm 2007-09-25 19:17:43.000000000 +0200
@@ -805,20 +805,54 @@
#==========================================
# Check for optional config-cdroot archive
#------------------------------------------
- $kiwi -> info ("Integrating CD root information...");
my $cdrootData = $imageTree."/image/config-cdroot.tgz";
if (-f $cdrootData) {
+ $kiwi -> info ("Integrating CD root information...");
my $data = qx ( tar -C $main::RootTree/CD -xvf $cdrootData );
my $code = $? >> 8;
if ($code != 0) {
$kiwi -> failed ();
$kiwi -> error ("Failed to integrate CD root data: $data");
$kiwi -> failed ();
+ if (! -d $main::RootTree.$baseSystem) {
+ qx (rm -rf $main::RootTree);
+ qx (rm -rf $tmpdir);
+ qx (rm -rf $imageTreeReadOnly);
+ }
+ return undef;
+ }
+ $kiwi -> done();
+ }
+ #==========================================
+ # Check for optional config-cdroot.sh
+ #------------------------------------------
+ $cdrootData = $imageTree."/image/config-cdroot.sh";
+ if (-x $cdrootData) {
+ $kiwi -> info ("Calling CD root setup script...");
+ my $pwd = qx (pwd); chomp $pwd;
+ my $cdrootEnv = $imageTree."/.profile";
+ if ($cdrootEnv !~ /^\//) {
+ $cdrootEnv = $pwd."/".$cdrootEnv;
+ }
+ if ($cdrootData !~ /^\//) {
+ $cdrootData = $pwd."/".$cdrootData;
+ }
+ my $CCD = "$main::RootTree/CD";
+ my $data = qx (cd $CCD && bash -c '. $cdrootEnv && . $cdrootData' 2>&1);
+ my $code = $? >> 8;
+ if ($code != 0) {
+ chomp $data;
+ $kiwi -> failed ();
+ $kiwi -> error ("Failed to call CD root script: $data");
+ $kiwi -> failed ();
+ if (! -d $main::RootTree.$baseSystem) {
+ qx (rm -rf $main::RootTree);
+ qx (rm -rf $tmpdir);
+ qx (rm -rf $imageTreeReadOnly);
+ }
return undef;
}
$kiwi -> done();
- } else {
- $kiwi -> skipped();
}
#==========================================
# Installing second stage images
@@ -873,6 +907,10 @@
$kiwi -> failed ();
$kiwi -> error ("Copy failed: $data");
$kiwi -> failed ();
+ if (! -d $main::RootTree.$baseSystem) {
+ qx (rm -rf $main::RootTree);
+ qx (rm -rf $tmpdir);
+ }
return undef;
}
$kiwi -> done ();
@@ -894,6 +932,10 @@
$kiwi -> failed ();
$kiwi -> error ("Copy failed: $data");
$kiwi -> failed ();
+ if (! -d $main::RootTree.$baseSystem) {
+ qx (rm -rf $main::RootTree);
+ qx (rm -rf $tmpdir);
+ }
return undef;
}
$kiwi -> done ();
@@ -912,6 +954,10 @@
if (! open (FD,">$main::RootTree/CD/config.isoclient")) {
$kiwi -> error ("Couldn't create image boot configuration");
$kiwi -> failed ();
+ if (! -d $main::RootTree.$baseSystem) {
+ qx (rm -rf $main::RootTree);
+ qx (rm -rf $tmpdir);
+ }
return undef;
}
print FD "IMAGE=/dev/ram1;$namecd\n";
@@ -931,6 +977,10 @@
$kiwi -> failed ();
$kiwi -> error ("Failed to create ISO image: $data");
$kiwi -> failed ();
+ if (! -d $main::RootTree.$baseSystem) {
+ qx (rm -rf $main::RootTree);
+ qx (rm -rf $tmpdir);
+ }
return undef;
}
if (! -d $main::RootTree.$baseSystem) {
@@ -1645,6 +1695,7 @@
#==========================================
# Calculate needed space
#------------------------------------------
+ $this -> cleanKernelFSMount();
my ($mbytesreal,$mbytes,$xmlsize) = $this -> getSize ($imageTree);
if (! defined $quiet) {
$kiwi -> info ("Image requires $mbytesreal MB, got $xmlsize MB");
@@ -1668,12 +1719,13 @@
# mount logical extend for data transfer
#------------------------------------------
mkdir "$imageDest/mnt-$$";
- my $data = qx (mount $opts -oloop $imageDest/$name $imageDest/mnt-$$);
+ my $data = qx (mount $opts -oloop $imageDest/$name $imageDest/mnt-$$ 2>&1);
my $code = $? >> 8;
if ($code != 0) {
- $kiwi -> error ("Couldn't mount image");
+ chomp $data;
+ $kiwi -> error ("Image loop mount failed:");
$kiwi -> failed ();
- $kiwi -> error ($data);
+ $kiwi -> error ("mount: $imageDest/$name -> $imageDest/mnt-$$: $data");
return undef;
}
return "$imageDest/mnt-$$";
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-09-21 14:31:27.000000000 +0200
+++ new/kiwi/modules/KIWILinuxRC.sh 2007-09-25 20:26:40.000000000 +0200
@@ -1163,7 +1163,7 @@
then
Echo "Checking filesystem for RW data on $rwDevice..."
e2fsck -y -f $rwDevice >/dev/null 2>&1
- if ! mount $rwDevice $rwDir >/dev/null 2>&1;then
+ if test "$RELOAD_IMAGE" = "yes" || ! mount $rwDevice $rwDir >/dev/null 2>&1;then
Echo "Creating filesystem for RW data on $rwDevice..."
if ! mke2fs $rwDevice >/dev/null 2>&1;then
Echo "Failed to create ext2 filesystem"
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 2007-09-17 10:51:13.000000000 +0200
+++ new/kiwi/modules/KIWILog.pm 2007-09-24 17:54:16.000000000 +0200
@@ -19,6 +19,7 @@
# Modules
#------------------------------------------
use strict;
+use Net::Jabber qw(Client);
use Carp qw (cluck);
#==========================================
@@ -43,6 +44,95 @@
$this->{channel} = \*STDOUT;
$this->{errorOk} = 0;
$this->{state} = "O";
+ #============================================
+ # kiwirc jabber data
+ #--------------------------------------------
+ my $jstatus = 1;
+ if ( ! -f $main::ConfigFile ) {
+ $jstatus = 0;
+ }
+ #============================================
+ # set local jabber variables
+ #--------------------------------------------
+ my $JabberServer; # configurable jabber server
+ my $JabberPort; # configurable jabber port
+ my $JabberUserName; # configurable jabber user name
+ my $JabberPassword; # configurable jabber password
+ my $JabberRessource; # configurable jabber ressource
+ my $JabberComponent; # configurable jabber component
+ if (! defined $JabberPort) {
+ $JabberPort = 5223;
+ }
+ #============================================
+ # Read $HOME/.kiwirc and setup jabber if ok
+ #--------------------------------------------
+ if (($jstatus) && (! do $main::ConfigFile)) {
+ $this -> warning ("Invalid $main::ConfigFile file...");
+ $this -> skipped ();
+ $jstatus = 0;
+ }
+ if (($jstatus) &&
+ ((! defined $JabberServer) || (! defined $JabberUserName) ||
+ (! defined $JabberPassword) || (! defined $JabberRessource) ||
+ (! defined $JabberComponent))
+ ) {
+ #$this -> warning ("Jabber setup skipped: Missing login data");
+ #$this -> skipped ();
+ $jstatus = 0;
+ }
+ my $jclient;
+ my $jstatus;
+ my @jresult;
+ if ($jstatus) {
+ $this -> info ("Connecting to Jabber server: $JabberServer");
+ $jclient = new Net::Jabber::Client;
+ $jstatus = $jclient -> Connect (
+ hostname => $JabberServer,
+ port => $JabberPort
+ );
+ if (! defined $jstatus) {
+ $this -> failed ();
+ $this -> error ("Server is not answering: $!");
+ $this -> skipped ();
+ } else {
+ $this -> done();
+ $this -> info ("Login to Jabber server: $JabberUserName");
+ @jresult = $jclient -> AuthSend (
+ username => $JabberUserName,
+ password => $JabberPassword,
+ resource => $JabberRessource
+ );
+ if ($jresult[0] ne "ok") {
+ $this -> error ("Failed: $jresult[0] $jresult[1]");
+ $this -> skipped ();
+ } else {
+ $this -> done ();
+ }
+ }
+ }
+ #==========================================
+ # Store object data
+ #------------------------------------------
+ $this->{jcomponent}= $JabberComponent;
+ $this->{jclient} = $jclient;
+ return $this;
+}
+
+#==========================================
+# sendJabberMessage
+#------------------------------------------
+sub sendJabberMessage {
+ my $this = shift;
+ my $message = shift;
+ my $jclient = $this->{jclient};
+ my $jcomponent = $this->{jcomponent};
+ if (defined $jclient) {
+ $jclient -> MessageSend (
+ to => $jcomponent,
+ body => $message
+ );
+ $jclient->Process();
+ }
return $this;
}
@@ -297,16 +387,22 @@
$this -> setOutputChannel();
if (($lglevel == 1) || ($lglevel == 2) || ($lglevel == 3)) {
print $needcr,$date,$logdata;
+ $this -> sendJabberMessage ("$needcr,$date,$logdata");
if ($this->{errorOk}) {
print EFD $needcr,$date,$logdata;
}
} elsif ($lglevel == 5) {
print $needcr,$logdata;
+ $this -> sendJabberMessage ("$needcr,$logdata");
if ($this->{errorOk}) {
print EFD $needcr,$logdata;
}
} else {
- cluck $needcr,$date,$logdata;
+ print Carp::longmess("$needcr,$logdata");
+ $this -> sendJabberMessage ("$needcr,$logdata");
+ if ($this->{errorOk}) {
+ print EFD Carp::longmess("$needcr,$logdata");
+ }
}
$this -> resetOutputChannel();
return $lglevel;
@@ -451,7 +547,12 @@
# Destructor
#------------------------------------------
sub DESTROY {
+ my $this = shift;
+ my $jclient = $this->{jclient};
close EFD;
+ if (defined $jclient) {
+ $jclient -> Disconnect();
+ }
}
1;
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-21 15:41:33.000000000 +0200
+++ new/kiwi/modules/KIWIPattern.pm 2007-09-25 20:13:55.000000000 +0200
@@ -116,6 +116,7 @@
my $content;
foreach my $pat (@pattern) {
my $result;
+ my @errors;
my $printinfo = 0;
if (! defined $this->{cache}{$pat}) {
$printinfo = 1;
@@ -124,11 +125,16 @@
$kiwi -> info ("$this->{infomessage}: $pat");
}
foreach my $url (@urllist) {
- $result .= $this -> downloadPattern ( $url,$pat );
+ my @load = $this -> downloadPattern ( $url,$pat );
+ $result .= $load[0]; push (@errors,$load[1]);
}
if (! $result) {
if ($printinfo) {
$kiwi -> failed ();
+ foreach my $error (@errors) {
+ $kiwi -> error ($error);
+ $kiwi -> failed ();
+ }
}
return ();
}
@@ -155,11 +161,19 @@
return $this->{cache}{$pattern};
}
if ($url =~ /^\//) {
+ #==========================================
+ # 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) {
+ return (undef,
+ "Couldn't find pat by glob: \<$path/$pattern-*.$arch.pat\>"
+ );
+ }
foreach my $file (@file) {
# / FIXME /
# The glob match will include the -32bit patterns in any
@@ -167,16 +181,19 @@
# ---
if ($file =~ /\.gz$/) {
if (! open (FD,"cat $file | gzip -cd|")) {
- return undef;
+ return (undef,"Couldn't uncompress pattern: $file: $!");
}
} else {
if (! open (FD,$file)) {
- return undef;
+ return (undef,"Couldn't open pattern: $file: $!");
}
}
local $/; $content .= <FD>; close FD;
}
} else {
+ #==========================================
+ # remote pattern check
+ #------------------------------------------
my $urlHandler = new KIWIURL ($kiwi);
my $publics_url = $url;
my $highlvl_url = $urlHandler -> openSUSEpath ($publics_url);
@@ -188,21 +205,25 @@
my $request = HTTP::Request->new (GET => $location);
my $response = $browser -> request ( $request );
my $title = $response -> title ();
- $content = $response -> content ();
+ $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 ((! defined $title) || ($title =~ /not found/i)) {
- return undef;
+ if ($title =~ /not found/i) {
+ return (undef,"Page not found: $location");
}
}
+ #==========================================
+ # check for http pages first...
+ #------------------------------------------
my $pzip = 0;
+ my $perr = 0;
if ($content !~ /\"($pattern-.*$arch\.pat)\"/) {
if ($content !~ /\"($pattern-.*$arch\.pat\.gz)\"/) {
- return undef;
+ $perr = 1;
} else {
$location = $location."/".$1;
$pzip = 1;
@@ -210,25 +231,51 @@
} else {
$location = $location."/".$1;
}
+ #==========================================
+ # check for ftp pages next...
+ #------------------------------------------
+ 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) {
+ return (undef,
+ "Couldn't find pat by regexp: /$pattern-.*$arch\.pat/"
+ );
+ }
+ #==========================================
+ # finally get the pattern
+ #------------------------------------------
$request = HTTP::Request->new (GET => $location);
$response = $browser -> request ( $request );
$content = $response -> content ();
if ($pzip) {
my $tmpdir = qx ( mktemp -q -d /tmp/kiwipattern.XXXXXX );
- chomp $tmpdir;
my $result = $? >> 8;
+ chomp $tmpdir;
if ($result != 0) {
- return undef;
+ return (undef,"Couldn't create tmpdir: $!");
}
if (! open (FD,">$tmpdir/pattern")) {
rmdir ($tmpdir);
- return undef;
+ return (undef,"Couldn't create: $tmpdir/pattern: $!");
}
print FD $content; close FD;
if (! open (FD,"cat $tmpdir/pattern | gzip -cd|")) {
unlink ($tmpdir."/pattern");
rmdir ($tmpdir);
- return undef;
+ return (undef,"Couldn't uncompress pattern: $!");
}
local $/; $content .= <FD>; close FD;
unlink ($tmpdir."/pattern");
@@ -236,7 +283,7 @@
}
}
$this->{cache}{$pattern} = $content;
- return $content;
+ return ($content,$this);
}
#==========================================
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-19 18:46:00.000000000 +0200
+++ new/kiwi/modules/KIWIRoot.pm 2007-09-25 13:31:27.000000000 +0200
@@ -548,6 +548,7 @@
qx ( cp $imageDesc/config.xml $root/image 2>&1 );
qx ( cp $imageDesc/images.sh $root/image 2>&1 );
qx ( cp $imageDesc/config-cdroot.tgz $root/image 2>&1 );
+ qx ( cp $imageDesc/config-cdroot.sh $root/image 2>&1 );
if (open (FD,">$root/image/main::Prepare")) {
if ($imageDesc !~ /^\//) {
my $pwd = qx ( pwd ); chomp $pwd;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/.revision new/kiwi/.revision
--- old/kiwi/.revision 2007-09-21 15:45:41.000000000 +0200
+++ new/kiwi/.revision 2007-09-25 20:31:19.000000000 +0200
@@ -1 +1 @@
-638
\ No newline at end of file
+647
\ No newline at end of file
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx
| < Previous | Next > |