diff options
Diffstat (limited to 'Master/tlpkg/TeXLive/TLTREE.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TLTREE.pm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Master/tlpkg/TeXLive/TLTREE.pm b/Master/tlpkg/TeXLive/TLTREE.pm index 286518d44ee..a7b0e4cd5d8 100644 --- a/Master/tlpkg/TeXLive/TLTREE.pm +++ b/Master/tlpkg/TeXLive/TLTREE.pm @@ -179,15 +179,18 @@ sub size_of { sub get_matching_files { my ($self, $type, $p) = @_; if ($type eq "bin") { + my %returnfiles; # binpatterns can have an additions specifier after the prefix: /ARCH # which specifies that these patterns are ONLY for the specified arch! - if ($p =~ m!^(\w+)/(\w+)\s+(.*)$!) { - my @foo = $self->_get_matching_files($type,"$1 $3"); - $returnfiles{$2} = [ @foo ]; + if ($p =~ m!^(\w+)/([-a-z0-9]+)\s+(.*)$!) { + my $pt = $1; + my $aa = $2; + my $pr = $3; + my @foo = $self->_get_matching_files($type,"$pt $pr"); + $returnfiles{$aa} = [ @foo ]; return(\%returnfiles); } # we first substitute arch for ${ARCH} - my %returnfiles; foreach $a ($self->architectures) { # return empty list of arch!=win32 and pattern matches bin/win32 if (($p =~ m@f bin/win32/@) && ($a ne "win32")) { @@ -215,7 +218,7 @@ sub _get_matching_files { if ($pattype eq "t") { @matchfiles = $self->_get_files_matching_dir_pattern($type,$patdata,@rest); } elsif ($pattype eq "f") { - @matchfiles = $self->_get_files_matching_glob_pattern($type,$patdata,$arch); + @matchfiles = $self->_get_files_matching_glob_pattern($type,$patdata); } elsif ($pattype eq "r") { @matchfiles = $self->_get_files_matching_regexp_pattern($type,$patdata); } elsif ($pattype eq "d") { |