diff options
Diffstat (limited to 'Master/install-tl.pl')
-rwxr-xr-x | Master/install-tl.pl | 133 |
1 files changed, 105 insertions, 28 deletions
diff --git a/Master/install-tl.pl b/Master/install-tl.pl index 0efec7cd6b8..3048bb5d3de 100755 --- a/Master/install-tl.pl +++ b/Master/install-tl.pl @@ -60,23 +60,20 @@ sub dump_vars { # revised later. $trynet=0; sub set_platforms_supported { - $vars{'n_systems_available'}=0; if (media=~/(CD|DVD)/) { my @binaries=binaries_available_from_disk; for my $binary (@binaries) { unless (defined $vars{"diskbin_$binary"}) { $vars{"diskbin_$binary"}=0; - ++$vars{'n_systems_available'}; } } } if (media eq 'NET' or $trynet==1) { - print "\n\nLoading '$texlive_url/texlive.tlpdb' ...\n"; + print "\nLoading '$texlive_url/texlive.tlpdb' ...\n"; my @binaries=binaries_available_from_net; for my $binary (@binaries) { unless (defined $vars{"diskbin_$binary"}) { $vars{"netbin_$binary"}=0; - ++$vars{'n_systems_available'}; } } } @@ -194,7 +191,6 @@ sub other_options { die "other_options: $opts{$option} undefined.\n"; } } - print "\n"; } sub prompt { @@ -309,6 +305,11 @@ sub binary_menu { } my @binaries=sort(@diskbins,@netbins); + $vars{'n_systems_available'}=0; + for my $key (keys %vars) { + ++$vars{'n_systems_available'} if ($key=~/^(disk|net)bin/); + } + $diskbin=' ' if (media eq 'CD' and $vars{'n_systems_available'}>$max_bins_on_CD); @@ -327,15 +328,14 @@ sub binary_menu { } if ($vars{'n_systems_available'}<=$max_bins_on_CD ) { print "\n Binaries for additional systems are available on the DVD.\n" . - " If you have network access, try option <N>.\n" . - "\nOther Options:\n", hbar, " <-> deselect all\n" . - " <+> select all\n <N> add binaries from net\n" . - " <R> return to main menu\n <Q> quit\n"; + " If you have network access, try option <N>.\n"; + + other_options qw(- + N R Q); } else { print "\n Network access is required to install binary systems " . "marked with '*'.\n" if (media eq 'CD'); - print "\nOther Options:\n", hbar, " <-> deselect all\n". - " <+> select all\n <R> return to main menu\n <Q> quit\n"; + + other_options qw(- + R Q); } my $answer=prompt 'Press key to select/deselect binary systems'; @@ -384,6 +384,7 @@ sub scheme_menu { my @keys=string_to_list "abcdefghijklmnopstuvwxyz"; my %keyval; my $index=0; + menu_head 'Select a scheme:'; @@ -398,8 +399,9 @@ sub scheme_menu { foreach my $scheme (@schemes) { $keyval{$keys[$index]}="$scheme"; + my $tlpobj = $tlpdb->get_package("$scheme"); printf " %s %s %s\n", $keys[$index], button($vars{"$scheme"}), - $scheme; + $tlpobj->shortdesc; ++$index; } @@ -449,11 +451,34 @@ sub collection_menu { @collections=sort @collections_std; - foreach my $collection (@collections) { +##<cols=2> + my $lines=@collections/2; + ++$lines if (@collections%2); + for my $index (0..$lines-1) { + my $collection=$collections[$index]; + my $tlpobj = $tlpdb->get_package("$collection"); $keyval{$keys[$index]}="$collection"; - printf " %s %s %s\n", $keys[$index], button($vars{"$collection"}), - $collection; - ++$index; + printf " %s %s %-33s", $keys[$index], button($vars{"$collection"}), + substr($tlpobj->shortdesc,0,33); + if (defined $collections[$index+$lines]) { + my $collection=$collections[$index+$lines]; + my $tlpobj = $tlpdb->get_package("$collection"); + $keyval{$keys[$index+$lines]}="$collection"; + printf " %s %s %-33s\n", $keys[$index+$lines], + button($vars{"$collection"}), substr($tlpobj->shortdesc,0,33); + } else { + print "\n"; + } +##</cols=2> + +##<cols=1> +# foreach my $collection (@collections) { +# my $tlpobj = $tlpdb->get_package("$collection"); +# $keyval{$keys[$index]}="$collection"; +# printf " %s %s %s\n", $keys[$index], button($vars{"$collection"}), +# $tlpobj->shortdesc; +# ++$index; +##</cols=1> } other_options qw(- + R Q); @@ -498,28 +523,75 @@ sub language_menu { my %keyval; my $lang_index=0; my $lang_doc_index=0; + my $lines; menu_head 'Select languages:'; @languages=sort @collections_lang; @lang_docs=sort @collections_lang_doc; - foreach my $language (@languages) { - $keyval{$lang_keys[$lang_index]}="$language"; - printf " %s %s %s\n", $lang_keys[$lang_index], - button($vars{"$language"}), - $language; - ++$lang_index; +##<cols=2> + $lines=@languages/2; + ++$lines if (@languages%2); + for my $index (0..$lines-1) { + my $language=$languages[$index]; + my $tlpobj = $tlpdb->get_package("$language"); + $keyval{$lang_keys[$index]}="$language"; + printf " %s %s %-33s", $lang_keys[$index], button($vars{"$language"}), + substr($tlpobj->shortdesc,0,33); + if (defined $languages[$index+$lines]) { + 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); + } else { + print "\n"; + } +##</cols=2> + +##<cols=1> +# foreach my $language (@languages) { +# my $tlpobj = $tlpdb->get_package("$language"); +# $keyval{$lang_keys[$lang_index]}="$language"; +# printf " %s %s %s\n", $lang_keys[$lang_index], +# button($vars{"$language"}), +# $tlpobj->shortdesc; +# ++$lang_index; +##</cols=1> } print "\nLanguage specific documentation. Select languages first.\n\n"; - foreach my $lang_docs (@lang_docs) { - $keyval{$lang_doc_keys[$lang_doc_index]}="$lang_docs"; - printf " %s %s %s\n", $lang_doc_keys[$lang_doc_index], - button($vars{"$lang_docs"}), - substr $lang_docs, 11; - ++$lang_doc_index; +##<cols=2> + $lines=@lang_docs/2; + ++$lines if (@lang_docs%2); + for my $index (0..$lines-1) { + my $lang_doc=$lang_docs[$index]; + my $tlpobj = $tlpdb->get_package("$lang_doc"); + $keyval{$lang_doc_keys[$index]}="$lang_doc"; + printf " %s %s %-33s", $lang_doc_keys[$index], button($vars{"$lang_doc"}), + substr($tlpobj->shortdesc,0,33); + if (defined $lang_docs[$index+$lines]) { + 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); + } else { + print "\n"; + } +##</cols=2> + +##<cols=1> +# foreach my $lang_docs (@lang_docs) { +# my $tlpobj = $tlpdb->get_package("$lang_docs"); +# $keyval{$lang_doc_keys[$lang_doc_index]}="$lang_docs"; +# printf " %s %s %s\n", $lang_doc_keys[$lang_doc_index], +# button($vars{"$lang_docs"}), +# $tlpobj->shortdesc; +# ++$lang_doc_index; +##</cols=1> } other_options qw (+ - R Q); @@ -730,6 +802,11 @@ sub main_menu { my $b_src=button($vars{'o_src'}); my $t_altfontdir=($vars{'o_altfontdir'})? "($vars{'altfontdir'})":''; + $vars{'n_systems_available'}=0; + for my $key (keys %vars) { + ++$vars{'n_systems_available'} if ($key=~/^(disk|net)bin/); + } + $vars{'n_systems_selected'}=0; $vars{'n_collections_selected'}=0; foreach my $key (keys %vars) { |