summaryrefslogtreecommitdiffstats
path: root/installer/OpenSLX/OSSetup/Engine.pm
diff options
context:
space:
mode:
authorOliver Tappe2007-03-13 00:20:40 +0100
committerOliver Tappe2007-03-13 00:20:40 +0100
commit6a7405ce4cdf6577ad0c7e9d70345585a6066412 (patch)
tree318fb94a3b8e5f77f08e0a2e9b3935a7660b7e83 /installer/OpenSLX/OSSetup/Engine.pm
parent* added an option to slurpFile() which causes it to not fail in case the requ... (diff)
downloadcore-6a7405ce4cdf6577ad0c7e9d70345585a6066412.tar.gz
core-6a7405ce4cdf6577ad0c7e9d70345585a6066412.tar.xz
core-6a7405ce4cdf6577ad0c7e9d70345585a6066412.zip
* moved the clone-filter around to make it actually work again.
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@763 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'installer/OpenSLX/OSSetup/Engine.pm')
-rw-r--r--installer/OpenSLX/OSSetup/Engine.pm25
1 files changed, 14 insertions, 11 deletions
diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm
index a804632f..b39fe9a7 100644
--- a/installer/OpenSLX/OSSetup/Engine.pm
+++ b/installer/OpenSLX/OSSetup/Engine.pm
@@ -690,17 +690,7 @@ sub clone_fetchSource
my $source = shift;
vlog 0, _tr("Cloning vendor-OS from <%s>...\n", $source);
- my (@includeList, @excludeList);
- my $filterFile = "../lib/distro-info/clone-filter-common";
- if (open(FILTER, "< $filterFile")) {
- while(<FILTER>) {
- chomp;
- push @includeList, $_ if /^\+\s+/;
- push @excludeList, $_ if /^\-\s+/;
- }
- close(FILTER);
- }
- my $excludeIncludeList = join("\n", @includeList, @excludeList);
+ my $excludeIncludeList = $self->clone_determineIncludeExcludeList();
vlog 1, "using exclude-include-filter:\n$excludeIncludeList\n";
open(RSYNC, "| rsync -av --delete --exclude-from=- $source $self->{'vendor-os-path'}")
or die _tr("unable to start rsync for source '%s', giving up! (%s)",
@@ -712,6 +702,19 @@ sub clone_fetchSource
}
}
+sub clone_determineIncludeExcludeList
+{
+ my $self = shift;
+
+ my $localFilterFile = "../lib/distro-info/clone-filter.local";
+ my $includeExcludeList = slurpFile($localFilterFile, 1);
+ $includeExcludeList .= $self->{distro}->{'clone-filter'};
+ $includeExcludeList =~ s[^\s+][]igms;
+ # remove any leading whitespace, as rsync doesn't like it
+ return $includeExcludeList;
+}
+
+
################################################################################
### utility functions
################################################################################