diff options
author | Norbert Preining <preining@logic.at> | 2008-05-12 21:58:18 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-05-12 21:58:18 +0000 |
commit | 9c12da287eb82365bd7e90fc40a2734d93313746 (patch) | |
tree | bcb39b8e5b250b32318881842e3f1668ebd64837 /Master/tlpkg/TeXLive | |
parent | acaacfd86b9e43db7beaedfb82d63847668cdd71 (diff) |
backup/restore functionality changes:
- backups are saved in ${pkg}_r${rev}.tar.lzma
- option for update is --backupdir
- implement tlmgr restore function
git-svn-id: svn://tug.org/texlive/trunk@8092 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/TeXLive')
-rw-r--r-- | Master/tlpkg/TeXLive/TLMedia.pm | 17 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLPDB.pm | 2 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLPOBJ.pm | 30 |
3 files changed, 32 insertions, 17 deletions
diff --git a/Master/tlpkg/TeXLive/TLMedia.pm b/Master/tlpkg/TeXLive/TLMedia.pm index 15908aa3ef8..b9babeaed1d 100644 --- a/Master/tlpkg/TeXLive/TLMedia.pm +++ b/Master/tlpkg/TeXLive/TLMedia.pm @@ -191,22 +191,7 @@ sub install_package { $totlpdb->save; # compute the return value my %ret; - my (@maps, @formats, @dats); - $ret{'mktexlsr'} = 1; - foreach my $e ($tlpobj->executes) { - if ($e =~ m/^add((Mixed)?Map)\s+([^\s]+)\s*$/) { - push @maps, "enable $1=$3"; - } elsif ($e =~ m/^BuildFormat\s+([^\s]+)\s*$/) { - push @formats, $1; - } elsif ($e =~ m/^BuildLanguageDat\s+([^\s]+)\s*$/) { - push @dats, $1; - } else { - warn("Unknown execute $e in $pkg"); - } - } - $ret{'map'} = [ @maps ] if (@maps); - $ret{'format'} = [ @formats ] if (@formats); - $ret{'language'} = [ @dats ] if (@dats); + merge_into(\%ret, $tlpobj->make_return_hash_from_executes); # now install all the depends if they are not already present if (!$nodepends) { foreach my $d ($tlpobj->depends) { diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm index 0c073e86cf7..54105de6777 100644 --- a/Master/tlpkg/TeXLive/TLPDB.pm +++ b/Master/tlpkg/TeXLive/TLPDB.pm @@ -952,7 +952,7 @@ sub language_dat_lines { die "No TeX Live package named $p, too strange" if ! $obj; foreach my $e ($obj->executes) { if ($e =~ m/BuildLanguageDat (.*)$/) { - $langfiles{$1} = 1; + $langfiles{$1} = 1; } # others are ignored here } diff --git a/Master/tlpkg/TeXLive/TLPOBJ.pm b/Master/tlpkg/TeXLive/TLPOBJ.pm index 67800fe959c..e5927f358ac 100644 --- a/Master/tlpkg/TeXLive/TLPOBJ.pm +++ b/Master/tlpkg/TeXLive/TLPOBJ.pm @@ -787,6 +787,36 @@ sub allbinfiles { return @ret; } +sub make_return_hash_from_executes { + my $self = shift; + my %ret; + my (@maps, @formats, @dats); + if ($self->runfiles) { + $ret{'mktexlsr'} = 1; + } + if ($self->srcfiles) { + $ret{'mktexlsr'} = 1; + } + if ($self->docfiles) { + $ret{'mktexlsr'} = 1; + } + foreach my $e ($self->executes) { + if ($e =~ m/^add((Mixed)?Map)\s+([^\s]+)\s*$/) { + push @maps, "enable $1=$3"; + } elsif ($e =~ m/^BuildFormat\s+([^\s]+)\s*$/) { + push @formats, $1; + } elsif ($e =~ m/^BuildLanguageDat\s+([^\s]+)\s*$/) { + push @dats, $1; + } else { + warn("Unknown execute $e in ", $self->name); + } + } + $ret{'map'} = [ @maps ] if (@maps); + $ret{'format'} = [ @formats ] if (@formats); + $ret{'language'} = [ @dats ] if (@dats); + return(\%ret); +} + # member access functions # |