diff options
author | Norbert Preining <preining@logic.at> | 2009-10-07 11:17:45 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-10-07 11:17:45 +0000 |
commit | 4773e66b6b71c419406ad836e67997034ade6568 (patch) | |
tree | 9a37c952edebddc3743127a9f73faf454ef2a216 /Master | |
parent | 8649889a23d0e13292266b9a12ae94c27a361ed4 (diff) |
first ask whether import should be done, then import, and give a hint
that warning messages about unknown category Documentation are fine ;-)
git-svn-id: svn://tug.org/texlive/trunk@15666 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-x | Master/install-tl | 28 | ||||
-rwxr-xr-x | Master/tlpkg/installer/install-menu-text.pl | 8 |
2 files changed, 24 insertions, 12 deletions
diff --git a/Master/install-tl b/Master/install-tl index ba4fd19ba87..d11d5c43b46 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -286,7 +286,6 @@ if ($opt_nonadmin and win32()) { # media, while $localtlpdb is for the new installation # $tlpdb must be our because it is used in install-menu-text.pl our $tlpdb; -our $previoustlpdb; my $localtlpdb; my $location; @@ -517,13 +516,8 @@ if ($opt_profile eq "") { my $install_tl_root = abs_path($::installerdir); my $tlpdboldpath = "$dn/$TeXLive::TLConfig::InfraLocation/$TeXLive::TLConfig::DatabaseName"; if (-r $tlpdboldpath && $dn ne $install_tl_root) { - # we found an old installation, so read that one in and save - # the list installed collections into an array. - $previoustlpdb = TeXLive::TLPDB->new(root => $dn); - if ($previoustlpdb) { - debug ("found old installation in $dn\n"); - push @runargs, "-old-installation-found"; - } + debug ("found old installation in $dn\n"); + push @runargs, "-old-installation-found=$dn"; } } } @@ -1406,6 +1400,24 @@ sub save_options_into_tlpdb { sub import_settings_from_old_tlpdb { + my $dn = shift; + my $tlpdboldpath = "$dn/$TeXLive::TLConfig::InfraLocation/$TeXLive::TLConfig::DatabaseName"; + my $previoustlpdb; + if (-r $tlpdboldpath) { + # we found an old installation, so read that one in and save + # the list installed collections into an array. + info ("Trying to load old TeX Live Database,\n"); + info ("ignore warnings on unknown category Documentation\n"); + $previoustlpdb = TeXLive::TLPDB->new(root => $dn); + if ($previoustlpdb) { + info ("Importing settings from old installation in $dn\n"); + } else { + tlwarn ("Cannot load old TLPDB, continuing with normal installation.\n"); + return; + } + } else { + return; + } # first import the collections # since the scheme is not the final word we select scheme-custom here # and then set the single collections by hand diff --git a/Master/tlpkg/installer/install-menu-text.pl b/Master/tlpkg/installer/install-menu-text.pl index bc7ff0911b2..33c5881b142 100755 --- a/Master/tlpkg/installer/install-menu-text.pl +++ b/Master/tlpkg/installer/install-menu-text.pl @@ -113,9 +113,9 @@ sub run_menu_text { # but the -old-installation-found while (@args) { my $f = shift @args; - if ($f eq "-old-installation-found") { - print "\nAn old installation of TeX Live has been found in ", - $previoustlpdb->root, "\n"; + if ($f =~ m/^-old-installation-found=(.*)$/) { + my $dn = $1; + print "\nAn old installation of TeX Live has been found in $dn\n"; print " If you want the selection of collections and various options being taken over press `y', otherwise anything else. @@ -123,7 +123,7 @@ over press `y', otherwise anything else. Import settings from previous TeX Live installation: (y/n): "; chomp(my $yn = <STDIN>); if ($yn =~ m/^y$/i) { - import_settings_from_old_tlpdb(); + import_settings_from_old_tlpdb($dn); } } } |