summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-06-04 07:56:53 +0000
committerNorbert Preining <preining@logic.at>2008-06-04 07:56:53 +0000
commit521246ba0df7c0f432d04afe3883edb371455e07 (patch)
tree901834fad806f556390299a3d3f174ec63a4fe3f /Master
parent36a5045c67599bb8cde8ba2ab9b9e5aa40f6d8ab (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-xMaster/install-tl20
-rw-r--r--Master/tlpkg/installer/install-menu-perltk.pl26
-rwxr-xr-xMaster/tlpkg/installer/install-menu-text.pl25
-rw-r--r--Master/tlpkg/installer/lang/perltk-de3
-rwxr-xr-xMaster/tlpkg/installer/lang/perltk-fr3
-rw-r--r--Master/tlpkg/installer/lang/perltk-nl3
-rw-r--r--Master/tlpkg/installer/lang/perltk-pl5
-rw-r--r--Master/tlpkg/installer/lang/perltk-sl3
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