summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinhard Kotucha <reinhard.kotucha@web.de>2007-12-02 17:06:49 +0000
committerReinhard Kotucha <reinhard.kotucha@web.de>2007-12-02 17:06:49 +0000
commite7d00ce56c8a47924ac77c10688df81d62e15717 (patch)
treecdd6c062e471df17858ad1a33bed7fc7c4c81e56
parent419d75b902359860a7fcdc385ad582aae5231b9f (diff)
install-menu-text.pl: help menu
install-tl.html: installer help (still describes TL-2007) git-svn-id: svn://tug.org/texlive/trunk@5683 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/install-tl.html102
-rwxr-xr-xMaster/tlpkg/TeXLive/install-menu-text.pl126
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>&lt;I&gt;</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>&lt;&gt;</tt> themselves.
+<p>
+We will now consider each menu item in more detail:
+
+<h2>The binary systems menu (<tt>&lt;B&gt;</tt>)</h2>
+
+The systems menu allows you to select and deselect
+the binary packages for various different platforms.
+
+<h2>The schemes menu (<tt>&lt;C&gt;</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>&lt;C&gt;</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>&lt;L&gt;</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>&lt;D&gt;</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>&lt;O&gt;</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/&lt;/</gi; s/&gt;/>/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 {