texlive[52796] Build/source/texk: sync

commits+karl at tug.org commits+karl at tug.org
Thu Nov 14 22:58:34 CET 2019


Revision: 52796
          http://tug.org/svn/texlive?view=revision&revision=52796
Author:   karl
Date:     2019-11-14 22:58:34 +0100 (Thu, 14 Nov 2019)
Log Message:
-----------
sync

Modified Paths:
--------------
    trunk/Build/source/texk/tests/TeXLive/TLConfig.pm
    trunk/Build/source/texk/tests/TeXLive/TLUtils.pm
    trunk/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Build/source/texk/texlive/tl_scripts/fmtutil.cnf

Modified: trunk/Build/source/texk/tests/TeXLive/TLConfig.pm
===================================================================
--- trunk/Build/source/texk/tests/TeXLive/TLConfig.pm	2019-11-14 21:55:29 UTC (rev 52795)
+++ trunk/Build/source/texk/tests/TeXLive/TLConfig.pm	2019-11-14 21:58:34 UTC (rev 52796)
@@ -5,7 +5,7 @@
 
 package TeXLive::TLConfig;
 
-my $svnrev = '$Revision: 52112 $';
+my $svnrev = '$Revision: 52745 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -232,7 +232,7 @@
 our $WindowsMainMenuName = "TeX Live $ReleaseYear";
 
 # Comma-separated list of engines which do not exist on all platforms.
-our $PartialEngineSupport = "luajittex,mfluajit";
+our $PartialEngineSupport = "luahbtex,luajittex,mfluajit";
 
 # Flags for error handling across the scripts and modules
 # all fine

Modified: trunk/Build/source/texk/tests/TeXLive/TLUtils.pm
===================================================================
--- trunk/Build/source/texk/tests/TeXLive/TLUtils.pm	2019-11-14 21:55:29 UTC (rev 52795)
+++ trunk/Build/source/texk/tests/TeXLive/TLUtils.pm	2019-11-14 21:58:34 UTC (rev 52796)
@@ -5,7 +5,7 @@
 
 package TeXLive::TLUtils;
 
-my $svnrev = '$Revision: 52568 $';
+my $svnrev = '$Revision: 52706 $';
 my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
 sub module_revision { return $_modulerevision; }
 
@@ -1129,6 +1129,7 @@
 =cut
 
 sub copy {
+  #too verbose ddebug("TLUtils::copy(", join (",", @_), "\n");
   my $infile = shift;
   my $filemode = 0;
   my $dereference = 0;
@@ -1180,12 +1181,13 @@
     if ($linktarget !~ m,^/,) {
       $infile = Cwd::abs_path(dirname($infile)) . "/$linktarget";
     }
+    ddebug("TLUtils::copy: dereferencing symlink $infile -> $linktarget");
   }
 
   if (-l $infile) {
     my $linktarget = readlink($infile);
     my $dest = "$destdir/$filename";
-    debug("TLUtils::copy: doing symlink($linktarget,$dest)"
+    ddebug("TLUtils::copy: doing symlink($linktarget,$dest)"
           . " [from readlink($infile)]\n");
     symlink($linktarget, $dest) || die "symlink($linktarget,$dest) failed: $!";
   } else {
@@ -2521,7 +2523,7 @@
     $::progs{'compressor'} = $ENV{'TEXLIVE_COMPRESSOR'};
   }
 
-  if ($::opt_verbosity >= 1) {
+  if ($::opt_verbosity >= 2) {
     require Data::Dumper;
     use vars qw($Data::Dumper::Indent $Data::Dumper::Sortkeys
                 $Data::Dumper::Purity); # -w pain
@@ -2602,16 +2604,16 @@
   debug("(unix) trying to set up $p, default $def, arg $arg\n");
   if (-r $def) {
     if (-x $def) {
-      ddebug("default $def has executable permissions\n");
+      ddebug(" Default $def has executable permissions\n");
       # we have to check for actual "executability" since a "noexec"
       # mount option may interfere, which is not taken into account by -x.
       my $ret = system("'$def' $arg >/dev/null 2>&1" ); # we are on Unix
       if ($ret == 0) {
         $::progs{$p} = $def;
-        debug("Using shipped $def for $p (tested).\n");
+        debug(" Using shipped $def for $p (tested).\n");
         return(1);
       } else {
-        ddebug("Shipped $def has -x but cannot be executed, "
+        ddebug(" Shipped $def has -x but cannot be executed, "
                . "trying tmp copy.\n");
       }
     }
@@ -2632,7 +2634,7 @@
     if (! -x $tmpprog) {
       # hmm, something is going really bad, not even the copy is
       # executable. Fall back to normal path element
-      ddebug("Copied $p $tmpprog does not have -x bit, strange!\n");
+      ddebug(" Copied $p $tmpprog does not have -x bit, strange!\n");
       return(0);
     } else {
       # check again for executability
@@ -2639,12 +2641,12 @@
       my $ret = system("$tmpprog $arg > /dev/null 2>&1");
       if ($ret == 0) {
         # ok, the copy works
-        debug("Using copied $tmpprog for $p (tested).\n");
+        debug(" Using copied $tmpprog for $p (tested).\n");
         $::progs{$p} = $tmpprog;
         return(1);
       } else {
         # even the copied prog is not executable, strange
-        ddebug("Copied $p $tmpprog has x bit but not executable?!\n");
+        ddebug(" Copied $p $tmpprog has x bit but not executable?!\n");
         return(0);
       }
     }

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl	2019-11-14 21:55:29 UTC (rev 52795)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/fmtutil.pl	2019-11-14 21:58:34 UTC (rev 52796)
@@ -1,5 +1,5 @@
 #!/usr/bin/env perl
-# $Id: fmtutil.pl 48129 2018-07-03 22:15:38Z karl $
+# $Id: fmtutil.pl 52741 2019-11-11 23:16:13Z karl $
 # fmtutil - utility to maintain format files.
 # (Maintained in TeX Live:Master/texmf-dist/scripts/texlive.)
 # 
@@ -24,11 +24,11 @@
   TeX::Update->import();
 }
 
-my $svnid = '$Id: fmtutil.pl 48129 2018-07-03 22:15:38Z karl $';
-my $lastchdate = '$Date: 2018-07-04 00:15:38 +0200 (Wed, 04 Jul 2018) $';
+my $svnid = '$Id: fmtutil.pl 52741 2019-11-11 23:16:13Z karl $';
+my $lastchdate = '$Date: 2019-11-12 00:16:13 +0100 (Tue, 12 Nov 2019) $';
 $lastchdate =~ s/^\$Date:\s*//;
 $lastchdate =~ s/ \(.*$//;
-my $svnrev = '$Revision: 48129 $';
+my $svnrev = '$Revision: 52741 $';
 $svnrev =~ s/^\$Revision:\s*//;
 $svnrev =~ s/\s*\$$//;
 my $version = "r$svnrev ($lastchdate)";
@@ -162,7 +162,7 @@
     $opts{'user'} = 1;
 
     GetOptions ( "help" => \$opts{'help'}, "version" => \$opts{'version'} )
-        or die "Unknown option in mktexfmt command line arguments\n";
+      || die "$prg: Unknown option in mktexfmt command line arguments.\n";
     if ($ARGV[0]) {
       if ($ARGV[0] =~ m/^(.*)\.(fmt|mem|base?)$/) {
         $opts{'byfmt'} = $1;
@@ -447,12 +447,12 @@
   for (@deferred_stdout) { print $stdo $_; }
   for (@deferred_stderr) { print STDERR $_; }
   #
-  print_info("Disabled formats: $disabled\n")        if ($disabled);
-  print_info("Successfully rebuilt formats: $suc\n") if ($suc);
-  print_info("Not selected formats: $nobuild\n")     if ($nobuild);
-  print_info("Not available formats: $notavail\n")   if ($notavail);
-  print_info("Failed to build: $err (@err)\n")       if ($err);
-  print_info("Total formats: $total\n");
+  print_info("disabled formats: $disabled\n")        if ($disabled);
+  print_info("successfully rebuilt formats: $suc\n") if ($suc);
+  print_info("not selected formats: $nobuild\n")     if ($nobuild);
+  print_info("not available formats: $notavail\n")   if ($notavail);
+  print_info("failed to build: $err (@err)\n")       if ($err);
+  print_info("total formats: $total\n");
   chdir($thisdir) || warn "chdir($thisdir) failed: $!";
   if (win32()) {
     # try to remove the tmpdir with all files
@@ -516,7 +516,7 @@
     }
   }
   if ($doit) {
-    return rebuild_one_format($fmt, $eng, $kpsefmt, $destdir, $fmtfile, $logfile);
+    return rebuild_one_format($fmt,$eng,$kpsefmt,$destdir,$fmtfile,$logfile);
   } else {
     return $FMT_NOTSELECTED;
   }
@@ -523,8 +523,9 @@
 }
 
 # 
 compute_format_destination
-# takes fmt/eng and returns the location where format and log files should be saved
-# return value (dump file full path, log file full path)
+# takes fmt/eng and returns the locations where format and log files
+# should be saved, that is, a list: (dump file full path, log file full path)
+# 
 sub compute_format_destination {
   my ($fmt, $eng) = @_;
   my $enginedir;
@@ -557,11 +558,12 @@
 
 
 # 
 rebuild_one_format
-# takes fmt/eng and rebuilds it, irrelevant of any setting
+# takes fmt/eng and rebuilds it, irrelevant of any setting;
+# copies generated log file
 # return value FMT_*
 #
 sub rebuild_one_format {
-  my ($fmt, $eng, $kpsefmt, $destdir, $fmtfile, $logfile) = @_;
+  my ($fmt,$eng,$kpsefmt,$destdir,$fmtfile,$logfile) = @_;
   print_info("--- remaking $fmt with $eng\n");
 
   # get variables
@@ -575,7 +577,7 @@
   my $pool;
   my $tcx = "";
   my $tcxflag = "";
-  my $localpool=0;
+  my $localpool = 0;
   my $texargs;
 
   unlink glob "*.pool";
@@ -624,7 +626,7 @@
     $texargs = $addargs;
   }
   if ($pool) {
-    chomp ( my $poolfile = `kpsewhich -progname=$eng $pool.poo 2>$nul` );
+    chomp (my $poolfile = `kpsewhich -progname=$eng $pool.poo 2>$nul`);
     if ($poolfile && -f $poolfile) {
       print_verbose("attempting to create localized format "
                     . "using pool=$pool and tcx=$tcx.\n");
@@ -656,7 +658,7 @@
         ",$opts{'no-error-if-no-engine'}," =~ m/,$eng,/) {
       return $FMT_NOTAVAIL;
     } else {
-      print_deferred_error("not building $fmt due to missing engine $eng.\n");
+      print_deferred_error("not building $fmt due to missing engine: $eng\n");
       return $FMT_FAILURE;
     }
   }
@@ -675,19 +677,35 @@
     $cmdline .= " >&2" if $mktexfmtMode;
     $cmdline .= " <$nul";
     my $retval = system($cmdline);
+    
+    # report error if it failed.
     if ($retval != 0) {
       $retval /= 256 if ($retval > 0);
-      print_deferred_error("running \`$cmdline' return status $retval\n");
-      #
-      # original shell script did *not* check the return value
-      # we keep this behavior, but add an option --strict that
-      # errors out on all failures.
-      if ($opts{'strict'}) {
-        print_deferred_error("return error due to options --strict\n");
-        return $FMT_FAILURE;
-      }
+      print_deferred_error("running \`$cmdline' return status: $retval\n");
     }
 
+    # Copy the log file after the program is run, so that the log file
+    # is available to inspect even on failure. So we need the dest dir tree.
+    TeXLive::TLUtils::mkdirhier($destdir);
+    #
+    # Here and in the following we use copy instead of move
+    # to make sure that in SElinux enabled cases the rules of
+    # the destination directory are applied.
+    # See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900580
+    if (File::Copy::copy($logfile, "$destdir/$logfile")) {
+      print_info("log file copied to: $destdir/$logfile\n");
+    } else {
+      print_deferred_error("cannot copy log $logfile to: $destdir\n");
+    }
+
+    # original shell script did *not* check the return value
+    # we keep this behavior, but add an option --strict that
+    # errors out on all failures.
+    if ($retval != 0 && $opts{'strict'}) {
+      print_deferred_error("returning error due to option --strict\n");
+      return $FMT_FAILURE;
+    }
+
     if ($localpool) {
       if ($texpool) {
         $ENV{'TEXPOOL'} = $texpool;
@@ -695,7 +713,6 @@
         delete $ENV{'TEXPOOL'};
       }
     }
-
   }
 
   # check and install of fmt and log files
@@ -717,27 +734,18 @@
     print_deferred_error("\`$cmdline' had errors.\n");
   }
 
-  TeXLive::TLUtils::mkdirhier($destdir);
-  
-  # here and in the following we use copy instead of move
-  # to make sure that in SElinux enabled cases the rules of
-  # the destination directory are applied.]
-  # See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900580
-  if (!File::Copy::copy( $logfile, "$destdir/$logfile")) {
-    print_deferred_error("Cannot copy $logfile to $destdir.\n");
-  }
   if ($opts{'recorder'}) {
-    # the recorder output is used by check-fmttriggers to determine
+    # the recorder output is used by tl-check-fmttriggers to determine
     # package dependencies for each format.  Unfortunately omega-based
     # engines gratuitiously changed the extension from .fls to .ofl.
     my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls");
-    if (!File::Copy::copy( $recfile, "$destdir/$recfile")) {
-      print_deferred_error("Cannot copy $recfile to $destdir.\n");
+    if (!File::Copy::copy($recfile, "$destdir/$recfile")) {
+      print_deferred_error("cannot copy recorder $recfile to: $destdir\n");
     }
   }
 
   my $destfile = "$destdir/$fmtfile";
-  if (File::Copy::copy( $fmtfile, $destfile )) {
+  if (File::Copy::copy($fmtfile, $destfile )) {
     print_info("$destfile installed.\n");
     #
     # original fmtutil.sh did some magic trick for mplib-luatex.mem
@@ -784,10 +792,10 @@
     return $FMT_SUCCESS;
 
   } else {
-    print_deferred_error("Cannot copy $fmtfile to $destfile.\n");
+    print_deferred_error("cannot copy format $fmtfile to: $destfile\n");
     if (-f $destfile) {
       # remove the empty file possibly left over if near-full file system.
-      print_verbose("Removing partial file after copy failure: $destfile\n");
+      print_verbose("removing partial file after copy failure: $destfile\n");
       unlink($destfile)
         || print_deferred_error("unlink($destfile) failed: $!\n");
     }
@@ -1032,7 +1040,7 @@
     my @tmp;
     for my $f (@{$opts{'cnffile'}}) {
       if (! -f $f) {
-        die "$prg: Config file \"$f\" not found.";
+        die "$prg: Config file \"$f\" not found";
       }
       push @tmp, (win32() ? lc($f) : $f);
     }

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2019-11-14 21:55:29 UTC (rev 52795)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2019-11-14 21:58:34 UTC (rev 52796)
@@ -1,12 +1,12 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 52672 2019-11-07 18:35:53Z karl $
+# $Id: tlmgr.pl 52752 2019-11-12 21:34:13Z karl $
 #
 # Copyright 2008-2019 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 
-my $svnrev = '$Revision: 52672 $';
-my $datrev = '$Date: 2019-11-07 19:35:53 +0100 (Thu, 07 Nov 2019) $';
+my $svnrev = '$Revision: 52752 $';
+my $datrev = '$Date: 2019-11-12 22:34:13 +0100 (Tue, 12 Nov 2019) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -5676,10 +5676,11 @@
     my $engine = $r{"engine"};
     my $name = $r{"name"};
     my $mode = $r{"mode"};
-    # special case for cont-en ...
+    # just never mind about these.
     next if ($name eq "cont-en");
+    next if ($name eq "lualatex-dev");
     # we check that the name exist in bin/$arch
-    if ($engine =~ /^lua(jit|hb)tex$/) {
+    if (",$TeXLive::TLConfig::PartialEngineSupport," =~ /,$engine,/) {
       # luajittex is special since it is not available on all architectures
       #   due to inherent reasons (machine code);
       # luahbtex is special until we build it everywhere for TL'20.
@@ -5719,7 +5720,7 @@
       } else {
         @archs_to_check = (); # no tlpsrc, check nothing.
       }
-      ddebug("check_executes: final arches to check: @archs_to_check");
+      ddebug("check_executes: final arches to check: @archs_to_check\n");
     }
     for my $a (@archs_to_check) {
       my $f = "$Master/bin/$a/$name";
@@ -9927,7 +9928,7 @@
 distribution (L<https://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 52672 2019-11-07 18:35:53Z karl $
+$Id: tlmgr.pl 52752 2019-11-12 21:34:13Z karl $
 =cut
 
 # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Build/source/texk/texlive/tl_scripts/fmtutil.cnf
===================================================================
--- trunk/Build/source/texk/texlive/tl_scripts/fmtutil.cnf	2019-11-14 21:55:29 UTC (rev 52795)
+++ trunk/Build/source/texk/texlive/tl_scripts/fmtutil.cnf	2019-11-14 21:58:34 UTC (rev 52796)
@@ -1,4 +1,4 @@
-# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Sat Jul 27 01:53:50 2019
+# Generated by /home/texlive/karl/Master/bin/x86_64-linux/tlmgr on Tue Nov 12 19:27:54 2019
 # Originally written by Thomas Esser, 1998. Public domain.
 #
 # As of TeX Live 2015, fmtutil reads *all* fmtutil.cnf files found.
@@ -80,7 +80,7 @@
 latex-dev pdftex language.dat -translate-file=cp227.tcx *latex.ini
 pdflatex-dev pdftex language.dat -translate-file=cp227.tcx *pdflatex.ini
 dvilualatex-dev luatex language.dat,language.dat.lua dvilualatex.ini
-lualatex-dev luatex language.dat,language.dat.lua lualatex.ini
+lualatex-dev luahbtex language.dat,language.dat.lua lualatex.ini
 #
 # from lollipop:
 lollipop tex - lollipop.ini
@@ -135,10 +135,12 @@
 uptex uptex - uptex.ini
 euptex euptex language.def *euptex.ini
 #
+# from xelatex-dev:
+xelatex-dev xetex language.dat -etex xelatex.ini
+#
 # from xetex:
 xetex xetex language.def -etex xetex.ini
 xelatex xetex language.dat -etex xelatex.ini
-xelatex-dev xetex language.dat -etex xelatex.ini
 #
 # from xmltex:
 xmltex pdftex language.dat *xmltex.ini



More information about the tex-live-commits mailing list