summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-02-28 22:13:17 +0000
committerKarl Berry <karl@freefriends.org>2022-02-28 22:13:17 +0000
commit1e2c728c55d5c3b5bc509c2f6513a03891b2b452 (patch)
treec4764ce953e39570fa142bce17a8d93b6d6901af /Build
parentcb2945afa2fa0c769b4846d155071a65cfeec375 (diff)
doc,sync
git-svn-id: svn://tug.org/texlive/trunk@62297 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/README10
-rw-r--r--Build/source/texk/tests/TeXLive/TLConfig.pm22
-rw-r--r--Build/source/texk/tests/TeXLive/TLUtils.pm28
3 files changed, 45 insertions, 15 deletions
diff --git a/Build/source/README b/Build/source/README
index c79f740ddba..388fbcd2948 100644
--- a/Build/source/README
+++ b/Build/source/README
@@ -34,15 +34,17 @@ aarch64-linux:
armhf-linux:
Raspbian/Raspberry Pi OS (Debian Buster)
- gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
+ gcc version 10.2.1 20210110 (Raspbian 10.2.1-6+rpi1)
./Build --enable-xindy CLISP=${BUILD_ROOT_DIR}/clisp/clisp-build/clisp}
+ armhf-linux binaries are created and tested on RPi;
+ they run on RPi, as well as ARMv7 CPUs, but are untested on non-RPi
+ ARMv6 machines.
i386-cygwin, x86_64-cygwin: gcc-10.2.0, cygwin-3.1.7
TL_CONFIGURE_ARGS="--enable-xindy --enable-shared CLISP=/path/to/clisp.exe
LDFLAGS='-Wl,--no-insert-timestamp -Wl,--stack,0x800000'" \
./Build
-
i386-freebsd, amd64-freebsd:
Built on contextgarden, see below.
FreeBSD 11.4
@@ -50,7 +52,7 @@ i386-freebsd, amd64-freebsd:
i386-linux: see travis below.
i386-netbsd, amd64-netbsd:
- NetBSD/amd64 9.1
+ NetBSD/amd64 9.2
gcc version 7.5.0 (nb4 20200810)
TL_MAKE=gmake CC=gcc CXX=g++ \
CFLAGS=-D_NETBSD_SOURCE \
@@ -80,7 +82,7 @@ x86_64-linux,
x86_64-linuxmusl:
CentOS 7 Docker image with musl libc 1.1.5, plus gcc10:
yum -y install centos-release-scl-rh
- yum -y install devtoolset-10-gcc-c++
+ yum -y install devtoolset-9-gcc-c++
yum install -y fontconfig-devel libX11-devel libXmu-devel libXaw-devel
Binaries are taken from the CI testing via github;
see the source/.github/* files for details on how to build,
diff --git a/Build/source/texk/tests/TeXLive/TLConfig.pm b/Build/source/texk/tests/TeXLive/TLConfig.pm
index b4a9a4c6875..f285471bd2e 100644
--- a/Build/source/texk/tests/TeXLive/TLConfig.pm
+++ b/Build/source/texk/tests/TeXLive/TLConfig.pm
@@ -1,3 +1,4 @@
+# $Id: TLConfig.pm 62186 2022-02-26 17:51:21Z karl $
# TeXLive::TLConfig.pm - module exporting configuration values
# Copyright 2007-2021 Norbert Preining
# This file is licensed under the GNU General Public License version 2
@@ -6,7 +7,7 @@
use strict; use warnings;
package TeXLive::TLConfig;
-my $svnrev = '$Revision: 61229 $';
+my $svnrev = '$Revision: 62186 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -40,6 +41,7 @@ BEGIN {
$TeXLiveURL
@CriticalPackagesList
$CriticalPackagesRegexp
+ @InstallExtraRequiredPackages
$WindowsMainMenuName
$RelocPrefix
$RelocTree
@@ -60,7 +62,7 @@ BEGIN {
# the year of our release, will be used in the location of the
# network packages, and in menu names, and other places.
-our $ReleaseYear = 2021;
+our $ReleaseYear = 2022;
# users can upgrade from this year to the current year; might be the
# same as the release year, or any number of releases earlier.
@@ -121,6 +123,16 @@ if ($^O =~ /^MSWin/i) {
$CriticalPackagesRegexp = '^(texlive\.infra|tlperl\.win32$)';
}
+
+# Extra package that are required for installation and installed
+# during the first run of the installer.
+# texlive-scripts are necessary for mktexlsr, updmap, fmtutil, ...
+# the installation cannot continue without those
+our @InstallExtraRequiredPackages = qw/texlive-scripts kpathsea hyphen-base/;
+if ($^O =~ /^MSWin/i) {
+ push @InstallExtraRequiredPackages, "luatex";
+}
+
#
our @AcceptedFallbackDownloaders = qw/curl wget/;
our %FallbackDownloaderProgram = ( 'wget' => 'wget', 'curl' => 'curl');
@@ -357,6 +369,12 @@ C<systems/texlive/tlnet/>.
A list of all those packages which we do not update regularly since they
are too central, currently texlive.infra and (for Windows) tlperl.win32.
+=item C<@TeXLive::TLConfig::InstallExtraRequiredPackages>
+
+A list of packages that are required in addition to those from
+C<@CriticalPackagesList> for the installer to be able to conclude
+installation.
+
=item C<$TeXLive::TLConfig::RelocTree>
The texmf-tree name that can be relocated, defaults to C<texmf-dist>.
diff --git a/Build/source/texk/tests/TeXLive/TLUtils.pm b/Build/source/texk/tests/TeXLive/TLUtils.pm
index 9bade5c9bb0..94ab56a3d0e 100644
--- a/Build/source/texk/tests/TeXLive/TLUtils.pm
+++ b/Build/source/texk/tests/TeXLive/TLUtils.pm
@@ -1,4 +1,4 @@
-# $Id: TLUtils.pm 61960 2022-02-09 21:43:08Z karl $
+# $Id: TLUtils.pm 62112 2022-02-20 22:57:45Z preining $
# TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
# Copyright 2007-2022 Norbert Preining, Reinhard Kotucha
# This file is licensed under the GNU General Public License version 2
@@ -8,7 +8,7 @@ use strict; use warnings;
package TeXLive::TLUtils;
-my $svnrev = '$Revision: 61960 $';
+my $svnrev = '$Revision: 62112 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -73,7 +73,7 @@ C<TeXLive::TLUtils> - TeX Live infrastructure miscellany
TeXLive::TLUtils::create_language_def($tlpdb,$dest,$localconf);
TeXLive::TLUtils::create_language_lua($tlpdb,$dest,$localconf);
TeXLive::TLUtils::time_estimate($totalsize, $donesize, $starttime)
- TeXLive::TLUtils::install_packages($from_tlpdb,$media,$to_tlpdb,$what,$opt_src, $opt_doc)>);
+ TeXLive::TLUtils::install_packages($from_tlpdb,$media,$to_tlpdb,$what,$opt_src, $opt_doc, $retry, $continue);
TeXLive::TLUtils::do_postaction($how, $tlpobj, $do_fileassocs, $do_menu, $do_desktop, $do_script);
TeXLive::TLUtils::announce_execute_actions($how, @executes, $what);
TeXLive::TLUtils::add_symlinks($root, $arch, $sys_bin, $sys_man, $sys_info);
@@ -502,7 +502,7 @@ sub platform_desc {
'amd64-midnightbsd'=> 'MidnightBSD on x86_64',
'amd64-netbsd' => 'NetBSD on x86_64',
'armel-linux' => 'GNU/Linux on ARM',
- 'armhf-linux' => 'GNU/Linux on ARMv6/RPi',
+ 'armhf-linux' => 'GNU/Linux on RPi(32-bit) and ARMv7',
'hppa-hpux' => 'HP-UX',
'i386-cygwin' => 'Cygwin on Intel x86',
'i386-darwin' => 'MacOSX legacy (10.5-10.6) on Intel x86',
@@ -1579,7 +1579,7 @@ sub time_estimate {
}
-=item C<install_packages($from_tlpdb, $media, $to_tlpdb, $what, $opt_src, $opt_doc)>
+=item C<install_packages($from_tlpdb, $media, $to_tlpdb, $what, $opt_src, $opt_doc, $retry, $continue)>
Installs the list of packages found in C<@$what> (a ref to a list) into
the TLPDB given by C<$to_tlpdb>. Information on files are taken from
@@ -1588,12 +1588,17 @@ the TLPDB C<$from_tlpdb>.
C<$opt_src> and C<$opt_doc> specify whether srcfiles and docfiles should be
installed (currently implemented only for installation from uncompressed media).
+If C<$retry> is trueish, retry failed packages a second time.
+
+If C<$continue> is trueish, installation failure of non-critical packages
+will be ignored.
+
Returns 1 on success and 0 on error.
=cut
sub install_packages {
- my ($fromtlpdb,$media,$totlpdb,$what,$opt_src,$opt_doc) = @_;
+ my ($fromtlpdb,$media,$totlpdb,$what,$opt_src,$opt_doc, $opt_retry, $opt_continue) = @_;
my $container_src_split = $fromtlpdb->config_src_container;
my $container_doc_split = $fromtlpdb->config_doc_container;
my $root = $fromtlpdb->root;
@@ -1651,7 +1656,7 @@ sub install_packages {
# (and not installing from disk).
if (!$fromtlpdb->install_package($package, $totlpdb)) {
tlwarn("TLUtils::install_packages: Failed to install $package\n");
- if ($media eq "NET") {
+ if ($opt_retry) {
tlwarn(" $package will be retried later.\n");
push @packs_again, $package;
} else {
@@ -1670,7 +1675,12 @@ sub install_packages {
info("$infostr\n");
# return false if download failed again
if (!$fromtlpdb->install_package($package, $totlpdb)) {
- return 0;
+ if ($opt_continue) {
+ push @::installation_failed_packages, $package;
+ tlwarn("Failed to install $package, but continue anyway!\n");
+ } else {
+ return 0;
+ }
}
$donesize += $tlpsizes{$package};
}
@@ -4080,7 +4090,7 @@ END_NO_SSL
#
sub query_ctan_mirror_curl {
my $max_trial = 3;
- my $warg = (win32() ? "-w %{url_effective} " : "-w '%{url_effective}' ");
+ my $warg = (win32() ? '-w "%{url_effective}" ' : "-w '%{url_effective}' ");
for (my $i = 1; $i <= $max_trial; $i++) {
# -L -> follow redirects
# -s -> silent