diff options
-rw-r--r-- | Master/tlpkg/etc/2009.combined.patch | 2800 | ||||
-rw-r--r-- | Master/tlpkg/etc/2009.combined.patch.README | 35 |
2 files changed, 2655 insertions, 180 deletions
diff --git a/Master/tlpkg/etc/2009.combined.patch b/Master/tlpkg/etc/2009.combined.patch index 6a588c3f50c..080aa93a623 100644 --- a/Master/tlpkg/etc/2009.combined.patch +++ b/Master/tlpkg/etc/2009.combined.patch @@ -1,143 +1,68 @@ -Index: texmf/scripts/texlive/tlmgr.pl -=================================================================== ---- texmf/scripts/texlive/tlmgr.pl (revision 12142) -+++ texmf/scripts/texlive/tlmgr.pl (working copy) -@@ -557,6 +557,9 @@ - info("running post remove action for $pkg\n"); - &{$PostRemove{$pkg}}($localtlpdb->root); - } -+ # -+ # Run the post installation code in the postaction tlpsrc entries -+ &TeXLive::TLUtils::do_postaction_code("remove", $tlp); - } - return \%ret; - } -Index: texmf/scripts/texlive/uninstall-win32.pl +Index: tlpkg/TeXLive/TLPDB.pm =================================================================== ---- texmf/scripts/texlive/uninstall-win32.pl (revision 12142) -+++ texmf/scripts/texlive/uninstall-win32.pl (working copy) -@@ -17,6 +17,11 @@ - } +--- tlpkg/TeXLive/TLPDB.pm (revision 12171) ++++ tlpkg/TeXLive/TLPDB.pm (working copy) +@@ -788,7 +788,7 @@ + read-only function; you cannot change the root of the TLPDB using this + function. - use TeXLive::TLWinGoo; -+use TeXLive::TLPDB; -+use TeXLive::TLPOBJ; -+use TeXLive::TLPostActions; -+use TeXLive::TLConfig; -+use TeXLive::TLUtils; - use Tk; - use Tk::Dialog; +-See C<00texlive-installation.config.tlpsrc> for a description of the ++See C<00texlive.installation.tlpsrc> for a description of the + special value C<__MASTER>. -@@ -39,6 +44,23 @@ - $cancel->pack(-side => 'left' , -padx => "3m"); - - sub doit { -+ # first we remove the whole bunch of shortcuts and menu entries -+ # by calling all the post action codes for the installed packages -+ my $localtlpdb = TeXLive::TLPDB->new ("root" => $Master); -+ if (!defined($localtlpdb)) { -+ tlwarn("Cannot load the TLPDB from $Master, are you sure there is an installation?\n"); -+ } else { -+ for my $pkg ($localtlpdb->list_packages) { -+ if (defined($PostRemove{$pkg})) { -+ info("running post remove action for $pkg\n"); -+ &{$PostRemove{$pkg}}($Master); -+ } -+ } -+ &TeXLive::TLUtils::do_postaction_code("remove", $pkg); -+ } -+ my $menupath = &TeXLive::TLWinGoo::menu_path(); -+ $menupath =~ s!/!\\!g; -+ `rmdir /s /q "$menupath\\$TeXLive::TLConfig::WindowsMainMenuName" 2>nul`; - remove_texbindirs_from_path(); - unsetenv_reg("TEXBINDIR"); - # from_dvd case: -Index: install-tl -=================================================================== ---- install-tl (revision 12142) -+++ install-tl (working copy) -@@ -82,7 +82,6 @@ - &add_menu_shortcut - &remove_desktop_shortcut - &remove_menu_shortcut -- &init_unshortbat - &create_uninstaller - )); - } -@@ -1052,6 +1051,11 @@ - # post install actions - # + =cut +@@ -1111,11 +1111,11 @@ -+ # in case we are running from DVD we use the tlpdb from the DVD, otherwise -+ # the one we have locally created, for all the further actions -+ my $usedtlpdb = $vars{'from_dvd'} ? $tlpdb : $localtlpdb; -+ -+ - if (win32()) { - debug "Actual environment:\n".`set`."\n\n"; - debug 'Effective TEXMFCNF: '.`kpsewhich -expand-path=\$TEXMFCNF`."\n"; -@@ -1060,15 +1064,24 @@ - # (re-)initialize batchfile for uninstalling shortcuts - if (win32() and !$opt_portable) { - mkdirhier("$TEXDIRW/tlpkg/installer") if $vars{'from_dvd'}; -- init_unshortbat($TEXDIRW); + sub _set_option_value { + my ($self,$key,$value) = @_; +- my $pkg = $self->{'tlps'}{'00texlive-installation.config'}; ++ my $pkg = $self->{'tlps'}{'00texlive.installation'}; + my @newdeps; + if (!defined($pkg)) { + $pkg = new TeXLive::TLPOBJ; +- $pkg->name("00texlive-installation.config"); ++ $pkg->name("00texlive.installation"); + $pkg->category("TLCore"); + push @newdeps, "$key:$value"; + } else { +@@ -1133,20 +1133,20 @@ + } } + $pkg->depends(@newdeps); +- $self->{'tlps'}{'00texlive-installation.config'} = $pkg; ++ $self->{'tlps'}{'00texlive.installation'} = $pkg; + } -+ # Run the post installation code in TLPostAction.pm - foreach my $package (sort keys %install) { - if ($install{$package} && defined($PostInstall{$package})) { - info("running post install action for $package\n"); - &{$PostInstall{$package}}($TEXDIR, $TEXDIRW, $TEXMFSYSVAR, $TEXMFLOCAL); + sub _option_value { + my ($self,$key) = @_; +- if (defined($self->{'tlps'}{'00texlive-installation.config'})) { +- foreach my $d ($self->{'tlps'}{'00texlive-installation.config'}->depends) { ++ if (defined($self->{'tlps'}{'00texlive.installation'})) { ++ foreach my $d ($self->{'tlps'}{'00texlive.installation'}->depends) { + if ($d =~ m!^$key:(.*)$!) { + return "$1"; + } } + return; } -+ # Run the post installation code in the postaction tlpsrc entries -+ foreach my $package (sort keys %install) { -+ if ($install{$package}) { -+ &TeXLive::TLUtils::do_postaction_code("install", -+ $usedtlpdb->get_package($package)); -+ } -+ } -+ info ("finished with package specific postactions\n"); -+ - # $opt_portable: no %install but we still want xetex postinstall - &{$PostInstall{'xetex'}}($TEXDIR, $TEXDIRW, $TEXMFSYSVAR, $TEXMFLOCAL) - if $opt_portable; -@@ -1085,25 +1098,25 @@ - # texconfig generate * but Win32 does not have texconfig. But we have - # $localtlpdb and this is simple code, so do it directly, i.e., duplicate - # the code from the various generate-*.pl scripts -+ - info("writing fmtutil.cnf data to $TEXMFSYSVAR/web2c/fmtutil.cnf\n"); -- my $tlp = $vars{'from_dvd'} ? $tlpdb : $localtlpdb; -- TeXLive::TLUtils::create_fmtutil($tlp, #$localtlpdb, -+ TeXLive::TLUtils::create_fmtutil($usedtlpdb, - "$TEXMFSYSVAR/web2c/fmtutil.cnf", - "$TEXMFLOCAL/web2c/fmtutil-local.cnf"); - - mkdirhier "$vars{'TEXMFSYSCONFIG'}/web2c"; - info("writing updmap.cfg to $TEXMFSYSCONFIG/web2c/updmap.cfg\n"); -- TeXLive::TLUtils::create_updmap ($tlp, #$localtlpdb, -+ TeXLive::TLUtils::create_updmap ($usedtlpdb, - "$TEXMFSYSCONFIG/web2c/updmap.cfg", - "$TEXMFLOCAL/web2c/updmap-local.cfg"); - - info("writing language.dat data to $TEXMFSYSVAR/tex/generic/config/language.dat\n"); -- TeXLive::TLUtils::create_language_dat($tlp, #$localtlpdb, -+ TeXLive::TLUtils::create_language_dat($usedtlpdb, - "$TEXMFSYSVAR/tex/generic/config/language.dat", - "$TEXMFLOCAL/tex/generic/config/language-local.dat"); - - info("writing language.def data to $TEXMFSYSVAR/tex/generic/config/language.def\n"); -- TeXLive::TLUtils::create_language_def($tlp, #$localtlpdb, -+ TeXLive::TLUtils::create_language_def($usedtlpdb, - "$TEXMFSYSVAR/tex/generic/config/language.def", - "$TEXMFLOCAL/tex/generic/config/language-local.def"); +- tlwarn("00texlive-installation.config not found, cannot read option $key.\n"); ++ tlwarn("00texlive.installation not found, cannot read option $key.\n"); + return; + } -Index: tlpkg/TeXLive/TLPDB.pm -=================================================================== ---- tlpkg/TeXLive/TLPDB.pm (revision 12142) -+++ tlpkg/TeXLive/TLPDB.pm (working copy) -@@ -1239,26 +1239,64 @@ +@@ -1179,6 +1179,11 @@ + if (@_) { $self->_set_option_value("opt_create_symlinks", shift); } + return $self->_option_value("opt_create_symlinks"); + } ++sub option_system_integration { ++ my $self = shift; ++ if (@_) { $self->_set_option_value("opt_system_integration", shift); } ++ return $self->_option_value("opt_system_integration"); ++} + sub option_install_docfiles { + my $self = shift; + if (@_) { $self->_set_option_value("opt_install_docfiles", shift); } +@@ -1239,26 +1244,64 @@ =cut sub fmtutil_cnf_lines { my $self = shift; @@ -221,9 +146,17 @@ Index: tlpkg/TeXLive/TLPDB.pm =item C<< $tlpdb->updmap_cfg_lines >> Index: tlpkg/TeXLive/TLConfig.pm =================================================================== ---- tlpkg/TeXLive/TLConfig.pm (revision 12142) +--- tlpkg/TeXLive/TLConfig.pm (revision 12171) +++ tlpkg/TeXLive/TLConfig.pm (working copy) -@@ -28,6 +28,7 @@ +@@ -11,6 +11,7 @@ + use vars qw( @ISA @EXPORT_OK @EXPORT ); + @ISA = qw(Exporter); + @EXPORT_OK = qw( ++ $ReleaseYear + @MetaCategories + @NormalCategories + @Categories +@@ -28,10 +29,15 @@ $WinSpecialUpdatePackagesRegexp @CriticalPackagesList @AllowedConfigOptions @@ -231,18 +164,52 @@ Index: tlpkg/TeXLive/TLConfig.pm ); @EXPORT = @EXPORT_OK; } -@@ -82,6 +83,8 @@ + ++# the year of our release, will be used in the location of the ++# network packges, and in menu names, and probably many other places ++$ReleaseYear = 2009; ++ + # Meta Categories do not ship files, but call only for other packages + our @MetaCategories = qw/Collection Scheme/; + our $MetaCategoriesRegexp = '(Collection|Scheme)'; +@@ -57,14 +63,14 @@ + + our $Archive = "archive"; + our $TeXLiveServerURL = "http://mirror.ctan.org"; +-our $TeXLiveServerPath = "systems/texlive/tlnet/2008"; ++our $TeXLiveServerPath = "systems/texlive/tlnet/$ReleaseYear"; + our $TeXLiveURL = "$TeXLiveServerURL/$TeXLiveServerPath"; + + our $WinSpecialUpdatePackagesRegexp = + '^(texlive\.infra|luatex|bin-tlperl\.win32$|bin-texlive|bin-kpathsea)'; + + +-our @CriticalPackagesList = qw/texlive.infra bin-texlive/; ++our @CriticalPackagesList = qw/texlive.infra/; + + our @AllowedConfigOptions = qw/ + available_architectures +@@ -82,6 +88,8 @@ autobackup /; -+our $WindowsMainMenuName = "TeX Live 2008"; ++our $WindowsMainMenuName = "TeX Live $ReleaseYear"; + 1; +@@ -163,7 +171,7 @@ + + =item C<@TeXLive::TLConfig::AllowedConfigOptions> + +-A list of a config options that can be set in 00texlive-installation.config. ++A list of a config options that can be set in 00texlive.installation. + + =back + Index: tlpkg/TeXLive/TLPostActions.pm =================================================================== ---- tlpkg/TeXLive/TLPostActions.pm (revision 12142) +--- tlpkg/TeXLive/TLPostActions.pm (revision 12171) +++ tlpkg/TeXLive/TLPostActions.pm (working copy) @@ -20,48 +20,13 @@ use TeXLive::TLUtils qw(win32 mkdirhier copy conv_to_w32_path log debug info @@ -295,6 +262,15 @@ Index: tlpkg/TeXLive/TLPostActions.pm # xetex # sub do_install_xetex { +@@ -125,7 +90,7 @@ + } + } + foreach (@lines) { +- $_ =~ s!c:/Program Files/texlive/2008!$texdir!; ++ $_ =~ s!c:/Program Files/texlive/$TeXLive::TLConfig::ReleaseYear!$texdir!; + $_ =~ s!c:/windows/fonts!$winfontdir! if win32(); + # hack around fc-cache problem in from_dvd case: + #if (win32() and (uc($texdir) ne uc($texdirw)) and @@ -149,136 +114,13 @@ } $PostInstall{"xetex"} = \&do_install_xetex; @@ -883,7 +859,7 @@ Index: tlpkg/TeXLive/TLPostActions.pm Index: tlpkg/TeXLive/TLPSRC.pm =================================================================== ---- tlpkg/TeXLive/TLPSRC.pm (revision 12142) +--- tlpkg/TeXLive/TLPSRC.pm (revision 12171) +++ tlpkg/TeXLive/TLPSRC.pm (working copy) @@ -30,6 +30,7 @@ srcpatterns => $params{'srcpatterns'}, @@ -960,6 +936,15 @@ Index: tlpkg/TeXLive/TLPSRC.pm Continuation lines are supported via a trailing backslash. That is, if the C<.tlpsrc> file contains two physical lines like this: +@@ -638,7 +655,7 @@ + is only "lzma", which generates .tar.lzma files. zip can be supported. + release/NNNN specifies the release number as used in the installer. + +-=item B<00texlive-installation.config> ++=item B<00texlive.installation> + + This package serves a double purpose: + @@ -737,12 +754,49 @@ C<lefthyphenmin>, C<righthyphenmin> (both integers), and C<synonyms> (a comma-separated list of alias names for that hyphenation). @@ -1014,7 +999,7 @@ Index: tlpkg/TeXLive/TLPSRC.pm adds a pattern (next section) to the respective list of patterns. Index: tlpkg/TeXLive/TLPOBJ.pm =================================================================== ---- tlpkg/TeXLive/TLPOBJ.pm (revision 12142) +--- tlpkg/TeXLive/TLPOBJ.pm (revision 12171) +++ tlpkg/TeXLive/TLPOBJ.pm (working copy) @@ -29,6 +29,7 @@ docfiles => defined($params{'docfiles'}) ? $params{'docfiles'} : [], @@ -1090,7 +1075,7 @@ Index: tlpkg/TeXLive/TLPOBJ.pm if (@_) { $_containerdir = $_[0] } Index: tlpkg/TeXLive/TLMedia.pm =================================================================== ---- tlpkg/TeXLive/TLMedia.pm (revision 12142) +--- tlpkg/TeXLive/TLMedia.pm (revision 12171) +++ tlpkg/TeXLive/TLMedia.pm (working copy) @@ -208,6 +208,9 @@ info("running post install action for $pkg\n"); @@ -1104,7 +1089,7 @@ Index: tlpkg/TeXLive/TLMedia.pm } Index: tlpkg/TeXLive/TLUtils.pm =================================================================== ---- tlpkg/TeXLive/TLUtils.pm (revision 12142) +--- tlpkg/TeXLive/TLUtils.pm (revision 12171) +++ tlpkg/TeXLive/TLUtils.pm (working copy) @@ -56,6 +56,7 @@ TeXLive::TLUtils::create_language_def($tlpdb,$dest,$localconf); @@ -1228,7 +1213,7 @@ Index: tlpkg/TeXLive/TLUtils.pm Unpacked C<$tarfile> in C<$targetdir> (changing directories to Index: tlpkg/TeXLive/TLWinGoo.pm =================================================================== ---- tlpkg/TeXLive/TLWinGoo.pm (revision 12142) +--- tlpkg/TeXLive/TLWinGoo.pm (revision 12171) +++ tlpkg/TeXLive/TLWinGoo.pm (working copy) @@ -58,7 +58,6 @@ $prog, $args, $batgui); @@ -1338,9 +1323,227 @@ Index: tlpkg/TeXLive/TLWinGoo.pm copy \"$tdw\\tlpkg\\installer\\uninst2.bat\" \"\%TEMP\%\" rem pause \"\%TEMP\%\\uninst2.bat\" +Index: tlpkg/installer/install-menu-perltk.pl +=================================================================== +--- tlpkg/installer/install-menu-perltk.pl (revision 12171) ++++ tlpkg/installer/install-menu-perltk.pl (working copy) +@@ -62,7 +62,6 @@ + my $texmfhometext; + my $texdirtext; + my $langcoltext; +-my $symlinktext; + my $optletterstate; + my $optfmtstate; + my $optsrcstate; +@@ -70,6 +69,7 @@ + my $letteryesno = ( $vars{'option_letter'} ? $text{'yes'} : $text{'no'} ); + my $fmtyesno = ( $vars{'option_fmt'} ? $text{'yes'} : $text{'no'} ); + my $srcyesno = ( $vars{'option_src'} ? $text{'yes'} : $text{'no'} ); ++my $sysintyesno = ( $vars{'option_sysint'} ? $text{'yes'} : $text{'no'} ); + my $docyesno = ( $vars{'option_doc'} ? $text{'yes'} : $text{'no'} ); + + $::run_menu = \&run_menu_perltk; +@@ -258,15 +258,13 @@ + $fr->Button(-text => $text{'toggle'}, -command => sub { toggle_and_set_opt_variable(\$vars{'option_src'}, \$srcyesno); })->grid(-row => $row, -column => 3, -sticky => "ew", -padx => "2m"); + } + ++ $row++; ++ $fr->Label(-text => $labels{'sysint'}, -anchor => 'w')->grid(-row => $row, -column => 1, -sticky => 'w'); ++ $fr->Label(-anchor => 'w', -textvariable => \$sysintyesno)->grid(-row => $row, -column => 2, -padx => "2m"); + if (unix()) { +- $row++; +- # Symlinks +- $fr->Label(-text => "------- $text{'sysint'} -------")->grid(-row => $row, -column => 1,-columnspan => 3); +- +- $row++; +- $fr->Label(-text => $labels{'symlink'}, -anchor => 'w')->grid(-row => $row, -column => 1, -sticky => 'w'); +- $symlinktext = $fr->Label(-anchor => 'w')->grid(-row => $row, -column => 2, -padx => "2m"); + $fr->Button(-text => $text{'change'}, -command => sub { menu_select_symlink(); })->grid(-row => $row, -column => 3, -sticky => "ew", -padx => "2m"); ++ } else { ++ $fr->Button(-text => $text{'toggle'}, -command => sub { toggle_and_set_opt_variable(\$vars{'option_sysint'}, \$sysintyesno); })->grid(-row => $row, -column => 3, -sticky => "ew", -padx => "2m"); + } + + # install/cancel buttons +@@ -596,7 +594,7 @@ + + sub menu_select_symlink { + our ($lbin,$lman,$linfo); +- our $osym = $vars{'option_symlinks'}; ++ our $osym = $vars{'option_sysint'}; + our ($binlab,$binb,$manlab,$manb,$infolab,$infob); + sub set_unset_buttons { + $lbin = ($osym ? $vars{'sys_bin'} : ''); +@@ -630,8 +628,8 @@ + $vars{'sys_info'} = $linfo; + $vars{'sys_man'} = $lman; + } +- $vars{'option_symlinks'} = $osym; +- menu_update_texts(); ++ $vars{'option_sysint'} = $osym; ++ toggle_and_set_opt_variable(\$vars{'option_sysint'}, \$sysintyesno); + } + my $sw = $mainwindow->Toplevel(-title => $labels{'symlink'}); + $sw->transient($mainwindow); +@@ -695,10 +693,6 @@ + $w->configure(-text => $t, @_); + } + +-sub menu_set_symlink_text { +- menu_set_text($symlinktext, (($vars{'option_symlinks'})?$text{'yes'}:$text{'no'})); +-} +- + sub menu_set_schemebutton_text { + menu_set_text($schemebutton, "$vars{'selected_scheme'}"); + } +@@ -762,7 +756,6 @@ + $optfmtstate = ($vars{'option_fmt'} ? $text{'yes'} : $text{'no'}); + $optsrcstate = ($vars{'option_src'} ? $text{'yes'} : $text{'no'}); + $optdocstate = ($vars{'option_doc'} ? $text{'yes'} : $text{'no'}); +- if (unix()) { menu_set_symlink_text; }; + } + + sub callback_select_scheme { +Index: tlpkg/installer/install-translations.pl +=================================================================== +--- tlpkg/installer/install-translations.pl (revision 12171) ++++ tlpkg/installer/install-translations.pl (working copy) +@@ -52,7 +52,7 @@ + } + + +-our %text = (title => 'TeX Live 2008 Installation', ++our %text = (title => 'TeX Live 2009 Installation', + basicinfo => 'Basic Information', + custom => 'Further Customization', + dirsetup => "Directory setup", +@@ -93,7 +93,7 @@ + welcome => 'Welcome to TeX Live!', + next => 'Next >', + prev => '< Back', +- wizhello => "Welcome to the installation of TeX Live 2008\n" ++ wizhello => "Welcome to the installation of TeX Live 2009\n" + . "http://tug.org/texlive\n\n" + . "This wizard will guide you through the installation.\n\n" + . "For an advanced, customizable installation, please consult\n" +@@ -101,7 +101,7 @@ + destfolder => 'Destination folder:', + advcustom => 'Advanced customization', + pathinfo => "The destination folder will contain the installation.\nIt is strongly recommended to keep the year as the last component.", +- readyinst => "We are ready to install TeX Live 2008.\nThe following settings will be used.\nIf you want to change something please go back,\notherwise press the \"Install\" button.", ++ 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', + ); +@@ -121,6 +121,7 @@ + optdoc => 'Install font/macro doc tree', + optsrc => 'Install font/macro source tree', + symlink => 'Create symlinks in system directories', ++ sysint => 'System integration', + ); + + if (($::lang ne "en") && ($::lang ne "C")) { +Index: tlpkg/installer/install-menu-text.pl +=================================================================== +--- tlpkg/installer/install-menu-text.pl (revision 12171) ++++ tlpkg/installer/install-menu-text.pl (working copy) +@@ -675,7 +675,7 @@ + + + sub options_menu { +- my $b_symlinks=button($vars{'option_symlinks'}); ++ my $b_sysint=button($vars{'option_sysint'}); + my $b_doc=button($vars{'option_doc'}); + my $b_src=button($vars{'option_src'}); + my $b_fmt=button($vars{'option_fmt'}); +@@ -685,9 +685,9 @@ + my $sys_man=$vars{'sys_man'}; + my $sys_info=$vars{'sys_info'}; + +- my $t_sys_bin=($vars{'option_symlinks'})? $vars{'sys_bin'}:''; +- my $t_sys_man=($vars{'option_symlinks'})? $vars{'sys_man'}:''; +- my $t_sys_info=($vars{'option_symlinks'})? $vars{'sys_info'}:''; ++ my $t_sys_bin=($vars{'option_sysint'})? $vars{'sys_bin'}:''; ++ my $t_sys_man=($vars{'option_sysint'})? $vars{'sys_man'}:''; ++ my $t_sys_info=($vars{'option_sysint'})? $vars{'sys_info'}:''; + + my %command=( + 'self' => \&options_menu, +@@ -709,14 +709,21 @@ + if ($vars{'src_splitting_supported'} and !$vars{'from_dvd'}) { + print " <S> install font/macro source tree: $b_src\n"; + } +- if (unix() && !$vars{'from_dvd'}) { +- print <<"EOF"; +- <L> create symlinks in standard directories: $b_symlinks ++ if (!$vars{'from_dvd'}) { ++ if (unix()) { ++ print <<"EOF"; ++ <L> create symlinks in standard directories: $b_sysint + binaries to: $t_sys_bin + manpages to: $t_sys_man + info to: $t_sys_info + EOF + ; ++ } else { ++ print <<"EOF"; ++ <L> do system integration: $b_sysint ++EOF ++; ++ } + } + other_options qw(R Q diskspace); + my $answer = prompt 'Enter command'; +@@ -726,8 +733,8 @@ + my $home = getenv('HOME'); + $home = getenv('USERPROFILE') if (win32()); + $home ||= '~'; +- toggle 'option_symlinks'; +- if ($vars{'option_symlinks'}) { ++ toggle 'option_sysint'; ++ if ($vars{'option_sysint'}) { + print "New value for binary directory [$sys_bin]: "; + chomp($answer=<STDIN>); + $vars{'sys_bin'} = "$answer" if (length $answer); +@@ -751,8 +758,15 @@ + } + return $command{'self'}; + } ++ } else { ++ if (("\u$answer" eq 'L') and !$vars{'from_dvd'}) { ++ my $home = getenv('HOME'); ++ $home = getenv('USERPROFILE') if (win32()); ++ $home ||= '~'; ++ toggle 'option_sysint'; ++ return $command{'self'}; ++ } + } +- + if ("\u$answer" eq 'P') { + toggle 'option_letter'; + return $command{'self'}; +@@ -802,7 +816,7 @@ + sub main_menu { + my $this_platform=platform_desc($vars{'this_platform'}); + +- my $b_symlinks=button($vars{'option_symlinks'}); ++ my $b_sysint=button($vars{'option_sysint'}); + my $b_doc=button($vars{'option_doc'}); + my $b_src=button($vars{'option_src'}); + my $b_fmt=button($vars{'option_fmt'}); +@@ -913,9 +927,7 @@ + if ($vars{'src_splitting_supported'}) { + print " $b_src install macro/font source tree\n"; + } +- if (unix()) { +- print " $b_symlinks create symlinks in standard directories\n"; +- } ++ print " $b_sysint system integration\n"; + } + + if ($vars{'from_dvd'}) { Index: tlpkg/tlpsrc/bin-tex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-tex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-tex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-tex.tlpsrc (working copy) @@ -1,7 +1,6 @@ name bin-tex @@ -1353,7 +1556,7 @@ Index: tlpkg/tlpsrc/bin-tex.tlpsrc binpattern f bin/${ARCH}/tex Index: tlpkg/tlpsrc/bin-mex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-mex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-mex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-mex.tlpsrc (working copy) @@ -2,10 +2,9 @@ category TLCore @@ -1371,16 +1574,29 @@ Index: tlpkg/tlpsrc/bin-mex.tlpsrc binpattern f bin/${ARCH}/utf8mex Index: tlpkg/tlpsrc/texlive-de.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive-de.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive-de.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive-de.tlpsrc (working copy) @@ -1,2 +1,4 @@ name texlive-de category Documentation +postaction shortcut type=menu name="TeX Live Manual (de) (PDF)" cmd=TEXDIR/texmf-doc/doc/german/texlive-de/texlive-de.pdf +postaction shortcut type=menu name="TeX Live Manual (de) (HTML)" cmd=TEXDIR/texmf-doc/doc/german/texlive-de/texlive-de.html +Index: tlpkg/tlpsrc/00texlive.installer.tlpsrc +=================================================================== +--- tlpkg/tlpsrc/00texlive.installer.tlpsrc (revision 12171) ++++ tlpkg/tlpsrc/00texlive.installer.tlpsrc (working copy) +@@ -7,7 +7,7 @@ + longdesc used *except* to build the installer archives, so it's ok. + longdesc + longdesc For information on the 00texlive prefix see +-longdesc 00texlive-installation.config(.tlpsrc) ++longdesc 00texlive.installation(.tlpsrc) + category TLCore + runpattern f install-tl + runpattern f tlpkg/installer/install-tl.html Index: tlpkg/tlpsrc/pdftex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/pdftex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/pdftex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/pdftex.tlpsrc (working copy) @@ -1,8 +1,9 @@ name pdftex @@ -1396,7 +1612,7 @@ Index: tlpkg/tlpsrc/pdftex.tlpsrc runpattern f texmf/tex/generic/pdftex/* Index: tlpkg/tlpsrc/bin-csplain.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-csplain.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-csplain.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-csplain.tlpsrc (working copy) @@ -1,7 +1,7 @@ name bin-csplain @@ -1410,7 +1626,7 @@ Index: tlpkg/tlpsrc/bin-csplain.tlpsrc binpattern f bin/${ARCH}/pdfcsplain Index: tlpkg/tlpsrc/bin-metapost.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-metapost.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-metapost.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-metapost.tlpsrc (working copy) @@ -1,8 +1,8 @@ name bin-metapost @@ -1423,9 +1639,24 @@ Index: tlpkg/tlpsrc/bin-metapost.tlpsrc docpattern f texmf/doc/man/man1/dmp.* docpattern f texmf/doc/man/man1/dvitomp.* docpattern f texmf/doc/man/man1/makempx.* +Index: tlpkg/tlpsrc/00texlive.config.tlpsrc +=================================================================== +--- tlpkg/tlpsrc/00texlive.config.tlpsrc (revision 12171) ++++ tlpkg/tlpsrc/00texlive.config.tlpsrc (working copy) +@@ -9,8 +9,8 @@ + longdesc is only "lzma", which generates .tar.lzma files. zip can be supported. + longdesc release/NNNN specifies the release number as used in the installer. + longdesc For information on the 00texlive prefix see +-longdesc 00texlive-installation.config(.tlpsrc) ++longdesc 00texlive.installation(.tlpsrc) + depend container_split_src_files + depend container_split_doc_files + depend container_format/lzma +-depend release/2008 ++depend release/2009 Index: tlpkg/tlpsrc/texlive-fr.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive-fr.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive-fr.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive-fr.tlpsrc (working copy) @@ -1,2 +1,4 @@ name texlive-fr @@ -1434,7 +1665,7 @@ Index: tlpkg/tlpsrc/texlive-fr.tlpsrc +postaction shortcut type=menu name="TeX Live Manual (fr) (HTML)" cmd=TEXDIR/texmf-doc/doc/french/texlive-fr/texlive-fr.html Index: tlpkg/tlpsrc/texlive-zh-cn.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive-zh-cn.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive-zh-cn.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive-zh-cn.tlpsrc (working copy) @@ -1,2 +1,3 @@ name texlive-zh-cn @@ -1442,7 +1673,7 @@ Index: tlpkg/tlpsrc/texlive-zh-cn.tlpsrc +postaction shortcut type=menu name="TeX Live Manual (zh-cn) (PDF)" cmd=TEXDIR/texmf-doc/doc/chinese/texlive-zh-cn/texlive-zh-cn.pdf Index: tlpkg/tlpsrc/bin-dviout.win32.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-dviout.win32.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-dviout.win32.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-dviout.win32.tlpsrc (working copy) @@ -2,3 +2,4 @@ category TLCore @@ -1451,7 +1682,7 @@ Index: tlpkg/tlpsrc/bin-dviout.win32.tlpsrc +postaction shortcut type=menu name="DVIOUT Dvi Viewer" cmd=wscript args=TEXDIR/bin/win32/dviout.vbs hide=1 Index: tlpkg/tlpsrc/bin-context.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-context.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-context.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-context.tlpsrc (working copy) @@ -1,9 +1,15 @@ name bin-context @@ -1473,7 +1704,7 @@ Index: tlpkg/tlpsrc/bin-context.tlpsrc docpattern f texmf/doc/man/man1/mptopdf.* Index: tlpkg/tlpsrc/bin-mltex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-mltex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-mltex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-mltex.tlpsrc (working copy) @@ -1,7 +1,7 @@ name bin-mltex @@ -1487,7 +1718,7 @@ Index: tlpkg/tlpsrc/bin-mltex.tlpsrc binpattern f bin/${ARCH}/mltex Index: tlpkg/tlpsrc/luatex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/luatex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/luatex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/luatex.tlpsrc (working copy) @@ -1,8 +1,8 @@ name luatex @@ -1502,7 +1733,7 @@ Index: tlpkg/tlpsrc/luatex.tlpsrc binpattern f/!hppa-hpux bin/${ARCH}/texlua Index: tlpkg/tlpsrc/bin-cslatex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-cslatex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-cslatex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-cslatex.tlpsrc (working copy) @@ -1,7 +1,7 @@ name bin-cslatex @@ -1516,7 +1747,7 @@ Index: tlpkg/tlpsrc/bin-cslatex.tlpsrc binpattern f bin/${ARCH}/pdfcslatex Index: tlpkg/tlpsrc/bin-texdoc.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-texdoc.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-texdoc.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-texdoc.tlpsrc (working copy) @@ -12,3 +12,4 @@ binpattern f bin/${ARCH}/texdoctk @@ -1525,7 +1756,7 @@ Index: tlpkg/tlpsrc/bin-texdoc.tlpsrc +postaction shortcut type=menu name="TeXdoc GUI" cmd="TEXDIR/bin/win32/texdoctk.bat" hide=1 Index: tlpkg/tlpsrc/bin-latex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-latex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-latex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-latex.tlpsrc (working copy) @@ -4,12 +4,14 @@ depend pdftex @@ -1546,7 +1777,7 @@ Index: tlpkg/tlpsrc/bin-latex.tlpsrc runpattern d texmf/tex/latex/config Index: tlpkg/tlpsrc/bin-omega.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-omega.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-omega.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-omega.tlpsrc (working copy) @@ -1,7 +1,7 @@ name bin-omega @@ -1560,7 +1791,7 @@ Index: tlpkg/tlpsrc/bin-omega.tlpsrc binpattern f bin/${ARCH}/lambda Index: tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc (working copy) @@ -5,3 +5,5 @@ runpattern f bin/win32/psv.bat @@ -1570,7 +1801,7 @@ Index: tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc +postaction shortcut type=desktop name="PS_View" icon=TEXDIR/tlpkg/tlpsv/psv.exe cmd=TEXDIR/bin/win32/psv.bat hide=1 Index: tlpkg/tlpsrc/bin-xmltex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-xmltex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-xmltex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-xmltex.tlpsrc (working copy) @@ -2,7 +2,7 @@ category TLCore @@ -1584,7 +1815,7 @@ Index: tlpkg/tlpsrc/bin-xmltex.tlpsrc binpattern f bin/${ARCH}/xmltex Index: tlpkg/tlpsrc/texlive-ru.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive-ru.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive-ru.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive-ru.tlpsrc (working copy) @@ -1,2 +1,4 @@ name texlive-ru @@ -1593,17 +1824,40 @@ Index: tlpkg/tlpsrc/texlive-ru.tlpsrc +postaction shortcut type=menu name="TeX Live Manual (ru) (HTML)" cmd=TEXDIR/texmf-doc/doc/russian/texlive-ru/texlive-ru.html Index: tlpkg/tlpsrc/bin-texlive.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-texlive.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-texlive.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-texlive.tlpsrc (working copy) -@@ -25,3 +25,5 @@ - binpattern f bin/win32/tl-w32-wrapper.texlua +@@ -1,27 +1,11 @@ + name bin-texlive + category TLCore + shortdesc executables and files maintained as part of TeX Live +-longdesc This packages contains the binaries of the TeX Live tools (notably +-longdesc tlmgr). Together with texlive.infra, it provides all the basic TeX +-longdesc Live infrastructure. ++longdesc This packages contains the binaries of the TeX Live tools. + depend texlive.infra +-runpattern f texmf/fmtutil/fmtutil-hdr.cnf + runpattern d texmf/scripts/texlive/lua +-runpattern d texmf/scripts/texlive/tlmgrgui +-runpattern !f texmf/scripts/texlive/tlmgrgui/tlmgrgui1.pl +-runpattern !f texmf/scripts/texlive/tlmgrgui/gui-config1.pl +-runpattern !f texmf/scripts/texlive/tlmgrgui/gui-arch1.pl +-runpattern !f texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl + runpattern f texmf/scripts/texlive/rungs.tlu + runpattern f texmf/scripts/texlive/test-tlpdb.tlu + runpattern f texmf/scripts/texlive/texconf.tlu +-runpattern f texmf/scripts/texlive/tlmgr.pl +-runpattern !f texmf/scripts/texlive/tlmgr1.pl +-runpattern f texmf/scripts/texlive/uninstall-win32.pl +-runpattern f texmf/web2c/updmap-hdr.cfg +-docpattern f texmf/doc/man/man1/tlmgr.* +-binpattern f bin/${ARCH}/tlmgr + binpattern f bin/${ARCH}/rungs +-binpattern f bin/win32/tl-w32-wrapper.texlua binpattern f bin/win32/symlinks4cygwin.sh - binpattern f/win32 texmf/scripts/texlive/w32_updater.bat -+postaction shortcut type=menu name="TeX Live Manager" cmd=TEXDIR/bin/win32/tlmgr.bat args=gui hide=1 -+postaction shortcut type=menu name="Release notes" cmd="http://tug.org/texlive/windows.html" +-binpattern f/win32 texmf/scripts/texlive/updater-w32.bat Index: tlpkg/tlpsrc/t2.tlpsrc =================================================================== ---- tlpkg/tlpsrc/t2.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/t2.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/t2.tlpsrc (working copy) @@ -1,5 +1,5 @@ name t2 @@ -1616,7 +1870,7 @@ Index: tlpkg/tlpsrc/t2.tlpsrc +execute AddFormat name=cyrtexinfo mode=disabled engine=pdftex patterns=language.dat options="-translate-file=cp227.tcx *cyrtxinf.ini" Index: tlpkg/tlpsrc/bin-texsis.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-texsis.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-texsis.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-texsis.tlpsrc (working copy) @@ -1,6 +1,5 @@ name bin-texsis @@ -1628,7 +1882,7 @@ Index: tlpkg/tlpsrc/bin-texsis.tlpsrc binpattern f bin/${ARCH}/texsis Index: tlpkg/tlpsrc/texlive-en.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive-en.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive-en.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive-en.tlpsrc (working copy) @@ -1,2 +1,4 @@ name texlive-en @@ -1637,7 +1891,7 @@ Index: tlpkg/tlpsrc/texlive-en.tlpsrc +postaction shortcut type=menu name="TeX Live Manual (en) (HTML)" cmd=TEXDIR/texmf-doc/doc/english/texlive-en/texlive-en.html Index: tlpkg/tlpsrc/bin-physe.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-physe.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-physe.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-physe.tlpsrc (working copy) @@ -1,6 +1,5 @@ name bin-physe @@ -1649,7 +1903,7 @@ Index: tlpkg/tlpsrc/bin-physe.tlpsrc binpattern f bin/${ARCH}/physe Index: tlpkg/tlpsrc/bin-phyzzx.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-phyzzx.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-phyzzx.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-phyzzx.tlpsrc (working copy) @@ -1,6 +1,5 @@ name bin-phyzzx @@ -1661,7 +1915,7 @@ Index: tlpkg/tlpsrc/bin-phyzzx.tlpsrc binpattern f bin/${ARCH}/phyzzx Index: tlpkg/tlpsrc/bin-eplain.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-eplain.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-eplain.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-eplain.tlpsrc (working copy) @@ -1,8 +1,7 @@ name bin-eplain @@ -1675,7 +1929,7 @@ Index: tlpkg/tlpsrc/bin-eplain.tlpsrc binpattern f bin/${ARCH}/eplain Index: tlpkg/tlpsrc/texlive-cz.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive-cz.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive-cz.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive-cz.tlpsrc (working copy) @@ -1,2 +1,4 @@ name texlive-cz @@ -1684,7 +1938,7 @@ Index: tlpkg/tlpsrc/texlive-cz.tlpsrc +postaction shortcut type=menu name="TeX Live Manual (cz) (HTML)" cmd=TEXDIR/texmf-doc/doc/czechslovak/texlive-cz/texlive-cz.html Index: tlpkg/tlpsrc/bin-jadetex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-jadetex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-jadetex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-jadetex.tlpsrc (working copy) @@ -2,7 +2,7 @@ category TLCore @@ -1696,9 +1950,44 @@ Index: tlpkg/tlpsrc/bin-jadetex.tlpsrc +execute AddFormat name=pdfjadetex engine=pdftex patterns=language.dat options="&pdflatex pdfjadetex.ini" binpattern f bin/${ARCH}/jadetex binpattern f bin/${ARCH}/pdfjadetex +Index: tlpkg/tlpsrc/00texlive-installation.config.tlpsrc +=================================================================== +--- tlpkg/tlpsrc/00texlive-installation.config.tlpsrc (revision 12171) ++++ tlpkg/tlpsrc/00texlive-installation.config.tlpsrc (working copy) +@@ -1,30 +0,0 @@ +-name 00texlive-installation.config +-category TLCore +-longdesc This package serves two purposes: +-longdesc +-longdesc 1. at installation time the present values are taken as default for +-longdesc the installer +-longdesc +-longdesc 2. on an installed system it serves as a configuration file. +-longdesc We have to remember these settings for additional package +-longdesc installation, removal, etc. +-longdesc +-longdesc The value of __MASTER__ for the location field tells the +-longdesc installer to use the present directory itself. For example, +-longdesc the DVD can be mounted anywhere and we want the installer to work. +-longdesc +-longdesc Concerning the 00* names: +-longdesc All packages starting with 00texlive are considered virtual packages +-longdesc in the sense that no containers are generated and these packages +-longdesc are never split into .src and .doc sub-packages in the tlpdb. +- +-depend platform: +-depend location:__MASTER__ +-depend opt_paper:a4 +-depend opt_create_formats:1 +-depend opt_create_symlinks:0 +-depend opt_sys_bin:/usr/local/bin +-depend opt_sys_info:/usr/local/info +-depend opt_sys_man:/usr/local/man +-depend opt_install_docfiles:1 +-depend opt_install_srcfiles:1 Index: tlpkg/tlpsrc/texlive-pl.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive-pl.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive-pl.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive-pl.tlpsrc (working copy) @@ -1,2 +1,4 @@ name texlive-pl @@ -1707,7 +1996,7 @@ Index: tlpkg/tlpsrc/texlive-pl.tlpsrc +postaction shortcut type=menu name="TeX Live Manual (pl) (HTML)" cmd=TEXDIR/texmf-doc/doc/polish/texlive-pl/texlive-pl.html Index: tlpkg/tlpsrc/bin-amstex.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-amstex.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-amstex.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-amstex.tlpsrc (working copy) @@ -1,7 +1,7 @@ name bin-amstex @@ -1721,7 +2010,7 @@ Index: tlpkg/tlpsrc/bin-amstex.tlpsrc binpattern f bin/${ARCH}/amstex Index: tlpkg/tlpsrc/bin-aleph.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-aleph.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-aleph.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-aleph.tlpsrc (working copy) @@ -1,7 +1,7 @@ name bin-aleph @@ -1733,9 +2022,46 @@ Index: tlpkg/tlpsrc/bin-aleph.tlpsrc +execute AddFormat name=lamed engine=aleph patterns=language.dat options=*lambda.ini binpattern f bin/${ARCH}/aleph binpattern f bin/${ARCH}/lamed +Index: tlpkg/tlpsrc/00texlive.installation.tlpsrc +=================================================================== +--- tlpkg/tlpsrc/00texlive.installation.tlpsrc (revision 12171) ++++ tlpkg/tlpsrc/00texlive.installation.tlpsrc (working copy) +@@ -1,4 +1,4 @@ +-name 00texlive-installation.config ++name 00texlive.installation + category TLCore + longdesc This package serves two purposes: + longdesc +@@ -22,7 +22,7 @@ + depend location:__MASTER__ + depend opt_paper:a4 + depend opt_create_formats:1 +-depend opt_create_symlinks:0 ++depend opt_system_integration:0 + depend opt_sys_bin:/usr/local/bin + depend opt_sys_info:/usr/local/info + depend opt_sys_man:/usr/local/man + +Property changes on: tlpkg/tlpsrc/00texlive.installation.tlpsrc +___________________________________________________________________ +Added: svn:mergeinfo + +Index: tlpkg/tlpsrc/00texlive.core.tlpsrc +=================================================================== +--- tlpkg/tlpsrc/00texlive.core.tlpsrc (revision 12171) ++++ tlpkg/tlpsrc/00texlive.core.tlpsrc (working copy) +@@ -6,7 +6,7 @@ + longdesc and containers are not built; they exist only in the + longdesc full DVD image. + longdesc For information on the 00texlive prefix see +-longdesc 00texlive-installation.config(.tlpsrc) ++longdesc 00texlive.installation(.tlpsrc) + runpattern d tlpkg/archive + runpattern d tlpkg/doc + runpattern d tlpkg/libexec Index: tlpkg/tlpsrc/bin-metafont.tlpsrc =================================================================== ---- tlpkg/tlpsrc/bin-metafont.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/bin-metafont.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/bin-metafont.tlpsrc (working copy) @@ -1,8 +1,7 @@ name bin-metafont @@ -1749,11 +2075,2125 @@ Index: tlpkg/tlpsrc/bin-metafont.tlpsrc binpattern f bin/${ARCH}/mf Index: tlpkg/tlpsrc/texlive.infra.tlpsrc =================================================================== ---- tlpkg/tlpsrc/texlive.infra.tlpsrc (revision 12142) +--- tlpkg/tlpsrc/texlive.infra.tlpsrc (revision 12171) +++ tlpkg/tlpsrc/texlive.infra.tlpsrc (working copy) -@@ -36,3 +36,5 @@ +@@ -36,3 +36,17 @@ binpattern f/!i386-solaris,i386-linux,mips-irix,sparc-linux,alpha-linux,\ powerpc-linux,i386-freebsd,x86_64-linux \ tlpkg/installer/wget/wget.${ARCH} ++# former tlmgr stuff ++runpattern f texmf/fmtutil/fmtutil-hdr.cnf ++runpattern d texmf/scripts/texlive/tlmgrgui ++runpattern f texmf/scripts/texlive/tlmgr.pl ++runpattern f texmf/scripts/texlive/uninstall-win32.pl ++runpattern f texmf/web2c/updmap-hdr.cfg ++docpattern f texmf/doc/man/man1/tlmgr.* ++binpattern f bin/${ARCH}/tlmgr ++binpattern f bin/win32/tl-w32-wrapper.texlua ++binpattern f/win32 texmf/scripts/texlive/updater-w32.bat +# post actions +postaction shortcut type=menu name="TeX Live Toplevel Readme Index" cmd=TEXDIR/index.html ++postaction shortcut type=menu name="TeX Live Manager" cmd=TEXDIR/bin/win32/tlmgr.bat args=gui hide=1 ++postaction shortcut type=menu name="Release notes" cmd="http://tug.org/texlive/windows.html" +Index: tlpkg/bin/tl-update-tlcritical +=================================================================== +--- tlpkg/bin/tl-update-tlcritical (revision 12171) ++++ tlpkg/bin/tl-update-tlcritical (working copy) +@@ -34,7 +34,7 @@ + # update normal containers. + echo "$0: running tl-update-containers (for critical packages)..." + tl-update-containers -location $tlcrit -all \ +- 00texlive-installation.config 00texlive.config bin-texlive texlive.infra ++ 00texlive.installation 00texlive.config texlive.infra + + # update Unix disaster recovery. + echo "$0: running tl-makeself-from-tlnet..." +Index: tlpkg/bin/tl-update-containers +=================================================================== +--- tlpkg/bin/tl-update-containers (revision 12171) ++++ tlpkg/bin/tl-update-containers (working copy) +@@ -24,7 +24,7 @@ + use File::Path; + + # packages matching these re's will not be updated without --all. +-my @critical_pkg_list = qw/bin-texlive texlive\.infra/; ++my @critical_pkg_list = qw/texlive\.infra/; + + our ($mydir, $vc_id); + my $opt_all = 0; +@@ -176,12 +176,12 @@ + } + } + +- # The two packages 00texlive.config and 00texlive-installation.config ++ # The two packages 00texlive.config and 00texlive.installation + # are essential and have to be included in each and every case. + # So add them ... + my $tlpconfig = $tlpdb->get_package("00texlive.config"); + $nettlpdb->add_tlpobj($tlpconfig); +- my $tlpinstconfig = $tlpdb->get_package("00texlive-installation.config"); ++ my $tlpinstconfig = $tlpdb->get_package("00texlive.installation"); + $nettlpdb->add_tlpobj($tlpinstconfig); + + # set up the programs. +@@ -392,7 +392,7 @@ + =item B<-all|-a> + + Include packages deemed critical in the update, currently +-C<texlive.infra> and C<bin-texlive>. (That is, C<tlmgr> itself needs ++C<texlive.infra>. (That is, C<tlmgr> itself needs + testing before updating, so we don't do it by default.) + + =item B<-no-setup> +Index: tlpkg/bin/tl-makeself-from-tlnet +=================================================================== +--- tlpkg/bin/tl-makeself-from-tlnet (revision 12171) ++++ tlpkg/bin/tl-makeself-from-tlnet (working copy) +@@ -4,7 +4,7 @@ + # This file is licensed under the GNU General Public License version 2 + # or any later version. + # +-# Creates a .run file for updating the texlive.infra and bin-texlive ++# Creates a .run file for updating the texlive.infra + # packages on Unix, similar to the .exe we create for Windows. Both are + # created in the nightly cron from tl-update-tlcritical. + +@@ -28,9 +28,8 @@ + mkdir master + cd master + +-# unpack texlive.infra and bin-texlive archives for all platforms, +-# except w32. +-for pkg in texlive.infra bin-texlive; do ++# unpack texlive.infra archives for all platforms, except w32. ++for pkg in texlive.infra; do + for i in $ARCHIVE/$pkg*.tar.lzma ; do + case "$i" in + *win32*) ;; +@@ -69,13 +68,12 @@ + mkdir -p $t_instdir/wget + + # start the list of tlpobjs we will install +- tlpobjs="$t_objdir/bin-texlive.tlpobj $t_objdir/texlive.infra.tlpobj" ++ tlpobjs="$t_objdir/texlive.infra.tlpobj" + for a in $ROOT/bin/*; do + test -d "$a" || continue # skip any cruft files + b=`basename $a` # just the architecture name + + # add the tlpobjs for this platform t the list. +- tlpobjs="$tlpobjs $t_objdir/bin-texlive.$b.tlpobj" + tlpobjs="$tlpobjs $t_objdir/texlive.infra.$b.tlpobj" + + # install the bin dir for this platform. +Index: tlpkg/bin/tl-update-nsis +=================================================================== +--- tlpkg/bin/tl-update-nsis (revision 12171) ++++ tlpkg/bin/tl-update-nsis (working copy) +@@ -1,6 +1,6 @@ + #!/usr/bin/env perl + # $Id$ +-# Copyright 2008 Norbert Preining ++# Copyright 2008, 2009 Norbert Preining + # This file is licensed under the GNU General Public License version 2 + # or any later version. + # +@@ -40,13 +40,9 @@ + chomp (my $Master = `cd $mydir/../.. && pwd`); + my $tlpdb = TeXLive::TLPDB->new ("root" => $Master); + die("Cannot find tlpdb in $Master\n") unless defined($tlpdb); +- my $bintexlive = $tlpdb->get_package("bin-texlive"); +- my $bintexlivew32 = $tlpdb->get_package("bin-texlive.win32"); + my $texliveinfra = $tlpdb->get_package("texlive.infra"); + my $texliveinfraw32 = $tlpdb->get_package("texlive.infra.win32"); + my @allfiles = (); +- push @allfiles, $bintexlive->all_files; +- push @allfiles, $bintexlivew32->all_files if defined $bintexlivew32; + push @allfiles, $texliveinfra->all_files; + push @allfiles, $texliveinfraw32->all_files if defined $texliveinfraw32; + +@@ -58,7 +54,7 @@ + $removetlpobjdir = 1; + } + my $rev = 0; # we want the highest rev all these packages. +- for my $p ($bintexlive, $bintexlivew32, $texliveinfra, $texliveinfraw32) { ++ for my $p ($texliveinfra, $texliveinfraw32) { + if (defined $p) { + if ($p->revision > $rev) { + $rev = $p->revision; +@@ -95,7 +91,7 @@ + + Name "TeX Live Manager Update ${REV}" + OutFile "update-tlmgr-${REV}.exe" +-InstallDir "$PROGRAMFILES\texlive\2008" ++InstallDir "$PROGRAMFILES\texlive\$TeXLive::TLConfig::ReleaseYear" + + RequestExecutionLevel "user" + +@@ -135,7 +131,7 @@ + } + } + print " ExecWait \'\"\$INSTDIR\\bin\\win32\\tlmgr.bat\" _include_tlpobj"; +- for my $p ($bintexlive, $bintexlivew32, $texliveinfra, $texliveinfraw32) { ++ for my $p ($texliveinfra, $texliveinfraw32) { + if (defined $p) { + print " \"\$INSTDIR\\tlpkg\\tlpobj\\", $p->name, ".tlpobj\""; + } +Index: tlpkg/etc/2009.combined.patch +=================================================================== +--- tlpkg/etc/2009.combined.patch (revision 12171) ++++ tlpkg/etc/2009.combined.patch (working copy) +@@ -1,143 +1,68 @@ +-Index: texmf/scripts/texlive/tlmgr.pl ++Index: tlpkg/TeXLive/TLPDB.pm + =================================================================== +---- texmf/scripts/texlive/tlmgr.pl (revision 12142) +-+++ texmf/scripts/texlive/tlmgr.pl (working copy) +-@@ -557,6 +557,9 @@ +- info("running post remove action for $pkg\n"); +- &{$PostRemove{$pkg}}($localtlpdb->root); +- } +-+ # +-+ # Run the post installation code in the postaction tlpsrc entries +-+ &TeXLive::TLUtils::do_postaction_code("remove", $tlp); +- } +- return \%ret; +- } +-Index: texmf/scripts/texlive/uninstall-win32.pl +-=================================================================== +---- texmf/scripts/texlive/uninstall-win32.pl (revision 12142) +-+++ texmf/scripts/texlive/uninstall-win32.pl (working copy) +-@@ -17,6 +17,11 @@ +- } ++--- tlpkg/TeXLive/TLPDB.pm (revision 12171) +++++ tlpkg/TeXLive/TLPDB.pm (working copy) ++@@ -788,7 +788,7 @@ ++ read-only function; you cannot change the root of the TLPDB using this ++ function. + +- use TeXLive::TLWinGoo; +-+use TeXLive::TLPDB; +-+use TeXLive::TLPOBJ; +-+use TeXLive::TLPostActions; +-+use TeXLive::TLConfig; +-+use TeXLive::TLUtils; +- use Tk; +- use Tk::Dialog; ++-See C<00texlive-installation.config.tlpsrc> for a description of the +++See C<00texlive.installation.tlpsrc> for a description of the ++ special value C<__MASTER>. + +-@@ -39,6 +44,23 @@ +- $cancel->pack(-side => 'left' , -padx => "3m"); ++ =cut ++@@ -1111,11 +1111,11 @@ + +- sub doit { +-+ # first we remove the whole bunch of shortcuts and menu entries +-+ # by calling all the post action codes for the installed packages +-+ my $localtlpdb = TeXLive::TLPDB->new ("root" => $Master); +-+ if (!defined($localtlpdb)) { +-+ tlwarn("Cannot load the TLPDB from $Master, are you sure there is an installation?\n"); +-+ } else { +-+ for my $pkg ($localtlpdb->list_packages) { +-+ if (defined($PostRemove{$pkg})) { +-+ info("running post remove action for $pkg\n"); +-+ &{$PostRemove{$pkg}}($Master); +-+ } +-+ } +-+ &TeXLive::TLUtils::do_postaction_code("remove", $pkg); +-+ } +-+ my $menupath = &TeXLive::TLWinGoo::menu_path(); +-+ $menupath =~ s!/!\\!g; +-+ `rmdir /s /q "$menupath\\$TeXLive::TLConfig::WindowsMainMenuName" 2>nul`; +- remove_texbindirs_from_path(); +- unsetenv_reg("TEXBINDIR"); +- # from_dvd case: +-Index: install-tl +-=================================================================== +---- install-tl (revision 12142) +-+++ install-tl (working copy) +-@@ -82,7 +82,6 @@ +- &add_menu_shortcut +- &remove_desktop_shortcut +- &remove_menu_shortcut +-- &init_unshortbat +- &create_uninstaller +- )); ++ sub _set_option_value { ++ my ($self,$key,$value) = @_; ++- my $pkg = $self->{'tlps'}{'00texlive-installation.config'}; +++ my $pkg = $self->{'tlps'}{'00texlive.installation'}; ++ my @newdeps; ++ if (!defined($pkg)) { ++ $pkg = new TeXLive::TLPOBJ; ++- $pkg->name("00texlive-installation.config"); +++ $pkg->name("00texlive.installation"); ++ $pkg->category("TLCore"); ++ push @newdeps, "$key:$value"; ++ } else { ++@@ -1133,20 +1133,20 @@ ++ } ++ } ++ $pkg->depends(@newdeps); ++- $self->{'tlps'}{'00texlive-installation.config'} = $pkg; +++ $self->{'tlps'}{'00texlive.installation'} = $pkg; + } +-@@ -1052,6 +1051,11 @@ +- # post install actions +- # + +-+ # in case we are running from DVD we use the tlpdb from the DVD, otherwise +-+ # the one we have locally created, for all the further actions +-+ my $usedtlpdb = $vars{'from_dvd'} ? $tlpdb : $localtlpdb; +-+ +-+ +- if (win32()) { +- debug "Actual environment:\n".`set`."\n\n"; +- debug 'Effective TEXMFCNF: '.`kpsewhich -expand-path=\$TEXMFCNF`."\n"; +-@@ -1060,15 +1064,24 @@ +- # (re-)initialize batchfile for uninstalling shortcuts +- if (win32() and !$opt_portable) { +- mkdirhier("$TEXDIRW/tlpkg/installer") if $vars{'from_dvd'}; +-- init_unshortbat($TEXDIRW); +- } +- +-+ # Run the post installation code in TLPostAction.pm +- foreach my $package (sort keys %install) { +- if ($install{$package} && defined($PostInstall{$package})) { +- info("running post install action for $package\n"); +- &{$PostInstall{$package}}($TEXDIR, $TEXDIRW, $TEXMFSYSVAR, $TEXMFLOCAL); ++ sub _option_value { ++ my ($self,$key) = @_; ++- if (defined($self->{'tlps'}{'00texlive-installation.config'})) { ++- foreach my $d ($self->{'tlps'}{'00texlive-installation.config'}->depends) { +++ if (defined($self->{'tlps'}{'00texlive.installation'})) { +++ foreach my $d ($self->{'tlps'}{'00texlive.installation'}->depends) { ++ if ($d =~ m!^$key:(.*)$!) { ++ return "$1"; ++ } + } ++ return; + } +-+ # Run the post installation code in the postaction tlpsrc entries +-+ foreach my $package (sort keys %install) { +-+ if ($install{$package}) { +-+ &TeXLive::TLUtils::do_postaction_code("install", +-+ $usedtlpdb->get_package($package)); +-+ } +-+ } +-+ info ("finished with package specific postactions\n"); +-+ +- # $opt_portable: no %install but we still want xetex postinstall +- &{$PostInstall{'xetex'}}($TEXDIR, $TEXDIRW, $TEXMFSYSVAR, $TEXMFLOCAL) +- if $opt_portable; +-@@ -1085,25 +1098,25 @@ +- # texconfig generate * but Win32 does not have texconfig. But we have +- # $localtlpdb and this is simple code, so do it directly, i.e., duplicate +- # the code from the various generate-*.pl scripts +-+ +- info("writing fmtutil.cnf data to $TEXMFSYSVAR/web2c/fmtutil.cnf\n"); +-- my $tlp = $vars{'from_dvd'} ? $tlpdb : $localtlpdb; +-- TeXLive::TLUtils::create_fmtutil($tlp, #$localtlpdb, +-+ TeXLive::TLUtils::create_fmtutil($usedtlpdb, +- "$TEXMFSYSVAR/web2c/fmtutil.cnf", +- "$TEXMFLOCAL/web2c/fmtutil-local.cnf"); ++- tlwarn("00texlive-installation.config not found, cannot read option $key.\n"); +++ tlwarn("00texlive.installation not found, cannot read option $key.\n"); ++ return; ++ } + +- mkdirhier "$vars{'TEXMFSYSCONFIG'}/web2c"; +- info("writing updmap.cfg to $TEXMFSYSCONFIG/web2c/updmap.cfg\n"); +-- TeXLive::TLUtils::create_updmap ($tlp, #$localtlpdb, +-+ TeXLive::TLUtils::create_updmap ($usedtlpdb, +- "$TEXMFSYSCONFIG/web2c/updmap.cfg", +- "$TEXMFLOCAL/web2c/updmap-local.cfg"); +- +- info("writing language.dat data to $TEXMFSYSVAR/tex/generic/config/language.dat\n"); +-- TeXLive::TLUtils::create_language_dat($tlp, #$localtlpdb, +-+ TeXLive::TLUtils::create_language_dat($usedtlpdb, +- "$TEXMFSYSVAR/tex/generic/config/language.dat", +- "$TEXMFLOCAL/tex/generic/config/language-local.dat"); +- +- info("writing language.def data to $TEXMFSYSVAR/tex/generic/config/language.def\n"); +-- TeXLive::TLUtils::create_language_def($tlp, #$localtlpdb, +-+ TeXLive::TLUtils::create_language_def($usedtlpdb, +- "$TEXMFSYSVAR/tex/generic/config/language.def", +- "$TEXMFLOCAL/tex/generic/config/language-local.def"); +- +-Index: tlpkg/TeXLive/TLPDB.pm +-=================================================================== +---- tlpkg/TeXLive/TLPDB.pm (revision 12142) +-+++ tlpkg/TeXLive/TLPDB.pm (working copy) +-@@ -1239,26 +1239,64 @@ ++@@ -1179,6 +1179,11 @@ ++ if (@_) { $self->_set_option_value("opt_create_symlinks", shift); } ++ return $self->_option_value("opt_create_symlinks"); ++ } +++sub option_system_integration { +++ my $self = shift; +++ if (@_) { $self->_set_option_value("opt_system_integration", shift); } +++ return $self->_option_value("opt_system_integration"); +++} ++ sub option_install_docfiles { ++ my $self = shift; ++ if (@_) { $self->_set_option_value("opt_install_docfiles", shift); } ++@@ -1239,26 +1244,64 @@ + =cut + sub fmtutil_cnf_lines { + my $self = shift; +@@ -221,9 +146,17 @@ + =item C<< $tlpdb->updmap_cfg_lines >> + Index: tlpkg/TeXLive/TLConfig.pm + =================================================================== +---- tlpkg/TeXLive/TLConfig.pm (revision 12142) ++--- tlpkg/TeXLive/TLConfig.pm (revision 12171) + +++ tlpkg/TeXLive/TLConfig.pm (working copy) +-@@ -28,6 +28,7 @@ ++@@ -11,6 +11,7 @@ ++ use vars qw( @ISA @EXPORT_OK @EXPORT ); ++ @ISA = qw(Exporter); ++ @EXPORT_OK = qw( +++ $ReleaseYear ++ @MetaCategories ++ @NormalCategories ++ @Categories ++@@ -28,10 +29,15 @@ + $WinSpecialUpdatePackagesRegexp + @CriticalPackagesList + @AllowedConfigOptions +@@ -231,18 +164,52 @@ + ); + @EXPORT = @EXPORT_OK; + } +-@@ -82,6 +83,8 @@ ++ +++# the year of our release, will be used in the location of the +++# network packges, and in menu names, and probably many other places +++$ReleaseYear = 2009; +++ ++ # Meta Categories do not ship files, but call only for other packages ++ our @MetaCategories = qw/Collection Scheme/; ++ our $MetaCategoriesRegexp = '(Collection|Scheme)'; ++@@ -57,14 +63,14 @@ ++ ++ our $Archive = "archive"; ++ our $TeXLiveServerURL = "http://mirror.ctan.org"; ++-our $TeXLiveServerPath = "systems/texlive/tlnet/2008"; +++our $TeXLiveServerPath = "systems/texlive/tlnet/$ReleaseYear"; ++ our $TeXLiveURL = "$TeXLiveServerURL/$TeXLiveServerPath"; ++ ++ our $WinSpecialUpdatePackagesRegexp = ++ '^(texlive\.infra|luatex|bin-tlperl\.win32$|bin-texlive|bin-kpathsea)'; ++ ++ ++-our @CriticalPackagesList = qw/texlive.infra bin-texlive/; +++our @CriticalPackagesList = qw/texlive.infra/; ++ ++ our @AllowedConfigOptions = qw/ ++ available_architectures ++@@ -82,6 +88,8 @@ + autobackup + /; + +-+our $WindowsMainMenuName = "TeX Live 2008"; +++our $WindowsMainMenuName = "TeX Live $ReleaseYear"; + + + 1; + + ++@@ -163,7 +171,7 @@ ++ ++ =item C<@TeXLive::TLConfig::AllowedConfigOptions> ++ ++-A list of a config options that can be set in 00texlive-installation.config. +++A list of a config options that can be set in 00texlive.installation. ++ ++ =back ++ + Index: tlpkg/TeXLive/TLPostActions.pm + =================================================================== +---- tlpkg/TeXLive/TLPostActions.pm (revision 12142) ++--- tlpkg/TeXLive/TLPostActions.pm (revision 12171) + +++ tlpkg/TeXLive/TLPostActions.pm (working copy) + @@ -20,48 +20,13 @@ + use TeXLive::TLUtils qw(win32 mkdirhier copy conv_to_w32_path log debug info +@@ -295,6 +262,15 @@ + # xetex + # + sub do_install_xetex { ++@@ -125,7 +90,7 @@ ++ } ++ } ++ foreach (@lines) { ++- $_ =~ s!c:/Program Files/texlive/2008!$texdir!; +++ $_ =~ s!c:/Program Files/texlive/$TeXLive::TLConfig::ReleaseYear!$texdir!; ++ $_ =~ s!c:/windows/fonts!$winfontdir! if win32(); ++ # hack around fc-cache problem in from_dvd case: ++ #if (win32() and (uc($texdir) ne uc($texdirw)) and + @@ -149,136 +114,13 @@ + } + $PostInstall{"xetex"} = \&do_install_xetex; +@@ -883,7 +859,7 @@ + + Index: tlpkg/TeXLive/TLPSRC.pm + =================================================================== +---- tlpkg/TeXLive/TLPSRC.pm (revision 12142) ++--- tlpkg/TeXLive/TLPSRC.pm (revision 12171) + +++ tlpkg/TeXLive/TLPSRC.pm (working copy) + @@ -30,6 +30,7 @@ + srcpatterns => $params{'srcpatterns'}, +@@ -960,6 +936,15 @@ + + Continuation lines are supported via a trailing backslash. That is, if + the C<.tlpsrc> file contains two physical lines like this: ++@@ -638,7 +655,7 @@ ++ is only "lzma", which generates .tar.lzma files. zip can be supported. ++ release/NNNN specifies the release number as used in the installer. ++ ++-=item B<00texlive-installation.config> +++=item B<00texlive.installation> ++ ++ This package serves a double purpose: ++ + @@ -737,12 +754,49 @@ + C<lefthyphenmin>, C<righthyphenmin> (both integers), and C<synonyms> (a + comma-separated list of alias names for that hyphenation). +@@ -1014,7 +999,7 @@ + adds a pattern (next section) to the respective list of patterns. + Index: tlpkg/TeXLive/TLPOBJ.pm + =================================================================== +---- tlpkg/TeXLive/TLPOBJ.pm (revision 12142) ++--- tlpkg/TeXLive/TLPOBJ.pm (revision 12171) + +++ tlpkg/TeXLive/TLPOBJ.pm (working copy) + @@ -29,6 +29,7 @@ + docfiles => defined($params{'docfiles'}) ? $params{'docfiles'} : [], +@@ -1090,7 +1075,7 @@ + if (@_) { $_containerdir = $_[0] } + Index: tlpkg/TeXLive/TLMedia.pm + =================================================================== +---- tlpkg/TeXLive/TLMedia.pm (revision 12142) ++--- tlpkg/TeXLive/TLMedia.pm (revision 12171) + +++ tlpkg/TeXLive/TLMedia.pm (working copy) + @@ -208,6 +208,9 @@ + info("running post install action for $pkg\n"); +@@ -1104,7 +1089,7 @@ + } + Index: tlpkg/TeXLive/TLUtils.pm + =================================================================== +---- tlpkg/TeXLive/TLUtils.pm (revision 12142) ++--- tlpkg/TeXLive/TLUtils.pm (revision 12171) + +++ tlpkg/TeXLive/TLUtils.pm (working copy) + @@ -56,6 +56,7 @@ + TeXLive::TLUtils::create_language_def($tlpdb,$dest,$localconf); +@@ -1228,7 +1213,7 @@ + Unpacked C<$tarfile> in C<$targetdir> (changing directories to + Index: tlpkg/TeXLive/TLWinGoo.pm + =================================================================== +---- tlpkg/TeXLive/TLWinGoo.pm (revision 12142) ++--- tlpkg/TeXLive/TLWinGoo.pm (revision 12171) + +++ tlpkg/TeXLive/TLWinGoo.pm (working copy) + @@ -58,7 +58,6 @@ + $prog, $args, $batgui); +@@ -1338,9 +1323,227 @@ + copy \"$tdw\\tlpkg\\installer\\uninst2.bat\" \"\%TEMP\%\" + rem pause + \"\%TEMP\%\\uninst2.bat\" ++Index: tlpkg/installer/install-menu-perltk.pl ++=================================================================== ++--- tlpkg/installer/install-menu-perltk.pl (revision 12171) +++++ tlpkg/installer/install-menu-perltk.pl (working copy) ++@@ -62,7 +62,6 @@ ++ my $texmfhometext; ++ my $texdirtext; ++ my $langcoltext; ++-my $symlinktext; ++ my $optletterstate; ++ my $optfmtstate; ++ my $optsrcstate; ++@@ -70,6 +69,7 @@ ++ my $letteryesno = ( $vars{'option_letter'} ? $text{'yes'} : $text{'no'} ); ++ my $fmtyesno = ( $vars{'option_fmt'} ? $text{'yes'} : $text{'no'} ); ++ my $srcyesno = ( $vars{'option_src'} ? $text{'yes'} : $text{'no'} ); +++my $sysintyesno = ( $vars{'option_sysint'} ? $text{'yes'} : $text{'no'} ); ++ my $docyesno = ( $vars{'option_doc'} ? $text{'yes'} : $text{'no'} ); ++ ++ $::run_menu = \&run_menu_perltk; ++@@ -258,15 +258,13 @@ ++ $fr->Button(-text => $text{'toggle'}, -command => sub { toggle_and_set_opt_variable(\$vars{'option_src'}, \$srcyesno); })->grid(-row => $row, -column => 3, -sticky => "ew", -padx => "2m"); ++ } ++ +++ $row++; +++ $fr->Label(-text => $labels{'sysint'}, -anchor => 'w')->grid(-row => $row, -column => 1, -sticky => 'w'); +++ $fr->Label(-anchor => 'w', -textvariable => \$sysintyesno)->grid(-row => $row, -column => 2, -padx => "2m"); ++ if (unix()) { ++- $row++; ++- # Symlinks ++- $fr->Label(-text => "------- $text{'sysint'} -------")->grid(-row => $row, -column => 1,-columnspan => 3); ++- ++- $row++; ++- $fr->Label(-text => $labels{'symlink'}, -anchor => 'w')->grid(-row => $row, -column => 1, -sticky => 'w'); ++- $symlinktext = $fr->Label(-anchor => 'w')->grid(-row => $row, -column => 2, -padx => "2m"); ++ $fr->Button(-text => $text{'change'}, -command => sub { menu_select_symlink(); })->grid(-row => $row, -column => 3, -sticky => "ew", -padx => "2m"); +++ } else { +++ $fr->Button(-text => $text{'toggle'}, -command => sub { toggle_and_set_opt_variable(\$vars{'option_sysint'}, \$sysintyesno); })->grid(-row => $row, -column => 3, -sticky => "ew", -padx => "2m"); ++ } ++ ++ # install/cancel buttons ++@@ -596,7 +594,7 @@ ++ ++ sub menu_select_symlink { ++ our ($lbin,$lman,$linfo); ++- our $osym = $vars{'option_symlinks'}; +++ our $osym = $vars{'option_sysint'}; ++ our ($binlab,$binb,$manlab,$manb,$infolab,$infob); ++ sub set_unset_buttons { ++ $lbin = ($osym ? $vars{'sys_bin'} : ''); ++@@ -630,8 +628,8 @@ ++ $vars{'sys_info'} = $linfo; ++ $vars{'sys_man'} = $lman; ++ } ++- $vars{'option_symlinks'} = $osym; ++- menu_update_texts(); +++ $vars{'option_sysint'} = $osym; +++ toggle_and_set_opt_variable(\$vars{'option_sysint'}, \$sysintyesno); ++ } ++ my $sw = $mainwindow->Toplevel(-title => $labels{'symlink'}); ++ $sw->transient($mainwindow); ++@@ -695,10 +693,6 @@ ++ $w->configure(-text => $t, @_); ++ } ++ ++-sub menu_set_symlink_text { ++- menu_set_text($symlinktext, (($vars{'option_symlinks'})?$text{'yes'}:$text{'no'})); ++-} ++- ++ sub menu_set_schemebutton_text { ++ menu_set_text($schemebutton, "$vars{'selected_scheme'}"); ++ } ++@@ -762,7 +756,6 @@ ++ $optfmtstate = ($vars{'option_fmt'} ? $text{'yes'} : $text{'no'}); ++ $optsrcstate = ($vars{'option_src'} ? $text{'yes'} : $text{'no'}); ++ $optdocstate = ($vars{'option_doc'} ? $text{'yes'} : $text{'no'}); ++- if (unix()) { menu_set_symlink_text; }; ++ } ++ ++ sub callback_select_scheme { ++Index: tlpkg/installer/install-translations.pl ++=================================================================== ++--- tlpkg/installer/install-translations.pl (revision 12171) +++++ tlpkg/installer/install-translations.pl (working copy) ++@@ -52,7 +52,7 @@ ++ } ++ ++ ++-our %text = (title => 'TeX Live 2008 Installation', +++our %text = (title => 'TeX Live 2009 Installation', ++ basicinfo => 'Basic Information', ++ custom => 'Further Customization', ++ dirsetup => "Directory setup", ++@@ -93,7 +93,7 @@ ++ welcome => 'Welcome to TeX Live!', ++ next => 'Next >', ++ prev => '< Back', ++- wizhello => "Welcome to the installation of TeX Live 2008\n" +++ wizhello => "Welcome to the installation of TeX Live 2009\n" ++ . "http://tug.org/texlive\n\n" ++ . "This wizard will guide you through the installation.\n\n" ++ . "For an advanced, customizable installation, please consult\n" ++@@ -101,7 +101,7 @@ ++ destfolder => 'Destination folder:', ++ advcustom => 'Advanced customization', ++ pathinfo => "The destination folder will contain the installation.\nIt is strongly recommended to keep the year as the last component.", ++- readyinst => "We are ready to install TeX Live 2008.\nThe following settings will be used.\nIf you want to change something please go back,\notherwise press the \"Install\" button.", +++ 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', ++ ); ++@@ -121,6 +121,7 @@ ++ optdoc => 'Install font/macro doc tree', ++ optsrc => 'Install font/macro source tree', ++ symlink => 'Create symlinks in system directories', +++ sysint => 'System integration', ++ ); ++ ++ if (($::lang ne "en") && ($::lang ne "C")) { ++Index: tlpkg/installer/install-menu-text.pl ++=================================================================== ++--- tlpkg/installer/install-menu-text.pl (revision 12171) +++++ tlpkg/installer/install-menu-text.pl (working copy) ++@@ -675,7 +675,7 @@ ++ ++ ++ sub options_menu { ++- my $b_symlinks=button($vars{'option_symlinks'}); +++ my $b_sysint=button($vars{'option_sysint'}); ++ my $b_doc=button($vars{'option_doc'}); ++ my $b_src=button($vars{'option_src'}); ++ my $b_fmt=button($vars{'option_fmt'}); ++@@ -685,9 +685,9 @@ ++ my $sys_man=$vars{'sys_man'}; ++ my $sys_info=$vars{'sys_info'}; ++ ++- my $t_sys_bin=($vars{'option_symlinks'})? $vars{'sys_bin'}:''; ++- my $t_sys_man=($vars{'option_symlinks'})? $vars{'sys_man'}:''; ++- my $t_sys_info=($vars{'option_symlinks'})? $vars{'sys_info'}:''; +++ my $t_sys_bin=($vars{'option_sysint'})? $vars{'sys_bin'}:''; +++ my $t_sys_man=($vars{'option_sysint'})? $vars{'sys_man'}:''; +++ my $t_sys_info=($vars{'option_sysint'})? $vars{'sys_info'}:''; ++ ++ my %command=( ++ 'self' => \&options_menu, ++@@ -709,14 +709,21 @@ ++ if ($vars{'src_splitting_supported'} and !$vars{'from_dvd'}) { ++ print " <S> install font/macro source tree: $b_src\n"; ++ } ++- if (unix() && !$vars{'from_dvd'}) { ++- print <<"EOF"; ++- <L> create symlinks in standard directories: $b_symlinks +++ if (!$vars{'from_dvd'}) { +++ if (unix()) { +++ print <<"EOF"; +++ <L> create symlinks in standard directories: $b_sysint ++ binaries to: $t_sys_bin ++ manpages to: $t_sys_man ++ info to: $t_sys_info ++ EOF ++ ; +++ } else { +++ print <<"EOF"; +++ <L> do system integration: $b_sysint +++EOF +++; +++ } ++ } ++ other_options qw(R Q diskspace); ++ my $answer = prompt 'Enter command'; ++@@ -726,8 +733,8 @@ ++ my $home = getenv('HOME'); ++ $home = getenv('USERPROFILE') if (win32()); ++ $home ||= '~'; ++- toggle 'option_symlinks'; ++- if ($vars{'option_symlinks'}) { +++ toggle 'option_sysint'; +++ if ($vars{'option_sysint'}) { ++ print "New value for binary directory [$sys_bin]: "; ++ chomp($answer=<STDIN>); ++ $vars{'sys_bin'} = "$answer" if (length $answer); ++@@ -751,8 +758,15 @@ ++ } ++ return $command{'self'}; ++ } +++ } else { +++ if (("\u$answer" eq 'L') and !$vars{'from_dvd'}) { +++ my $home = getenv('HOME'); +++ $home = getenv('USERPROFILE') if (win32()); +++ $home ||= '~'; +++ toggle 'option_sysint'; +++ return $command{'self'}; +++ } ++ } ++- ++ if ("\u$answer" eq 'P') { ++ toggle 'option_letter'; ++ return $command{'self'}; ++@@ -802,7 +816,7 @@ ++ sub main_menu { ++ my $this_platform=platform_desc($vars{'this_platform'}); ++ ++- my $b_symlinks=button($vars{'option_symlinks'}); +++ my $b_sysint=button($vars{'option_sysint'}); ++ my $b_doc=button($vars{'option_doc'}); ++ my $b_src=button($vars{'option_src'}); ++ my $b_fmt=button($vars{'option_fmt'}); ++@@ -913,9 +927,7 @@ ++ if ($vars{'src_splitting_supported'}) { ++ print " $b_src install macro/font source tree\n"; ++ } ++- if (unix()) { ++- print " $b_symlinks create symlinks in standard directories\n"; ++- } +++ print " $b_sysint system integration\n"; ++ } ++ ++ if ($vars{'from_dvd'}) { + Index: tlpkg/tlpsrc/bin-tex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-tex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-tex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-tex.tlpsrc (working copy) + @@ -1,7 +1,6 @@ + name bin-tex +@@ -1353,7 +1556,7 @@ + binpattern f bin/${ARCH}/tex + Index: tlpkg/tlpsrc/bin-mex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-mex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-mex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-mex.tlpsrc (working copy) + @@ -2,10 +2,9 @@ + category TLCore +@@ -1371,16 +1574,29 @@ + binpattern f bin/${ARCH}/utf8mex + Index: tlpkg/tlpsrc/texlive-de.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive-de.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive-de.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive-de.tlpsrc (working copy) + @@ -1,2 +1,4 @@ + name texlive-de + category Documentation + +postaction shortcut type=menu name="TeX Live Manual (de) (PDF)" cmd=TEXDIR/texmf-doc/doc/german/texlive-de/texlive-de.pdf + +postaction shortcut type=menu name="TeX Live Manual (de) (HTML)" cmd=TEXDIR/texmf-doc/doc/german/texlive-de/texlive-de.html ++Index: tlpkg/tlpsrc/00texlive.installer.tlpsrc ++=================================================================== ++--- tlpkg/tlpsrc/00texlive.installer.tlpsrc (revision 12171) +++++ tlpkg/tlpsrc/00texlive.installer.tlpsrc (working copy) ++@@ -7,7 +7,7 @@ ++ longdesc used *except* to build the installer archives, so it's ok. ++ longdesc ++ longdesc For information on the 00texlive prefix see ++-longdesc 00texlive-installation.config(.tlpsrc) +++longdesc 00texlive.installation(.tlpsrc) ++ category TLCore ++ runpattern f install-tl ++ runpattern f tlpkg/installer/install-tl.html + Index: tlpkg/tlpsrc/pdftex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/pdftex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/pdftex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/pdftex.tlpsrc (working copy) + @@ -1,8 +1,9 @@ + name pdftex +@@ -1396,7 +1612,7 @@ + runpattern f texmf/tex/generic/pdftex/* + Index: tlpkg/tlpsrc/bin-csplain.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-csplain.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-csplain.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-csplain.tlpsrc (working copy) + @@ -1,7 +1,7 @@ + name bin-csplain +@@ -1410,7 +1626,7 @@ + binpattern f bin/${ARCH}/pdfcsplain + Index: tlpkg/tlpsrc/bin-metapost.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-metapost.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-metapost.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-metapost.tlpsrc (working copy) + @@ -1,8 +1,8 @@ + name bin-metapost +@@ -1423,9 +1639,24 @@ + docpattern f texmf/doc/man/man1/dmp.* + docpattern f texmf/doc/man/man1/dvitomp.* + docpattern f texmf/doc/man/man1/makempx.* ++Index: tlpkg/tlpsrc/00texlive.config.tlpsrc ++=================================================================== ++--- tlpkg/tlpsrc/00texlive.config.tlpsrc (revision 12171) +++++ tlpkg/tlpsrc/00texlive.config.tlpsrc (working copy) ++@@ -9,8 +9,8 @@ ++ longdesc is only "lzma", which generates .tar.lzma files. zip can be supported. ++ longdesc release/NNNN specifies the release number as used in the installer. ++ longdesc For information on the 00texlive prefix see ++-longdesc 00texlive-installation.config(.tlpsrc) +++longdesc 00texlive.installation(.tlpsrc) ++ depend container_split_src_files ++ depend container_split_doc_files ++ depend container_format/lzma ++-depend release/2008 +++depend release/2009 + Index: tlpkg/tlpsrc/texlive-fr.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive-fr.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive-fr.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive-fr.tlpsrc (working copy) + @@ -1,2 +1,4 @@ + name texlive-fr +@@ -1434,7 +1665,7 @@ + +postaction shortcut type=menu name="TeX Live Manual (fr) (HTML)" cmd=TEXDIR/texmf-doc/doc/french/texlive-fr/texlive-fr.html + Index: tlpkg/tlpsrc/texlive-zh-cn.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive-zh-cn.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive-zh-cn.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive-zh-cn.tlpsrc (working copy) + @@ -1,2 +1,3 @@ + name texlive-zh-cn +@@ -1442,7 +1673,7 @@ + +postaction shortcut type=menu name="TeX Live Manual (zh-cn) (PDF)" cmd=TEXDIR/texmf-doc/doc/chinese/texlive-zh-cn/texlive-zh-cn.pdf + Index: tlpkg/tlpsrc/bin-dviout.win32.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-dviout.win32.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-dviout.win32.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-dviout.win32.tlpsrc (working copy) + @@ -2,3 +2,4 @@ + category TLCore +@@ -1451,7 +1682,7 @@ + +postaction shortcut type=menu name="DVIOUT Dvi Viewer" cmd=wscript args=TEXDIR/bin/win32/dviout.vbs hide=1 + Index: tlpkg/tlpsrc/bin-context.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-context.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-context.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-context.tlpsrc (working copy) + @@ -1,9 +1,15 @@ + name bin-context +@@ -1473,7 +1704,7 @@ + docpattern f texmf/doc/man/man1/mptopdf.* + Index: tlpkg/tlpsrc/bin-mltex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-mltex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-mltex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-mltex.tlpsrc (working copy) + @@ -1,7 +1,7 @@ + name bin-mltex +@@ -1487,7 +1718,7 @@ + binpattern f bin/${ARCH}/mltex + Index: tlpkg/tlpsrc/luatex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/luatex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/luatex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/luatex.tlpsrc (working copy) + @@ -1,8 +1,8 @@ + name luatex +@@ -1502,7 +1733,7 @@ + binpattern f/!hppa-hpux bin/${ARCH}/texlua + Index: tlpkg/tlpsrc/bin-cslatex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-cslatex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-cslatex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-cslatex.tlpsrc (working copy) + @@ -1,7 +1,7 @@ + name bin-cslatex +@@ -1516,7 +1747,7 @@ + binpattern f bin/${ARCH}/pdfcslatex + Index: tlpkg/tlpsrc/bin-texdoc.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-texdoc.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-texdoc.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-texdoc.tlpsrc (working copy) + @@ -12,3 +12,4 @@ + binpattern f bin/${ARCH}/texdoctk +@@ -1525,7 +1756,7 @@ + +postaction shortcut type=menu name="TeXdoc GUI" cmd="TEXDIR/bin/win32/texdoctk.bat" hide=1 + Index: tlpkg/tlpsrc/bin-latex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-latex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-latex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-latex.tlpsrc (working copy) + @@ -4,12 +4,14 @@ + depend pdftex +@@ -1546,7 +1777,7 @@ + runpattern d texmf/tex/latex/config + Index: tlpkg/tlpsrc/bin-omega.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-omega.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-omega.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-omega.tlpsrc (working copy) + @@ -1,7 +1,7 @@ + name bin-omega +@@ -1560,7 +1791,7 @@ + binpattern f bin/${ARCH}/lambda + Index: tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-tlpsv.win32.tlpsrc (working copy) + @@ -5,3 +5,5 @@ + runpattern f bin/win32/psv.bat +@@ -1570,7 +1801,7 @@ + +postaction shortcut type=desktop name="PS_View" icon=TEXDIR/tlpkg/tlpsv/psv.exe cmd=TEXDIR/bin/win32/psv.bat hide=1 + Index: tlpkg/tlpsrc/bin-xmltex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-xmltex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-xmltex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-xmltex.tlpsrc (working copy) + @@ -2,7 +2,7 @@ + category TLCore +@@ -1584,7 +1815,7 @@ + binpattern f bin/${ARCH}/xmltex + Index: tlpkg/tlpsrc/texlive-ru.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive-ru.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive-ru.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive-ru.tlpsrc (working copy) + @@ -1,2 +1,4 @@ + name texlive-ru +@@ -1593,17 +1824,40 @@ + +postaction shortcut type=menu name="TeX Live Manual (ru) (HTML)" cmd=TEXDIR/texmf-doc/doc/russian/texlive-ru/texlive-ru.html + Index: tlpkg/tlpsrc/bin-texlive.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-texlive.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-texlive.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-texlive.tlpsrc (working copy) +-@@ -25,3 +25,5 @@ +- binpattern f bin/win32/tl-w32-wrapper.texlua ++@@ -1,27 +1,11 @@ ++ name bin-texlive ++ category TLCore ++ shortdesc executables and files maintained as part of TeX Live ++-longdesc This packages contains the binaries of the TeX Live tools (notably ++-longdesc tlmgr). Together with texlive.infra, it provides all the basic TeX ++-longdesc Live infrastructure. +++longdesc This packages contains the binaries of the TeX Live tools. ++ depend texlive.infra ++-runpattern f texmf/fmtutil/fmtutil-hdr.cnf ++ runpattern d texmf/scripts/texlive/lua ++-runpattern d texmf/scripts/texlive/tlmgrgui ++-runpattern !f texmf/scripts/texlive/tlmgrgui/tlmgrgui1.pl ++-runpattern !f texmf/scripts/texlive/tlmgrgui/gui-config1.pl ++-runpattern !f texmf/scripts/texlive/tlmgrgui/gui-arch1.pl ++-runpattern !f texmf/scripts/texlive/tlmgrgui/tlmgrgui-real.pl ++ runpattern f texmf/scripts/texlive/rungs.tlu ++ runpattern f texmf/scripts/texlive/test-tlpdb.tlu ++ runpattern f texmf/scripts/texlive/texconf.tlu ++-runpattern f texmf/scripts/texlive/tlmgr.pl ++-runpattern !f texmf/scripts/texlive/tlmgr1.pl ++-runpattern f texmf/scripts/texlive/uninstall-win32.pl ++-runpattern f texmf/web2c/updmap-hdr.cfg ++-docpattern f texmf/doc/man/man1/tlmgr.* ++-binpattern f bin/${ARCH}/tlmgr ++ binpattern f bin/${ARCH}/rungs ++-binpattern f bin/win32/tl-w32-wrapper.texlua + binpattern f bin/win32/symlinks4cygwin.sh +- binpattern f/win32 texmf/scripts/texlive/w32_updater.bat +-+postaction shortcut type=menu name="TeX Live Manager" cmd=TEXDIR/bin/win32/tlmgr.bat args=gui hide=1 +-+postaction shortcut type=menu name="Release notes" cmd="http://tug.org/texlive/windows.html" ++-binpattern f/win32 texmf/scripts/texlive/updater-w32.bat + Index: tlpkg/tlpsrc/t2.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/t2.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/t2.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/t2.tlpsrc (working copy) + @@ -1,5 +1,5 @@ + name t2 +@@ -1616,7 +1870,7 @@ + +execute AddFormat name=cyrtexinfo mode=disabled engine=pdftex patterns=language.dat options="-translate-file=cp227.tcx *cyrtxinf.ini" + Index: tlpkg/tlpsrc/bin-texsis.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-texsis.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-texsis.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-texsis.tlpsrc (working copy) + @@ -1,6 +1,5 @@ + name bin-texsis +@@ -1628,7 +1882,7 @@ + binpattern f bin/${ARCH}/texsis + Index: tlpkg/tlpsrc/texlive-en.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive-en.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive-en.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive-en.tlpsrc (working copy) + @@ -1,2 +1,4 @@ + name texlive-en +@@ -1637,7 +1891,7 @@ + +postaction shortcut type=menu name="TeX Live Manual (en) (HTML)" cmd=TEXDIR/texmf-doc/doc/english/texlive-en/texlive-en.html + Index: tlpkg/tlpsrc/bin-physe.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-physe.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-physe.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-physe.tlpsrc (working copy) + @@ -1,6 +1,5 @@ + name bin-physe +@@ -1649,7 +1903,7 @@ + binpattern f bin/${ARCH}/physe + Index: tlpkg/tlpsrc/bin-phyzzx.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-phyzzx.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-phyzzx.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-phyzzx.tlpsrc (working copy) + @@ -1,6 +1,5 @@ + name bin-phyzzx +@@ -1661,7 +1915,7 @@ + binpattern f bin/${ARCH}/phyzzx + Index: tlpkg/tlpsrc/bin-eplain.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-eplain.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-eplain.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-eplain.tlpsrc (working copy) + @@ -1,8 +1,7 @@ + name bin-eplain +@@ -1675,7 +1929,7 @@ + binpattern f bin/${ARCH}/eplain + Index: tlpkg/tlpsrc/texlive-cz.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive-cz.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive-cz.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive-cz.tlpsrc (working copy) + @@ -1,2 +1,4 @@ + name texlive-cz +@@ -1684,7 +1938,7 @@ + +postaction shortcut type=menu name="TeX Live Manual (cz) (HTML)" cmd=TEXDIR/texmf-doc/doc/czechslovak/texlive-cz/texlive-cz.html + Index: tlpkg/tlpsrc/bin-jadetex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-jadetex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-jadetex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-jadetex.tlpsrc (working copy) + @@ -2,7 +2,7 @@ + category TLCore +@@ -1696,9 +1950,44 @@ + +execute AddFormat name=pdfjadetex engine=pdftex patterns=language.dat options="&pdflatex pdfjadetex.ini" + binpattern f bin/${ARCH}/jadetex + binpattern f bin/${ARCH}/pdfjadetex ++Index: tlpkg/tlpsrc/00texlive-installation.config.tlpsrc ++=================================================================== ++--- tlpkg/tlpsrc/00texlive-installation.config.tlpsrc (revision 12171) +++++ tlpkg/tlpsrc/00texlive-installation.config.tlpsrc (working copy) ++@@ -1,30 +0,0 @@ ++-name 00texlive-installation.config ++-category TLCore ++-longdesc This package serves two purposes: ++-longdesc ++-longdesc 1. at installation time the present values are taken as default for ++-longdesc the installer ++-longdesc ++-longdesc 2. on an installed system it serves as a configuration file. ++-longdesc We have to remember these settings for additional package ++-longdesc installation, removal, etc. ++-longdesc ++-longdesc The value of __MASTER__ for the location field tells the ++-longdesc installer to use the present directory itself. For example, ++-longdesc the DVD can be mounted anywhere and we want the installer to work. ++-longdesc ++-longdesc Concerning the 00* names: ++-longdesc All packages starting with 00texlive are considered virtual packages ++-longdesc in the sense that no containers are generated and these packages ++-longdesc are never split into .src and .doc sub-packages in the tlpdb. ++- ++-depend platform: ++-depend location:__MASTER__ ++-depend opt_paper:a4 ++-depend opt_create_formats:1 ++-depend opt_create_symlinks:0 ++-depend opt_sys_bin:/usr/local/bin ++-depend opt_sys_info:/usr/local/info ++-depend opt_sys_man:/usr/local/man ++-depend opt_install_docfiles:1 ++-depend opt_install_srcfiles:1 + Index: tlpkg/tlpsrc/texlive-pl.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive-pl.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive-pl.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive-pl.tlpsrc (working copy) + @@ -1,2 +1,4 @@ + name texlive-pl +@@ -1707,7 +1996,7 @@ + +postaction shortcut type=menu name="TeX Live Manual (pl) (HTML)" cmd=TEXDIR/texmf-doc/doc/polish/texlive-pl/texlive-pl.html + Index: tlpkg/tlpsrc/bin-amstex.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-amstex.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-amstex.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-amstex.tlpsrc (working copy) + @@ -1,7 +1,7 @@ + name bin-amstex +@@ -1721,7 +2010,7 @@ + binpattern f bin/${ARCH}/amstex + Index: tlpkg/tlpsrc/bin-aleph.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-aleph.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-aleph.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-aleph.tlpsrc (working copy) + @@ -1,7 +1,7 @@ + name bin-aleph +@@ -1733,9 +2022,46 @@ + +execute AddFormat name=lamed engine=aleph patterns=language.dat options=*lambda.ini + binpattern f bin/${ARCH}/aleph + binpattern f bin/${ARCH}/lamed ++Index: tlpkg/tlpsrc/00texlive.installation.tlpsrc ++=================================================================== ++--- tlpkg/tlpsrc/00texlive.installation.tlpsrc (revision 12171) +++++ tlpkg/tlpsrc/00texlive.installation.tlpsrc (working copy) ++@@ -1,4 +1,4 @@ ++-name 00texlive-installation.config +++name 00texlive.installation ++ category TLCore ++ longdesc This package serves two purposes: ++ longdesc ++@@ -22,7 +22,7 @@ ++ depend location:__MASTER__ ++ depend opt_paper:a4 ++ depend opt_create_formats:1 ++-depend opt_create_symlinks:0 +++depend opt_system_integration:0 ++ depend opt_sys_bin:/usr/local/bin ++ depend opt_sys_info:/usr/local/info ++ depend opt_sys_man:/usr/local/man ++ ++Property changes on: tlpkg/tlpsrc/00texlive.installation.tlpsrc ++___________________________________________________________________ ++Added: svn:mergeinfo ++ ++Index: tlpkg/tlpsrc/00texlive.core.tlpsrc ++=================================================================== ++--- tlpkg/tlpsrc/00texlive.core.tlpsrc (revision 12171) +++++ tlpkg/tlpsrc/00texlive.core.tlpsrc (working copy) ++@@ -6,7 +6,7 @@ ++ longdesc and containers are not built; they exist only in the ++ longdesc full DVD image. ++ longdesc For information on the 00texlive prefix see ++-longdesc 00texlive-installation.config(.tlpsrc) +++longdesc 00texlive.installation(.tlpsrc) ++ runpattern d tlpkg/archive ++ runpattern d tlpkg/doc ++ runpattern d tlpkg/libexec + Index: tlpkg/tlpsrc/bin-metafont.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/bin-metafont.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/bin-metafont.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/bin-metafont.tlpsrc (working copy) + @@ -1,8 +1,7 @@ + name bin-metafont +@@ -1749,11 +2075,166 @@ + binpattern f bin/${ARCH}/mf + Index: tlpkg/tlpsrc/texlive.infra.tlpsrc + =================================================================== +---- tlpkg/tlpsrc/texlive.infra.tlpsrc (revision 12142) ++--- tlpkg/tlpsrc/texlive.infra.tlpsrc (revision 12171) + +++ tlpkg/tlpsrc/texlive.infra.tlpsrc (working copy) +-@@ -36,3 +36,5 @@ ++@@ -36,3 +36,17 @@ + binpattern f/!i386-solaris,i386-linux,mips-irix,sparc-linux,alpha-linux,\ + powerpc-linux,i386-freebsd,x86_64-linux \ + tlpkg/installer/wget/wget.${ARCH} +++# former tlmgr stuff +++runpattern f texmf/fmtutil/fmtutil-hdr.cnf +++runpattern d texmf/scripts/texlive/tlmgrgui +++runpattern f texmf/scripts/texlive/tlmgr.pl +++runpattern f texmf/scripts/texlive/uninstall-win32.pl +++runpattern f texmf/web2c/updmap-hdr.cfg +++docpattern f texmf/doc/man/man1/tlmgr.* +++binpattern f bin/${ARCH}/tlmgr +++binpattern f bin/win32/tl-w32-wrapper.texlua +++binpattern f/win32 texmf/scripts/texlive/updater-w32.bat + +# post actions + +postaction shortcut type=menu name="TeX Live Toplevel Readme Index" cmd=TEXDIR/index.html +++postaction shortcut type=menu name="TeX Live Manager" cmd=TEXDIR/bin/win32/tlmgr.bat args=gui hide=1 +++postaction shortcut type=menu name="Release notes" cmd="http://tug.org/texlive/windows.html" ++Index: tlpkg/bin/tl-update-tlcritical ++=================================================================== ++--- tlpkg/bin/tl-update-tlcritical (revision 12171) +++++ tlpkg/bin/tl-update-tlcritical (working copy) ++@@ -34,7 +34,7 @@ ++ # update normal containers. ++ echo "$0: running tl-update-containers (for critical packages)..." ++ tl-update-containers -location $tlcrit -all \ ++- 00texlive-installation.config 00texlive.config bin-texlive texlive.infra +++ 00texlive.installation 00texlive.config texlive.infra ++ ++ # update Unix disaster recovery. ++ echo "$0: running tl-makeself-from-tlnet..." ++Index: tlpkg/bin/tl-update-containers ++=================================================================== ++--- tlpkg/bin/tl-update-containers (revision 12171) +++++ tlpkg/bin/tl-update-containers (working copy) ++@@ -24,7 +24,7 @@ ++ use File::Path; ++ ++ # packages matching these re's will not be updated without --all. ++-my @critical_pkg_list = qw/bin-texlive texlive\.infra/; +++my @critical_pkg_list = qw/texlive\.infra/; ++ ++ our ($mydir, $vc_id); ++ my $opt_all = 0; ++@@ -176,12 +176,12 @@ ++ } ++ } ++ ++- # The two packages 00texlive.config and 00texlive-installation.config +++ # The two packages 00texlive.config and 00texlive.installation ++ # are essential and have to be included in each and every case. ++ # So add them ... ++ my $tlpconfig = $tlpdb->get_package("00texlive.config"); ++ $nettlpdb->add_tlpobj($tlpconfig); ++- my $tlpinstconfig = $tlpdb->get_package("00texlive-installation.config"); +++ my $tlpinstconfig = $tlpdb->get_package("00texlive.installation"); ++ $nettlpdb->add_tlpobj($tlpinstconfig); ++ ++ # set up the programs. ++@@ -392,7 +392,7 @@ ++ =item B<-all|-a> ++ ++ Include packages deemed critical in the update, currently ++-C<texlive.infra> and C<bin-texlive>. (That is, C<tlmgr> itself needs +++C<texlive.infra>. (That is, C<tlmgr> itself needs ++ testing before updating, so we don't do it by default.) ++ ++ =item B<-no-setup> ++Index: tlpkg/bin/tl-makeself-from-tlnet ++=================================================================== ++--- tlpkg/bin/tl-makeself-from-tlnet (revision 12171) +++++ tlpkg/bin/tl-makeself-from-tlnet (working copy) ++@@ -4,7 +4,7 @@ ++ # This file is licensed under the GNU General Public License version 2 ++ # or any later version. ++ # ++-# Creates a .run file for updating the texlive.infra and bin-texlive +++# Creates a .run file for updating the texlive.infra ++ # packages on Unix, similar to the .exe we create for Windows. Both are ++ # created in the nightly cron from tl-update-tlcritical. ++ ++@@ -28,9 +28,8 @@ ++ mkdir master ++ cd master ++ ++-# unpack texlive.infra and bin-texlive archives for all platforms, ++-# except w32. ++-for pkg in texlive.infra bin-texlive; do +++# unpack texlive.infra archives for all platforms, except w32. +++for pkg in texlive.infra; do ++ for i in $ARCHIVE/$pkg*.tar.lzma ; do ++ case "$i" in ++ *win32*) ;; ++@@ -69,13 +68,12 @@ ++ mkdir -p $t_instdir/wget ++ ++ # start the list of tlpobjs we will install ++- tlpobjs="$t_objdir/bin-texlive.tlpobj $t_objdir/texlive.infra.tlpobj" +++ tlpobjs="$t_objdir/texlive.infra.tlpobj" ++ for a in $ROOT/bin/*; do ++ test -d "$a" || continue # skip any cruft files ++ b=`basename $a` # just the architecture name ++ ++ # add the tlpobjs for this platform t the list. ++- tlpobjs="$tlpobjs $t_objdir/bin-texlive.$b.tlpobj" ++ tlpobjs="$tlpobjs $t_objdir/texlive.infra.$b.tlpobj" ++ ++ # install the bin dir for this platform. ++Index: tlpkg/bin/tl-update-nsis ++=================================================================== ++--- tlpkg/bin/tl-update-nsis (revision 12171) +++++ tlpkg/bin/tl-update-nsis (working copy) ++@@ -1,6 +1,6 @@ ++ #!/usr/bin/env perl ++ # $Id$ ++-# Copyright 2008 Norbert Preining +++# Copyright 2008, 2009 Norbert Preining ++ # This file is licensed under the GNU General Public License version 2 ++ # or any later version. ++ # ++@@ -40,13 +40,9 @@ ++ chomp (my $Master = `cd $mydir/../.. && pwd`); ++ my $tlpdb = TeXLive::TLPDB->new ("root" => $Master); ++ die("Cannot find tlpdb in $Master\n") unless defined($tlpdb); ++- my $bintexlive = $tlpdb->get_package("bin-texlive"); ++- my $bintexlivew32 = $tlpdb->get_package("bin-texlive.win32"); ++ my $texliveinfra = $tlpdb->get_package("texlive.infra"); ++ my $texliveinfraw32 = $tlpdb->get_package("texlive.infra.win32"); ++ my @allfiles = (); ++- push @allfiles, $bintexlive->all_files; ++- push @allfiles, $bintexlivew32->all_files if defined $bintexlivew32; ++ push @allfiles, $texliveinfra->all_files; ++ push @allfiles, $texliveinfraw32->all_files if defined $texliveinfraw32; ++ ++@@ -58,7 +54,7 @@ ++ $removetlpobjdir = 1; ++ } ++ my $rev = 0; # we want the highest rev all these packages. ++- for my $p ($bintexlive, $bintexlivew32, $texliveinfra, $texliveinfraw32) { +++ for my $p ($texliveinfra, $texliveinfraw32) { ++ if (defined $p) { ++ if ($p->revision > $rev) { ++ $rev = $p->revision; ++@@ -95,7 +91,7 @@ ++ ++ Name "TeX Live Manager Update ${REV}" ++ OutFile "update-tlmgr-${REV}.exe" ++-InstallDir "$PROGRAMFILES\texlive\2008" +++InstallDir "$PROGRAMFILES\texlive\$TeXLive::TLConfig::ReleaseYear" ++ ++ RequestExecutionLevel "user" ++ ++@@ -135,7 +131,7 @@ ++ } ++ } ++ print " ExecWait \'\"\$INSTDIR\\bin\\win32\\tlmgr.bat\" _include_tlpobj"; ++- for my $p ($bintexlive, $bintexlivew32, $texliveinfra, $texliveinfraw32) { +++ for my $p ($texliveinfra, $texliveinfraw32) { ++ if (defined $p) { ++ print " \"\$INSTDIR\\tlpkg\\tlpobj\\", $p->name, ".tlpobj\""; ++ } +Index: install-tl +=================================================================== +--- install-tl (revision 12171) ++++ install-tl (working copy) +@@ -82,7 +82,6 @@ + &add_menu_shortcut + &remove_desktop_shortcut + &remove_menu_shortcut +- &init_unshortbat + &create_uninstaller + )); + } +@@ -121,7 +120,7 @@ + # + # The following values are taken from the remote tlpdb using the + # $tlpdb->option_XXXXX +-# settings (i.e., taken from tlpkg/tlpsrc/00texlive-installation.tlpsrc ++# settings (i.e., taken from tlpkg/tlpsrc/00texlive.installation.tlpsrc + # + # 'option_symlinks' => 0, + # 'sys_bin' => '/usr/local/bin', +@@ -380,6 +379,14 @@ + $vars{'doc_splitting_supported'} = $tlpdb->config_doc_container; + } + $texlive_release = $tlpdb->config_release; ++# if the release from the remote TLPDB does not agree with the ++# TLConfig::ReleaseYear in the first 4 places break out here. ++# Why only the first four places: some optional network distributions ++# might use ++# release/2009-foobar ++if ($texlive_release !~ m/^$TeXLive::TLConfig::ReleaseYear/) { ++ die "The release version of the installation source and\nthe installation media do not agree:\nsource: $texlive_release\nmedia: $TeXLive::TLConfig::ReleaseYear\nPlease report to tex-live\@tug.org"; ++} + set_platforms_supported(); + set_texlive_default_dirs(); + initialize_collections(); +@@ -491,7 +498,229 @@ + save_options_into_tlpdb(); + do_install_packages(); + } ++ # now we save every scheme that is fully covered by the stuff we have ++ # installed to the $localtlpdb ++ foreach my $s ($tlpdb->schemes) { ++ my $stlp = $tlpdb->get_package($s); ++ die ("That cannot happen, $s not defined in tlpdb") unless defined($stlp); ++ my $incit = 1; ++ foreach my $d ($stlp->depends) { ++ if (!defined($localtlpdb->get_package($d))) { ++ $incit = 0; ++ last; ++ } ++ } ++ if ($incit) { ++ $localtlpdb->add_tlpobj($stlp); ++ } ++ } ++ $localtlpdb->save unless $vars{'from_dvd'}; ++ do_postinst_stuff(); ++} ++ ++# do_postinst_stuff has to fix up the texmf tree and install some missing ++# files. The things to do are taken from the install-live.sh installer ++# of former times, and should be critically checked. ++sub do_postinst_stuff { ++ my $TEXDIR="$vars{'TEXDIR'}"; ++ my $TEXDIRW="$vars{'TEXDIRW'}"; ++ my $TEXMFSYSVAR="$vars{'TEXMFSYSVAR'}"; ++ my $TEXMFSYSCONFIG="$vars{'TEXMFSYSCONFIG'}"; ++ my $TEXMFLOCAL="$vars{'TEXMFLOCAL'}"; ++ my $tmv; ++ ++ do_texmf_cnf() unless ($opt_portable); ++ ++ ++ # final program execution ++ # we have to do several things: ++ # - clean the environment from spurious TEXMF related variables ++ # - add the bin dir to the PATH ++ # - select perl interpreter and set the correct perllib ++ # - run the programs ++ ++ # Step 1: Clean the environment ++ my @TMFVARS0=qw(VARTEXFONTS ++ TEXMF SYSTEXMF VARTEXFONTS ++ TEXMFDBS WEB2C TEXINPUTS TEXFORMATS MFBASES MPMEMS TEXPOOL MFPOOL MPPOOL ++ PSHEADERS TEXFONTMAPS TEXPSHEADERS TEXCONFIG TEXMFCNF); ++ my @TMFVARS1=qw(TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG ++ TEXMFHOME TEXMFVAR TEXMFCONFIG); ++ ++ if (defined($ENV{'TEXMFCNF'}) and !$vars{'from_dvd'} and !$opt_portable) { ++ print "WARNING: environment variable TEXMFCNF is set. ++You should know what you are doing. ++We will remove that for the post install actions, but all further ++operations might be disturbed.\n\n"; ++ } ++ foreach $tmv (@TMFVARS0) { ++ delete $ENV{$tmv} if (defined($ENV{$tmv})); ++ } ++ if (!$opt_portable) { ++ foreach $tmv (@TMFVARS1) { ++ delete $ENV{$tmv} if (defined($ENV{$tmv})); ++ } ++ } ++ $ENV{'TEXMFSYSVAR'} = $vars{'TEXMFSYSVAR'} if $vars{'from_dvd'}; ++ ++ # Step 2: Setup the PATH, switch to the new Perl ++ ++ my $pathsep=(win32)? ';' : ':'; ++ my $plat_bindir="$TEXDIR/bin/$vars{'this_platform'}"; ++ my $perl_bindir="$TEXDIR/tlpkg/tlperl/bin"; ++ my $perl_libdir="$TEXDIR/tlpkg/tlperl/lib"; ++ ++## This won't do any good; ++## have to remove other tex directories in calling batchfile ++# if (win32) { ++# debug("Removing other TeXs from path\n"); ++# my @newpt = (); ++# foreach my $d (split (';', $ENV{'PATH'})) { ++# push @newpt, $d unless TeXLive::TLWinGoo::is_a_texdir($d); ++# } ++# $ENV{'PATH'} = join($pathsep, @newpt); ++# debug("Path after removals(s):\n $ENV{'PATH'}\n"); ++# } ++ ++ debug("Prepending $plat_bindir to PATH\n"); ++ ++ $ENV{'PATH'}="$plat_bindir" . "$pathsep" . "$ENV{'PATH'}"; ++ ++ if (win32) { ++ debug("Prepending $perl_bindir to PATH\n"); ++ $ENV{'PATH'}="$perl_bindir" . "$pathsep" . "$ENV{'PATH'}"; ++ $ENV{'PATH'} =~ s!/!\\!g; ++ } ++ ++ debug("\nNew PATH is now:\n"); ++ foreach my $dir (split $pathsep, $ENV{'PATH'}) { ++ debug(" $dir\n"); ++ } ++ debug("\n"); ++ ++ if (win32) { ++ $ENV{'PERL5LIB'}="$perl_libdir"; ++ } ++ ++ # ++ # post install actions ++ # ++ ++ # in case we are running from DVD we use the tlpdb from the DVD, otherwise ++ # the one we have locally created, for all the further actions ++ my $usedtlpdb = $vars{'from_dvd'} ? $tlpdb : $localtlpdb; ++ ++ + if (win32()) { ++ debug "Actual environment:\n".`set`."\n\n"; ++ debug 'Effective TEXMFCNF: '.`kpsewhich -expand-path=\$TEXMFCNF`."\n"; ++ } ++ ++ # TODO: can the following two clauses be merged? ++ if (win32()) { ++ create_uninstaller($vars{'TEXDIR'}, $vars{'TEXDIRW'}, ++ $vars{'TEXMFSYSVAR'}, $vars{'TEXMFSYSCONFIG'}); ++ } ++ # (re-)initialize batchfile for uninstalling shortcuts ++ if (win32() and !$opt_portable) { ++ mkdirhier("$TEXDIRW/tlpkg/installer") if $vars{'from_dvd'}; ++ } ++ ++ # Step 4: run the programs ++ ++ if (!$opt_portable and !$vars{'from_dvd'}) { ++ info("running mktexlsr $TEXDIR/texmf-dist $TEXDIR/texmf\n"); ++ system('mktexlsr', "$TEXDIR/texmf-dist", "$TEXDIR/texmf"); ++ } ++ ++ # we have to generate the various config file. That could be done with ++ # texconfig generate * but Win32 does not have texconfig. But we have ++ # $localtlpdb and this is simple code, so do it directly, i.e., duplicate ++ # the code from the various generate-*.pl scripts ++ ++ info("writing fmtutil.cnf data to $TEXMFSYSVAR/web2c/fmtutil.cnf\n"); ++ TeXLive::TLUtils::create_fmtutil($usedtlpdb, ++ "$TEXMFSYSVAR/web2c/fmtutil.cnf", ++ "$TEXMFLOCAL/web2c/fmtutil-local.cnf"); ++ ++ mkdirhier "$vars{'TEXMFSYSCONFIG'}/web2c"; ++ info("writing updmap.cfg to $TEXMFSYSCONFIG/web2c/updmap.cfg\n"); ++ TeXLive::TLUtils::create_updmap ($usedtlpdb, ++ "$TEXMFSYSCONFIG/web2c/updmap.cfg", ++ "$TEXMFLOCAL/web2c/updmap-local.cfg"); ++ ++ info("writing language.dat data to $TEXMFSYSVAR/tex/generic/config/language.dat\n"); ++ TeXLive::TLUtils::create_language_dat($usedtlpdb, ++ "$TEXMFSYSVAR/tex/generic/config/language.dat", ++ "$TEXMFLOCAL/tex/generic/config/language-local.dat"); ++ ++ info("writing language.def data to $TEXMFSYSVAR/tex/generic/config/language.def\n"); ++ TeXLive::TLUtils::create_language_def($usedtlpdb, ++ "$TEXMFSYSVAR/tex/generic/config/language.def", ++ "$TEXMFLOCAL/tex/generic/config/language-local.def"); ++ ++ info("running mktexlsr $TEXMFSYSVAR\n"); ++ system('mktexlsr', "$TEXMFSYSVAR"); ++ ++ info("running updmap-sys... "); ++ # system('updmap-sys', '--nohash'); ++ log(`updmap-sys --nohash 2>&1`); ++ info("done\n"); ++ ++ info("re-running mktexlsr $TEXMFSYSVAR\n"); ++ system('mktexlsr', "$TEXMFSYSVAR"); ++ ++ # now work through the options if specified at all ++ ++ # letter instead of a4 ++ if ($vars{'option_letter'}) { ++ info("Setting default paper size to letter\n"); ++ system("tlmgr", "paper", "letter"); ++ } ++ ++ # all formats option ++ if ($vars{'option_fmt'}) { ++ info("pre-generating all format files (fmtutil-sys --all), be patient..."); ++ log(`fmtutil-sys --all 2>&1`); ++ info("done\n"); ++ } ++ ++ # TODO: Should/can this be moved into the do_system_integration part? ++ # it looks like it does not do anything outside the texlive tree, so it ++ # would be fine if we do it anyway ... ++ # $opt_portable: no %install but we still want xetex postinstall ++ &{$PostInstall{'xetex'}}($TEXDIR, $TEXDIRW, $TEXMFSYSVAR, $TEXMFLOCAL) ++ if $opt_portable; ++ ++ # no do the system integration: ++ # on unix this means setting up symlinks ++ # on w32 this means adding to path, settting registry values ++ # on both, we run the TLPostActions and the postaction directives of the tlp ++ do_system_integration() if $vars{'option_sysint'}; ++} ++ ++sub do_system_integration { ++ # Run the post installation code in TLPostAction.pm ++ foreach my $package (sort keys %install) { ++ if ($install{$package} && defined($PostInstall{$package})) { ++ info("running post install action for $package\n"); ++ &{$PostInstall{$package}}($vars{'TEXDIR'}, $vars{'TEXDIRW'}, ++ $vars{'TEXMFSYSVAR'}, $vars{'TEXMFLOCAL'}); ++ } ++ } ++ # Run the post installation code in the postaction tlpsrc entries ++ my $usedtlpdb = $vars{'from_dvd'} ? $tlpdb : $localtlpdb; ++ foreach my $package (sort keys %install) { ++ if ($install{$package}) { ++ &TeXLive::TLUtils::do_postaction_code("install", ++ $usedtlpdb->get_package($package)); ++ } ++ } ++ info ("finished with package specific postactions\n"); ++ ++ if (win32()) { ++ update_assocs(); ++ + my $path = TeXLive::TLWinGoo::get_system_env() -> {'/Path'}; + $path =~ s/[\s\x00]+$//; + log("Old system path: $path\n"); +@@ -516,29 +745,97 @@ + # setenv_reg('TEXMFSYSVAR', $vars{'TEXMFSYSVAR'}) if $vars{'from_dvd'}; + setenv_reg('TEXMFCNF', $vars{'TEXMFSYSVAR'}.'/web2c') if $vars{'from_dvd'}; + broadcast_env(); +- create_uninstaller($vars{'TEXDIR'}, $vars{'TEXDIRW'}, +- $vars{'TEXMFSYSVAR'}, $vars{'TEXMFSYSCONFIG'}); ++ } else { ++ $localtlpdb->add_symlinks() + } +- do_postinst_stuff(); +- # now we save every scheme that is fully covered by the stuff we have +- # installed to the $localtlpdb +- foreach my $s ($tlpdb->schemes) { +- my $stlp = $tlpdb->get_package($s); +- die ("That cannot happen, $s not defined in tlpdb") unless defined($stlp); +- my $incit = 1; +- foreach my $d ($stlp->depends) { +- if (!defined($localtlpdb->get_package($d))) { +- $incit = 0; +- last; ++} ++ ++ ++# we have to adjust the texmf.cnf file to the paths set in the configuration! ++sub do_texmf_cnf { ++ open(TMF,"<$vars{'TEXDIR'}/texmf/web2c/texmf.cnf") ++ or die "$vars{'TEXDIR'}/texmf/web2c/texmf.cnf not found: $!"; ++ my @texmfcnflines = <TMF>; ++ close(TMF); ++ my @newtmf; ++ my @changedtmf; ++ # we have to find TEXMFLOCAL TEXMFSYSVAR and TEXMFHOME ++ foreach my $line (@texmfcnflines) { ++ if ($line =~ m/^TEXMFLOCAL/) { ++ # by default TEXMFLOCAL = TEXDIR/../texmf-local, if this is the case ++ # we don't have to change anything from the default ++ my $deftmlocal = dirname($vars{'TEXDIR'}); ++ $deftmlocal .= "/texmf-local"; ++ if ("$vars{'TEXMFLOCAL'}" eq "$deftmlocal") { ++ push @newtmf, $line; ++ } else { ++ push @newtmf, "TEXMFLOCAL = $vars{'TEXMFLOCAL'}\n"; ++ push @changedtmf, "TEXMFLOCAL = $vars{'TEXMFLOCAL'}\n"; + } ++ } elsif ($line =~ m/^TEXMFSYSVAR/) { ++ # by default TEXMFSYSVAR = TEXDIR/texmf-var, if this is the case ++ # we don't have to change anything from the default ++ if ("$vars{'TEXMFSYSVAR'}" eq "$vars{'TEXDIR'}/texmf-var") { ++ push @newtmf, $line; ++ } else { ++ push @newtmf, "TEXMFSYSVAR = $vars{'TEXMFSYSVAR'}\n"; ++ push @changedtmf, "TEXMFSYSVAR = $vars{'TEXMFSYSVAR'}\n"; ++ } ++ } elsif ($line =~ m/^TEXMFSYSCONFIG/) { ++ # by default TEXMFSYSCONFIG = TEXDIR/texmf-config, if this is the case ++ # we don't have to change anything from the default ++ if ("$vars{'TEXMFSYSCONFIG'}" eq "$vars{'TEXDIR'}/texmf-config") { ++ push @newtmf, $line; ++ } else { ++ push @newtmf, "TEXMFSYSCONFIG = $vars{'TEXMFSYSCONFIG'}\n"; ++ push @changedtmf, "TEXMFSYSCONFIG = $vars{'TEXMFSYSCONFIG'}\n"; ++ } ++ } elsif ($line =~ m/^TEXMFHOME/) { ++ # kpse now expands ~ to USERPROFILE, so we don't treat win32 and ++ # unix differently ++ push @newtmf, "TEXMFHOME = $vars{'TEXMFHOME'}\n"; ++ if ("$vars{'TEXMFHOME'}" ne "~/texmf") { ++ push @changedtmf, "TEXMFHOME = $vars{'TEXMFHOME'}\n"; ++ } ++ } elsif ($line =~ m/^OSFONTDIR/) { ++ if (win32()) { ++ push @newtmf, "OSFONTDIR = \$SystemRoot/fonts//\n"; ++ push @changedtmf, "OSFONTDIR = \$SystemRoot/fonts//\n"; ++ } else { ++ push @newtmf, $line; ++ } ++ } else { ++ push @newtmf, $line; + } +- if ($incit) { +- $localtlpdb->add_tlpobj($stlp); +- } + } +- $localtlpdb->save unless $vars{'from_dvd'}; ++ my $TMF; ++ if (!$vars{'from_dvd'}) { ++ $TMF = ">$vars{'TEXDIR'}/texmf.cnf"; ++ open(TMF, $TMF) || die "open($TMF) failed: $!"; ++ print TMF <<EOF; ++% This texmf.cnf file should contain only your personal changes from the ++% main texmf.cnf. ++% ++% Do NOT change values in the main file (which is in ++% .../texlive/YYYY/texmf/web2c/texmf.cnf), as YOUR CHANGES WILL BE LOST ++% by later updates. ++% ++% If you need to make changes to texmf.cnf, put your custom settings in ++% this file instead, which is YYYY/texmf.cnf. And insert *only* your ++% changed values. ++% ++EOF ++; ++ foreach (@changedtmf) { print TMF; } ++ } else { ++ $TMF = ">$vars{'TEXMFSYSVAR'}/web2c/texmf.cnf"; ++ open (TMF, $TMF) || die "open($TMF) failed: $!\n"; ++ foreach (@newtmf) { print TMF; } ++ } ++ close(TMF) || warn "close($TMF) failed: $!"; + } + ++ + sub dump_vars { + my $filename=shift; + my $fh; +@@ -744,7 +1041,10 @@ + $vars{'option_fmt'} = $tlpdb->option_create_formats; + $vars{'option_letter'} = defined($tlpdb->option_paper) + && ($tlpdb->option_paper eq "letter" ? 1 : 0); +- $vars{'option_symlinks'} = $tlpdb->option_create_symlinks; ++ $vars{'option_sysint'} = $tlpdb->option_system_integration; ++ if (win32()) { ++ $vars{'option_sysint'} = 1; ++ } + $vars{'sys_bin'} = $tlpdb->option_sys_bin; + $vars{'sys_man'} = $tlpdb->option_sys_man; + $vars{'sys_info'} = $tlpdb->option_sys_info; +@@ -850,8 +1150,8 @@ + 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_symlinks/; +- if ($vars{'option_symlinks'}) { ++ print $fh "$key $vars{$key}\n" if $key=~/^option_sysint/; ++ if ($vars{'option_sysint'} && 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/; + print $fh "sys_info ", $vars{'sys_info'}, "\n" if $key =~ /^sys_info/; +@@ -948,7 +1248,7 @@ + $localtlpdb->option_location($location); + $localtlpdb->option_paper($vars{'option_letter'} ? "letter" : "a4"); + $localtlpdb->option_create_formats($vars{'option_fmt'} ? "1" : "0"); +- $localtlpdb->option_create_symlinks($vars{'option_symlinks'} ? "1" : "0"); ++ $localtlpdb->option_system_integration($vars{'option_sysint'} ? "1" : "0"); + $localtlpdb->option_sys_bin($vars{'sys_bin'}); + $localtlpdb->option_sys_info($vars{'sys_info'}); + $localtlpdb->option_sys_man($vars{'sys_man'}); +@@ -964,320 +1264,6 @@ + $localtlpdb->save() unless $vars{'from_dvd'}; + } + +-# do_postinst_stuff has to fix up the texmf tree and install some missing +-# files. The things to do are taken from the install-live.sh installer +-# of former times, and should be critically checked. +-sub do_postinst_stuff { +- my $TEXDIR="$vars{'TEXDIR'}"; +- my $TEXDIRW="$vars{'TEXDIRW'}"; +- my $TEXMFSYSVAR="$vars{'TEXMFSYSVAR'}"; +- my $TEXMFSYSCONFIG="$vars{'TEXMFSYSCONFIG'}"; +- my $TEXMFLOCAL="$vars{'TEXMFLOCAL'}"; +- my $tmv; +- +- do_texmf_cnf() unless ($opt_portable); +- +- +- # final program execution +- # we have to do several things: +- # - clean the environment from spurious TEXMF related variables +- # - add the bin dir to the PATH +- # - select perl interpreter and set the correct perllib +- # - run the programs +- +- # Step 1: Clean the environment +- my @TMFVARS0=qw(VARTEXFONTS +- TEXMF SYSTEXMF VARTEXFONTS +- TEXMFDBS WEB2C TEXINPUTS TEXFORMATS MFBASES MPMEMS TEXPOOL MFPOOL MPPOOL +- PSHEADERS TEXFONTMAPS TEXPSHEADERS TEXCONFIG TEXMFCNF); +- my @TMFVARS1=qw(TEXMFMAIN TEXMFDIST TEXMFLOCAL TEXMFSYSVAR TEXMFSYSCONFIG +- TEXMFHOME TEXMFVAR TEXMFCONFIG); +- +- if (defined($ENV{'TEXMFCNF'}) and !$vars{'from_dvd'} and !$opt_portable) { +- print "WARNING: environment variable TEXMFCNF is set. +-You should know what you are doing. +-We will remove that for the post install actions, but all further +-operations might be disturbed.\n\n"; +- } +- foreach $tmv (@TMFVARS0) { +- delete $ENV{$tmv} if (defined($ENV{$tmv})); +- } +- if (!$opt_portable) { +- foreach $tmv (@TMFVARS1) { +- delete $ENV{$tmv} if (defined($ENV{$tmv})); +- } +- } +- $ENV{'TEXMFSYSVAR'} = $vars{'TEXMFSYSVAR'} if $vars{'from_dvd'}; +- +- # Step 2: Setup the PATH, switch to the new Perl +- +- my $pathsep=(win32)? ';' : ':'; +- my $plat_bindir="$TEXDIR/bin/$vars{'this_platform'}"; +- my $perl_bindir="$TEXDIR/tlpkg/tlperl/bin"; +- my $perl_libdir="$TEXDIR/tlpkg/tlperl/lib"; +- +-## This won't do any good; +-## have to remove other tex directories in calling batchfile +-# if (win32) { +-# debug("Removing other TeXs from path\n"); +-# my @newpt = (); +-# foreach my $d (split (';', $ENV{'PATH'})) { +-# push @newpt, $d unless TeXLive::TLWinGoo::is_a_texdir($d); +-# } +-# $ENV{'PATH'} = join($pathsep, @newpt); +-# debug("Path after removals(s):\n $ENV{'PATH'}\n"); +-# } +- +- debug("Prepending $plat_bindir to PATH\n"); +- +- $ENV{'PATH'}="$plat_bindir" . "$pathsep" . "$ENV{'PATH'}"; +- +- if (win32) { +- debug("Prepending $perl_bindir to PATH\n"); +- $ENV{'PATH'}="$perl_bindir" . "$pathsep" . "$ENV{'PATH'}"; +- $ENV{'PATH'} =~ s!/!\\!g; +- } +- +- debug("\nNew PATH is now:\n"); +- foreach my $dir (split $pathsep, $ENV{'PATH'}) { +- debug(" $dir\n"); +- } +- debug("\n"); +- +- if (win32) { +- $ENV{'PERL5LIB'}="$perl_libdir"; +- } +- +- # +- # post install actions +- # +- +- if (win32()) { +- debug "Actual environment:\n".`set`."\n\n"; +- debug 'Effective TEXMFCNF: '.`kpsewhich -expand-path=\$TEXMFCNF`."\n"; +- } +- +- # (re-)initialize batchfile for uninstalling shortcuts +- if (win32() and !$opt_portable) { +- mkdirhier("$TEXDIRW/tlpkg/installer") if $vars{'from_dvd'}; +- init_unshortbat($TEXDIRW); +- } +- +- foreach my $package (sort keys %install) { +- if ($install{$package} && defined($PostInstall{$package})) { +- info("running post install action for $package\n"); +- &{$PostInstall{$package}}($TEXDIR, $TEXDIRW, $TEXMFSYSVAR, $TEXMFLOCAL); +- } +- } +- # $opt_portable: no %install but we still want xetex postinstall +- &{$PostInstall{'xetex'}}($TEXDIR, $TEXDIRW, $TEXMFSYSVAR, $TEXMFLOCAL) +- if $opt_portable; +- update_assocs() if win32(); +- +- # Step 4: run the programs +- +- if (!$opt_portable and !$vars{'from_dvd'}) { +- info("running mktexlsr $TEXDIR/texmf-dist $TEXDIR/texmf\n"); +- system('mktexlsr', "$TEXDIR/texmf-dist", "$TEXDIR/texmf"); +- } +- +- # we have to generate the various config file. That could be done with +- # texconfig generate * but Win32 does not have texconfig. But we have +- # $localtlpdb and this is simple code, so do it directly, i.e., duplicate +- # the code from the various generate-*.pl scripts +- info("writing fmtutil.cnf data to $TEXMFSYSVAR/web2c/fmtutil.cnf\n"); +- my $tlp = $vars{'from_dvd'} ? $tlpdb : $localtlpdb; +- TeXLive::TLUtils::create_fmtutil($tlp, #$localtlpdb, +- "$TEXMFSYSVAR/web2c/fmtutil.cnf", +- "$TEXMFLOCAL/web2c/fmtutil-local.cnf"); +- +- mkdirhier "$vars{'TEXMFSYSCONFIG'}/web2c"; +- info("writing updmap.cfg to $TEXMFSYSCONFIG/web2c/updmap.cfg\n"); +- TeXLive::TLUtils::create_updmap ($tlp, #$localtlpdb, +- "$TEXMFSYSCONFIG/web2c/updmap.cfg", +- "$TEXMFLOCAL/web2c/updmap-local.cfg"); +- +- info("writing language.dat data to $TEXMFSYSVAR/tex/generic/config/language.dat\n"); +- TeXLive::TLUtils::create_language_dat($tlp, #$localtlpdb, +- "$TEXMFSYSVAR/tex/generic/config/language.dat", +- "$TEXMFLOCAL/tex/generic/config/language-local.dat"); +- +- info("writing language.def data to $TEXMFSYSVAR/tex/generic/config/language.def\n"); +- TeXLive::TLUtils::create_language_def($tlp, #$localtlpdb, +- "$TEXMFSYSVAR/tex/generic/config/language.def", +- "$TEXMFLOCAL/tex/generic/config/language-local.def"); +- +- info("running mktexlsr $TEXMFSYSVAR\n"); +- system('mktexlsr', "$TEXMFSYSVAR"); +- +- info("running updmap-sys... "); +- # system('updmap-sys', '--nohash'); +- log(`updmap-sys --nohash 2>&1`); +- info("done\n"); +- +- info("re-running mktexlsr $TEXMFSYSVAR\n"); +- system('mktexlsr', "$TEXMFSYSVAR"); +- +- # now work through the options if specified at all +- +- # letter instead of a4 +- if ($vars{'option_letter'}) { +- info("Setting default paper size to letter\n"); +- if (platform() eq "hppa-hpux") { +- # we didn't get a texlua binary for hppa-hpux, so try texconfig +- system("texconfig", "paper", "letter"); +- } else { +- system("texlua", "$TEXDIR/texmf/scripts/texlive/texconf.tlu", "--sys", "--noformat", "paper", "letter"); +- } +- } +- +- # all formats option +- if ($vars{'option_fmt'}) { +- info("pre-generating all format files (fmtutil-sys --all), be patient..."); +- #system('fmtutil-sys', '--all'); +- # try to capture that output +- log(`fmtutil-sys --all 2>&1`); +- info("done\n"); +- } +- +- # option_links +- if ($vars{'option_symlinks'}) { +- # bin files +- my @files; +- mkdirhier $vars{'sys_bin'}; +- if (-w $vars{'sys_bin'}) { +- info("linking binaries to $vars{'sys_bin'}\n"); +- @files = `ls $plat_bindir`; +- chomp(@files); +- `cd "$vars{'sys_bin'}" && rm -f @files`; +- `ln -s "$plat_bindir/"* "$vars{'sys_bin'}"`; +- } else { +- info("destination of bin symlink $vars{'sys_bin'} not writable, " +- . "no linking of bin files done.\n"); +- } +- if ($vars{'option_doc'}) { +- # info files +- mkdirhier $vars{'sys_info'}; +- if (-w $vars{'sys_info'}) { +- info("linking info pages to $vars{'sys_info'}\n"); +- @files = `ls "$TEXDIR/texmf/doc/info"`; +- chomp(@files); +- `cd "$vars{'sys_info'}" && rm -f @files`; +- `ln -s "$TEXDIR/texmf/doc/info/"*info* "$vars{'sys_info'}"`; +- } else { +- info("destination of info symlink $vars{'sys_info'} not writable, " +- . "no linking of info files done.\n"); +- } +- # man files +- mkdirhier $vars{'sys_man'}; +- if (-w $vars{'sys_man'}) { +- info("linking man pages to $vars{'sys_man'}\n"); +- my $foo = `(cd "$TEXDIR/texmf/doc/man" && echo *)`; +- my @mans = split ' ', $foo; +- chomp(@mans); +- foreach my $m (@mans) { +- my $mandir = "$TEXDIR/texmf/doc/man/$m"; +- next unless -d $mandir; +- mkdirhier "$vars{'sys_man'}/$m"; +- next unless -w "$vars{'sys_man'}/$m"; +- @files = `ls "$mandir"`; +- chomp(@files); +- `cd "$vars{'sys_man'}/$m" && rm -f @files`; +- `ln -s "$mandir/"* "$vars{'sys_man'}/$m"`; +- } +- } else { +- info("destination of man symlink $vars{'sys_man'} not writable, " +- . "no linking of man files done.\n"); +- } +- } +- } +-} +- +- +-# we have to adjust the texmf.cnf file to the paths set in the configuration! +-sub do_texmf_cnf { +- open(TMF,"<$vars{'TEXDIR'}/texmf/web2c/texmf.cnf") +- or die "$vars{'TEXDIR'}/texmf/web2c/texmf.cnf not found: $!"; +- my @texmfcnflines = <TMF>; +- close(TMF); +- my @newtmf; +- my @changedtmf; +- # we have to find TEXMFLOCAL TEXMFSYSVAR and TEXMFHOME +- foreach my $line (@texmfcnflines) { +- if ($line =~ m/^TEXMFLOCAL/) { +- # by default TEXMFLOCAL = TEXDIR/../texmf-local, if this is the case +- # we don't have to change anything from the default +- my $deftmlocal = dirname($vars{'TEXDIR'}); +- $deftmlocal .= "/texmf-local"; +- if ("$vars{'TEXMFLOCAL'}" eq "$deftmlocal") { +- push @newtmf, $line; +- } else { +- push @newtmf, "TEXMFLOCAL = $vars{'TEXMFLOCAL'}\n"; +- push @changedtmf, "TEXMFLOCAL = $vars{'TEXMFLOCAL'}\n"; +- } +- } elsif ($line =~ m/^TEXMFSYSVAR/) { +- # by default TEXMFSYSVAR = TEXDIR/texmf-var, if this is the case +- # we don't have to change anything from the default +- if ("$vars{'TEXMFSYSVAR'}" eq "$vars{'TEXDIR'}/texmf-var") { +- push @newtmf, $line; +- } else { +- push @newtmf, "TEXMFSYSVAR = $vars{'TEXMFSYSVAR'}\n"; +- push @changedtmf, "TEXMFSYSVAR = $vars{'TEXMFSYSVAR'}\n"; +- } +- } elsif ($line =~ m/^TEXMFSYSCONFIG/) { +- # by default TEXMFSYSCONFIG = TEXDIR/texmf-config, if this is the case +- # we don't have to change anything from the default +- if ("$vars{'TEXMFSYSCONFIG'}" eq "$vars{'TEXDIR'}/texmf-config") { +- push @newtmf, $line; +- } else { +- push @newtmf, "TEXMFSYSCONFIG = $vars{'TEXMFSYSCONFIG'}\n"; +- push @changedtmf, "TEXMFSYSCONFIG = $vars{'TEXMFSYSCONFIG'}\n"; +- } +- } elsif ($line =~ m/^TEXMFHOME/) { +- # kpse now expands ~ to USERPROFILE, so we don't treat win32 and +- # unix differently +- push @newtmf, "TEXMFHOME = $vars{'TEXMFHOME'}\n"; +- if ("$vars{'TEXMFHOME'}" ne "~/texmf") { +- push @changedtmf, "TEXMFHOME = $vars{'TEXMFHOME'}\n"; +- } +- } elsif ($line =~ m/^OSFONTDIR/) { +- if (win32()) { +- push @newtmf, "OSFONTDIR = \$SystemRoot/fonts//\n"; +- push @changedtmf, "OSFONTDIR = \$SystemRoot/fonts//\n"; +- } else { +- push @newtmf, $line; +- } +- } else { +- push @newtmf, $line; +- } +- } +- my $TMF; +- if (!$vars{'from_dvd'}) { +- $TMF = ">$vars{'TEXDIR'}/texmf.cnf"; +- open(TMF, $TMF) || die "open($TMF) failed: $!"; +- print TMF <<EOF; +-% This texmf.cnf file should contain only your personal changes from the +-% main texmf.cnf. +-% +-% Do NOT change values in the main file (which is in +-% .../texlive/YYYY/texmf/web2c/texmf.cnf), as YOUR CHANGES WILL BE LOST +-% by later updates. +-% +-% If you need to make changes to texmf.cnf, put your custom settings in +-% this file instead, which is YYYY/texmf.cnf. And insert *only* your +-% changed values. +-% +-EOF +-; +- foreach (@changedtmf) { print TMF; } +- } else { +- $TMF = ">$vars{'TEXMFSYSVAR'}/web2c/texmf.cnf"; +- open (TMF, $TMF) || die "open($TMF) failed: $!\n"; +- foreach (@newtmf) { print TMF; } +- } +- close(TMF) || warn "close($TMF) failed: $!"; +-} +- + # do everything to select a scheme + # + sub select_scheme { +Index: texmf/scripts/texlive/tlmgr.pl +=================================================================== +--- texmf/scripts/texlive/tlmgr.pl (revision 12171) ++++ texmf/scripts/texlive/tlmgr.pl (working copy) +@@ -557,6 +557,9 @@ + info("running post remove action for $pkg\n"); + &{$PostRemove{$pkg}}($localtlpdb->root); + } ++ # ++ # Run the post installation code in the postaction tlpsrc entries ++ &TeXLive::TLUtils::do_postaction_code("remove", $tlp); + } + return \%ret; + } +Index: texmf/scripts/texlive/uninstall-win32.pl +=================================================================== +--- texmf/scripts/texlive/uninstall-win32.pl (revision 12171) ++++ texmf/scripts/texlive/uninstall-win32.pl (working copy) +@@ -17,6 +17,11 @@ + } + + use TeXLive::TLWinGoo; ++use TeXLive::TLPDB; ++use TeXLive::TLPOBJ; ++use TeXLive::TLPostActions; ++use TeXLive::TLConfig; ++use TeXLive::TLUtils; + use Tk; + use Tk::Dialog; + +@@ -39,6 +44,23 @@ + $cancel->pack(-side => 'left' , -padx => "3m"); + + sub doit { ++ # first we remove the whole bunch of shortcuts and menu entries ++ # by calling all the post action codes for the installed packages ++ my $localtlpdb = TeXLive::TLPDB->new ("root" => $Master); ++ if (!defined($localtlpdb)) { ++ tlwarn("Cannot load the TLPDB from $Master, are you sure there is an installation?\n"); ++ } else { ++ for my $pkg ($localtlpdb->list_packages) { ++ if (defined($PostRemove{$pkg})) { ++ info("running post remove action for $pkg\n"); ++ &{$PostRemove{$pkg}}($Master); ++ } ++ } ++ &TeXLive::TLUtils::do_postaction_code("remove", $pkg); ++ } ++ my $menupath = &TeXLive::TLWinGoo::menu_path(); ++ $menupath =~ s!/!\\!g; ++ `rmdir /s /q "$menupath\\$TeXLive::TLConfig::WindowsMainMenuName" 2>nul`; + remove_texbindirs_from_path(); + unsetenv_reg("TEXBINDIR"); + # from_dvd case: diff --git a/Master/tlpkg/etc/2009.combined.patch.README b/Master/tlpkg/etc/2009.combined.patch.README index 2fc173e596f..12fc0ae8671 100644 --- a/Master/tlpkg/etc/2009.combined.patch.README +++ b/Master/tlpkg/etc/2009.combined.patch.README @@ -4,6 +4,20 @@ This patch collects all the stuff that we will change for 2009. Currently implemented are: +- renaming of 00texlive-installation.config -> 00texlive.installation + WARNING: that needs to be checked that the old file is removed and the + new file (in tlpsrc) is *really* added!!!! + Better to do it by hand with svn move ... + +- move the tlmgr files to texlive.infra, and make bin-texlive not + critical anymore. This touches many files, not only the TLConfig @crit + array, but also many files in tlpkg/bin/ where bin-texlive is used + as critical + +- add TeXLive::TLConfig::ReleaseYear and in the installer compare the + release as coming from the remote tlpbd with the one from TLConfig, and + if they disagree (in fact only some matching is done) die. + - removal of unshort.bat necessity: remove from TLUtils everything related to unshort.bat remove from TLWinGoo the necessity to pass $texdirw to add_desktop_shortcut @@ -17,6 +31,15 @@ implemented are: touches several tlpsrc changes the parsing in TLPDB->fmtutil_cnf_lines +- rename the option_symlink to option_sysint (for System integration), and + make it show up on windows (where it defaults to on) and Unix (where + it defaults to the value set in 00texlive.installation). + (TODO: fix 00texlive.installation to contain option_sysint/0) + Adapt text and GUI mode installer so that they use the option_sysint + stuff + Separate the system integration of the installation into a new function + TODO: we have to check opt_portable and opt_fromdvd!! Siep! + - implement support for TLPSRC/TLPOBJ postaction line move stuff from TLPostActions into the .tlpsrc files format: @@ -36,3 +59,15 @@ implemented are: call of sub_name_a and at removal time the call of sub_name_b, both within an eval to catch any errors. + + +OPEN THINGS +=========== +- if installation location is + blablabla/2009 + check for + blablabla/2008/tlpkg/texlive.tlpdb + and read in the collection settings (not the package ones) + +- switch on win32 the default GUI to the wizard (this is in install-tl) + |