diff options
Diffstat (limited to 'Master/tlpkg/bin/tl-update-containers')
-rwxr-xr-x | Master/tlpkg/bin/tl-update-containers | 42 |
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. |