diff options
Diffstat (limited to 'Master/tlpkg')
-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 |
4 files changed, 31 insertions, 17 deletions
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 |