diff options
Diffstat (limited to 'Master/tlpkg/etc/create-tlsrc-from-tpm.pl')
-rwxr-xr-x | Master/tlpkg/etc/create-tlsrc-from-tpm.pl | 326 |
1 files changed, 0 insertions, 326 deletions
diff --git a/Master/tlpkg/etc/create-tlsrc-from-tpm.pl b/Master/tlpkg/etc/create-tlsrc-from-tpm.pl deleted file mode 100755 index 08d8fb8bc3c..00000000000 --- a/Master/tlpkg/etc/create-tlsrc-from-tpm.pl +++ /dev/null @@ -1,326 +0,0 @@ -#!/usr/bin/env perl -# -# tpm2deb-source.pl -# machinery to create debian packages from TeX Live depot -# (c) 2005, 2006 Norbert Preining -# -# $Id: tpm2deb-source.pl 2691 2007-04-16 09:42:22Z frank $ -# -# configuration is done via the file tpm2deb.cfg -# - -use strict; -no strict 'refs'; -# use warnings; -# no warnings 'uninitialized'; - -my $_tmp; - -my $opt_master; -our $opt_nosrcpkg; -our $opt_noremove; -my $globalreclevel; -my $oldsrcdir; -my $datadump ; - -BEGIN { - my $upstream_modules = "/usr/share/tex-common/"; - unshift (@INC, "./all/debian"); - unshift (@INC, $upstream_modules); -} - -my ($mydir,$mmydir); -($mydir = $0) =~ s,/[^/]*$,,; -if ($mydir eq $0) { $mydir = `pwd` ; chomp($mydir); } -if (!($mydir =~ m,/.*,,)) { $mmydir = `pwd`; chomp($mmydir); $mydir = "$mmydir/$mydir" ; } - - -# $opt_master = "./LocalTPM"; -my $opt_debug = 0; -$opt_nosrcpkg = 0; -$opt_noremove = 0; -$globalreclevel = 1; -$oldsrcdir = "./src"; -$datadump = "tpm.data"; - -use Getopt::Long; -# use Data::Dumper; - -#use Strict; -use File::Basename; -use File::Copy; -use File::Path; -use File::Temp qw/ tempfile tempdir /; -use Storable; -## not needed, atm we are calling eperl binary use Parse::ePerl; -#use XML::DOM; -use Cwd; -#use FileUtils qw(canon_dir cleandir make_link newpath member -# normalize substitute_var_val dirname diff_list remove_list -# rec_rmdir sync_dir walk_dir start_redirection stop_redirection); -#use Tpm; -# -# Configuration for destination of files -# DONT USER DOUBLE QUOTES; THESE VARIABLES HAVE TO GET REEVALUATED -# AFTER $tmpdir IS SET!! -# -my $changelog = ""; -my $changelogversion = ""; -my $changelogextraversion = ""; -my $changelogrevision = ""; -my $changelogdistribution = ""; -my $allowed_dists = "(unstable|UNRELEASED|sarge-backports|etch-backports|stable-security|experimental)"; - - -our $Master; - -$Master = `pwd`; -chomp($Master); -my $TpmGlobalPath = $Master; -my $DataGlobalPath = $Master; - -unshift (@INC, "$Master/../Build/tools"); -File::Basename::fileparse_set_fstype('unix'); - - -use Getopt::Long; -use File::Basename; -use File::Copy; -use File::Path; -use File::Temp qw/ tempfile tempdir /; -use Storable; -use Cwd; -use Tpm; - -our (%TeXLive); -our (%Config,%TpmData); -our %TexmfTreeOfType = ( "TLCore" => "texmf", - "Documentation" => "texmf-doc", - "Package" => "texmf-dist"); -our @TpmCategories = keys %TexmfTreeOfType; -our %TypeOfTexmfTree = reverse %TexmfTreeOfType; - -# pre set $opt_master to ./LocalTPM which contains also the Tools dir -# this is set in the main script, and changed with commandline option. -# should it maybe be deleted here? - -my $opt_onlyscripts; - -sub populate_TpmData_from_dump { - my $datafile = $_[0]; - my $tpmdataref = retrieve($datafile); - %TpmData = %{$tpmdataref}; -} - -sub load_collection_tpm_data { - # local functions - sub trim { - my ($str) = @_; - $str =~ s/^[\n\s]+//; - $str =~ s/[\n\s]+$//; - return $str; - } - sub get_requires { - my ($tpm,$type) = @_; - my %requires = $tpm->getHash("Requires"); - my @keylist = keys %requires; - my @tlcorereqlist = (); - my @packagereqlist = (); - if ($type eq '') { - $type = "all"; - } - foreach my $k (keys %requires) { - foreach my $e (@{$requires{$k}}) { - # manually exclude Windows-only packages - if ($e eq "bin-bzip2") {} - elsif ($e eq "bin-xpdf") {} - elsif ($e eq "bin-chktex") {} - elsif ($e eq "bin-ghostscript") {} - elsif ($e eq "bin-gzip") {} - elsif ($e eq "bin-jpeg2ps") {} - elsif ($e eq "bin-perl") {} - elsif ($e eq "bin-windvi") {} - elsif ($e eq "lib-freetype2") {} - elsif ($e eq "lib-gd") {} - elsif ($e eq "lib-geturl") {} - elsif ($e eq "lib-gnu") {} - elsif ($e eq "lib-gs") {} - elsif ($e eq "lib-jpeg") {} - elsif ($e eq "lib-md5") {} - elsif ($e eq "lib-png") {} - elsif ($e eq "lib-regex") {} - elsif ($e eq "lib-texmfmp") {} - elsif ($e eq "lib-tiff") {} - elsif ($e eq "lib-ttf") {} - elsif ($e eq "lib-xpdf") {} - elsif ($e eq "lib-xpm") {} - elsif ($e eq "lib-zlib") {} - elsif ($e =~ /^bin-(.*)$/) { - push @packagereqlist, "$k/$e"; - } - elsif ($e =~ /^hyphen-(.*)$/){ - push @packagereqlist, "$k/$e"; - } - elsif ($k eq "TLCore") { - push @tlcorereqlist, "$k/$e"; - } else { - push @packagereqlist, "$k/$e"; - } - } - } - if ($type eq '' || $type eq 'all') { - my %foo; - $foo{'TLCore'} = \@tlcorereqlist; - $foo{'Package'} = \@packagereqlist; - #my @foo=(@tlcorereqlist,@packagereqlist); - #return(@foo); - return(\%foo); - } elsif ($type eq 'TLCore') { - return(@tlcorereqlist); - } elsif ($type eq 'Package') { - return(@packagereqlist); - } else { - die("Don't know this type: $type!\n"); - } - } - # start of real function - print "Start loading tpm data ... \n"; - foreach my $t ('TLCore', 'Documentation', 'Package') { - my $subtree = ${TexmfTreeOfType}{$t}; - foreach my $f (<$Master/$subtree/tpm/*.tpm>) { - print "Working on $f\n"; - my $shortn = basename($f); - $shortn =~ s,\.tpm$,,; - if ($shortn !~ m/^scheme-/) { next ; } - my $tpm = Tpm->new("$subtree/tpm/$shortn.tpm"); - $TpmData{$t}{$shortn}{'BinPatterns'} = [ $tpm->getList("BinPatterns") ]; - $TpmData{$t}{$shortn}{'DocPatterns'} = [ $tpm->getList("DocPatterns") ]; - $TpmData{$t}{$shortn}{'RunPatterns'} = [ $tpm->getList("RunPatterns") ]; - $TpmData{$t}{$shortn}{'SourcePatterns'} = [ $tpm->getList("SourcePatterns") ]; - $TpmData{$t}{$shortn}{'BinFiles'} = [ $tpm->getFileList("BinFiles") ]; - $TpmData{$t}{$shortn}{'DocFiles'} = [ $tpm->getFileList("DocFiles") ]; - $TpmData{$t}{$shortn}{'RunFiles'} = [ $tpm->getFileList("RunFiles") ]; - $TpmData{$t}{$shortn}{'SourceFiles'} = [ $tpm->getFileList("SourceFiles") ]; - $TpmData{$t}{$shortn}{'RemoteFiles'} = [ $tpm->getFileList("RemoteFiles") ]; - $TpmData{$t}{$shortn}{'Title'} = trim($tpm->getAttribute("Title")); - # print "got title $TpmData{$t}{$shortn}{'Title'}\n"; - $TpmData{$t}{$shortn}{'Description'} = trim($tpm->getAttribute("Description")); - $TpmData{$t}{$shortn}{'License'} = trim($tpm->getAttribute("License")); - my @foo = $tpm->getList("Installation"); - $TpmData{$t}{$shortn}{'Installation'} = \@foo ; - my $alldeps = get_requires($tpm,'all'); - my @incs = @{$alldeps->{'Package'}}; - my @deps = @{$alldeps->{'TLCore'}}; - $TpmData{$t}{$shortn}{'Package'} = \@incs; - $TpmData{$t}{$shortn}{'TLCore'} = \@deps; - } - } - print " ... done\n"; -} - -sub create_tlsrc_files { - print "Creating tlsrc files TpmData\n\n"; - #foreach my $t ('TLCore', 'Documentation', 'Package') { - foreach my $t ('TLCore', 'Documentation') { - print "Creating tlsrc for $t:\n"; - my %foo = %{$TpmData{$t}}; - foreach my $p (keys %foo) { - open (FOO,">tlsrc/$p.tlsrc") || die("Cannot open tlsrc/$p.tlsrc!"); - print FOO "name $p\n"; - print FOO "category $t\n"; - if ($TpmData{$t}{$p}{'Title'} !~ /^[[:space:]]*$/) { - print FOO "shortdesc $TpmData{$t}{$p}{'Title'}\n"; - } - $_tmp = "$TpmData{$t}{$p}{'Description'}"; - if (defined($_tmp) && ($_tmp !~ /^[[:space:]]*$/)) { - $_tmp = "longdesc $_tmp"; - write FOO; - } - #print FOO "longdesc $TpmData{$t}{$p}{'Description'}\n"; - foreach my $foo (@{$TpmData{$t}{$p}{'Package'}}) { - print FOO "depend $foo\n"; - } - foreach my $foo (@{$TpmData{$t}{$p}{'TLCore'}}) { - print FOO "depend $foo\n"; - } - foreach my $foo (@{$TpmData{$t}{$p}{'SourcePatterns'}}) { - print FOO "SourcePatterns f $foo\n"; - } - foreach my $foo (@{$TpmData{$t}{$p}{'BinPatterns'}}) { - print FOO "binpatterns f $foo\n"; - } - foreach my $foo (@{$TpmData{$t}{$p}{'DocPatterns'}}) { - print FOO "docpatterns f $foo\n"; - } - foreach my $foo (@{$TpmData{$t}{$p}{'RunPatterns'}}) { - next if ($foo =~ /\.tpm$/); - print FOO "runpatterns f $foo\n"; - } - foreach my $ex (@{$TpmData{$t}{$p}{'Installation'}}) { - my %foo = %{$ex}; - print FOO "execute $foo{'function'} $foo{'mode'} $foo{'parameter'}\n"; - } - close(FOO); - } - } - return (0); - foreach my $t ('Package') { - print "Creating tlsrc for $t:\n"; - my %foo = %{$TpmData{$t}}; - foreach my $p (keys %foo) { - open (FOO,">tlsrc/$p.tlsrc") || die("Cannot open tlsrc/$p.tlsrc!"); - print FOO "name $p\n"; - foreach my $foo (@{$TpmData{$t}{$p}{'Package'}}) { - print FOO "depend $foo\n"; - } - foreach my $foo (@{$TpmData{$t}{$p}{'TLCore'}}) { - print FOO "depend $foo\n"; - } - foreach my $ex (@{$TpmData{$t}{$p}{'Installation'}}) { - my %foo = %{$ex}; - print FOO "execute $foo{'function'} $foo{'mode'} $foo{'parameter'}\n"; - } - close(FOO); - } - } -} - - -&main(@ARGV); - -1; - -# variables needed outside of main -my $version; -my $revision; -my $extraversion; -my $date; -my $arch; -my $shortl; - -sub main { - ${Tpm::MasterDir} = $TeXLive{'all'}{'tpm_global_path'}; - $arch = "all"; - ${Tpm::CurrentArch} = "i386-linux"; - ${Tpm::MasterDir} = $Master; - load_collection_tpm_data(); - create_tlsrc_files(); -} - -##################################### -# -# Formats -# -format FOO = -^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -$_tmp - ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -$_tmp -. - -### Local Variables: -### perl-indent-level: 4 -### tab-width: 4 -### indent-tabs-mode: t -### End: -# vim:set tabstop=4: # |