diff options
author | Norbert Preining <preining@logic.at> | 2017-10-27 05:26:02 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2017-10-27 05:26:02 +0000 |
commit | bd41846f4f09f09f3bcc3efa0f49795a63461035 (patch) | |
tree | b345c68b4e4fc6abbd44735c085b151e13bbb47b /Master/tlpkg/TeXLive | |
parent | a2ab612198d3b8adcf19a9deb382dfe503c09e0d (diff) |
move repository_to_array to TLUtils
git-svn-id: svn://tug.org/texlive/trunk@45619 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive')
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index f3767b7889a..3e63b4a2c08 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -99,6 +99,7 @@ C<TeXLive::TLUtils> -- utilities used in TeX Live infrastructure TeXLive::TLUtils::mktexupd(); TeXLive::TLUtils::setup_sys_user_mode($optsref,$tmfc, $tmfsc, $tmfv, $tmfsv); TeXLive::TLUtils::prepend_own_path(); + TeXLive::TLUtils::repository_to_array($str); =head1 DESCRIPTION @@ -186,6 +187,7 @@ BEGIN { &nulldev &get_full_line &sort_archs + &repository_to_array ); @EXPORT = qw(setup_programs download_file process_logging_options tldie tlwarn info log debug ddebug dddebug debug_hash @@ -4131,6 +4133,33 @@ sub prepend_own_path { =back =cut + +sub repository_to_array { + my $r = shift; + my %r; + my @repos = split ' ', $r; + if ($#repos == 0) { + # only one repo, this is the main one! + $r{'main'} = $repos[0]; + return %r; + } + for my $rr (@repos) { + my $tag; + my $url; + # decode spaces and % in reverse order + $rr =~ s/%20/ /g; + $rr =~ s/%25/%/g; + $tag = $url = $rr; + if ($rr =~ m/^([^#]+)#(.*)$/) { + $tag = $2; + $url = $1; + } + $r{$tag} = $url; + } + return %r; +} + + 1; __END__ |