diff options
-rwxr-xr-x | Master/texmf/scripts/texlive/tlmgr.pl | 11 | ||||
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 5 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tl-update-containers | 10 | ||||
-rw-r--r-- | Master/tlpkg/etc/check-on-supported-arch.diff | 90 |
4 files changed, 23 insertions, 93 deletions
diff --git a/Master/texmf/scripts/texlive/tlmgr.pl b/Master/texmf/scripts/texlive/tlmgr.pl index 5203155646f..e111d4de845 100755 --- a/Master/texmf/scripts/texlive/tlmgr.pl +++ b/Master/texmf/scripts/texlive/tlmgr.pl @@ -1471,7 +1471,16 @@ sub init_local_db { die("cannot find tlpdb at $Master!") unless (defined($localtlpdb)); # setup the programs, for win32 we need the shipped wget/lzma etc, so we # pass the location of these files to setup_programs. - if (!setup_programs("$Master/tlpkg/installer", $localtlpdb->option_platform)) { + my $ret = setup_programs("$Master/tlpkg/installer", $localtlpdb->option_platform); + if ($ret == -1) { + tlwarn("no binary of lzmadec for $::_platform_ detected.\n"); + if (defined($should_i_die) && $should_i_die) { + exit 1; + } else { + tlwarn("Continuing anyway ...\n"); + } + } + if (!$ret) { tlwarn("Couldn't set up the necessary programs.\nInstallation of packages is not supported.\nPlease report to texlive\@tug.org.\n"); if (defined($should_i_die) && $should_i_die) { finish(1); diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index 61ca2d760e6..3c6ff203103 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -1019,7 +1019,9 @@ C<wget>, C<tar>, C<lzmadec>. The C<$bindir> argument specifies the path to the location of the C<lzmadec> binaries, the C<$platform> gives the TeX Live platform name, used as the extension on the executables. -Returns true if successfull, otherwise false. +Returns -1 if the architecture is not supported (i.e., there is no +lzmadec binary for that arch present), 0 for programs don't work, +and 1 for success. =cut @@ -1047,6 +1049,7 @@ sub setup_programs { } elsif (-r "$bindir/wget/wget.$platform") { $::progs{'wget'} = "$bindir/wget/wget.$platform"; } + return(-1) if (! -r $::progs{'lzmadec'}); # # check that the programs are actually working my $nul = "/dev/null"; diff --git a/Master/tlpkg/bin/tl-update-containers b/Master/tlpkg/bin/tl-update-containers index 440e0cb82ac..dcbe30eed10 100755 --- a/Master/tlpkg/bin/tl-update-containers +++ b/Master/tlpkg/bin/tl-update-containers @@ -174,7 +174,15 @@ sub main $::progs{'tar'} = "tar"; } else { # do a full setup - &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer"); + my $ret = &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer"); + if ($ret == -1) { + tlwarn("no binary of lzmadec for $::_platform_ detected, aborting.\n"); + exit 1; + } + if (!$ret) { + tlwarn("binaries could not be set up, aborting.\n"); + exit 1; + } } # get list of packages. diff --git a/Master/tlpkg/etc/check-on-supported-arch.diff b/Master/tlpkg/etc/check-on-supported-arch.diff deleted file mode 100644 index 0a8e308bbdc..00000000000 --- a/Master/tlpkg/etc/check-on-supported-arch.diff +++ /dev/null @@ -1,90 +0,0 @@ -Index: tlpkg/TeXLive/TLUtils.pm -=================================================================== ---- tlpkg/TeXLive/TLUtils.pm (revision 10739) -+++ tlpkg/TeXLive/TLUtils.pm (working copy) -@@ -1017,7 +1017,9 @@ - to the location of the C<lzmadec> binaries, the C<$platform> gives the - TeX Live platform name, used as the extension on the executables. - --Returns true if successfull, otherwise false. -+Returns -1 if the architecture is not supported (i.e., there is no -+lzmadec binary for that arch present), 0 for programs don't work, -+and 1 for success. - - =cut - -@@ -1041,10 +1043,10 @@ - $::progs{'tar'} = conv_to_win_path("$bindir/tar.exe"); - $::progs{'lzmadec'} = conv_to_win_path("$bindir/lzma/lzmadec.win32.exe"); - $::progs{'lzma'} = conv_to_win_path("$bindir/lzma/lzma.exe"); -- - } elsif (-r "$bindir/wget/wget.$platform") { - $::progs{'wget'} = "$bindir/wget/wget.$platform"; - } -+ return(-1) if (! -r $::progs{'lzmadec'}); - # - # check that the programs are actually working - my $nul = "/dev/null"; -Index: install-tl -=================================================================== ---- install-tl (revision 10739) -+++ install-tl (working copy) -@@ -308,7 +308,14 @@ - - # initialize the correct platform - platform(); --if (!setup_programs ("$::installerdir/tlpkg/installer", "$::_platform_")) { -+my $setupret = setup_programs ("$::installerdir/tlpkg/installer", "$::_platform_"); -+if ($setupret == -1) { -+ # that arch seems to be unsupported -+ tlwarn("It seems that your architecture-operating system combination\n\t$::_platform_\nis not supported at the moment!\nIf you plan to build binaries for it please contact us at tlbuild\@tug.org.\n"); -+ exit 1; -+} -+# now $setupret can only be 0 or 1 -+if (!$setupret) { - tlwarn("Couldn't set up the necessary programs.\nCannot continue with installation.\nPlease report to texlive\@tug.org.\n"); - exit 1; - } -Index: tlpkg/bin/tl-update-containers -=================================================================== ---- tlpkg/bin/tl-update-containers (revision 10744) -+++ tlpkg/bin/tl-update-containers (working copy) -@@ -163,7 +163,15 @@ - $::progs{'tar'} = "tar"; - } else { - # do a full setup -- &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer"); -+ my $ret = &TeXLive::TLUtils::setup_programs("$Master/tlpkg/installer"); -+ if ($ret == -1) { -+ tlwarn("no binary of lzmadec for $::_platform_ detected, aborting!\n"); -+ exit 1; -+ } -+ if (!$ret) { -+ tlwarn("binaries could not be set up, aborting!\n"); -+ exit 1; -+ } - } - - # get list of packages. -Index: texmf/scripts/texlive/tlmgr.pl -=================================================================== ---- texmf/scripts/texlive/tlmgr.pl (revision 10750) -+++ texmf/scripts/texlive/tlmgr.pl (working copy) -@@ -1133,7 +1133,16 @@ - die("cannot find tlpdb at $Master!") unless (defined($localtlpdb)); - # setup the programs, for win32 we need the shipped wget/lzma etc, so we - # pass the location of these files to setup_programs. -- if (!setup_programs("$Master/tlpkg/installer", $localtlpdb->option_platform)) { -+ my $ret = setup_programs("$Master/tlpkg/installer", $localtlpdb->option_platform); -+ if ($ret == -1) { -+ tlwarn("no binary of lzmadec for $::_platform_ detected!\n"); -+ if (defined($should_i_die) && $should_i_die) { -+ exit 1; -+ } else { -+ tlwarn("Continuing anyway ...\n"); -+ } -+ } -+ if (!$ret) { - tlwarn("Couldn't set up the necessary programs.\nInstallation of packages is not supported.\nPlease report to texlive\@tug.org.\n"); - if (defined($should_i_die) && $should_i_die) { - exit 1; |