summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive/TLTREE.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/TeXLive/TLTREE.pm')
-rw-r--r--Master/tlpkg/TeXLive/TLTREE.pm14
1 files changed, 14 insertions, 0 deletions
diff --git a/Master/tlpkg/TeXLive/TLTREE.pm b/Master/tlpkg/TeXLive/TLTREE.pm
index 01c56cdfa25..652894ef06b 100644
--- a/Master/tlpkg/TeXLive/TLTREE.pm
+++ b/Master/tlpkg/TeXLive/TLTREE.pm
@@ -18,6 +18,7 @@ sub new {
my %params = @_;
my $self = {
svnroot => $params{'svnroot'},
+ archs => $params{'archs'},
# private stuff
_allfiles => {},
_dirtree => {},
@@ -55,6 +56,7 @@ sub init_from_files {
sub _initialize_lines {
my $self = shift;
my @lines = @_;
+ my %archs;
# we first chdir to the svn root, we need it for file tests
my $oldpwd = `pwd`;
chomp($oldpwd);
@@ -66,6 +68,10 @@ sub _initialize_lines {
my $lastchanged = ($8 eq "?" ? 1 : $8);
my $entry = "$10";
next if -d $entry; # TODO: what to do with links???
+ # collect architectures
+ if ($entry =~ m,Master/bin/(.*)/tex.*$,) {
+ $archs{$1} = 1;
+ }
$self->{'_allfiles'}{$entry}{'lastchangedrev'} = $lastchanged;
$self->{'_allfiles'}{$entry}{'size'} = (lstat $entry)[7];
my $fn = TeXLive::TLUtils::basename($entry);
@@ -77,6 +83,8 @@ sub _initialize_lines {
#die("Cannot read svn status output line:\n $l\n");
}
}
+ # save list of architectures
+ $self->archs(keys(%archs));
# now do some magic
# - create list of top level dirs with a list of full path names of
# the respective dir attached
@@ -311,6 +319,12 @@ sub architectures {
if (@_) { @Architectures = @_ }
return @Architectures;
}
+sub archs {
+ my $self = shift;
+ if (@_) { @{ $self->{'archs'} } = @_ }
+ return @{ $self->{'archs'} };
+}
+
1;