summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-03-18 11:20:03 +0000
committerNorbert Preining <preining@logic.at>2009-03-18 11:20:03 +0000
commit8314254e138a8b3496e70bb7d975187a95041c5d (patch)
tree063412141f4ba1692ab812d6b60c14a801357fbe
parentaaa81624e4017fb20b8c0c1f65afd3d3d50a4767 (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-xMaster/install-tl20
-rw-r--r--Master/tlpkg/TeXLive/TLPDB.pm10
-rw-r--r--Master/tlpkg/TeXLive/TLUtils.pm6
-rwxr-xr-xMaster/tlpkg/installer/install-menu-text.pl8
-rw-r--r--Master/tlpkg/tlpsrc/00texlive.installation.tlpsrc2
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