summaryrefslogtreecommitdiff
path: root/Master/tlpkg/TeXLive
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-05-12 21:58:18 +0000
committerNorbert Preining <preining@logic.at>2008-05-12 21:58:18 +0000
commit9c12da287eb82365bd7e90fc40a2734d93313746 (patch)
treebcb39b8e5b250b32318881842e3f1668ebd64837 /Master/tlpkg/TeXLive
parentacaacfd86b9e43db7beaedfb82d63847668cdd71 (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.pm17
-rw-r--r--Master/tlpkg/TeXLive/TLPDB.pm2
-rw-r--r--Master/tlpkg/TeXLive/TLPOBJ.pm30
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
#