diff options
author | Norbert Preining <preining@logic.at> | 2008-06-04 07:56:53 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-06-04 07:56:53 +0000 |
commit | 521246ba0df7c0f432d04afe3883edb371455e07 (patch) | |
tree | 901834fad806f556390299a3d3f174ec63a4fe3f /Master | |
parent | 36a5045c67599bb8cde8ba2ab9b9e5aa40f6d8ab (diff) |
installer: support TEXMFSYSCONFIG adjustment
git-svn-id: svn://tug.org/texlive/trunk@8542 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-x | Master/install-tl | 20 | ||||
-rw-r--r-- | Master/tlpkg/installer/install-menu-perltk.pl | 26 | ||||
-rwxr-xr-x | Master/tlpkg/installer/install-menu-text.pl | 25 | ||||
-rw-r--r-- | Master/tlpkg/installer/lang/perltk-de | 3 | ||||
-rwxr-xr-x | Master/tlpkg/installer/lang/perltk-fr | 3 | ||||
-rw-r--r-- | Master/tlpkg/installer/lang/perltk-nl | 3 | ||||
-rw-r--r-- | Master/tlpkg/installer/lang/perltk-pl | 5 | ||||
-rw-r--r-- | Master/tlpkg/installer/lang/perltk-sl | 3 |
8 files changed, 74 insertions, 14 deletions
diff --git a/Master/install-tl b/Master/install-tl index 483f181fec6..89fd8772c6e 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -263,6 +263,7 @@ if ($opt_arch) { # update_assocs(); } mkdirhier "$vars{'TEXMFCONFIG'}"; + mkdirhier "$vars{'TEXMFSYSCONFIG'}"; if (not -d "$vars{'TEXMFSYSVAR'}" ) { print "About to generate some files... Press <enter>"; <STDIN>; @@ -468,12 +469,14 @@ sub set_platforms_supported { # TEXLIVE_INSTALL_PREFIX /usr/local/texlive => $tex_prefix # TEXLIVE_INSTALL_TEXDIR $tex_prefix/2007 => $TEXDIR # TEXLIVE_INSTALL_TEXMFSYSVAR $TEXDIR/texmf-var +# TEXLIVE_INSTALL_TEXMFSYSCONFIG $TEXDIR/texmf-config # TEXLIVE_INSTALL_TEXMFLOCAL $tex_prefix/texmf-local # TEXLIVE_INSTALL_TEXMFHOME '$HOME/texmf' sub set_texlive_default_dirs { my $tex_prefix; my $texmfsysvar; + my $texmfsysconfig; my $texmflocal; my $texmfhome; @@ -492,6 +495,10 @@ sub set_texlive_default_dirs { $texmfsysvar||=$vars{'TEXDIR'} . '/texmf-var'; $vars{'TEXMFSYSVAR'}="$texmfsysvar"; + $texmfsysconfig=getenv('TEXLIVE_INSTALL_TEXMFSYSCONFIG'); + $texmfsysconfig||=$vars{'TEXDIR'} . '/texmf-config'; + $vars{'TEXMFSYSCONFIG'}="$texmfsysconfig"; + $texmflocal=getenv('TEXLIVE_INSTALL_TEXMFLOCAL'); $texmflocal||="$tex_prefix/texmf-local"; $vars{'TEXMFLOCAL'}="$texmflocal"; @@ -723,6 +730,7 @@ sub create_profile { print $fh "$key $vars{$key}\n" if $key=~/^option_symlinks/; print $fh "$key $vars{$key}\n" if $key=~/^TEXDIR/; print $fh "$key $vars{$key}\n" if $key=~/^TEXMFSYSVAR/; + print $fh "$key $vars{$key}\n" if $key=~/^TEXMFSYSCONFIG/; print $fh "$key $vars{$key}\n" if $key=~/^TEXMFLOCAL/; print $fh "$key $vars{$key}\n" if $key=~/^TEXMFHOME/; } @@ -798,6 +806,7 @@ sub save_options_into_tlpdb { sub do_postinst_stuff { my $TEXDIR="$vars{'TEXDIR'}"; my $TEXMFSYSVAR="$vars{'TEXMFSYSVAR'}"; + my $TEXMFSYSCONFIG="$vars{'TEXMFSYSCONFIG'}"; my $TEXMFLOCAL="$vars{'TEXMFLOCAL'}"; do_texmf_cnf() unless $opt_portable; @@ -907,6 +916,9 @@ operations might be disturbed.\n\n"; "$TEXMFSYSVAR/tex/generic/config/language.dat", "$TEXMFLOCAL/tex/generic/config/language-local.dat"); + info("running mktexlsr $TEXMFSYSVAR\n"); + system('mktexlsr', "$TEXMFSYSVAR"); + info("running updmap-sys\n"); system('updmap-sys', '--nohash'); @@ -1005,6 +1017,14 @@ sub do_texmf_cnf { } else { push @newtmf, "TEXMFSYSVAR = $vars{'TEXMFSYSVAR'}\n"; } + } elsif ($line =~ m/^TEXMFSYSCONFIG/) { + # by default TEXMFSYSCONFIG = TEXDIR/texmf-config, if this is the case + # we don't have to change anything from the default + if ("$vars{'TEXMFSYSCONFIG'}" eq "$vars{'TEXDIR'}/texmf-config") { + push @newtmf, $line; + } else { + push @newtmf, "TEXMFSYSCONFIG = $vars{'TEXMFSYSCONFIG'}\n"; + } } elsif ($line =~ m/^TEXMFHOME/) { # kpse now expands ~ to USERPROFILE, so we don't treat win32 and # unix differently diff --git a/Master/tlpkg/installer/install-menu-perltk.pl b/Master/tlpkg/installer/install-menu-perltk.pl index 3e340b65eea..d43e4d5a0da 100644 --- a/Master/tlpkg/installer/install-menu-perltk.pl +++ b/Master/tlpkg/installer/install-menu-perltk.pl @@ -68,6 +68,7 @@ my $schemebutton; my $collectionstext; my $texmflocaltext; my $texmfsysvartext; +my $texmfsysconfigtext; my $texmfhometext; my $texdirtext; my $symlinktext; @@ -153,7 +154,8 @@ my %labels = ( binsys => 'Binary System(s)', langcoll => 'Language Collections', texdir => 'TEXDIR (main TeX directory)', localdir => 'TEXMFLOCAL (local styles etc)', - sysvardir => 'TEXMFSYSVAR (local config)', + sysvardir => 'TEXMFSYSVAR (automatically generated files)', + sysconfigdir => 'TEXMFSYSCONFIG (local config)', texmfhome => 'TEXMFHOME (user styles)', optletter => 'Use letter instead of A4 by default', optfmt => 'Create all format files', @@ -282,12 +284,18 @@ sub run_menu { $texmflocaltext = $flocal->Label(-width => $b, -anchor => 'w')->pack(-side => 'left'); $flocal->Button(-width => $c, -text => $text{'change'}, -command => sub { menu_edit_vars_value("TEXMFLOCAL"); })->pack(-side => 'left'); - # texmflocal line + # texmfsysvar line my $fsys = $fr->Frame; $fsys->pack; $fsys->Label(-text => $labels{'sysvardir'}, -width => $a, -anchor => 'w')->pack(-side => 'left'); $texmfsysvartext = $fsys->Label(-width => $b, -anchor => 'w')->pack(-side => 'left'); $fsys->Button(-width => $c, -text => $text{'change'}, -command => sub { menu_edit_vars_value("TEXMFSYSVAR"); })->pack(-side => 'left'); + # texmfsysvar line + my $fconfig = $fr->Frame; $fconfig->pack; + $fconfig->Label(-text => $labels{'sysconfigdir'}, -width => $a, -anchor => 'w')->pack(-side => 'left'); + $texmfsysconfigtext = $fconfig->Label(-width => $b, -anchor => 'w')->pack(-side => 'left'); + $fconfig->Button(-width => $c, -text => $text{'change'}, -command => sub { menu_edit_vars_value("TEXMFSYSCONFIG"); })->pack(-side => 'left'); + # texmfhome line my $fhome = $fr->Frame; $fhome->pack; $fhome->Label(-text => $labels{'texmfhome'}, -width => $a, -anchor => 'w')->pack(-side => 'left'); @@ -624,6 +632,17 @@ sub menu_set_pathes_text { } else { menu_set_text($texmfsysvartext, $text{'notwritable'}); } + if ((-w $vars{'TEXMFSYSCONFIG'}) || (-w dirname($vars{'TEXMFSYSCONFIG'}))) { + menu_set_text($texmfsysconfigtext, "$vars{'TEXMFSYSCONFIG'}"); + } elsif ("$vars{'TEXMFSYSCONFIG'}" =~ m;^$vars{'TEXDIR'};) { + if (TeXLive::TLUtils::texdir_check($vars{'TEXDIR'})) { + menu_set_text($texmfsysconfigtext, "$vars{'TEXMFSYSCONFIG'}", -foreground => "black"); + } else { + menu_set_text($texmfsysconfigtext, $text{'changetexdir'}, -foreground => "red"); + } + } else { + menu_set_text($texmfsysconfigtext, $text{'notwritable'}); + } menu_set_text($texmfhometext, "$vars{'TEXMFHOME'}"); } @@ -672,14 +691,17 @@ sub callback_edit_directories { $vars{'TEXDIR'} =~ s/^~/$home/; $vars{'TEXMFLOCAL'} =~ s/^~/$home/; $vars{'TEXMFSYSVAR'} =~ s/^~/$home/; + $vars{'TEXMFSYSCONFIG'} =~ s/^~/$home/; # only if we set TEXDIR we set the others in parallel if ($key eq "TEXDIR") { if ($vars{'TEXDIR'}=~/^(.*)\/$texlive_release$/) { $vars{'TEXMFLOCAL'}="$1/texmf-local"; $vars{'TEXMFSYSVAR'}="$1/$texlive_release/texmf-var"; + $vars{'TEXMFSYSCONFIG'}="$1/$texlive_release/texmf-config"; } elsif ($vars{'TEXDIR'}=~/^(.*)$/) { $vars{'TEXMFLOCAL'}="$1/texmf-local"; $vars{'TEXMFSYSVAR'}="$1/texmf-var"; + $vars{'TEXMFSYSCONFIG'}="$1/texmf-config"; } } menu_update_texts(); diff --git a/Master/tlpkg/installer/install-menu-text.pl b/Master/tlpkg/installer/install-menu-text.pl index cbc9bb8e1eb..24082912096 100755 --- a/Master/tlpkg/installer/install-menu-text.pl +++ b/Master/tlpkg/installer/install-menu-text.pl @@ -426,13 +426,14 @@ sub directories_menu { "; } print <<"EOF"; - <1> TEXDIR: $vars{'TEXDIR'} - support tree: $vars{'TEXDIR'}/texmf + <1> TEXDIR: $vars{'TEXDIR'} + support tree: $vars{'TEXDIR'}/texmf - <2> TEXMFLOCAL: $vars{'TEXMFLOCAL'} - <3> TEXMFSYSVAR: $vars{'TEXMFSYSVAR'} + <2> TEXMFLOCAL: $vars{'TEXMFLOCAL'} + <3> TEXMFSYSVAR: $vars{'TEXMFSYSVAR'} + <4> TEXMFSYSCONFIG: $vars{'TEXMFSYSCONFIG'} - <4> TEXMFHOME: $vars{'TEXMFHOME'} + <5> TEXMFHOME: $vars{'TEXMFHOME'} EOF ; @@ -457,10 +458,12 @@ EOF if ($vars{'TEXDIR'}=~/^(.*)\/$texlive_release$/) { $vars{'TEXMFLOCAL'}="$1/texmf-local"; $vars{'TEXMFSYSVAR'}="$1/$texlive_release/texmf-var"; + $vars{'TEXMFSYSCONFIG'}="$1/$texlive_release/texmf-config"; return $command{'self'}; } elsif ($vars{'TEXDIR'}=~/^(.*)$/) { $vars{'TEXMFLOCAL'}="$1/texmf-local"; $vars{'TEXMFSYSVAR'}="$1/texmf-var"; + $vars{'TEXMFSYSCONFIG'}="$1/texmf-config"; return $command{'self'}; } } @@ -481,6 +484,14 @@ EOF return $command{'self'}; } if ("\u$answer" eq '4') { + print "New value TEXMFSYSCONFIG [$vars{'TEXMFSYSCONFIG'}]: "; + chomp($answer=<STDIN>); + $vars{'TEXMFSYSCONFIG'}="$answer" if (length $answer); + $vars{'TEXMFSYSCONFIG'}=~s@\\@/@g if (win32); + $vars{'TEXMFSYSCONFIG'} =~ s/^~/$home/; + return $command{'self'}; + } + if ("\u$answer" eq '5') { print "New value TEXMFHOME [$vars{'TEXMFHOME'}]: "; chomp($answer=<STDIN>); $vars{'TEXMFHOME'}="$answer" if (length $answer); @@ -800,8 +811,10 @@ EOF print <<"EOF"; TEXMFLOCAL (Directory for local styles etc): $vars{'TEXMFLOCAL'} - TEXMFSYSVAR (Directory for local config): + TEXMFSYSVAR (Directory for variable and automatically generated data): $vars{'TEXMFSYSVAR'} + TEXMFSYSCONFIG (Directory for local config): + $vars{'TEXMFSYSCONFIG'} <O> options: EOF diff --git a/Master/tlpkg/installer/lang/perltk-de b/Master/tlpkg/installer/lang/perltk-de index 629b318c7c8..b6428e7db4e 100644 --- a/Master/tlpkg/installer/lang/perltk-de +++ b/Master/tlpkg/installer/lang/perltk-de @@ -45,7 +45,8 @@ label.langcoll: Kollektionen für verschiedene Sprachen label.texdir: TEXDIR (Hauptverzeichnis für TeX) label.texmfhome: TEXMFHOME (Eigene Makro-Pakete) label.localdir: TEXMFLOCAL (lokale Makro-Pakete, etc) -label.sysvardir: TEXMFSYSVAR (lokale Konfiguration) +label.sysvardir: TEXMFSYSVAR (automatisch erstellte Dateien) +label.sysconfigdir: TEXMFSYSCONFIG (lokale Konfiguration) label.optletter: Standardmäßig letter anstelle von A4 label.optfmt: Alle Formatdateien erstellen label.optdoc: Installation der Font/Macro-Dokumentation diff --git a/Master/tlpkg/installer/lang/perltk-fr b/Master/tlpkg/installer/lang/perltk-fr index 75f7bd5ddca..eb60f6732ae 100755 --- a/Master/tlpkg/installer/lang/perltk-fr +++ b/Master/tlpkg/installer/lang/perltk-fr @@ -47,7 +47,8 @@ label.stdcoll: Collections standard label.langcoll: Collections de langues label.texdir: TEXDIR (répertoire TeX principal) label.localdir: TEXMFLOCAL (fichiers locaux, etc.) -label.sysvardir: TEXMFSYSVAR (configuration locale) +label.sysvardir: TEXMFSYSVAR (automatically generated files) +label.sysconfigdir: TEXMFSYSCONFIG (configuration locale) label.texmfhome: TEXMFHOME (fichiers personnels) label.optletter: Utiliser le format letter au lieu d'A4 label.optfmt: Générer tous les formats diff --git a/Master/tlpkg/installer/lang/perltk-nl b/Master/tlpkg/installer/lang/perltk-nl index 127ab9c676f..ca9732d5b45 100644 --- a/Master/tlpkg/installer/lang/perltk-nl +++ b/Master/tlpkg/installer/lang/perltk-nl @@ -45,7 +45,8 @@ label.stdcoll: Standaard collecties label.langcoll: Taal-collecties label.texdir: TEXDIR (hoofd TeX-folder) label.localdir: TEXMFLOCAL (lokale stijlen etc.) -label.sysvardir: TEXMFSYSVAR (lokale configuratie) +label.sysvardir: TEXMFSYSVAR (automatically generated files) +label.sysconfigdir: TEXMFSYSCONFIG (lokale configuratie) label.optletter: Gebruik default letter inplaats van A4 label.optfmt: Genereer alle format bestanden label.optdoc: Installeer font/macro documentatie diff --git a/Master/tlpkg/installer/lang/perltk-pl b/Master/tlpkg/installer/lang/perltk-pl index 88ceda7d899..8b66c52abe6 100644 --- a/Master/tlpkg/installer/lang/perltk-pl +++ b/Master/tlpkg/installer/lang/perltk-pl @@ -44,10 +44,11 @@ label.stdcoll: Kolekcje standardowe label.langcoll: Kolekcje językowe label.texdir: TEXDIR (główny folder dla TeXa) label.localdir: TEXMFLOCAL (style lokalne itp) -label.sysvardir: TEXMFSYSVAR (konfiguracje lokalne) +label.sysvardir: TEXMFSYSVAR (automatically generated files) +label.sysconfigdir: TEXMFSYSCONFIG (konfiguracje lokalne) label.optletter: Domyślnie letter zamiast A4 label.optfmt: Wygenerować wszystkie pliki formatów label.optdoc: Instalowanie dokumentacji font/macro label.optsrc: Instalowanie tekstów żródłowych font/macro label.symlink: Dowiązania symboliczne w folderach systemowych -label.texmfhome: TEXMFHOME (prywatne pliki użytkownika)
\ No newline at end of file +label.texmfhome: TEXMFHOME (prywatne pliki użytkownika) diff --git a/Master/tlpkg/installer/lang/perltk-sl b/Master/tlpkg/installer/lang/perltk-sl index e31d23dd355..c7f38e239e5 100644 --- a/Master/tlpkg/installer/lang/perltk-sl +++ b/Master/tlpkg/installer/lang/perltk-sl @@ -46,7 +46,8 @@ label.stdcoll: Standardne zbirke label.langcoll: Podpora jezikom label.texdir: TEXDIR (glavni TeX direktorij) label.localdir: TEXMFLOCAL (lokalne datoteke) -label.sysvardir: TEXMFSYSVAR (lokalna konfiguracija) +label.sysvardir: TEXMFSYSVAR (automatically generated files) +label.sysconfigdir: TEXMFSYSCONFIG (lokalna konfiguracija) label.texmfhome: TEXMFHOME (uporabnikove datoteke) label.optletter: Privzeto uporabi format letter namesto A4 label.optfmt: Generiraj vse formate |