summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl13
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");