From 3fe539f07cfc737cb1f63735d921ec76b798f243 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 27 Dec 2007 09:53:05 +0000 Subject: add generate-{fmtutil,language,updmap} scripts and use them instead of its own code in the installer. update the texlive-infra.tlpsrc to list these programs and update texlive.tlpdb git-svn-id: svn://tug.org/texlive/trunk@5948 c570f23f-e606-0410-a88d-b1316a301751 --- Master/install-tl.pl | 16 +++--- Master/tlpkg/bin/generate-fmtutil | 97 ++++++++++++++++++++++++++++++++ Master/tlpkg/bin/generate-language | 97 ++++++++++++++++++++++++++++++++ Master/tlpkg/bin/generate-updmap | 97 ++++++++++++++++++++++++++++++++ Master/tlpkg/texlive.tlpdb | 19 ++++--- Master/tlpkg/tlpsrc/texlive-infra.tlpsrc | 3 + 6 files changed, 312 insertions(+), 17 deletions(-) create mode 100755 Master/tlpkg/bin/generate-fmtutil create mode 100755 Master/tlpkg/bin/generate-language create mode 100755 Master/tlpkg/bin/generate-updmap diff --git a/Master/install-tl.pl b/Master/install-tl.pl index 53f560e1a9e..bb8892d3399 100755 --- a/Master/install-tl.pl +++ b/Master/install-tl.pl @@ -36,7 +36,7 @@ use TeXLive::TLUtils qw(initialize_installer media platform platform_desc debug which getenv win32 unix program_exists architectures_available additional_architectures_available_from_net get_system_tmpdir member mkdirhier make_var_skeleton make_local_skeleton install_package copy - create_fmtutil create_updmap create_language install_packages dirname); + install_packages dirname); use TeXLive::TLPOBJ; use TeXLive::TLPDB; use TeXLive::TLConfig qw($DefaultContainerExtension $InfraLocation); @@ -187,9 +187,6 @@ if ($opt_profile eq "") { calc_depends(); prepare_installation(); do_install_packages(); -create_fmtutil($localtlpdb,"$vars{'TEXMFSYSVAR'}/web2c/fmtutil.cnf","$vars{'TEXMFLOCAL'}/web2c/fmtutil-local.cnf"); -create_updmap($localtlpdb,"$vars{'TEXMFSYSVAR'}/web2c/updmap.cfg","$vars{'TEXMFLOCAL'}/web2c/updmap-local.cfg"); -create_language($localtlpdb,"$vars{'TEXMFSYSVAR'}/tex/generic/config/language.dat","$vars{'TEXMFLOCAL'}/tex/generic/config/language-local.dat"); do_postinst_stuff(); dump_vars("$system_tmpdir/texlive.vars"); # if we installed from a profile we don't need to write it out @@ -340,7 +337,6 @@ sub calc_depends { # loop over all the pre_selected and add them foreach my $p (@pre_selected) { debug "pre_selected $p\n"; - print "pre_selected $p\n"; foreach my $p_dep ($tlpdb->get_package($p)->depends) { if ($p_dep =~ m/^(.*)\.ARCH$/) { my $foo = "$1"; @@ -588,9 +584,9 @@ sub do_postinst_stuff { $path = $ENV{'PATH'}; } if (win32()) { - $path = "$vars{'TEXDIR'}/bin/$vars{'this_platform'};$path"; + $path = "$vars{'TEXDIR'}/bin/$vars{'this_platform'};$vars{'TEXDIR'}/tlpkg/bin;$path"; } else { - $path = "$vars{'TEXDIR'}/bin/$vars{'this_platform'}:$path"; + $path = "$vars{'TEXDIR'}/bin/$vars{'this_platform'}:$vars{'TEXDIR'}/tlpkg/bin:$path"; } $ENV{'PATH'} = "$path"; # Step 3: Make Perl find the right modules @@ -611,8 +607,11 @@ sub do_postinst_stuff { } # # Step 4: run the programs + `generate-fmtutil`; + `generate-updmap`; + `generate-language`; my $mktexlsr = (win32() ? "mktexlsr.exe" : "mktexlsr"); - my $updmap = (win32() ? "updmap.exe" : "updmap-sys"); + my $updmap = (win32() ? "$perlint $vars{'TEXDIR'}/bin/win32/updmap-sys.pl" : "updmap-sys"); `$mktexlsr $vars{'TEXDIR'}/texmf-dist $vars{'TEXDIR'}/texmf $vars{'TEXDIR'}/texmf-local`; `$updmap --nohash --cnffile=$vars{'TEXMFSYSVAR'}/web2c/updmap.cfg --dvipsoutputdir=$vars{'TEXMFSYSVAR'}/fonts/map/dvips/updmap \ --dvipdfmoutputdir=$vars{'TEXMFSYSVAR'}/fonts/map/dvipdfm/updmap --pdftexoutputdir=$vars{'TEXMFSYSVAR'}/fonts/map/pdftex/updmap `; `$mktexlsr $vars{'TEXMFSYSVAR'}`; @@ -623,7 +622,6 @@ sub do_postinst_stuff { } - __END__ ### Local Variables: diff --git a/Master/tlpkg/bin/generate-fmtutil b/Master/tlpkg/bin/generate-fmtutil new file mode 100755 index 00000000000..87ed9d51a99 --- /dev/null +++ b/Master/tlpkg/bin/generate-fmtutil @@ -0,0 +1,97 @@ +#!/usr/bin/env perl +# $Id: generate-fmtutil 5188 2007-10-14 20:32:44Z karl $ +# Copyright 2007 Norbert Preining. +# This file is licensed under the GNU General Public License version 2 +# or any later version. +# +# generate fmtutil.cnf file from the data in the tlpdb and -- if present +# -- with TEXMFLOCAL/web2c/fmtutil-local.cnf + +BEGIN { + $^W = 1; + ($mydir = $0) =~ s,/[^/]*$,,; + unshift (@INC, "$mydir/.."); +} + +use strict; + +use TeXLive::TLConfig; +use TeXLive::TLPOBJ; +use TeXLive::TLPDB; +use Getopt::Long; +use Pod::Usage; +use File::Path; + +our $mydir; +our $opt_debug = 0; +my $help = 0; +my $dest = ""; +my $localconf = ""; + +GetOptions("debug!", "dest=s" => \$dest, + "local=s" => \$localconf, "help|?" => \$help) or pod2usage(1); + +pod2usage(-exitstatus => 0, -verbose => 2) if $help; + +exit (&main ()); + +sub main +{ + # get the db. + chomp (my $Master = `cd $mydir/../.. && pwd`); # xx TLPDB should default + my $tlpdb = TeXLive::TLPDB->new ("root" => "$Master"); + + my $sysvar = `kpsewhich -expand-var '\$TEXMFSYSVAR'`; chomp($sysvar); + my $tmflocal = `kpsewhich -expand-var '\$TEXMFLOCAL'`; chomp($tmflocal); + $dest || ($dest = "$sysvar/web2c/fmtutil.cnf"); + $localconf || ($localconf = "$tmflocal/web2c/fmtutil-local.cnf"); + print "writing fmtutil.cnf data to $dest\n"; + TeXLive::TLUtils::create_fmtutil($tlpdb, $dest, $localconf); +} + + +__END__ + +=head1 NAME + +generate-fmtutil - generate fmtutil.cnf from a TLPDB and local additions + +=head1 SYNOPSIS + +generate-fmtutil [OPTION]... + +=head1 OPTIONS + +=over 8 + +=item C<-dest> I + +specifies the output file + +=item C<-local> I + +specifies the local additions + +=back + +The standard options C<-help> and C<-debug> are accepted. +See the tlpfiles documentation for details. + +=head1 DESCRIPTION + +Missing + +=head1 AUTHORS AND COPYRIGHT + +This script and its documentation were written for the TeX Live +distribution (L) 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: # diff --git a/Master/tlpkg/bin/generate-language b/Master/tlpkg/bin/generate-language new file mode 100755 index 00000000000..ae3d57d0d68 --- /dev/null +++ b/Master/tlpkg/bin/generate-language @@ -0,0 +1,97 @@ +#!/usr/bin/env perl +# $Id: generate-language 5188 2007-10-14 20:32:44Z karl $ +# Copyright 2007 Norbert Preining. +# This file is licensed under the GNU General Public License version 2 +# or any later version. +# +# generate language.dat file from the data in the tlpdb and -- if present +# -- with TEXMFLOCAL/tex/generic/config/language-local.dat + +BEGIN { + $^W = 1; + ($mydir = $0) =~ s,/[^/]*$,,; + unshift (@INC, "$mydir/.."); +} + +use strict; + +use TeXLive::TLConfig; +use TeXLive::TLPOBJ; +use TeXLive::TLPDB; +use Getopt::Long; +use Pod::Usage; +use File::Path; + +our $mydir; +our $opt_debug = 0; +my $help = 0; +my $dest = ""; +my $localconf = ""; + +GetOptions("debug!", "dest=s" => \$dest, + "local=s" => \$localconf, "help|?" => \$help) or pod2usage(1); + +pod2usage(-exitstatus => 0, -verbose => 2) if $help; + +exit (&main ()); + +sub main +{ + # get the db. + chomp (my $Master = `cd $mydir/../.. && pwd`); # xx TLPDB should default + my $tlpdb = TeXLive::TLPDB->new ("root" => "$Master"); + + my $sysvar = `kpsewhich -expand-var '\$TEXMFSYSVAR'`; chomp($sysvar); + my $tmflocal = `kpsewhich -expand-var '\$TEXMFLOCAL'`; chomp($tmflocal); + $dest || ($dest = "$sysvar/tex/generic/config/language.dat"); + $localconf || ($localconf = "$tmflocal/tex/generic/config/language-local.dat"); + print "writing language.dat data to $dest\n"; + TeXLive::TLUtils::create_language($tlpdb, $dest, $localconf); +} + + +__END__ + +=head1 NAME + +generate-language - generate language.dat from a TLPDB and local additions + +=head1 SYNOPSIS + +generate-language [OPTION]... + +=head1 OPTIONS + +=over 8 + +=item C<-dest> I + +specifies the output file + +=item C<-local> I + +specifies the local additions + +=back + +The standard options C<-help> and C<-debug> are accepted. +See the tlpfiles documentation for details. + +=head1 DESCRIPTION + +Missing + +=head1 AUTHORS AND COPYRIGHT + +This script and its documentation were written for the TeX Live +distribution (L) 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: # diff --git a/Master/tlpkg/bin/generate-updmap b/Master/tlpkg/bin/generate-updmap new file mode 100755 index 00000000000..f428ef0bbc8 --- /dev/null +++ b/Master/tlpkg/bin/generate-updmap @@ -0,0 +1,97 @@ +#!/usr/bin/env perl +# $Id: generate-updmap 5188 2007-10-14 20:32:44Z karl $ +# Copyright 2007 Norbert Preining. +# This file is licensed under the GNU General Public License version 2 +# or any later version. +# +# generate updmap.cfg file from the data in the tlpdb and -- if present +# -- with TEXMFLOCAL/web2c/updmap-local.cfg + +BEGIN { + $^W = 1; + ($mydir = $0) =~ s,/[^/]*$,,; + unshift (@INC, "$mydir/.."); +} + +use strict; + +use TeXLive::TLConfig; +use TeXLive::TLPOBJ; +use TeXLive::TLPDB; +use Getopt::Long; +use Pod::Usage; +use File::Path; + +our $mydir; +our $opt_debug = 0; +my $help = 0; +my $dest = ""; +my $localconf = ""; + +GetOptions("debug!", "dest=s" => \$dest, + "local=s" => \$localconf, "help|?" => \$help) or pod2usage(1); + +pod2usage(-exitstatus => 0, -verbose => 2) if $help; + +exit (&main ()); + +sub main +{ + # get the db. + chomp (my $Master = `cd $mydir/../.. && pwd`); # xx TLPDB should default + my $tlpdb = TeXLive::TLPDB->new ("root" => "$Master"); + + my $sysvar = `kpsewhich -expand-var '\$TEXMFSYSVAR'`; chomp($sysvar); + my $tmflocal = `kpsewhich -expand-var '\$TEXMFLOCAL'`; chomp($tmflocal); + $dest || ($dest = "$sysvar/web2c/updmap.cfg"); + $localconf || ($localconf = "$tmflocal/web2c/updmap-local.cfg"); + print "writing updmap.cfg data to $dest\n"; + TeXLive::TLUtils::create_updmap($tlpdb, $dest, $localconf); +} + + +__END__ + +=head1 NAME + +generate-updmap - generate updmap.cfg from a TLPDB and local additions + +=head1 SYNOPSIS + +generate-updmap [OPTION]... + +=head1 OPTIONS + +=over 8 + +=item C<-dest> I + +specifies the output file + +=item C<-local> I + +specifies the local additions + +=back + +The standard options C<-help> and C<-debug> are accepted. +See the tlpfiles documentation for details. + +=head1 DESCRIPTION + +Missing + +=head1 AUTHORS AND COPYRIGHT + +This script and its documentation were written for the TeX Live +distribution (L) 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: # diff --git a/Master/tlpkg/texlive.tlpdb b/Master/tlpkg/texlive.tlpdb index 41608286b1a..d4ceb7221d6 100644 --- a/Master/tlpkg/texlive.tlpdb +++ b/Master/tlpkg/texlive.tlpdb @@ -42705,7 +42705,7 @@ longdesc floats side by side, and to put the caption beside its float. longdesc The floatrow settings could be expanded to the floats created longdesc by packages rotating, wrapfig, subfig (in the case of rows of longdesc subfloats), and longtable. -docfiles size=234 +docfiles size=233 texmf-dist/doc/latex/floatrow/README details="Readme" texmf-dist/doc/latex/floatrow/floatrow-rus.tex texmf-dist/doc/latex/floatrow/floatrow.pdf details="Package documentation" @@ -45803,7 +45803,7 @@ docfiles size=206 runfiles size=22 texmf-dist/tex/latex/gmutils/gmutils.sty catalogue-version v0.85 -catalogue-date 2007-11-17 21:57:01 +0100 +catalogue-date 2007-11-17 20:57:01 +0000 catalogue-ctan /macros/latex/contrib/gmutils catalogue-license lppl @@ -70992,7 +70992,7 @@ catalogue-license lppl name pst-jtree category Package revision 5879 -docfiles size=101 +docfiles size=100 texmf-dist/doc/generic/pst-jtree/README texmf-dist/doc/generic/pst-jtree/pst-jtree-doc-source.zip texmf-dist/doc/generic/pst-jtree/pst-jtree-doc.pdf @@ -81317,7 +81317,7 @@ srcfiles size=54 name texlive-infra category TLCore -revision 5940 +revision 5947 docfiles size=99 tlpkg/doc/Perl-API.txt tlpkg/doc/Shell-API.txt @@ -81330,7 +81330,7 @@ docfiles size=99 tlpkg/man/TeXLive-TLPOBJ.1 tlpkg/man/TeXLive-TLPSRC.1 tlpkg/man/tlpsrc2tlpdb.1 -runfiles size=40 +runfiles size=43 tlpkg/TeXLive/TLConfig.pm tlpkg/TeXLive/TLPDB.pm tlpkg/TeXLive/TLPOBJ.pm @@ -81339,6 +81339,9 @@ runfiles size=40 tlpkg/TeXLive/TLUtils.pm tlpkg/TeXLive/TeXCatalogue.pm tlpkg/TeXLive/install-menu-text.pl + tlpkg/bin/generate-fmtutil + tlpkg/bin/generate-language + tlpkg/bin/generate-updmap name texlive-pl category Documentation @@ -81476,7 +81479,7 @@ docfiles size=267 texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.dtx texmf-dist/doc/latex/texpower/tpslifonts/tpslifonts.ins texmf-dist/doc/latex/texpower/verbexample.tex -srcfiles size=173 +srcfiles size=172 texmf-dist/source/latex/texpower/Makefile texmf-dist/source/latex/texpower/powersem.dtx texmf-dist/source/latex/texpower/texpower-addons.dtx @@ -89644,7 +89647,7 @@ docfiles size=372 texmf-dist/doc/generic/vntex/vntex-man-print.pdf texmf-dist/doc/generic/vntex/vntex-man.pdf details="Package manual" language="vi" texmf-dist/doc/generic/vntex/vntex.txt -runfiles size=2598 +runfiles size=2579 texmf-dist/fonts/afm/vntex/chartervn/bchb8v.afm texmf-dist/fonts/afm/vntex/chartervn/bchbi8v.afm texmf-dist/fonts/afm/vntex/chartervn/bchr8v.afm @@ -91467,7 +91470,7 @@ docfiles size=1 runfiles size=2 texmf-dist/tex/xelatex/xgreek/xgreek.sty catalogue-version v1.0c -catalogue-date 2007-11-18 23:01:55 +0100 +catalogue-date 2007-11-18 22:01:55 +0000 catalogue-ctan /macros/xetex/latex/xgreek catalogue-license lppl diff --git a/Master/tlpkg/tlpsrc/texlive-infra.tlpsrc b/Master/tlpkg/tlpsrc/texlive-infra.tlpsrc index 5806a2750a3..b2aa7eb9bc1 100644 --- a/Master/tlpkg/tlpsrc/texlive-infra.tlpsrc +++ b/Master/tlpkg/tlpsrc/texlive-infra.tlpsrc @@ -4,3 +4,6 @@ docpattern f tlpkg/man/* docpattern f tlpkg/doc/* runpattern f tlpkg/TeXLive/* # here we should add scripts usefull for an installed system from tlpkg/bin! +runpattern f tlpkg/bin/generate-fmtutil +runpattern f tlpkg/bin/generate-updmap +runpattern f tlpkg/bin/generate-language -- cgit v1.2.3