diff options
author | Norbert Preining <preining@logic.at> | 2009-03-18 11:20:03 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-03-18 11:20:03 +0000 |
commit | 8314254e138a8b3496e70bb7d975187a95041c5d (patch) | |
tree | 063412141f4ba1692ab812d6b60c14a801357fbe | |
parent | aaa81624e4017fb20b8c0c1f65afd3d3d50a4767 (diff) |
split of option_file_assoc, and exhibit full options in the text mode installer
git-svn-id: svn://tug.org/texlive/branches/branch2009-dev@12420 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Master/install-tl | 20 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLPDB.pm | 10 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 6 | ||||
-rwxr-xr-x | Master/tlpkg/installer/install-menu-text.pl | 8 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/00texlive.installation.tlpsrc | 2 |
5 files changed, 38 insertions, 8 deletions
diff --git a/Master/install-tl b/Master/install-tl index 67718118f98..c0e00e08917 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -732,7 +732,7 @@ operations might be disturbed.\n\n"; # on unix this means setting up symlinks # on w32 this means adding to path, settting registry values # on both, we run the postaction directives of the tlp - do_desktop_integration() if $vars{'option_desktop_integration'}; + do_desktop_integration(); } @@ -743,7 +743,10 @@ sub do_desktop_integration { foreach my $package (sort keys %install) { if ($install{$package}) { &TeXLive::TLUtils::do_postaction("install", - $usedtlpdb->get_package($package)); + $usedtlpdb->get_package($package), + $vars{'option_file_assocs'}, + $vars{'option_desktop_integration'}, + $vars{'option_post_code'}); } } info ("finished with package specific postactions\n"); @@ -1086,6 +1089,9 @@ sub load_tlpdb { $vars{'option_path'} = $tlpdb->option_path; $vars{'option_path'} = 1 if win32(); $vars{'option_w32_multi_user'} = $tlpdb->option_w32_multi_user; + $vars{'option_file_assocs'} = $tlpdb->option_file_assocs; + $vars{'option_file_assocs'} = 1 if win32(); + $vars{'option_post_code'} = $tlpdb->option_post_code; $vars{'sys_bin'} = $tlpdb->option_sys_bin; $vars{'sys_man'} = $tlpdb->option_sys_man; $vars{'sys_info'} = $tlpdb->option_sys_info; @@ -1187,11 +1193,7 @@ sub create_profile { foreach my $key (sort keys %vars) { print $fh "$key $vars{$key}\n" if $key=~/^collection/ and $vars{$key}==1; - print $fh "$key $vars{$key}\n" if $key=~/^option_letter/; - print $fh "$key $vars{$key}\n" if $key=~/^option_doc/; - print $fh "$key $vars{$key}\n" if $key=~/^option_fmt/; - print $fh "$key $vars{$key}\n" if $key=~/^option_src/; - print $fh "$key $vars{$key}\n" if $key=~/^option_desktop_integration/; + print $fh "$key $vars{$key}\n" if $key=~/^option_/; if ($vars{'option_desktop_integration'} && unix()) { print $fh "sys_bin ", $vars{'sys_bin'}, "\n" if $key =~ /^sys_bin/; print $fh "sys_man ", $vars{'sys_man'}, "\n" if $key =~ /^sys_man/; @@ -1290,6 +1292,10 @@ sub save_options_into_tlpdb { $localtlpdb->option_paper($vars{'option_letter'} ? "letter" : "a4"); $localtlpdb->option_create_formats($vars{'option_fmt'} ? "1" : "0"); $localtlpdb->option_desktop_integration($vars{'option_desktop_integration'} ? "1" : "0"); + $localtlpdb->option_file_assocs($vars{'option_file_assocs'} ? "1" : "0"); + $localtlpdb->option_path($vars{'option_path'} ? "1" : "0"); + $localtlpdb->option_post_code($vars{'option_post_code'} ? "1" : "0"); + $localtlpdb->option_w32_multi_user($vars{'option_w32_multi_user'} ? "1" : "0"); $localtlpdb->option_sys_bin($vars{'sys_bin'}); $localtlpdb->option_sys_info($vars{'sys_info'}); $localtlpdb->option_sys_man($vars{'sys_man'}); diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm index 32a72b3ae10..bd0458c963e 100644 --- a/Master/tlpkg/TeXLive/TLPDB.pm +++ b/Master/tlpkg/TeXLive/TLPDB.pm @@ -1202,6 +1202,16 @@ sub option_desktop_integration { if (@_) { $self->_set_option_value("opt_desktop_integration", shift); } return $self->_option_value("opt_desktop_integration"); } +sub option_file_assocs { + my $self = shift; + if (@_) { $self->_set_option_value("opt_file_assocs", shift); } + return $self->_option_value("opt_file_assocs"); +} +sub option_post_code { + my $self = shift; + if (@_) { $self->_set_option_value("opt_post_code", shift); } + return $self->_option_value("opt_post_code"); +} sub option_path { my $self = shift; if (@_) { $self->_set_option_value("opt_path", shift); } diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 872c02c49bc..7bdc09b777f 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -1235,7 +1235,7 @@ Returns 1 on success, and 0 on failure. =cut sub do_postaction { - my ($how, $tlpobj) = @_; + my ($how, $tlpobj, $do_fileassocs, $do_shortcuts, $do_postcode) = @_; my $ret = 1; if (!defined($tlpobj)) { tlwarn("do_postaction: didn't get a tlpobj\n"); @@ -1245,12 +1245,16 @@ sub do_postaction { if $tlpobj->postactions; for my $pa ($tlpobj->postactions) { if ($pa =~ m/^\s*shortcut\s+(.*)\s*$/) { + next unless $do_shortcuts; $ret &&= _do_postaction_shortcut($how, $tlpobj, $1); } elsif ($pa =~ m/\s*filetype\s+(.*)\s*$/) { + next unless $do_fileassocs; $ret &&= _do_postaction_filetype($how, $tlpobj, $1); } elsif ($pa =~ m/\s*fileassoc\s+(.*)\s*$/) { + next unless $do_fileassocs; $ret &&= _do_postaction_fileassoc($how, $tlpobj, $1); } elsif ($pa =~ m/\s*on\s*$/) { + next unless $do_postcode; $ret &&= _do_postaction_code($how, $tlpobj); } else { tlwarn("do_postaction: don't know how to do $pa\n"); diff --git a/Master/tlpkg/installer/install-menu-text.pl b/Master/tlpkg/installer/install-menu-text.pl index c8a5d0bdf57..920774233bf 100755 --- a/Master/tlpkg/installer/install-menu-text.pl +++ b/Master/tlpkg/installer/install-menu-text.pl @@ -694,6 +694,7 @@ sub options_menu { my $b_fmt=button($vars{'option_fmt'}); my $b_letter=button($vars{'option_letter'}); my $b_deskint=button($vars{'option_desktop_integration'}); + my $b_fileassocs=button($vars{'option_file_assocs'}); my $b_admin=button($vars{'option_w32_multi_user'}); my $sys_bin=$vars{'sys_bin'}; @@ -741,6 +742,7 @@ EOF } if (win32()) { print " <M> install menu items, shortcuts, etc: $b_deskint\n"; + print " <N> Update file associations: $b_fileassocs\n"; if (admin()) { # if we are admin we allow normal user installation, too print " <U> installation for all users: $b_admin\n"; @@ -793,6 +795,10 @@ EOF toggle 'option_desktop_integration'; return $command{'self'}; + } elsif ("\u$answer" eq 'N') { + toggle 'option_file_assocs'; + return $command{'self'}; + } elsif ("\u$answer" eq 'U') { toggle 'option_w32_multi_user'; return $command{'self'}; @@ -852,6 +858,7 @@ sub main_menu { my $b_fmt=button($vars{'option_fmt'}); my $b_letter=button($vars{'option_letter'}); my $b_deskint=button($vars{'option_desktop_integration'}); + my $b_fileassocs=button($vars{'option_file_assocs'}); my $b_admin=button($vars{'option_w32_multi_user'}); my $warn_nobin; @@ -962,6 +969,7 @@ EOF if (win32()) { print " $b_path adjust search path\n"; print " $b_deskint add menu items, shortcuts, etc.\n"; + print " $b_fileassocs update file associations\n"; if (admin()) { print " $b_admin installation for all users\n"; } diff --git a/Master/tlpkg/tlpsrc/00texlive.installation.tlpsrc b/Master/tlpkg/tlpsrc/00texlive.installation.tlpsrc index 3a9140e34de..1a779a38da7 100644 --- a/Master/tlpkg/tlpsrc/00texlive.installation.tlpsrc +++ b/Master/tlpkg/tlpsrc/00texlive.installation.tlpsrc @@ -23,6 +23,8 @@ depend location:__MASTER__ depend opt_paper:a4 depend opt_create_formats:1 depend opt_desktop_integration:0 +depend opt_file_assocs:0 +depend opt_post_code:1 depend opt_w32_multi_user:1 depend opt_path:0 depend opt_sys_bin:/usr/local/bin |