summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2010-02-11 05:31:59 +0000
committerNorbert Preining <preining@logic.at>2010-02-11 05:31:59 +0000
commitce51c79c2c2f0d62a7f86a7d0e760d9c711e5dbf (patch)
treee424e53623539228b0c2a5b8815ce49d1d654f99
parent4c543b199e3cd96478f2418f805cf8c11eec1f37 (diff)
tlmgr: fix a bug that if you had autobackup turned on and download broke
you ended up with a wrong tlpobj and no files git-svn-id: svn://tug.org/texlive/trunk@16966 c570f23f-e606-0410-a88d-b1316a301751
-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");