From 0ba05084b60804d89e045edf4e236ccfa8e5bce3 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Mon, 22 Dec 2008 20:37:08 +0000 Subject: Adding inclusion of uclib-rootfs as suggested by Michael. It allows to run tools like hwinfo or busybox applets within stage4 for testing and other scenarios (like running a very small syslog daemon if no syslog plugin is installed). Found in Stage4 under /opt/openslx/uclib-rootfs. git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2446 95ad53e4-c205-0410-b2fa-d234c58c8868 --- installer/OpenSLX/OSExport/FileSystem/NFS.pm | 39 +++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'installer/OpenSLX/OSExport/FileSystem/NFS.pm') diff --git a/installer/OpenSLX/OSExport/FileSystem/NFS.pm b/installer/OpenSLX/OSExport/FileSystem/NFS.pm index e034b127..86f7c128 100644 --- a/installer/OpenSLX/OSExport/FileSystem/NFS.pm +++ b/installer/OpenSLX/OSExport/FileSystem/NFS.pm @@ -61,7 +61,7 @@ sub exportVendorOS } $self->_copyViaRsync($source, $target); - + $self->_copyUclibEnv($target); return; } @@ -234,5 +234,42 @@ sub _isTargetBindMounted return 0; } +sub _copyUclibEnv +{ + my $self = shift; + my $target = shift; + + $target .= "/opt/openslx/uclib-rootfs"; + + if (system("mkdir -p $target")) { + die _tr("unable to create directory '%s', giving up! (%s)\n", + $target, $!); + } + + my $uclibcRootfs = "$openslxConfig{'base-path'}/share/uclib-rootfs"; + my @excludes = qw( + dialog + kexec + libcurses.so* + libncurses.so* + mconf + strace + ); + my $exclOpts = join ' ', map { "--exclude $_" } @excludes; + my $includeExcludeList = $self->_determineIncludeExcludeList(); + vlog(1, _tr("using exclude-filter:\n%s\n", $exclOpts)); + my $rsyncFH; + my $rsyncCmd + = "rsync -av --delete-excluded --exclude-from=-" . " $uclibcRootfs/ $target"; + vlog(2, "executing: $rsyncCmd\n"); + open($rsyncFH, '|-', $rsyncCmd) + or die _tr("unable to start rsync for source '%s', giving up! (%s)", + $uclibcRootfs, $!); + print $rsyncFH $exclOpts; + close($rsyncFH) + or die _tr("unable to copy to target '%s', giving up! (%s)", + $target, $!); + return; +} 1; -- cgit v1.2.3-55-g7522