summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tlpsrc2tlpdb
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2007-06-25 15:41:12 +0000
committerNorbert Preining <preining@logic.at>2007-06-25 15:41:12 +0000
commitabb3a7358c906a4a219315561eb258e1d8315fa3 (patch)
treea72f83c598c95a04ee84f9b3c592ff2dd92200a6 /Master/tlpkg/bin/tlpsrc2tlpdb
parent4a432271ddcd830bf55dca9d44d352a809d91a42 (diff)
- remove the .pl extensions of the various scripts
- move temporary scripts or scripts I used for development but which are not of real use to tlpkg/etc git-svn-id: svn://tug.org/texlive/trunk@4503 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/bin/tlpsrc2tlpdb')
-rwxr-xr-xMaster/tlpkg/bin/tlpsrc2tlpdb110
1 files changed, 110 insertions, 0 deletions
diff --git a/Master/tlpkg/bin/tlpsrc2tlpdb b/Master/tlpkg/bin/tlpsrc2tlpdb
new file mode 100755
index 00000000000..3035e7e0158
--- /dev/null
+++ b/Master/tlpkg/bin/tlpsrc2tlpdb
@@ -0,0 +1,110 @@
+#!/usr/bin/env perl
+#
+# tlpsrc2tlpdb
+# convert a set of tlpsrc files (given as arguments) into tlpdb
+#
+# Copyright 2007 Norbert Preining
+# This file is licensed under the GNU General Public Licence version 2
+# or any later version
+
+BEGIN {
+ $^W = 1;
+ chomp ($mydir = `dirname $0`);
+ unshift (@INC, "$mydir/..");
+}
+
+use strict;
+
+use TeXLive::TLPSRC;
+use TeXLive::TLPOBJ;
+use TeXLive::TLPDB;
+use TeXLive::TLTREE;
+use Getopt::Long;
+use Pod::Usage;
+use File::Path;
+
+
+chomp (my $opt_master = `cd $::mydir/../.. && pwd`);
+our $opt_debug = 0;
+my $man = 0;
+my $help = 0;
+
+GetOptions("debug!", # debug mode
+ "master=s" => \$opt_master, # location of the tree
+ 'help|?' => \$help, man => \$man
+ ) or pod2usage(2);
+
+pod2usage(1) if $help;
+pod2usage(-exitstatus => 0, -verbose => 2) if $man;
+
+if (! -d "$opt_master") {
+ die "Master $opt_master does not exists!";
+}
+
+my $tltree = TeXLive::TLTREE->new( 'svnroot' => "$opt_master" );
+$tltree->init_from_svn;
+
+my $tldb = TeXLive::TLPDB->new;
+
+foreach my $f (@ARGV) {
+ my $tlsrc = new TeXLive::TLPSRC;
+ $tlsrc->from_file($f);
+ my $tlp = $tlsrc->make_tlpobj($tltree);
+ $tldb->add_tlpobj($tlp);
+}
+
+$tldb->writeout;
+
+__END__
+
+=head1 NAME
+
+tlpsrc2tlpdb - Converting tlpsrc files into tlpdb file
+
+=head1 SYNOPSIS
+
+tlpsrc2tlpdb [options] [tlsrcfiles ...]
+
+ Options:
+ -help brief help message
+ -man full documentation
+ -master=s set Master of TeX Live tree
+ -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<-master>
+
+The location given by B<-master> must point to a valid svn repository
+of TeX Live Master direcory. Defaults to ../.. of C<$0>.
+
+=item B<-debug>
+
+Give debug messages from the TeX Live modules
+
+=back
+
+=head1 DESCRIPTION
+
+B<tlpsrc2tlpdb> converts TeX Live Source Package files (tlpsrc) files into a
+TeX Live Package Database (tlpdb).
+
+=head1 AUTHORS AND COPYRIGHT
+
+This script and its documentation was written by
+Norbert Preining <F<preining@logic.at>> for the TeX Live distribution and both
+are licensed under the GNU General Public License Version 2 or later.
+
+=cut
+
+