diff options
author | Norbert Preining <preining@logic.at> | 2009-07-03 15:27:37 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-07-03 15:27:37 +0000 |
commit | 9167358afb2bd622448cf97615899cba00556bc5 (patch) | |
tree | 941e6c12cbc2bcfbc51f5097b67ac9e8d9ba7faf /Master/tlpkg/installer | |
parent | e14a9d60c5f2c2734d18d1d5e4f8464633ab9a60 (diff) |
the "Tokyo-Vienna-cramped-flight-commit":
- unify installer keys of the %vars hash to always use option_ prefix
if it is an option
- unify the layout of things in 00texlive.installation so that user settable
things look like opt_$key:vallue, and internal things setting_$key:vale
- add list of supported options to TLConfig, with type definitions
- use a unified option call
$tlpdb->option($key [, $value, $value])
instead of many different
$tlpdb->option_foo_bar
- adapt install-tl, uninstall-w32, tlmgr, tlpkg/bin, TeXLive::*, installer
plugins, to use this new function instead
- make the
setting_platform:XXXXX
(formerly platform:XXXXX) in 00texlive.installation only optional. It is
not saved into the TLPDB if the *default* platform as returned by
TeXLive::TLUtils::platform() (thus calling config.guess on unix). Only
if you override the platform in the installer with -force-arch then
this value is set in the TLPDB
- implement TLMedia->platform that checks first the included TLPDB for
option("platform"), and if that is not given determines the platform
using TLUtils::platform().
- move the add_symlinks and remove_symlinks from TLPDB to TLMedia
- sanatize the installer modules: perltk is now equivalent to text
- tlmgr:
. output of tlmgr option [show] does now show all the set options,
but ignores irrelevant ones for the respective platform
(sys_bin/man/info for win32, desktop_integration etc for unix)
. option handling rewritten in a general way so that we only have
to add new options to TLConfig::%TLPDBOptionXXXXX
. setting an option is verified against the types of the options
. implement
tlmgr option showall
that shows also options that are currently not set/saved in the TLPDB
- TLUtils: honor the w32_multi_user setting also for shortcuts and menu
items
- tlmgrgui:
. implement support for most options that are set in the TLPDB
. add buttons to remove/add symlinks
git-svn-id: svn://tug.org/texlive/trunk@14083 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/installer')
-rw-r--r-- | Master/tlpkg/installer/install-menu-perltk.pl | 12 | ||||
-rwxr-xr-x | Master/tlpkg/installer/install-menu-text.pl | 40 | ||||
-rw-r--r-- | Master/tlpkg/installer/install-menu-wizard.pl | 16 | ||||
-rw-r--r-- | Master/tlpkg/installer/install-translations.pl | 1 | ||||
-rw-r--r-- | Master/tlpkg/installer/installer-options.txt | 72 |
5 files changed, 86 insertions, 55 deletions
diff --git a/Master/tlpkg/installer/install-menu-perltk.pl b/Master/tlpkg/installer/install-menu-perltk.pl index c9440b15c4f..e2ab24f0083 100644 --- a/Master/tlpkg/installer/install-menu-perltk.pl +++ b/Master/tlpkg/installer/install-menu-perltk.pl @@ -627,9 +627,9 @@ sub menu_select_symlink { our $osym = $vars{'option_path'}; our ($binlab,$binb,$manlab,$manb,$infolab,$infob); sub set_unset_buttons { - $lbin = ($osym ? $vars{'sys_bin'} : ''); - $linfo = ($osym ? $vars{'sys_info'} : ''); - $lman = ($osym ? $vars{'sys_man'} : ''); + $lbin = ($osym ? $vars{'option_sys_bin'} : ''); + $linfo = ($osym ? $vars{'option_sys_info'} : ''); + $lman = ($osym ? $vars{'option_sys_man'} : ''); if ($osym) { $binlab->grid(-row => 2, -column => 1, -sticky => "w", -padx => "2m"); $binb->grid(-row => 2, -column => 2, -sticky => "ew", -padx => "2m"); @@ -654,9 +654,9 @@ sub menu_select_symlink { $lbin =~ s/^~/$home/; $linfo =~ s/^~/$home/; $lman =~ s/^~/$home/; - $vars{'sys_bin'} = $lbin; - $vars{'sys_info'} = $linfo; - $vars{'sys_man'} = $lman; + $vars{'option_sys_bin'} = $lbin; + $vars{'option_sys_info'} = $linfo; + $vars{'option_sys_man'} = $lman; } $vars{'option_path'} = $osym; toggle_and_set_opt_variable(\$vars{'option_path'}, \$pathadjyesno); diff --git a/Master/tlpkg/installer/install-menu-text.pl b/Master/tlpkg/installer/install-menu-text.pl index d9871ed9e4e..5fcaa2ecda7 100755 --- a/Master/tlpkg/installer/install-menu-text.pl +++ b/Master/tlpkg/installer/install-menu-text.pl @@ -698,13 +698,13 @@ sub options_menu { my $b_admin=button($vars{'option_w32_multi_user'}); my $b_addoneditor=button($vars{'addon_editor'}); - my $sys_bin=$vars{'sys_bin'}; - my $sys_man=$vars{'sys_man'}; - my $sys_info=$vars{'sys_info'}; + my $sys_bin=$vars{'option_sys_bin'}; + my $sys_man=$vars{'option_sys_man'}; + my $sys_info=$vars{'option_sys_info'}; - my $t_sys_bin=($vars{'option_path'})? $vars{'sys_bin'}:''; - my $t_sys_man=($vars{'option_path'})? $vars{'sys_man'}:''; - my $t_sys_info=($vars{'option_path'})? $vars{'sys_info'}:''; + my $t_sys_bin=($vars{'option_path'})? $vars{'option_sys_bin'}:''; + my $t_sys_man=($vars{'option_path'})? $vars{'option_sys_man'}:''; + my $t_sys_info=($vars{'option_path'})? $vars{'option_sys_info'}:''; my %command=( 'self' => \&options_menu, @@ -763,24 +763,24 @@ EOF if ($vars{'option_path'}) { print "New value for binary directory [$sys_bin]: "; chomp($answer=<STDIN>); - $vars{'sys_bin'} = "$answer" if (length $answer); - $vars{'sys_bin'} =~ s@\\@/@g if (win32()); - $vars{'sys_bin'} =~ s/^~/$home/; - if ($vars{'sys_bin'}=~/^(.*)\/bin$/) { - $vars{'sys_man'}="$1/man"; - $vars{'sys_info'}="$1/info"; + $vars{'option_sys_bin'} = "$answer" if (length $answer); + $vars{'option_sys_bin'} =~ s@\\@/@g if (win32()); + $vars{'option_sys_bin'} =~ s/^~/$home/; + if ($vars{'option_sys_bin'}=~/^(.*)\/bin$/) { + $vars{'option_sys_man'}="$1/man"; + $vars{'option_sys_info'}="$1/info"; } - print "New value for man directory [$vars{'sys_man'}]: "; + print "New value for man directory [$vars{'option_sys_man'}]: "; chomp($answer=<STDIN>); - $vars{'sys_man'}="$answer" if (length $answer); - $vars{'sys_man'} =~ s@\\@/@g if (win32()); - $vars{'sys_man'} =~ s/^~/$home/; + $vars{'option_sys_man'}="$answer" if (length $answer); + $vars{'option_sys_man'} =~ s@\\@/@g if (win32()); + $vars{'option_sys_man'} =~ s/^~/$home/; - print "New value for info directory [$vars{'sys_info'}]: "; + print "New value for info directory [$vars{'option_sys_info'}]: "; chomp($answer=<STDIN>); - $vars{'sys_info'}="$answer" if (length $answer); - $vars{'sys_info'} =~ s@\\@/@g if (win32()); - $vars{'sys_info'} =~ s/^~/$home/; + $vars{'option_sys_info'}="$answer" if (length $answer); + $vars{'option_sys_info'} =~ s@\\@/@g if (win32()); + $vars{'option_sys_info'} =~ s/^~/$home/; } return $command{'self'}; } diff --git a/Master/tlpkg/installer/install-menu-wizard.pl b/Master/tlpkg/installer/install-menu-wizard.pl index 5048c182d6d..1c716a137de 100644 --- a/Master/tlpkg/installer/install-menu-wizard.pl +++ b/Master/tlpkg/installer/install-menu-wizard.pl @@ -202,7 +202,7 @@ sub ask_path { $fmain->Label(-text => $text{'pathinfo'}, - -justify => "left")->place(-x => 0, -y => 30); + -justify => "left")->place(-x => 0, -y => 20); my $ytmp = 100; $lab->place(-x => 0, -y => $ytmp, -anchor => "w"); @@ -304,6 +304,10 @@ sub ask_options { $_->destroy; } $counter->configure(-text => "3/5"); + + my $inf = $fmain->Label(-text => $text{"optiontitle"}, -justify => "left"); + $inf->place(-x => 0, -y => 20); + my $bletter = $fmain->Checkbutton(-text => $labels{'optletter'}, -variable => \$vars{"option_letter"}); @@ -316,6 +320,9 @@ sub ask_options { my $bpath = $fmain->Checkbutton(-text => $labels{'pathadj'}, -variable => \$vars{"option_path"}); + my $bmulti = $fmain->Checkbutton(-text => $labels{'multiuser'}, + -variable => \$vars{"option_w32_multi_user"}); + calc_depends(); @@ -331,6 +338,11 @@ sub ask_options { $ytmp += 50; $bpath->place(-x => 0, -y => $ytmp); + + if (admin()) { + $ytmp += 50; + $bmulti->place(-x => 0, -y => $ytmp); + } } $prv->configure(-text => $text{'prev'}, -command => \&ask_path ); @@ -351,7 +363,7 @@ sub ask_go { $_->destroy; } $counter->configure(-text => "4/5"); - my $inf = $fmain->Label(-justify => "left", -text => $text{'readyinst'} . "\n\n" . $text{'destfolder'} . ": $dest"); + my $inf = $fmain->Label(-justify => "left", -text => $text{'readyinst'} . "\n\n" . $text{'destfolder'} . " $dest"); $inf->place(-x => 0, -y => 100); diff --git a/Master/tlpkg/installer/install-translations.pl b/Master/tlpkg/installer/install-translations.pl index c75aec891e7..93331015e2f 100644 --- a/Master/tlpkg/installer/install-translations.pl +++ b/Master/tlpkg/installer/install-translations.pl @@ -104,6 +104,7 @@ our %text = (title => 'TeX Live 2009 Installation', readyinst => "We are ready to install TeX Live 2009.\nThe following settings will be used.\nIf you want to change something please go back,\notherwise press the \"Install\" button.", instshort => 'Install', wizard => 'Go to Wizard', + optiontitle => 'This screen allows you to configure some options', ); diff --git a/Master/tlpkg/installer/installer-options.txt b/Master/tlpkg/installer/installer-options.txt index 521ff375d1c..1e8ff56b8cd 100644 --- a/Master/tlpkg/installer/installer-options.txt +++ b/Master/tlpkg/installer/installer-options.txt @@ -1,61 +1,79 @@ (last status change 2009-07-02) %vars key default text perltk wizard + $tlpdb->option("key") description + used in install-tl/tlmgr/TLMedia ---------------------------------------------------------------------------- option_doc 1 x x + option("install_docfiles") install doc files + install-tl: sub do_install_packages + TLMedia.pm: sub install_package option_src 1 x x + option("install_srcfiles") install src files + install-tl: sub do_install_packages + TLMedia.pm: sub install_package option_fmt 1 x x + option("create_formats") create all formats - -option_letter 0 x x x - use letter + install-tl: sub do_postinst_stuff + tlmgr: sub handle_execute_actions option_file_assocs 0 w32 w32 w32 + option("file_assocs") file associations postaction + install-tl: sub do_tlpdb_postactions + TLMedia: remove_package, install_package option_desktop_integration 0 (1 w32) w32 w32 w32 + option("desktop_integration") shortcuts etc currently effects w32 only + install-tl: sub do_tlpdb_postactions + TLMedia: remove_package, install_package option_post_code 1 + option("post_code") postaction code + install-tl: sub do_tlpdb_postactions + TLMedia: remove_package, install_package + +option_sys_bin/man/info /u/l/... unix unix + option("sys_bin") ... + unix link dests (if option_path == 1) + TLPDB add/remove_symlinks + (via tlmgr action_symlinks and install-tl do_path_adjustments) -option_w32_multi_user 1 w32 w32 ?? +option_w32_multi_user 1 w32 w32 w32 + option("w32_multi_user") sysadmin as multi user + install-tl: sub do_path_adjustments + TLMedia: remove_package, install_package + +option_letter 0 x x x + not saved into the local TLPDB + only for install time setting + use letter + install-tl: sub do_postinst_stuff option_path 0 x x w32?? path adjustment + not saved into the local TLPDB + only for install time setting (unix symlinks, w32 reg) -sys_bin/man/info /u/l/... x x - unix link dests (if option_path == 1) - addon_editor 0 w32 w32 - + not saved into the local TLPDB + only for install time setting install texworks -w32 are things only visible on w32 -(x) are things that should be done -?? are things I am not sure -- are things that are not relevant - -Comments: -1) in perltk mode the desktop_integration is shown for all, but on unix - it triggers the link destination (so option_path) - - -Question/Statements: -- perltk is wrong to mix desktop_integration with path_adjustments! - it should have separate questions -- perltk should show desktop_integration only for w32 (as long as we - only support actions there) -- wizard should not ask for texworks - done -- wizard should ask for file_assocs, desktop_integration, path - done -- should the wizard ask for w32_multi_user? +unix are things only visible on unix +w32 are things only visible on w32 +(x) are things that should be done +?? are things I am not sure +- are things that are not relevant |