diff options
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index 4dfc37ae4a4..a11cedc2740 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -2114,6 +2114,16 @@ sub action_update { next; } + # older tlmgr forgot to clear the relocated bit when saving a tlpobj + # into the local tlpdb, although the paths were rewritten. + # We have to clear this bit otherwise the make_container calls below + # for creating an unwind container will create some rubbish + # TODO for user mode we should NOT clear this bit! + if ($tlp->relocated) { + debug("tlmgr: warn, relocated bit set for $pkg, but that is wrong!\n"); + $tlp->relocated(0); + } + if ($opts{"backup"} && !$opts{"dry-run"}) { $tlp->make_container("xz", $root, $opts{"backupdir"}, "${pkg}.r" . $tlp->revision, @@ -2155,7 +2165,8 @@ sub action_update { # of the package my $tlp = $localtlpdb->get_package($pkg); my ($s, $m, $fullname) = $tlp->make_container("tar", $root, $temp, - "__BACKUP_${pkg}.r" . $tlp->revision); + "__BACKUP_${pkg}.r" . $tlp->revision, + $tlp->relocated); if ($s <= 0) { tlwarn("\n$0: Creation of backup container of $pkg failed.\n"); tlwarn("Continuing to update other packages, please retry...\n"); |