summaryrefslogtreecommitdiff
path: root/Master/tlpkg/bin/tlpsrc2tlpobj.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/bin/tlpsrc2tlpobj.pl')
-rwxr-xr-xMaster/tlpkg/bin/tlpsrc2tlpobj.pl115
1 files changed, 115 insertions, 0 deletions
diff --git a/Master/tlpkg/bin/tlpsrc2tlpobj.pl b/Master/tlpkg/bin/tlpsrc2tlpobj.pl
new file mode 100755
index 00000000000..58f7dff61d7
--- /dev/null
+++ b/Master/tlpkg/bin/tlpsrc2tlpobj.pl
@@ -0,0 +1,115 @@
+#!/usr/bin/env perl
+#
+# tlsrc2tlp.pl
+# convert a set of tlsrc files (given as arguments) into tlp
+# Copyright 2007 Norbert Preining
+#
+# This file is licensed under the GNU General Public Licence version 2
+# or any later version
+#
+
+BEGIN {
+ $^W = 1;
+ ($mydir = $0) =~ s,/[^/]*$,,;
+ unshift (@INC, $mydir);
+}
+
+use strict;
+
+use TLSRC;
+use TLP;
+use TLTREE;
+use Getopt::Long;
+use Pod::Usage;
+use File::Path;
+
+
+my $opt_master = "/src/TeX/texlive-svn/Master";
+my $opt_outputdir = "./tlp";
+our $opt_debug = 0;
+my $man = 0;
+my $help = 0;
+
+GetOptions("debug!", # debug mode
+ "master=s" => \$opt_master, # location of the tree
+ "outputdir=s" => \$opt_outputdir,
+ '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!";
+}
+
+if (! -d "$opt_outputdir") {
+ mkpath("$opt_outputdir") or die "Cannot mkdir $opt_outputdir!";
+}
+
+my $tltree = TLTREE->new( 'svnroot' => "$opt_master" );
+$tltree->init_from_svn;
+
+foreach my $f (@ARGV) {
+ my $tlsrc = new TLSRC;
+ $tlsrc->from_file($f);
+ my $tlp = $tlsrc->make_tlp($tltree);
+ my $name = $tlp->name;
+ open(FOO,">$opt_outputdir/$name.tlp") or die "Cannot create $opt_outputdir/$name.tlp!";
+ $tlp->writeout(\*FOO);
+ close(FOO);
+}
+
+
+__END__
+
+=head1 NAME
+
+tlsrc2tlp - Converting tlsrc files into tlp files
+
+=head1 SYNOPSIS
+
+tlsrc2tlp [options] [tlsrcfiles ...]
+
+ Options:
+ -help brief help message
+ -man full documentation
+ -master=s set Master of TeX Live tree
+ -outputdir=s specify the directory where tlp 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<-master>
+
+The location given by B<-master> must point to a valid svn repository
+of TeX Live Master direcory. Defaults to /src/TeX/texlive-svn/Master
+
+=item B<-outputdir>
+
+Specifies the location where tlp files are created. Defaults to ./tlp
+
+=item B<-debug>
+
+Give debug messages from the TeX Live modules
+
+=back
+
+=head1 DESCRIPTION
+
+B<tlsrc2tlp> converts TeX Live Source (tlsrc) files into TeX Live Package
+files (tlp).
+
+=cut
+
+