summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2012-11-09 12:34:08 +0000
committerNorbert Preining <preining@logic.at>2012-11-09 12:34:08 +0000
commita359b256ffa7681ea392136071acd19d4baf2aa1 (patch)
treed04703c901afd8f74613f092d5dbbce9f3925941
parent1d46b45c9ef935a3cd2436413e3384964ae0aea4 (diff)
fix tlmgr.pl so that --self updates on Windows and virtual tlpdb work again
git-svn-id: svn://tug.org/texlive/trunk@28216 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl13
1 files changed, 11 insertions, 2 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl
index e7c48c201a7..37ddfe81a1f 100755
--- a/Master/texmf/scripts/texlive/tlmgr.pl
+++ b/Master/texmf/scripts/texlive/tlmgr.pl
@@ -1921,7 +1921,6 @@ sub write_w32_updater {
my $opt_doc = $localtlpdb->option("install_docfiles");
my $root = $localtlpdb->root;
my $temp = "$root/temp";
- my $repo = $remotetlpdb->root . "/$Archive";
TeXLive::TLUtils::mkdirhier($temp);
tlwarn("Backup option not implemented for infrastructure update.\n") if ($opts{"backup"});
if ($media eq 'local_uncompressed') {
@@ -1931,7 +1930,17 @@ sub write_w32_updater {
}
my (@upd_tar, @upd_tlpobj, @upd_info, @rst_tar, @rst_tlpobj, @rst_info);
foreach my $pkg (@w32_updated) {
- my $mediatlp = $remotetlpdb->get_package($pkg);
+ my $repo;
+ my $mediatlp;
+ if ($media eq "virtual") {
+ my $maxtlpdb;
+ (undef, undef, $mediatlp, $maxtlpdb) =
+ $remotetlpdb->virtual_candidate($pkg);
+ $repo = $maxtlpdb->root . "/$Archive";
+ } else {
+ $mediatlp = $remotetlpdb->get_package($pkg);
+ $repo = $remotetlpdb->root . "/$Archive";
+ }
my $localtlp = $localtlpdb->get_package($pkg);
my $oldrev = $localtlp->revision;
my $newrev = $mediatlp->revision;