summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-01-07 21:54:37 +0000
committerNorbert Preining <preining@logic.at>2008-01-07 21:54:37 +0000
commitc04ded8c35607a5c0dc6e235484799eb1382d717 (patch)
tree4491e8a363816620761dbbb9d84f59f4b7c47de5 /Master
parent74fdfb88a35186adb7c5da8e601989a60c21777a (diff)
updates to install-tl.pl for texlua support
git-svn-id: svn://tug.org/texlive/trunk@6127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-xMaster/install-tl.pl33
1 files changed, 24 insertions, 9 deletions
diff --git a/Master/install-tl.pl b/Master/install-tl.pl
index fccee377bf2..1df2cdb1132 100755
--- a/Master/install-tl.pl
+++ b/Master/install-tl.pl
@@ -55,6 +55,8 @@ our $trynet=0;
#
# for now it is my testing archive on tug.org
#$::texlive_url = 'http://tug.org/svn/texlive/trunk/Master';
+# for my own testing in the virtual machine
+#$::texlive_url = 'http://10.0.2.2/norbert/tltesting';
$::texlive_url = 'http://tug.org/~preining/tltesting';
# the default scheme to be installed
my $default_scheme='scheme-full';
@@ -66,6 +68,8 @@ our @collections_lang_doc;
# The maximum number of binary systems on the CD. This number must be
# smaller than the number of binaries available from the network.
our $max_bins_on_CD=7;
+# for win dealing
+our $Registry;
# The global variable %vars is an associative list which contains all
# variables and their values which can be changed by the user.
# needs to be our since TeXLive::TLUtils uses it
@@ -191,11 +195,10 @@ if ($opt_profile eq "") {
calc_depends();
prepare_installation();
do_install_packages();
-do_postinst_stuff();
-
if (win32()) {
do_win_registry_magic();
}
+do_postinst_stuff();
dump_vars("$system_tmpdir/texlive.vars");
# if we installed from a profile we don't need to write it out
@@ -616,8 +619,16 @@ sub do_postinst_stuff {
`generate-language`;
}
`mktexlsr $vars{'TEXDIR'}/texmf-dist $vars{'TEXDIR'}/texmf $vars{'TEXDIR'}/texmf-local`;
- my $updmap = (win32() ? "$perlint $vars{'TEXDIR'}/bin/win32/updmap-sys.pl" : "updmap-sys");
- `$updmap --nohash`;
+ # my $updmap = (win32() ? "$perlint $vars{'TEXDIR'}/bin/win32/updmap-sys.pl" : "updmap-sys");
+ # `$updmap --nohash`;
+ # we hope that the updmap-sys.texlua is executed ...
+ # but to be sure we set the PATHEXT ...
+ if (win32()) {
+ my $pathext = $ENV{'PATHEXT'};
+ $pathext .= ";.texlua";
+ $ENV{'PATHEXT'} = $pathext;
+ }
+ `updmap-sys --nohash`;
`mktexlsr $vars{'TEXMFSYSVAR'}`;
# old installer:
@@ -668,18 +679,20 @@ sub do_texmf_cnf {
# register texlua handlers etc etc
sub do_win_registry_magic {
# we are called under if (win32()) !!
+ my $winpath = "$vars{'TEXDIR'}/bin/win32";
+ $winpath =~ s!/!\\!g;
if ($vars{'win-admin'}) {
# generate a .texlua association and link it to texlua.exe, which should
# be in the path!
- my $classes = $Registry->Open( "Classes/", {Access=>KEY_ALL_ACCESS,Delimiter=>"/"});
+ my $classes = $Registry->Open( "Classes/", {Access=>'KEY_ALL_ACCESS',Delimiter=>"/"});
$classes->CreateKey(".texlua")->SetValue("","script.texlua");
my $scriptkey = $classes->CreateKey("script.texlua");
$scriptkey->SetValue("", "TeXLua Script");
- $scriptkey->CreateKey("Shell/Open/Command/")->SetValue("","texlua.exe %1");
+ $scriptkey->CreateKey("Shell/Open/Command/")->SetValue("","$winpath\\texlua.exe %1 %*");
# PATHEXT editing
# should this be currentcontrolset or ControlSet001 ????
- my $winenv = $Registry->Open( "LMachine/SYSTEM/ControlSet001/Control/Session Manager/Environment/", {Access=>KEY_ALL_ACCESS,Delimiter=>"/"});
+ my $winenv = $Registry->Open( "LMachine/SYSTEM/ControlSet001/Control/Session Manager/Environment/", {Access=>'KEY_ALL_ACCESS',Delimiter=>"/"});
my $pathext = $winenv->GetValue("PATHEXT");
my $found = 0;
foreach (split(/;/,$pathext)) {
@@ -690,9 +703,11 @@ sub do_win_registry_magic {
}
# add the win32 dir to the PATH
- warn "Missing: extend PATH to include TEXDIR/bin/win32\n";
+ my $wpath = $winenv->GetValue("Path");
+ $wpath .= ";$winpath";
+ $winenv->SetValue("Path","$wpath");
} else {
- warn "Don't know what to do if a non admin user installs texlive on win32\n!;
+ warn "Don't know what to do if a non admin user installs texlive on win32\n!";
}
}
__END__