summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tl-update-containers
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/bin/tl-update-containers')
-rwxr-xr-xMaster/tlpkg/bin/tl-update-containers22
1 files changed, 20 insertions, 2 deletions
diff --git a/Master/tlpkg/bin/tl-update-containers b/Master/tlpkg/bin/tl-update-containers
index 3fe51783dfb..dc389b45eb3 100755
--- a/Master/tlpkg/bin/tl-update-containers
+++ b/Master/tlpkg/bin/tl-update-containers
@@ -32,12 +32,14 @@ my $opt_recreate = 0;
my $opt_help = 0;
my $opt_version = 0;
my $opt_all = 0;
+my $opt_nosetup = 0;
TeXLive::TLUtils::process_logging_options();
GetOptions(
"location=s" => \$opt_location,
"recreate" => \$opt_recreate,
"all|a" => \$opt_all,
+ "no-setup" => \$opt_nosetup,
"version" => \$opt_version,
"help|?" => \$opt_help) or pod2usage(1);
@@ -75,12 +77,18 @@ sub main
my %count;
my $nettlpdb;
+ if (!$opt_recreate) {
+ if (! -r "$opt_location/tlpkg/texlive.tlpdb") {
+ warn ("Cannot load tlpdb from $opt_location, going into recreate mode!");
+ $opt_recreate = 1;
+ }
+ }
+
if ($opt_recreate) {
# remake everything.
@todopacks = $tlpdb->list_packages();
$nettlpdb = $tlpdb->copy;
$nettlpdb->root($opt_location);
-
} else {
$nettlpdb = TeXLive::TLPDB->new(root => $opt_location);
if (!defined($nettlpdb)) {
@@ -149,7 +157,14 @@ sub main
}
# set up the programs ...
- &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer");
+ if ($opt_nosetup) {
+ # do a minimal setup
+ $::progs{'lzma'} = "lzma";
+ $::progs{'tar'} = "tar";
+ } else {
+ # do a full setup
+ &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer");
+ }
# get list of packages.
PACKS: for my $pkg (sort @todopacks) {
@@ -286,6 +301,9 @@ Does a full rebuild of all packages.
Will update also packages which are exempted due to possible breakage
(currently texlive.infra and bin-texlive).
+=item B<-no-setup>
+Does not try to setup the various programs, but uses I<lzma> and I<tar>.
+
=item B<-help>
Print this documentation and exit.