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-containers42
1 files changed, 23 insertions, 19 deletions
diff --git a/Master/tlpkg/bin/tl-update-containers b/Master/tlpkg/bin/tl-update-containers
index 6ff5743e470..d1d68bbb2ed 100755
--- a/Master/tlpkg/bin/tl-update-containers
+++ b/Master/tlpkg/bin/tl-update-containers
@@ -54,7 +54,13 @@ exit (&main());
sub main
{
- # get our db, same hierarchy from which we are being run.
+ # check that we have a target db.
+ if (! $opt_recreate && ! -r "$opt_location/tlpkg/texlive.tlpdb") {
+ die "$0: Cannot load tlpdb from output directory $opt_location;\n"
+ . "specify --recreate if you want to populate anew.\n";
+ }
+
+ # get source db, same hierarchy from which we are being run.
chomp(my $Master = `cd $mydir/../.. && pwd`);
my $tlpdb = TeXLive::TLPDB->new("root" => $Master);
die "cannot find tlpdb in $Master" unless defined($tlpdb);
@@ -69,19 +75,11 @@ sub main
if ($format eq "lzma" || $format eq "zip") {
$type = $format;
} else {
- tlwarn("$0: unknown container format specified in 00texlive.config: ",
- "$format; ignoring and continuing with $type");
+ tlwarn("$0: unknown container format $format in 00texlive.config; ",
+ "ignoring and continuing with $type");
}
debug("format=$type srcsplit=$srcsplit docsplit=$docsplit\n");
- if (! $opt_recreate) {
- if (! -r "$opt_location/tlpkg/texlive.tlpdb") {
- tlwarn("$0: Cannot load tlpdb from $opt_location, ",
- "continuing in recreate mode.\n");
- $opt_recreate = 1;
- }
- }
-
my @todopacks = ();
my @removepacks = ();
my @removecontainers = ();
@@ -366,12 +364,13 @@ tl-update-containers [I<option>]...
=item B<-location> I</container/dir>
-The location to find the previously generated containers;
-default is C<./archive>.
+The directory of containers to be updated, usually with a previous set
+of containers to be compared against; default is C<./archive>.
=item B<-recreate>
-Does a full rebuild of all packages.
+Forces rebuild of containers, including creation of the output
+C<texlive.tlpdb> if need be.
=item B<-all|-a>
@@ -401,11 +400,16 @@ pseudo-package C<00texlive.config>. See L<TeXLive::TLPDB>.
=head1 DESCRIPTION
-This program compares C<texlive.tlpdb> (found relative to this script)
-with the specified I<containerdir>. If a tlpdb package is newer (i.e.,
-a higher revision number), the container(s) for the package are updated.
-When the package exists in tlpdb only, it is created in I<containerdir>.
-When the package exists in I<containerdir> only, it is removed from there.
+This program compares the C<texlive.tlpdb> found relative to this script
+with the C<texlive.tlpdb> found in the specified I<containerdir>. If a
+tlpdb package is newer (i.e., a higher revision number), the
+container(s) for the package are updated. When the package exists in
+tlpdb only, it is created in I<containerdir>. When the package exists
+in I<containerdir> only, it is removed from there. The C<texlive.tlpdb>
+in I<containerdir> is updated accordingly.
+
+If I<containerdir> does not have a C<texlive.tlpdb>, the script aborts
+unless C<-recreate> is specified.
This is called from the L<tl-update-tlnet> script, which is run nightly.