summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tlpfiles
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-07-15 23:44:31 +0000
committerKarl Berry <karl@freefriends.org>2007-07-15 23:44:31 +0000
commit5a41e2c6124a54d5d0cdb85ffad8d58615a26907 (patch)
tree7ce1ceabc7ad75c589105b054d9bfd448d747f51 /Master/tlpkg/bin/tlpfiles
parent8fc3e172743609fabf1834ef557287cf91dbfd8e (diff)
new script tlpfiles
git-svn-id: svn://tug.org/texlive/trunk@4594 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/bin/tlpfiles')
-rwxr-xr-xMaster/tlpkg/bin/tlpfiles104
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: #