diff options
author | Karl Berry <karl@freefriends.org> | 2010-01-19 00:03:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-01-19 00:03:51 +0000 |
commit | 87b9fcc51d40096cfb1c444b0105e9d57acd455d (patch) | |
tree | fdd4d7b5b72872a3f590123d7ba417c2f81cae3b | |
parent | e65c74e7551529b3db597eef51915ea683e96e7e (diff) |
warn at end of install if envvars contain "tex"; move welcome() and welcome_paths() to install-tl from TLUtils.pm
git-svn-id: svn://tug.org/texlive/trunk@16780 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Master/install-tl | 102 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 88 |
2 files changed, 92 insertions, 98 deletions
diff --git a/Master/install-tl b/Master/install-tl index e2f103e9d70..d3d8a1c6522 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -1,7 +1,7 @@ #!/usr/bin/env perl # $Id$ # -# Copyright 2007, 2008, 2009 Reinhard Kotucha, Norbert Preining +# Copyright 2007, 2008, 2009, 2010 Reinhard Kotucha, Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. # @@ -52,7 +52,7 @@ use TeXLive::TLUtils qw(platform platform_desc which getenv win32 unix info log debug tlwarn ddebug tldie get_system_tmpdir member process_logging_options rmtree mkdirhier make_var_skeleton make_local_skeleton install_package copy - install_packages dirname setup_programs welcome welcome_paths); + install_packages dirname setup_programs); #use TeXLive::TLMedia; use TeXLive::TLPOBJ; use TeXLive::TLPDB; @@ -90,17 +90,15 @@ if (win32) { use strict; -# debugging/logging cmd lines options: -# -q shut up terminal output but warning messages -# -v do a bit of debugging to stdout and logfile -# repeated use increases the value of verbosity -# +# global list of lines that get logged (see TLUtils.pm::_logit). @::LOGLINES = (); -# + +# we play around with the environment, place to keep original +my %origenv = (); + # $install{$packagename} == 1 if it should be installed my %install; -# # the different modules have to assign a code blob to this global variable # which starts the installation. # Example: In install-menu-text.pl there is @@ -651,6 +649,7 @@ sub do_postinst_stuff { # - run the programs # Step 1: Clean the environment + %origenv = %ENV; my @TMFVARS0=qw(VARTEXFONTS TEXMF SYSTEXMF VARTEXFONTS TEXMFDBS WEB2C TEXINPUTS TEXFORMATS MFBASES MPMEMS TEXPOOL MFPOOL MPPOOL @@ -1627,6 +1626,89 @@ sub do_cleanup } +# Return the basic welcome message. + +sub welcome +{ + my $welcome = <<"EOF"; + + See + $::vars{'TEXDIR'}/index.html + for links to documentation. The TeX Live web site (http://tug.org/texlive/) + contains updates and corrections. + + TeX Live is a joint project of the TeX user groups around the world; + please consider supporting it by joining the group best for you. The + list of groups is available on the web at http://tug.org/usergroups.html. + + Welcome to TeX Live! +EOF + return $welcome; +} + + +# The same welcome message as above but with hints about C<PATH>, +# C<MANPATH>, and C<INFOPATH>. + +sub welcome_paths +{ + my $welcome = welcome (); + + # ugly, remove welcome msg; better than repeating the whole text, though. + $welcome =~ s/\n Welcome to TeX Live!\n//; + + $welcome .= <<"EOF"; + + Add $::vars{'TEXDIR'}/texmf/doc/man to MANPATH. + Add $::vars{'TEXDIR'}/texmf/doc/info to INFOPATH. +EOF + + if ($::vars{'from_dvd'} and !win32()) { + $welcome .= <<"EOF"; + Set TEXMFCNF to $::vars{'TEXMFSYSVAR'}/web2c. +EOF + } + + $welcome .= <<"EOF"; + + Most importantly, add $::vars{'TEXDIR'}/bin/$::vars{'this_platform'} + to your PATH for current and future sessions. +EOF + + # check for tex-related envvars. + my $texenvs = ""; + for my $evar (sort keys %origenv) { + next if $evar =~ /^(_ + |.*PWD + |GENDOCS_TEMPLATE_DIR|PATH|SHELLOPTS + )$/x; # don't worry about these + if ("$evar $origenv{$evar}" =~ /tex/i) { # check both key and value + $texenvs .= " $evar=$origenv{$evar}\n"; + } + } + if ($texenvs) { + $welcome .= <<"EOF"; + + ---------------------------------------------------------------------- + The following environment variables contain the string "tex" + (case-independent). If you're doing anything but adding personal + directories to the system paths, they may well cause trouble with + some parts of running TeX. If you encounter problems, try unsetting + them. (And please ignore any spurious matches that are unrelated to TeX.) + +$texenvs ---------------------------------------------------------------------- +EOF + } + + $welcome .= <<"EOF"; + + Welcome to TeX Live! +EOF + + return $welcome; +} + + # portable option, invoked from tl-portable script. # sub do_portable { @@ -1674,7 +1756,7 @@ sub do_portable { } close($::LOGFILE) if defined($::LOGFILE); - print TeXLive::TLUtils::welcome; + print welcome(); exit 0; diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 60ddcc4dff1..1e66119079e 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -139,8 +139,6 @@ BEGIN { &conv_to_w32_path &untar &merge_into - &welcome - &welcome_paths &give_ctan_mirror &give_ctan_mirror_base &tlmd5 @@ -2988,92 +2986,6 @@ sub process_logging_options { } -=item C<welcome> - -Return the welcome message. - -=cut - -sub welcome { - my $welcome=<<"EOF"; - - See - $::vars{'TEXDIR'}/index.html - for links to documentation. The TeX Live web site (http://tug.org/texlive/) - contains updates and corrections. - - TeX Live is a joint project of the TeX user groups around the world; - please consider supporting it by joining the group best for you. The - list of groups is available on the web at http://tug.org/usergroups.html. - - Welcome to TeX Live! -EOF - return $welcome; -} - - -=item C<welcome> - -The same welcome message as above but with hints about C<PATH>, C<MANPATH>, -and C<INFOPATH>. - -=cut - -sub welcome_paths -{ - my $welcome = welcome (); - - # ugly, remove welcome msg; better than repeating the whole text, though. - $welcome =~ s/\n Welcome to TeX Live!\n//; - - $welcome .= <<"EOF"; - - Add $::vars{'TEXDIR'}/texmf/doc/man to MANPATH. - Add $::vars{'TEXDIR'}/texmf/doc/info to INFOPATH. -EOF - - if ($::vars{'from_dvd'} and !win32()) { - $welcome .= <<"EOF"; - Set TEXMFCNF to $::vars{'TEXMFSYSVAR'}/web2c. -EOF - } - - $welcome .= <<"EOF"; - - Most importantly, add $::vars{'TEXDIR'}/bin/$::vars{'this_platform'} - to your PATH for current and future sessions. -EOF - - # check for tex-related envvars. - my $texenvs = ""; - for my $evar (sort keys %ENV) { - next if $evar =~ /^(SHELLOPTS|PATH|.*PWD|_)$/; # don't worry about these - if ("$evar $ENV{$evar}" =~ /tex/i) { # check both key and value - $texenvs .= " $evar=$ENV{$evar}\n"; - } - } - if (0 && $texenvs) { - $welcome .= <<"EOF"; - - ---------------------------------------------------------------------- - The following environment variables contain the string "tex" - (case-independent). If you're doing anything but adding personal - directories to the system paths, they may well cause trouble with - some parts of running TeX. If you encounter problems, try unsetting - them. (And please ignore any spurious matches that are unrelated to TeX.) - -$texenvs ---------------------------------------------------------------------- -EOF - } - - $welcome .= <<"EOF"; - - Welcome to TeX Live! -EOF - - return $welcome; -} - =pod This function returns a "windowsified" version of its single argument |