#!/usr/bin/env perl -w # # tlpdb2list.pl # create list file from tlpdb # Copyright 2007 Norbert Preining # # This file is licensed under the GNU General Public Licence version 2 # or any later version # BEGIN { ($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_outputdir = "new-list"; our $opt_debug = 0; my $man = 0; my $help = 0; GetOptions("debug!", # debug mode "outputdir=s" => \$opt_outputdir, 'help|?' => \$help, man => \$man ) or pod2usage(2); pod2usage(1) if $help; pod2usage(-exitstatus => 0, -verbose => 2) if $man; pod2usage(1) if ($#ARGV<0); if (! -d "$opt_outputdir") { mkpath("$opt_outputdir") or die "Cannot mkdir $opt_outputdir!"; } die "Cannot read tlpdb file $ARGV[0]." if (! -r "$ARGV[0]"); my $tldb = new TeXLive::TLPDB ( location => "$ARGV[0]" ); $tldb->generate_listfiles($opt_outputdir); __END__ =head1 NAME tlpdb2list - Generates list files from a TeX Live Package Database =head1 SYNOPSIS tlpdb2list [options] texlive.tlpdb Options: -help brief help message -man full documentation -outputdir=s specify the directory where list files are created -debug get debug messages from TL* modules =head1 OPTIONS =over 8 =item B<-help> Print a brief help message and exits. =item B<-man> Prints the manual page and exits. =item B<-outputdir> Specifies the location where list files are created. Defaults to ./new-list =item B<-debug> Give debug messages from the TeX Live modules =back =head1 DESCRIPTION B generates list files necessary for the installer from the TeX Live Package Database. =head1 AUTHORS AND COPYRIGHT This script and its documentation was written by Norbert Preining > for the TeX Live distribution and both are licensed under the GNU General Public License Version 2 or later. =cut