diff options
author | Norbert Preining <preining@logic.at> | 2008-05-15 08:52:12 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-05-15 08:52:12 +0000 |
commit | 760f0b88420ad1079b5596e469b55fda9cf374d5 (patch) | |
tree | 75bbc35bb1c5bc709f7895339917864996555e8d /Master | |
parent | 168e470deff278cbe71353ed8fcb5fb524eb6746 (diff) |
fix for available_archs problem:
- no save the list of available/installed archs into
00texlive-installation.config
at installation time. TLPDB->available_archs will read that and NOT
check for bin-tex.ARCHs
- update tlpsrc/00texlive-installation.config.tlpsrc to contain all the
currently available archs. THAT COULD BE AUTOGENERATED!!!
- add option_archs to TLPDB, rewrite TLPDB->available_archs to use that one
- TLMedia.pm: install .ARCH dpeends in *ANY* case, even if --nodepends is
given
git-svn-id: svn://tug.org/texlive/trunk@8150 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rwxr-xr-x | Master/install-tl | 7 | ||||
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 5 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLMedia.pm | 32 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLPDB.pm | 14 | ||||
-rw-r--r-- | Master/tlpkg/texlive.tlpdb | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/00texlive-installation.config.tlpsrc | 1 |
6 files changed, 43 insertions, 17 deletions
diff --git a/Master/install-tl b/Master/install-tl index a6d7053106a..a41ee9cfeaf 100755 --- a/Master/install-tl +++ b/Master/install-tl @@ -785,6 +785,13 @@ sub save_options_into_tlpdb { $localtlpdb->option_sys_man($vars{'sys_man'}); $localtlpdb->option_docfiles($vars{'option_doc'} ? "1" : "0"); $localtlpdb->option_srcfiles($vars{'option_doc'} ? "1" : "0"); + my @archs; + foreach (keys %vars) { + if (m/^binary_(.*)$/ ) { + if ($vars{$_}) { push @archs, $1; } + } + } + $localtlpdb->option_archs(@archs); $localtlpdb->save(); } diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index 72a0ad6acf9..224b3dd570f 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -799,6 +799,11 @@ sub action_arch { merge_into (\%ret, $tlmediasrc->install_package("bin-tlgs.win32", $localtlpdb, 1, 1)); merge_into (\%ret, $tlmediasrc->install_package("bin-tlpsv.win32", $localtlpdb, 1, 1)); } + # update the option_archs list of installed archs + my @larchs = $localtlpdb->option_archs; + push @larchs, @todoarchs; + $localtlpdb->option_archs(@larchs); + $localtlpdb->save; } else { die "Unknown option for arch: $what"; } diff --git a/Master/tlpkg/TeXLive/TLMedia.pm b/Master/tlpkg/TeXLive/TLMedia.pm index 7ac2901f415..d1cdb14d627 100644 --- a/Master/tlpkg/TeXLive/TLMedia.pm +++ b/Master/tlpkg/TeXLive/TLMedia.pm @@ -193,23 +193,25 @@ sub install_package { my %ret; merge_into(\%ret, $tlpobj->make_return_hash_from_executes("enable")); # now install all the depends if they are not already present - if (!$nodepends) { - foreach my $d ($tlpobj->depends) { - if ($d =~ m/^(.*)\.ARCH$/) { - my $foo = $1; - foreach my $a ($totlpdb->available_architectures) { - if (!defined($totlpdb->get_package("$foo.$a"))) { - merge_into(\%ret, - $self->install_package("$foo.$a", $totlpdb, $nodepends, $fallbackmedia)); - } - } - } elsif ($d =~ m/^(.*).win32$/) { - # install only of win32 is under the available archs - if (TeXLive::TLUtils::member("win32",$totlpdb->available_architectures)) { + # NOTE: installation of .ARCH dependencies is done in *ANY*CASE*, regardless + # of the $nodepends setting + foreach my $d ($tlpobj->depends) { + if ($d =~ m/^(.*)\.ARCH$/) { + my $foo = $1; + foreach my $a ($totlpdb->available_architectures) { + if (!defined($totlpdb->get_package("$foo.$a"))) { merge_into(\%ret, - $self->install_package($d, $totlpdb, $nodepends, $fallbackmedia)); + $self->install_package("$foo.$a", $totlpdb, $nodepends, $fallbackmedia)); } - } else { + } + } elsif ($d =~ m/^(.*).win32$/) { + # install only of win32 is under the available archs + if (TeXLive::TLUtils::member("win32",$totlpdb->available_architectures)) { + merge_into(\%ret, + $self->install_package($d, $totlpdb, $nodepends, $fallbackmedia)); + } + } else { + if (!$nodepends) { if (!defined($totlpdb->get_package($d))) { # we have to install it! merge_into(\%ret, diff --git a/Master/tlpkg/TeXLive/TLPDB.pm b/Master/tlpkg/TeXLive/TLPDB.pm index 54105de6777..dff38e4948c 100644 --- a/Master/tlpkg/TeXLive/TLPDB.pm +++ b/Master/tlpkg/TeXLive/TLPDB.pm @@ -284,13 +284,17 @@ sub save { =item C<< $tlpdb->available_architectures >> The C<available_architectures> functions returns the list of available -architectures by checking for binfiles in the "bin-tex" TLPOBJ. If this -package does not exist, die. +architectures as set in the options section (i.e., using option_archs) =cut sub available_architectures { my $self = shift; + return $self->option_archs; +} + +sub old_available_architectures { + my $self = shift; my @packs = $self->list_packages; my @archs; # map { s@^$tltree/@@ ; push @nf, $_; } @files; @@ -806,6 +810,12 @@ sub _option_value { return; } +sub option_archs { + my $self = shift; + if (@_) { $self->_set_option_value("archs","@_"); } + my @archs = split ' ', $self->_option_value("archs"); + return @archs; +} sub option_symlinks { my $self = shift; if (@_) { $self->_set_option_value("symlinks", shift); } diff --git a/Master/tlpkg/texlive.tlpdb b/Master/tlpkg/texlive.tlpdb index 552dda13d04..ebd7932c052 100644 --- a/Master/tlpkg/texlive.tlpdb +++ b/Master/tlpkg/texlive.tlpdb @@ -2,6 +2,7 @@ name 00texlive-installation.config category TLCore revision 7888 depend platform: +depend archs:alpha-linux hppa-hpux i386-darwin i386-freebsd i386-linux i386-openbsd i386-solaris mips-irix powerpc-aix powerpc-darwin powerpc-linux sparc-linux sparc-solaris win32 x86_64-linux depend location:__MASTER__ depend paper:a4 depend formats:0 diff --git a/Master/tlpkg/tlpsrc/00texlive-installation.config.tlpsrc b/Master/tlpkg/tlpsrc/00texlive-installation.config.tlpsrc index ceedb22e802..421fa7ec8de 100644 --- a/Master/tlpkg/tlpsrc/00texlive-installation.config.tlpsrc +++ b/Master/tlpkg/tlpsrc/00texlive-installation.config.tlpsrc @@ -1,6 +1,7 @@ name 00texlive-installation.config category TLCore depend platform: +depend archs:alpha-linux hppa-hpux i386-darwin i386-freebsd i386-linux i386-openbsd i386-solaris mips-irix powerpc-aix powerpc-darwin powerpc-linux sparc-linux sparc-solaris win32 x86_64-linux depend location:__MASTER__ depend paper:a4 depend formats:0 |