summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-05-12 15:53:11 +0000
committerNorbert Preining <preining@logic.at>2009-05-12 15:53:11 +0000
commit7e5585bcd4f8ba119cad8f0a7e13b6a7a610776f (patch)
treec48db3cea0e4511d09d0e7b7fdf7ef7a04f68f6e /Master/tlpkg/bin
parentc84165218f94bc15a1441e91a421f4d070bc5eb7 (diff)
Move most of the stuff from tlpkg, tlmgr from branch to trunk
git-svn-id: svn://tug.org/texlive/trunk@13054 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/bin')
-rwxr-xr-xMaster/tlpkg/bin/check-duplicated-runfiles6
-rwxr-xr-xMaster/tlpkg/bin/check-tlnet-consistency22
-rwxr-xr-xMaster/tlpkg/bin/tl-fix-container-infos14
-rwxr-xr-xMaster/tlpkg/bin/tl-makeself-from-tlnet20
-rwxr-xr-xMaster/tlpkg/bin/tl-update-containers57
-rwxr-xr-xMaster/tlpkg/bin/tl-update-nsis12
-rwxr-xr-xMaster/tlpkg/bin/tl-update-tlcritical2
-rwxr-xr-xMaster/tlpkg/bin/tlpfiles3
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-by-size6
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check3
-rwxr-xr-xMaster/tlpkg/bin/tlprm3
11 files changed, 87 insertions, 61 deletions
diff --git a/Master/tlpkg/bin/check-duplicated-runfiles b/Master/tlpkg/bin/check-duplicated-runfiles
index d212c68e589..05a51860283 100755
--- a/Master/tlpkg/bin/check-duplicated-runfiles
+++ b/Master/tlpkg/bin/check-duplicated-runfiles
@@ -11,7 +11,7 @@ BEGIN {
unshift (@INC, "$mydir/..");
}
-use TeXLive::TLConfig;
+use TeXLive::TLConfig qw/$RelocPrefix $RelocTree/;
use TeXLive::TLPOBJ;
use TeXLive::TLPDB;
@@ -31,7 +31,9 @@ my @runtime_files = ();
foreach my $tlpn ($tlpdb->list_packages) {
next if ($tlpn =~ /$non_normal/);
my $tlp = $tlpdb->get_package($tlpn);
- push @runtime_files, $tlp->runfiles;
+ my @files = $tlp->runfiles;
+ if ($tlp->relocated) { for (@files) { s:^$RelocPrefix/:$RelocTree/:; } }
+ push @runtime_files, @files;
}
# build the duplicates list
diff --git a/Master/tlpkg/bin/check-tlnet-consistency b/Master/tlpkg/bin/check-tlnet-consistency
index 07ce83c08c1..81e5481859c 100755
--- a/Master/tlpkg/bin/check-tlnet-consistency
+++ b/Master/tlpkg/bin/check-tlnet-consistency
@@ -49,13 +49,13 @@ sub main
# set up the programs ...
if ($opt_nosetup) {
# do a minimal setup
- $::progs{'lzma'} = "lzma";
+ $::progs{'xz'} = "xz";
$::progs{'tar'} = "tar";
} else {
# do a full setup
my $ret = &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer");
if ($ret == -1) {
- tlwarn("no binary of lzmadec for $::_platform_ detected, aborting.\n");
+ tlwarn("no binary of xzdec for $::_platform_ detected, aborting.\n");
exit 1;
}
if (!$ret) {
@@ -82,16 +82,16 @@ sub main
my %filedifferrors;
foreach my $pkg ($tlpdb->list_packages()) {
next if ($pkg =~ m/^00texlive/);
- my $cont = "$opt_location/archive/$pkg.tar.lzma";
- my $srccont = "$opt_location/archive/$pkg.source.tar.lzma";
- my $doccont = "$opt_location/archive/$pkg.doc.tar.lzma";
+ my $cont = "$opt_location/archive/$pkg.tar.xz";
+ my $srccont = "$opt_location/archive/$pkg.source.tar.xz";
+ my $doccont = "$opt_location/archive/$pkg.doc.tar.xz";
my $tlpdbtlpobj = $tlpdb->get_package($pkg);
my $dodoc = ($tlpdb->config_doc_container && $tlpdbtlpobj->docfiles);
my $dosrc = ($tlpdb->config_src_container && $tlpdbtlpobj->srcfiles);
if ($opt_filelists) {
- system("cat $cont | $::progs{lzmadec} | $::progs{tar} -C \"$temp\" -xf - ");
+ system("cat $cont | $::progs{xzdec} | $::progs{tar} -C \"$temp\" -xf - ");
} else {
- system("cat $cont | $::progs{lzmadec} | $::progs{tar} -C \"$temp\" -xf - tlpkg/tlpobj");
+ system("cat $cont | $::progs{xzdec} | $::progs{tar} -C \"$temp\" -xf - tlpkg/tlpobj");
}
if (! -r "$temp/tlpkg/tlpobj/$pkg.tlpobj") {
push @notlpobj, $pkg;
@@ -101,7 +101,7 @@ sub main
die "Cannot load tlpobj from $temp/$pkg.tlpobj: $!" unless defined($tartlpobj);
# get the src and doc containers unpacked and add the respective files
if ($dosrc) {
- system("cat $srccont | $::progs{lzmadec} | $::progs{tar} -C \"$temp\" -xf - tlpkg/tlpobj");
+ system("cat $srccont | $::progs{xzdec} | $::progs{tar} -C \"$temp\" -xf - tlpkg/tlpobj");
if (! -r "$temp/tlpkg/tlpobj/$pkg.source.tlpobj") {
push @missingsrccontainer, $pkg;
} else {
@@ -112,7 +112,7 @@ sub main
}
}
if ($dodoc) {
- system("cat $doccont | $::progs{lzmadec} | $::progs{tar} -C \"$temp\" -xf - tlpkg/tlpobj");
+ system("cat $doccont | $::progs{xzdec} | $::progs{tar} -C \"$temp\" -xf - tlpkg/tlpobj");
if (! -r "$temp/tlpkg/tlpobj/$pkg.doc.tlpobj") {
push @missingdoccontainer, $pkg;
} else {
@@ -191,7 +191,7 @@ sub main
}
}
if (@sizeerror) {
- print "packages with wrong container size/md5s:\n";
+ print "packages with wront container size/md5s:\n";
for my $p (@sizeerror) {
print "$p\n";
}
@@ -268,7 +268,7 @@ default is C<./tlnet>.
=item B<-no-setup>
-Does not try to setup the various programs, but uses I<lzma> and I<tar>
+Does not try to setup the various programs, but uses I<xz> and I<tar>
from path.
=item B<-help>
diff --git a/Master/tlpkg/bin/tl-fix-container-infos b/Master/tlpkg/bin/tl-fix-container-infos
index 2f627976713..df0ac5ed2be 100755
--- a/Master/tlpkg/bin/tl-fix-container-infos
+++ b/Master/tlpkg/bin/tl-fix-container-infos
@@ -64,13 +64,13 @@ sub main
# set up the programs.
if ($opt_nosetup) {
# do a minimal setup
- $::progs{'lzma'} = "lzma";
+ $::progs{'xz'} = "xz";
$::progs{'tar'} = "tar";
} else {
# do a full setup
my $ret = &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer");
if ($ret == -1) {
- tlwarn("$0: no lzmadec for $::_platform_, aborting.\n");
+ tlwarn("$0: no xzdec for $::_platform_, aborting.\n");
exit 1;
}
if (!$ret) {
@@ -93,7 +93,7 @@ sub main
$tlpdb->add_tlpobj($obj);
}
$tlpdb->save;
- system("lzma --force -k -z $opt_location/tlpkg/texlive.tlpdb");
+ system("xz --force -k -z $opt_location/tlpkg/texlive.tlpdb");
return 0;
}
@@ -102,16 +102,16 @@ sub main
sub do_containers {
my ($obj, $dosrc, $dodoc) = @_;
my $fbase = "$opt_location/archive/" . $obj->name;
- my ($a, $b) = do_size_md ("${fbase}.tar.lzma");
+ my ($a, $b) = do_size_md ("${fbase}.tar.xz");
$obj->containersize($a);
$obj->containermd5($b);
if ($dosrc && $obj->srcfiles) {
- ($a, $b) = do_size_md ("${fbase}.source.tar.lzma");
+ ($a, $b) = do_size_md ("${fbase}.source.tar.xz");
$obj->srccontainersize($a);
$obj->srccontainermd5($b);
}
if ($dodoc && $obj->docfiles) {
- ($a, $b) = do_size_md ("${fbase}.doc.tar.lzma");
+ ($a, $b) = do_size_md ("${fbase}.doc.tar.xz");
$obj->doccontainersize($a);
$obj->doccontainermd5($b);
}
@@ -146,7 +146,7 @@ of containers to be compared against; default is C<.>.
=item B<-no-setup>
-Does not try to setup the various programs, but uses I<lzma> and I<tar>
+Does not try to setup the various programs, but uses I<xz> and I<tar>
from the current path.
=item B<-help>
diff --git a/Master/tlpkg/bin/tl-makeself-from-tlnet b/Master/tlpkg/bin/tl-makeself-from-tlnet
index 450d22230ed..2ead523a0fc 100755
--- a/Master/tlpkg/bin/tl-makeself-from-tlnet
+++ b/Master/tlpkg/bin/tl-makeself-from-tlnet
@@ -4,7 +4,7 @@
# This file is licensed under the GNU General Public License version 2
# or any later version.
#
-# Creates a .run file for updating the texlive.infra and bin-texlive
+# Creates a .run file for updating the texlive.infra
# packages on Unix, similar to the .exe we create for Windows. Both are
# created in the nightly cron from tl-update-tlcritical.
@@ -28,13 +28,12 @@ cd $TMP
mkdir master
cd master
-# unpack texlive.infra and bin-texlive archives for all platforms,
-# except w32.
-for pkg in texlive.infra bin-texlive; do
- for i in $ARCHIVE/$pkg*.tar.lzma ; do
+# unpack texlive.infra archives for all platforms, except w32.
+for pkg in texlive.infra; do
+ for i in $ARCHIVE/$pkg*.tar.xz ; do
case "$i" in
*win32*) ;;
- *) lzmadec <$i | tar -xf - ;;
+ *) xzdec <$i | tar -xf - ;;
esac
done
done
@@ -68,25 +67,24 @@ if test -r "$ROOT/tlpkg/texlive.tlpdb"; then
t_instdir=$ROOT/tlpkg/installer # target installer dir
# ensure these target directories exist.
- mkdir -p $t_instdir/lzma
+ mkdir -p $t_instdir/xz
mkdir -p $t_instdir/wget
# start the list of tlpobjs we will install
- tlpobjs="$t_objdir/bin-texlive.tlpobj $t_objdir/texlive.infra.tlpobj"
+ tlpobjs="$t_objdir/texlive.infra.tlpobj"
for a in $ROOT/bin/*; do
test -d "$a" || continue # skip any cruft files
b=`basename $a` # just the architecture name
# add the tlpobjs for this platform t the list.
- tlpobjs="$tlpobjs $t_objdir/bin-texlive.$b.tlpobj"
tlpobjs="$tlpobjs $t_objdir/texlive.infra.$b.tlpobj"
# install the bin dir for this platform.
(cd bin && tar cf - $b) | (cd $ROOT/bin && tar xf -)
# copy the installer binaries.
- cp installer/lzma/lzmadec.$b $t_instdir/lzma/
- cp installer/lzma/lzma.$b $t_instdir/lzma/
+ cp installer/xz/xzdec.$b $t_instdir/xz/
+ cp installer/xz/xz.$b $t_instdir/xz/
test -r installer/wget/wget.$b \
&& cp installer/wget/wget.$b $t_instdir/wget
done
diff --git a/Master/tlpkg/bin/tl-update-containers b/Master/tlpkg/bin/tl-update-containers
index 56a62be6dbb..81a6a987ceb 100755
--- a/Master/tlpkg/bin/tl-update-containers
+++ b/Master/tlpkg/bin/tl-update-containers
@@ -24,7 +24,7 @@ use Pod::Usage;
use File::Path;
# packages matching these re's will not be updated without --all.
-my @critical_pkg_list = qw/bin-texlive texlive\.infra/;
+my @critical_pkg_list = qw/texlive\.infra/;
our ($mydir, $vc_id);
my $opt_all = 0;
@@ -43,6 +43,7 @@ GetOptions(
"location=s" => \$opt_location,
"no-setup" => \$opt_nosetup,
"recreate" => \$opt_recreate,
+ "relative" => \$opt_relative,
"version" => \$opt_version,
"help|?" => \$opt_help) or pod2usage(1);
@@ -71,8 +72,8 @@ sub main
my $srcsplit = $tlpdb->config_src_container;
my $docsplit = $tlpdb->config_doc_container;
my $format = $tlpdb->config_container_format;
- my $type = "lzma";
- if ($format eq "lzma" || $format eq "zip") {
+ my $type = "xz";
+ if ($format eq "xz" || $format eq "zip") {
$type = $format;
} else {
tlwarn("$0: unknown container format $format in 00texlive.config; ",
@@ -176,24 +177,24 @@ sub main
}
}
- # The two packages 00texlive.config and 00texlive-installation.config
+ # The two packages 00texlive.config and 00texlive.installation
# are essential and have to be included in each and every case.
# So add them ...
my $tlpconfig = $tlpdb->get_package("00texlive.config");
$nettlpdb->add_tlpobj($tlpconfig);
- my $tlpinstconfig = $tlpdb->get_package("00texlive-installation.config");
+ my $tlpinstconfig = $tlpdb->get_package("00texlive.installation");
$nettlpdb->add_tlpobj($tlpinstconfig);
# set up the programs.
if ($opt_nosetup) {
# do a minimal setup
- $::progs{'lzma'} = "lzma";
+ $::progs{'xz'} = "xz";
$::progs{'tar'} = "tar";
} else {
# do a full setup
my $ret = &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer");
if ($ret == -1) {
- tlwarn("$0: no lzmadec for $::_platform_, aborting.\n");
+ tlwarn("$0: no xzdec for $::_platform_, aborting.\n");
exit 1;
}
if (!$ret) {
@@ -235,14 +236,36 @@ sub main
debug("updating $pkg containers ...\n");
# we have to make a copy otherwise the src/doc files in the original
# tlpobj are removed, and thus also in the tlpdb to be saved!!!
+
my $objcopy = $obj->copy;
+
+ # if we try to create relative containers we check the package
+ # for residing only in texmf-dist, and being relocatable, and
+ # not having a dependency on $pkg.ARCH
+ # TLPOBJ->common_texmf_tree returns the string of the
+ # common temxf tree or undefined, so we can use it in &&
+ my $ctt = $objcopy->common_texmf_tree;
+ my $deps_on_arch = 0;
+ for ($objcopy->depends) {
+ if (m/^$pkg\.ARCH$/) {
+ $deps_on_arch = 1;
+ last;
+ }
+ }
+ my $do_relative = 0;
+ debug("pkg=$pkg deps_on_arch=$deps_on_arch, ctt=", defined($ctt)?$ctt:"(undefined)", "\n");
+ $do_relative = $opt_relative && # user option
+ ($deps_on_arch?0:1) && # no $pkg.ARCH dep
+ (defined($ctt)?1:0) && # see above
+ (($ctt eq $TeXLive::TLConfig::RelocTree) ? 1 : 0);
+ # only for texmf-dist
if ($srcsplit) {
if (!$opt_dry) {
my $objsrc = $obj->srcfiles_package;
$objcopy->clear_srcfiles;
if ($objsrc) {
my ($s,$m) = $objsrc->make_container($type, $Master, $opt_containerdir,
- "$pkg.source", $opt_relative);
+ "$pkg.source", $do_relative);
if ($s > 0) {
# something was created
# important, we have to add it to the original $obj
@@ -266,7 +289,7 @@ sub main
$objcopy->clear_docfiles;
if ($objdoc) {
my ($s,$m) = $objdoc->make_container($type, $Master,
- $opt_containerdir, "$pkg.doc", $opt_relative);
+ $opt_containerdir, "$pkg.doc", $do_relative);
if ($s > 0) {
# something was created
$obj->doccontainersize($s);
@@ -285,7 +308,7 @@ sub main
}
if (!$opt_dry) {
my ($s,$m) = $objcopy->make_container($type, $Master, $opt_containerdir,
- $pkg, $opt_relative);
+ $pkg, $do_relative);
if ($s > 0) {
$obj->containersize($s);
}
@@ -293,6 +316,10 @@ sub main
$obj->containermd5($m);
}
}
+ # if the container has been build relocatable we save that information
+ $obj->relocated($do_relative);
+ # and remove the common prefix from the files in the tlpobj
+ $obj->cancel_common_texmf_tree if $do_relative;
# add the updated (or new) TLPOBJ to NET TLPDB
# that way the other container sizes are not destroyed
$nettlpdb->add_tlpobj($obj) unless $opt_dry;
@@ -300,7 +327,7 @@ sub main
# remove old containers
for my $op (@removecontainers) {
- if (-r "$opt_containerdir/$op.tar.lzma") {
+ if (-r "$opt_containerdir/$op.tar.xz") {
info("$0: $op container is old, removing it\n");
`rm $opt_containerdir/$op.*` unless $opt_dry;
}
@@ -349,13 +376,13 @@ sub main
# docfiles into the texlive.tlpdb, no idea why. So update should now
# do that.
$nettlpdb->save;
- system("lzma --force -k -z $opt_location/tlpkg/texlive.tlpdb");
+ system("$::progs{'xz'} --force -k -z $opt_location/tlpkg/texlive.tlpdb");
if (! @ARGV) {
# do a last check that all the containers are actually present
foreach my $p ($nettlpdb->list_packages) {
next if $p =~ /00texlive/;
- if (! -r "$opt_containerdir/$p.tar.lzma") {
+ if (! -r "$opt_containerdir/$p.tar.xz") {
tlwarn("$0: container for $p is missing, strange\n");
}
}
@@ -392,12 +419,12 @@ C<texlive.tlpdb> if need be.
=item B<-all|-a>
Include packages deemed critical in the update, currently
-C<texlive.infra> and C<bin-texlive>. (That is, C<tlmgr> itself needs
+C<texlive.infra>. (That is, C<tlmgr> itself needs
testing before updating, so we don't do it by default.)
=item B<-no-setup>
-Does not try to setup the various programs, but uses I<lzma> and I<tar>
+Does not try to setup the various programs, but uses I<xz> and I<tar>
from the current path.
=item B<-help>
diff --git a/Master/tlpkg/bin/tl-update-nsis b/Master/tlpkg/bin/tl-update-nsis
index a1acbd56ebc..78ef875db99 100755
--- a/Master/tlpkg/bin/tl-update-nsis
+++ b/Master/tlpkg/bin/tl-update-nsis
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
# $Id$
-# Copyright 2008 Norbert Preining
+# Copyright 2008, 2009 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
#
@@ -40,13 +40,9 @@ sub main
chomp (my $Master = `cd $mydir/../.. && pwd`);
my $tlpdb = TeXLive::TLPDB->new ("root" => $Master);
die("Cannot find tlpdb in $Master\n") unless defined($tlpdb);
- my $bintexlive = $tlpdb->get_package("bin-texlive");
- my $bintexlivew32 = $tlpdb->get_package("bin-texlive.win32");
my $texliveinfra = $tlpdb->get_package("texlive.infra");
my $texliveinfraw32 = $tlpdb->get_package("texlive.infra.win32");
my @allfiles = ();
- push @allfiles, $bintexlive->all_files;
- push @allfiles, $bintexlivew32->all_files if defined $bintexlivew32;
push @allfiles, $texliveinfra->all_files;
push @allfiles, $texliveinfraw32->all_files if defined $texliveinfraw32;
@@ -58,7 +54,7 @@ sub main
$removetlpobjdir = 1;
}
my $rev = 0; # we want the highest rev all these packages.
- for my $p ($bintexlive, $bintexlivew32, $texliveinfra, $texliveinfraw32) {
+ for my $p ($texliveinfra, $texliveinfraw32) {
if (defined $p) {
if ($p->revision > $rev) {
$rev = $p->revision;
@@ -95,7 +91,7 @@ Page instfiles
Name "TeX Live Manager Update ${REV}"
OutFile "update-tlmgr-${REV}.exe"
-InstallDir "$PROGRAMFILES\texlive\2008"
+InstallDir "$PROGRAMFILES\texlive\$TeXLive::TLConfig::ReleaseYear"
RequestExecutionLevel "user"
@@ -135,7 +131,7 @@ EOF
}
}
print " ExecWait \'\"\$INSTDIR\\bin\\win32\\tlmgr.bat\" _include_tlpobj";
- for my $p ($bintexlive, $bintexlivew32, $texliveinfra, $texliveinfraw32) {
+ for my $p ($texliveinfra, $texliveinfraw32) {
if (defined $p) {
print " \"\$INSTDIR\\tlpkg\\tlpobj\\", $p->name, ".tlpobj\"";
}
diff --git a/Master/tlpkg/bin/tl-update-tlcritical b/Master/tlpkg/bin/tl-update-tlcritical
index aa88d91815f..81b28dcdd68 100755
--- a/Master/tlpkg/bin/tl-update-tlcritical
+++ b/Master/tlpkg/bin/tl-update-tlcritical
@@ -34,7 +34,7 @@ do_updater ()
# update normal containers.
echo "$0: running tl-update-containers (for critical packages)..."
tl-update-containers -location $tlcrit -all \
- 00texlive-installation.config 00texlive.config bin-texlive texlive.infra
+ 00texlive.installation 00texlive.config texlive.infra
# update Unix disaster recovery.
echo "$0: running tl-makeself-from-tlnet..."
diff --git a/Master/tlpkg/bin/tlpfiles b/Master/tlpkg/bin/tlpfiles
index e41b6cf4c7e..d5407b45aab 100755
--- a/Master/tlpkg/bin/tlpfiles
+++ b/Master/tlpkg/bin/tlpfiles
@@ -17,7 +17,7 @@ BEGIN {
use strict;
-use TeXLive::TLConfig;
+use TeXLive::TLConfig qw/$RelocPrefix $RelocTree/;
use TeXLive::TLPDB;
use Pod::Usage;
use Getopt::Long;
@@ -58,6 +58,7 @@ sub main
die "$0: no TeX Live package named $pkg in $Master.\n" if ! $obj;
my @files = $obj->all_files;
+ if ($obj->relocated) { for (@files) { s:^$RelocPrefix/:$RelocTree/:; } }
print "$_\n" foreach @files;
return 0;
diff --git a/Master/tlpkg/bin/tlpkg-by-size b/Master/tlpkg/bin/tlpkg-by-size
index 9b204966e0b..3f15ffb1d3d 100755
--- a/Master/tlpkg/bin/tlpkg-by-size
+++ b/Master/tlpkg/bin/tlpkg-by-size
@@ -5,9 +5,9 @@
test $# -eq 0 && set - /home/ftp/texlive/tlnet/2008/archive
cd "$1" || exit 1
-for pkgtar in `ls *.tar.lzma | egrep -v '\..*\.tar\.lzma$'`; do
- pkg=`echo $pkgtar | sed 's/\.tar\.lzma$//'`
- size=`cat $pkg.*tar.lzma | wc -c`
+for pkgtar in `ls *.tar.xz | egrep -v '\..*\.tar\.xz$'`; do
+ pkg=`echo $pkgtar | sed 's/\.tar\.xz$//'`
+ size=`cat $pkg.*tar.xz | wc -c`
size=`expr $size / 1024`
printf "%6d %s\n" $size "$pkg"
done | sort -nr
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 3dda28951a8..6afade21522 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -8,7 +8,7 @@ BEGIN {
unshift (@INC, "$mydir/..");
}
-use TeXLive::TLConfig;
+use TeXLive::TLConfig qw/$RelocPrefix $RelocTree/;
use TeXLive::TLPOBJ;
use TeXLive::TLPDB;
@@ -331,6 +331,7 @@ sub do_tlp
push @tpm_files, $tlp->runfiles;
push @tpm_files, $tlp->docfiles;
push @tpm_files, $tlp->srcfiles;
+ if ($tlp->relocated) { for (@tpm_files) { s:^$RelocPrefix/:$RelocTree/:; } }
# we don't push bin files, should we?
my @compared = ();
diff --git a/Master/tlpkg/bin/tlprm b/Master/tlpkg/bin/tlprm
index 997fb3b8d6a..0c2663a6d02 100755
--- a/Master/tlpkg/bin/tlprm
+++ b/Master/tlpkg/bin/tlprm
@@ -18,7 +18,7 @@ BEGIN {
use strict;
-use TeXLive::TLConfig;
+use TeXLive::TLConfig qw/$RelocPrefix $RelocTree/;
use TeXLive::TLPDB;
use TeXLive::TLPSRC;
use TeXLive::TLUtils;
@@ -50,6 +50,7 @@ sub main
}
my @files = $obj->all_files;
+ if ($tlp->relocated) { for (@files) { s:^$RelocPrefix/:$RelocTree/:; } }
my $tlpsrc = new TeXLive::TLPSRC;
$tlpsrc->from_file ($f);
push (@files, $tlpsrc->_srcfile); # also want to remove the tlpsrc file.