summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-05-15 08:52:12 +0000
committerNorbert Preining <preining@logic.at>2008-05-15 08:52:12 +0000
commit760f0b88420ad1079b5596e469b55fda9cf374d5 (patch)
tree75bbc35bb1c5bc709f7895339917864996555e8d /Master
parent168e470deff278cbe71353ed8fcb5fb524eb6746 (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-xMaster/install-tl7
-rwxr-xr-xMaster/texmf/scripts/texlive/tlmgr.pl5
-rw-r--r--Master/tlpkg/TeXLive/TLMedia.pm32
-rw-r--r--Master/tlpkg/TeXLive/TLPDB.pm14
-rw-r--r--Master/tlpkg/texlive.tlpdb1
-rw-r--r--Master/tlpkg/tlpsrc/00texlive-installation.config.tlpsrc1
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