diff options
author | Norbert Preining <preining@logic.at> | 2007-11-12 15:17:48 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2007-11-12 15:17:48 +0000 |
commit | 898e6800b1731128534e7ee8e1b54e836d425b62 (patch) | |
tree | 6fd6f30692a8cae1fec2a92c8f1ea1c61f61151d /Master/tlpkg/bin/tlpdb2container | |
parent | c9f9a5d52d853d226984e92cdc88ebf4773935bb (diff) |
call it make_container, not make_zip
git-svn-id: svn://tug.org/texlive/trunk@5411 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/bin/tlpdb2container')
-rwxr-xr-x | Master/tlpkg/bin/tlpdb2container | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/Master/tlpkg/bin/tlpdb2container b/Master/tlpkg/bin/tlpdb2container new file mode 100755 index 00000000000..6467ec84e2d --- /dev/null +++ b/Master/tlpkg/bin/tlpdb2container @@ -0,0 +1,116 @@ +#!/usr/bin/env perl +# $Id: tlpdb2container 5188 2007-10-14 20:32:44Z karl $ +# Copyright 2007 Norbert Preining +# This file is licensed under the GNU General Public License version 2 +# or any later version. +# +# Generate a zip file for the packages specified on the cmdline, or +# for -all + +BEGIN { + $^W = 1; + ($mydir = $0) =~ s,/[^/]*$,,; + unshift (@INC, "$mydir/.."); +} + +use strict; + +use TeXLive::TLPOBJ; +use TeXLive::TLPDB; +use Getopt::Long; +use Pod::Usage; +use File::Path; + +my $opt_all = 0; +our $mydir; +our $opt_debug = 0; +my $opt_type = "zip"; +my $opt_outputdir = "./zip"; +my $help = 0; + +GetOptions("outputdir=s" => \$opt_outputdir, + "all!" => \$opt_all, + "debug!" => \$opt_debug, + "type=s" => \$opt_type, + "help|?" => \$help) or pod2usage(1); + +pod2usage(-exitstatus => 0, -verbose => 2) if $help; + +exit (&main ()); + +sub main +{ + # get the db. + chomp (my $Master = `cd $mydir/../.. && pwd`); # xx TLPDB should default + my $tlpdb_path = "$Master/texlive.tlpdb"; + my $tlpdb = TeXLive::TLPDB->new ("location" => $tlpdb_path); + die("Cannot load tlpdb at $tlpdb_path!\n") unless defined($tlpdb); + my @packs; + if ($opt_all) { + @packs = $tlpdb->list_packages; + } else { + @packs = @ARGV; + } + # get list of packages. + for my $pkg (@packs) { + my $obj = $tlpdb->get_package ($pkg); + die "$0: no TeX Live package named $pkg in $tlpdb_path.\n" if ! $obj; + $obj->make_container($opt_type,$Master,$opt_outputdir); + } +} + + + +__END__ + +=head1 NAME + +tlpdb2container - generate container files (zip,tar.lzma) of a package + +=head1 SYNOPSIS + +tlpdb2container [OPTION]... + +=head1 OPTIONS + +=over 8 + +=item B<-all> +build container file for all packages present in the tlpdb. + +=item B<-outputdir> I<outputdir> +The location where created container files are placed, defaults to ./zip. + +=item B<-type> I<zip|lzma> +Specifies the type of container to be used. C<zip> generates zip files, +while C<lzma> generates .tar.lzma files. + +=back + +The standard options C<-help> and C<-debug> are also accepted. +See the tlpfiles documentation for details. + + +=head1 DESCRIPTION + +To distribute packages over the network and on installation media the +packages are wrapped into container files. These container are either +simple zip files or tar.lzma file containing all the files of the package. + +B<tlpdb2container> generates container files from a TeX Live Database and the +respective installation. + +=head1 AUTHORS AND COPYRIGHT + +This script and its documentation were written for the TeX Live +distribution (L<http://tug.org/texlive>) and both are licensed under the +GNU General Public License Version 2 or later. + +=cut + +### Local Variables: +### perl-indent-level: 2 +### tab-width: 2 +### indent-tabs-mode: nil +### End: +# vim:set tabstop=2: # |