diff options
author | Karl Berry <karl@freefriends.org> | 2007-07-15 23:44:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-07-15 23:44:31 +0000 |
commit | 5a41e2c6124a54d5d0cdb85ffad8d58615a26907 (patch) | |
tree | 7ce1ceabc7ad75c589105b054d9bfd448d747f51 | |
parent | 8fc3e172743609fabf1834ef557287cf91dbfd8e (diff) |
new script tlpfiles
git-svn-id: svn://tug.org/texlive/trunk@4594 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Master/tlpkg/bin/tlpfiles | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/Master/tlpkg/bin/tlpfiles b/Master/tlpkg/bin/tlpfiles new file mode 100755 index 00000000000..14a49e943fb --- /dev/null +++ b/Master/tlpkg/bin/tlpfiles @@ -0,0 +1,104 @@ +#!/usr/bin/env perl +# $Id$ +# Copyright 2007 Karl Berry. +# This file is licensed under the GNU General Public License version 2 +# or any later version. +# +# Return all files for a given TeX Live package. + +our $mydir; + +BEGIN { + $^W = 1; + ($mydir = $0) =~ s,/[^/]*$,,; + unshift (@INC, "$mydir/.."); +} + +use strict; + +use TeXLive::TLPDB; +use Pod::Usage; +use Getopt::Long; + +our $opt_debug = 0; +my $man = 0; +my $help = 0; + +GetOptions("debug!", "help|?" => \$help, "man" => \$man) or pod2usage(2); + +pod2usage(1) if $help; +pod2usage(-exitstatus => 0, -verbose => 2) if $man; +exit (&main ()); + + +sub main +{ + die "$0: expected exactly one package name; try --help if you need it.\n" + if @ARGV != 1; + my $pkg = $ARGV[0]; + + my $Master = "$mydir/../.."; # xx TLPDB should default + my $tlpdb_path = "$Master/texlive.tlpdb"; + my $tlpdb = TeXLive::TLPDB->new (location => "$tlpdb_path"); + + my $obj = $tlpdb->get_package ($pkg); + die "$0: no TeX Live package named $pkg.\n" + if ! $obj; + + my @files = $obj->all_files; + print "$_\n" foreach @files; + + return 0; +} + +exit 0; + + + +=head1 NAME + +tlpfiles - list files contained in a TeX Live package + +=head1 SYNOPSIS + +tlpfiles [OPTION]... TLPKG + +=head1 OPTIONS + +=over 8 + +=item B<-help> +Print brief help message and exit. + +=item B<-man> +Print formatted manual page and exit. + +=item B<-debug> +Give debug messages from the TeX Live modules. + +=back + +=head1 DESCRIPTION + +Return all the files contained in the given TeX Live package (as +determined by reading the TeX Live package database). This includes +any executables as well as runtime, documentation, and source files. + +It does not include the C<.tlpsrc> file for the package, since that is +necessarily part of the build infrastructure rather than the +self-contained package. + +=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: # |