diff options
-rw-r--r-- | Master/install-tl.html | 102 | ||||
-rwxr-xr-x | Master/tlpkg/TeXLive/install-menu-text.pl | 126 |
2 files changed, 223 insertions, 5 deletions
diff --git a/Master/install-tl.html b/Master/install-tl.html new file mode 100644 index 00000000000..84ee894df92 --- /dev/null +++ b/Master/install-tl.html @@ -0,0 +1,102 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> +<title>The TeX Live installer</title> +</head> +<body bgcolor="#FFFFFF" text="#000000"> +<!-- **** Still from TL-2007, needs to be updated **** --> +<h1>The TeX Live installer</h1> +This is the installation program of the TeX Live distribution. +<p> +The installation procedure is simple: just go through the +menus until you are happy with the way all options are set up, +and then do <tt><I></tt> (start installation). +<p> +To select a menu item (a letter or a number marked with brackets) +just enter the corresponding letter or number and press return +(the letters are case insensitive except when collections +are being selected). Do not enter the +angle brackets <tt><></tt> themselves. +<p> +We will now consider each menu item in more detail: + +<h2>The binary systems menu (<tt><B></tt>)</h2> + +The systems menu allows you to select and deselect +the binary packages for various different platforms. + +<h2>The schemes menu (<tt><C></tt>)</h2> + +You can choose from a number of different installation +schemes for TeX Live. Selecting one of these selects +some collections in the Collections and Languages lists. +which you can subsequently modify. + +<h2>The collections menu (<tt><C></tt>)</h2> + +The collections menu allows you to select and deselect standard +collections. Each collection &emdash; TeX macro files, Metafont font +families, and so on &emdash; consists of several packages. + +<h2>The language collections menu (<tt><L></tt>)</h2> + +The language collections menu allows you to select and deselect +language support collections. Each collection consists of several +packages, which provide features like hyphenation files and fonts. + +<h2>The directories menu (<tt><D></tt>)</h2> + +The TeX Live distribution will be installed in a single directory tree +(<tt>TEXDIR</tt>). You may choose any directory you like +since there are no absolute paths compiled into the binaries. Instead, +the Kpathsea library selfdir feature ensures that all +paths are relative to the location of the binaries. +<p> +The platform independent files are stored in a directory tree in +<tt>TEXDIR/texmf</tt>. There is also an extra directory for performing +administrative tasks like change of configuration and languages. This +is where all format files are stored. It defaults to <tt>TEXDIR/texmf-var</tt>. +<p> +This system allows you to mount your <tt>TEXDIR/texmf</tt> tree read-only. + +<h2>The options menu (<tt><O></tt>)</h2> + +The options are not applicable to all installations. Set them as +appropriate for yours. +<h3>alternate fonts directory</h3> + +You can choose an alternate directory for automatically generated fonts; +the default is <tt>TEXMFSYSVAR/fonts</tt> +<p> +One disadvantage may be that new fonts are not shared. I.e., if you +set this to /tmp, and users on two different machines need the same +font, it will be built twice, once on each machine. + +<h3>symlinks in standard directories (UNIX only)</h3> + +You can make the binaries, man pages, and info files available on your +system in either (or both) of two ways: +<ol> + <li> install them in <i>standard places</i> that are searched for these files + <li> change your search paths to include the new directories +</ol> +If you select the <i>symlinks</i> option, symbolic links will be installed in +the directories you choose. Note that if you share the TeX Live installation +accross several machines across NFS and if the chosen <i>standard places</i> are +not shared, you need to create the symbolic links on each client, too +(or use method 2 on your clients). +<p> +If you do not use the <i>symlinks</i> option, you probably need to set up +your search paths (<tt>PATH</tt>, <tt>MANPATH</tt>, <tt>INFOPATH</tt>). + +<h3>do not install doc or source trees</h3> + +These options are not recommended, but you can use them to save space. +Normally all packages are installed with the source and/or documentation, +but these are not needed to actually run the software. If you +are installing a system for other people, it would be unfriendly to +select these options; if you know what you are doing and need a +minimal disk footprint, go ahead +</body> +</html> diff --git a/Master/tlpkg/TeXLive/install-menu-text.pl b/Master/tlpkg/TeXLive/install-menu-text.pl index a2d5f898aea..cf75cd3337a 100755 --- a/Master/tlpkg/TeXLive/install-menu-text.pl +++ b/Master/tlpkg/TeXLive/install-menu-text.pl @@ -381,8 +381,8 @@ sub language_menu { my $language=$languages[$index+$lines]; my $tlpobj = $tlpdb->get_package("$language"); $keyval{$lang_keys[$index+$lines]}="$language"; - printf " %s %s %-33s\n", $lang_keys[$index+$lines], - button($vars{"$language"}), substr($tlpobj->shortdesc,0,33); + printf " %s %s %-32s\n", $lang_keys[$index+$lines], + button($vars{"$language"}), substr($tlpobj->shortdesc,0,32); } else { print "\n"; } @@ -402,8 +402,8 @@ sub language_menu { my $lang_doc=$lang_docs[$index+$lines]; my $tlpobj = $tlpdb->get_package("$lang_doc"); $keyval{$lang_doc_keys[$index+$lines]}="$lang_doc"; - printf " %s %s %-33s\n", $lang_doc_keys[$index+$lines], - button($vars{"$lang_doc"}), substr($tlpobj->shortdesc,0,33); + printf " %s %s %-32s\n", $lang_doc_keys[$index+$lines], + button($vars{"$lang_doc"}), substr($tlpobj->shortdesc,0,32); } else { print "\n"; } @@ -507,6 +507,122 @@ EOF } } +$vars{'page'}=0; + +sub html2text { + my $filename=shift; + my @text; + open IN, "$filename"; + @all_lines=<IN>; + close IN; + chomp @all_lines; + + my $itemcnt; + my $ordered_list=0; + my $h1_indent=25; + my $h2_indent=3; + my $h3_indent=6; + + for (@all_lines) { + next if /DOCTYPE/; + next if /<!--/; + next if /<title/i; + next if /<\/?body/i; + next if /<\/?html/i; + next if /<\/?head/i; + next if /<\/?meta/i; + next if /^\s*$/; # ignore empty lines + + s/<i>/"/gi; s/<\/i>/"/gi; # italics + s/<tt>/'/gi; s/<\/tt>/'/gi; # typewriter + s/<p>.*//gi; # paragraphs + s/<\/ul>.*//gi; # unsorted lists + s/<\/ol>.*//gi; # ordered lists + s/&emdash;/--/gi; # emdash + s/</</gi; s/>/>/gi; # < and > + if (/<h1>(.*?)<\/h1>/i) { + push @text, " " x $h1_indent. "$1\n"; + push @text, " " x $h1_indent. "=" x (length $1). "\n"; + push @text, "\n"; + } elsif (/<h2>(.*?)<\/h2>/i) { + push @text, "\n"; + push @text, " " x $h2_indent. "$1\n"; + push @text, " " x $h2_indent. "~" x (length $1). "\n"; + push @text, "\n"; + } elsif (/<h3>(.*?)<\/h3>/i) { + push @text, "\n"; + push @text, " " x $h3_indent. "$1\n"; + push @text, " " x $h3_indent. "-" x (length $1). "\n"; + push @text, "\n"; + } elsif (/<ol>/i) { + $ordered_list=1; + $itemcnt=1; + } elsif (/<ul>/i) { + $ordered_list=0; + } elsif (/^\s*<li>\s*(.*)/) { + if ($ordered_list) { + push @text, "\n"; + push @text, " $itemcnt. $1\n"; + ++$itemcnt; + } else { + push @text, "\n"; + push @text, " * $1\n"; + } + } else { + push @text, "$_\n"; + } + } + return @text; +} + + +sub help_menu { + my %command=( + 'self' => \&help_menu, + 'R' => \&main_menu, + 'Q' => \&quit + ); + my $installer_help="$installerdir/install-tl.html"; + + clear_screen; + + my @text=html2text "$installer_help"; + my $lines=(@text); + my $overlap=3; + my $lps=32; # lines per screen - overlap + my $firstline=$vars{'page'}*$lps; + my $lastline=$firstline+$lps+$overlap; + my $line=0; +# print "<<<$firstline>>> <<<$lastline>>>\n"; + for (@text) { + print "$_" if ($line>=$firstline and $line<=$lastline); + ++$line; + } + print "\n", hbar, + " <T> top <N> next page <P> previous page <R> return" + . " --", $vars{'page'}+1, "--\n"; + + my $answer=prompt 'Enter command'; + + if ("\u$answer" eq 'T') { + $vars{'page'}=0; + return $command{'self'}; + } + if ("\u$answer" eq 'N') { + $vars{'page'}+=1 unless $lastline>$lines; + return $command{'self'}; + } + if ("\u$answer" eq 'P') { + $vars{'page'}-=1 if $vars{'page'}>=1; + return $command{'self'}; + } + if (defined $command{"\u$answer"}) { + return $command{"\u$answer"}; + } else { + return $command{'self'}; + } +} + sub options_menu { my $b_symlinks=button($vars{'option_symlinks'}); @@ -646,6 +762,7 @@ sub main_menu { 'O' => \&options_menu, 'I' => \&do_install, 'C' => \&collection_menu, + 'H' => \&help_menu, 'L' => \&language_menu, 'D' => \&directories_menu, 'S' => \&scheme_menu, @@ -695,7 +812,6 @@ EOF other_options qw (I H Q); my $answer=prompt 'Enter command'; -# chomp(my $answer=<STDIN>); if (defined $command{"\u$answer"}) { return $command{"\u$answer"}; } else { |