summaryrefslogtreecommitdiff
path: root/Master/tlpkg/etc
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2009-02-16 21:36:35 +0000
committerNorbert Preining <preining@logic.at>2009-02-16 21:36:35 +0000
commitf2206071d27c7454789080dc0fcb5378f7138984 (patch)
tree664b11f657e37368afa605d0a5b9138ff723ec40 /Master/tlpkg/etc
parent48bdc1675c48cf0e776eccb67e28c39e7a2f2246 (diff)
update the 2009 mega patch
git-svn-id: svn://tug.org/texlive/trunk@12173 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/etc')
-rw-r--r--Master/tlpkg/etc/2009.combined.patch2800
-rw-r--r--Master/tlpkg/etc/2009.combined.patch.README35
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)
+