texlive[47114] trunk: l3build (24mar18)

commits+karl at tug.org commits+karl at tug.org
Sun Mar 25 23:28:04 CEST 2018


Revision: 47114
          http://tug.org/svn/texlive?view=revision&revision=47114
Author:   karl
Date:     2018-03-25 23:28:04 +0200 (Sun, 25 Mar 2018)
Log Message:
-----------
l3build (24mar18)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/doc/latex/l3build/README.md
    trunk/Master/texmf-dist/doc/latex/l3build/l3build.pdf
    trunk/Master/texmf-dist/doc/man/man1/l3build.1
    trunk/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
    trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build-variables.lua
    trunk/Master/texmf-dist/scripts/l3build/l3build.lua
    trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx

Modified: trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua	2018-03-25 21:28:04 UTC (rev 47114)
@@ -25,7 +25,7 @@
 --]]
 
 -- Version information
-release_date = "2018-03-10"
+release_date = "2018-03-24"
 
 -- File operations are aided by the LuaFileSystem module
 local lfs = require("lfs")

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2018-03-25 21:28:04 UTC (rev 47114)
@@ -1,12 +1,12 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 46683 2018-02-20 05:44:02Z preining $
+# $Id: tlmgr.pl 47092 2018-03-23 22:22:46Z preining $
 #
 # Copyright 2008-2018 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 
-my $svnrev = '$Revision: 46683 $';
-my $datrev = '$Date: 2018-02-20 06:44:02 +0100 (Tue, 20 Feb 2018) $';
+my $svnrev = '$Revision: 47092 $';
+my $datrev = '$Date: 2018-03-23 23:22:46 +0100 (Fri, 23 Mar 2018) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -281,6 +281,7 @@
   },
   "remove" => { 
     "options"  => {
+      "all" => 1,
       "backup" => 1,
       "backupdir" => "=s",
       "dry-run|n" => 1,
@@ -319,11 +320,6 @@
   "shell" => {
     "function" => \&action_shell
   },
-  "uninstall" => {
-    "options"  => { "force" => 1 },
-    "run-post" => 0,
-    "function" => \&action_uninstall
-  },
   "update" => {
     "options"  => {
       "all" => 1,
@@ -478,6 +474,10 @@
   if (defined $action && $action =~ /^(show|list)$/) {
     $action = "info";
   }
+  # merge actions remove and uninstall
+  if (defined $action && $action eq "uninstall") {
+    $action = "remove";
+  }
 
   # now $action should be part of %actionoptions, otherwise this is
   # an error
@@ -1083,6 +1083,14 @@
 }
 
 sub action_remove {
+  # if --all is given, pass on to uninstall_texlive
+  if ($opts{'all'}) {
+    if (@ARGV) {
+      tlwarn("$prg: No additional arguments allowed with --all\n");
+      return($F_ERROR);
+    }
+    exit(uninstall_texlive());
+  }
   # we do the following:
   # - (not implemented) order collections such that those depending on
   #   other collections are first removed, and then those which only
@@ -5049,7 +5057,7 @@
 
 # 
 UNINSTALL
 #
-sub action_uninstall {
+sub uninstall_texlive {
   if (win32()) {
     printf STDERR "Please use \"Add/Remove Programs\" from the Control Panel to removing TeX Live!\n";
     return ($F_ERROR);
@@ -8223,6 +8231,10 @@
 
 =over 4
 
+=item B<--all>
+
+Uninstalls all of TeX Live.
+
 =item B<--backup>
 
 =item B<--backupdir> I<directory>
@@ -8459,16 +8471,8 @@
 
 =head2 uninstall
 
-Uninstalls the entire TeX Live installation.  Options:
+Synonym for C<remove>.
 
-=over 4
-
-=item B<--force>
-
-Do not ask for confirmation, remove immediately.
-
-=back
-
 =head2 update [I<option>]... [I<pkg>]...
 
 Updates the packages given as arguments to the latest version available
@@ -9352,7 +9356,7 @@
 distribution (L<http://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 46683 2018-02-20 05:44:02Z preining $
+$Id: tlmgr.pl 47092 2018-03-23 22:22:46Z preining $
 =cut
 
 # to remake HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Master/texmf-dist/doc/latex/l3build/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3build/README.md	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Master/texmf-dist/doc/latex/l3build/README.md	2018-03-25 21:28:04 UTC (rev 47114)
@@ -1,7 +1,7 @@
 l3build: a testing and building system for LaTeX3
 =================================================
 
-Release 2018-03-10
+Release 2018-03-24
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/l3build/l3build.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/man/man1/l3build.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/l3build.1	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Master/texmf-dist/doc/man/man1/l3build.1	2018-03-25 21:28:04 UTC (rev 47114)
@@ -1,4 +1,4 @@
-.TH l3build 1 "2018-03-10"
+.TH l3build 1 "2018-03-24"
 .SH NAME
 l3build \- Checking and building packages
 .SH SYNOPSIS

Modified: trunk/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-check.lua	2018-03-25 21:28:04 UTC (rev 47114)
@@ -46,6 +46,7 @@
 
 local exit             = os.exit
 local execute          = os.execute
+local remove           = os.remove
 
 --
 -- Auxiliary functions which are used by more than one main function
@@ -495,7 +496,7 @@
       engine = "luatex"
     end
     checkpdf = setup_check(name, engine)
-    runtest(name, i, hide, lvtext, checkpdf)
+    runtest(name, i, hide, lvtext, checkpdf, true)
     -- Generation of results depends on test type
     local errlevel
     if checkpdf then
@@ -535,7 +536,7 @@
       )
       exit(1)
     end
-    runtest(name, engine, true, lveext, true)
+    runtest(name, engine, true, lveext, true, false)
     pdffile = testdir .. "/" .. testname .. pdfext
     -- If a PDF is generated use it for comparisons
     if not fileexists(pdffile) then
@@ -583,12 +584,12 @@
       .. " " .. pdffile .. " > " .. cmpfile
   )
   if errorlevel == 0 then
-    os.remove(cmpfile)
+    remove(cmpfile)
   end
   return errorlevel
 end
 
-function compare_tlg(name, engine)
+function compare_tlg(name, engine,cleanup)
   local errorlevel
   local testname = name .. "." .. engine
   local difffile = testdir .. "/" .. testname .. os_diffext
@@ -595,7 +596,7 @@
   local logfile  = testdir .. "/" .. testname .. logext
   local tlgfile  = locate({testdir}, {testname .. tlgext, name .. tlgext})
   if not tlgfile then
-    return
+    return 1
   end
   -- Do additional log formatting if the engine is LuaTeX, there is no
   -- LuaTeX-specific .tlg file and the default engine is not LuaTeX
@@ -604,16 +605,25 @@
     and stdengine ~= "luatex"
     and stdengine ~= "luajittex"
     then
-    local luatlgfile = testdir .. "/" .. name .. ".luatex" ..  tlgext
+    local lualogfile = logfile
+    if cleanup then
+      lualogfile = testdir .. "/" .. testname .. ".tmp" .. logext
+    end
+    local luatlgfile = testdir .. "/" .. testname .. tlgext
     formatlualog(tlgfile, luatlgfile, false)
-    formatlualog(logfile, logfile, true)
-    -- This allows code sharing below: we only need the .tlg name in one place
-    tlgfile = luatlgfile
+    formatlualog(logfile, lualogfile, true)
+    errorlevel = execute(os_diffexe .. " "
+      .. normalize_path(luatlgfile .. " " .. lualogfile .. " > " .. difffile))
+    if cleanup then
+      remove(lualogfile)
+      remove(luatlgfile)
+    end
+  else
+    errorlevel = execute(os_diffexe .. " "
+      .. normalize_path(tlgfile .. " " .. logfile .. " > " .. difffile))
   end
-  errorlevel = execute(os_diffexe .. " "
-    .. normalize_path(tlgfile .. " " .. logfile .. " > " .. difffile))
-  if errorlevel == 0 then
-    os.remove(difffile)
+  if errorlevel == 0 or cleanup then
+    remove(difffile)
   end
   return errorlevel
 end
@@ -620,7 +630,7 @@
 
 -- Run one of the test files: doesn't check the result so suitable for
 -- both creating and verifying .tlg files
-function runtest(name, engine, hide, ext, makepdf)
+function runtest(name, engine, hide, ext, makepdf, breakout)
   local lvtfile = name .. (ext or lvtext)
   cp(lvtfile, fileexists(testfiledir .. "/" .. lvtfile)
     and testfiledir or unpackdir, testdir)
@@ -653,8 +663,12 @@
     checkopts = checkopts .. " -no-pdf"
   end
   -- Special casing for ConTeXt
+  local function setup(file)
+    return " -jobname=" .. name .. " " .. ' "\\input ' .. file .. '" '
+  end
   if match(checkformat, "^context$") then
     format = ""
+    function setup(file) return ' "' .. file .. '" '  end
     if engine == "luatex" or engine == "luajittex" then
       realengine = "context"
     elseif engine == "pdftex" then
@@ -690,12 +704,20 @@
       -- Ensure lines are of a known length
       os_setenv .. " max_print_line=" .. maxprintline
         .. os_concat ..
-      realengine .. format .. " -jobname=" .. name .. " "
-        .. asciiopt .. " " .. checkopts .. " \"\\input " .. lvtfile .. "\" "
+      realengine .. format 
+        .. " " .. asciiopt .. " " .. checkopts
+        .. setup(lvtfile)
         .. (hide and (" > " .. os_null) or "")
         .. os_concat ..
       runtest_tasks(jobname(lvtfile))
     )
+    -- Break the loop if the result is stable
+    if breakout and i < checkruns then
+      formatlog(logfile, newfile, engine, errlevels)
+      if compare_tlg(name,engine,true) == 0 then
+        break
+      end
+    end
   end
   if makepdf and fileexists(testdir .. "/" .. name .. dviext) then
     dvitopdf(name, testdir, engine, hide)

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build-variables.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build-variables.lua	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build-variables.lua	2018-03-25 21:28:04 UTC (rev 47114)
@@ -86,7 +86,7 @@
 makeindexfiles     = makeindexfiles     or {"*.ist"}
 scriptfiles        = scriptfiles        or { }
 scriptmanfiles     = scriptmanfiles     or { }
-sourcefiles        = sourcefiles        or {"*.dtx", "*.ins"}
+sourcefiles        = sourcefiles        or {"*.dtx", "*.ins", "*-????-??-??.sty"}
 tagfiles           = tagfiles           or {"*.dtx"}
 textfiles          = textfiles          or {"*.md", "*.txt"}
 typesetdemofiles   = typesetdemofiles   or { }

Modified: trunk/Master/texmf-dist/scripts/l3build/l3build.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/l3build/l3build.lua	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Master/texmf-dist/scripts/l3build/l3build.lua	2018-03-25 21:28:04 UTC (rev 47114)
@@ -25,7 +25,7 @@
 --]]
 
 -- Version information
-release_date = "2018-03-10"
+release_date = "2018-03-24"
 
 -- File operations are aided by the LuaFileSystem module
 local lfs = require("lfs")

Modified: trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx	2018-03-25 21:27:41 UTC (rev 47113)
+++ trunk/Master/texmf-dist/source/latex/l3build/l3build.dtx	2018-03-25 21:28:04 UTC (rev 47114)
@@ -89,7 +89,7 @@
 \luavarset{makeindexfiles}    {\{"*.ist"\}}{MakeIndex files to be included in a TDS-style zip}
 \luavarset{scriptfiles}       {\{ \}}{Files to install to the \texttt{scripts} area of the \texttt{texmf} tree}
 \luavarset{scriptmanfiles}    {\{ \}}{Files to install to the \texttt{doc/man} area of the \texttt{texmf} tree}
-\luavarset{sourcefiles}       {\{"*.dtx", "*.ins"\}}{Files to copy for unpacking}
+\luavarset{sourcefiles}       {\{"*.dtx", "*.ins", "*-????-??-??.sty"\}}{Files to copy for unpacking}
 \luavarset{tagfiles}          {\{"*.dtx"\}}{Files for automatic tagging}
 \luavarset{textfiles}         {\{"*.md", "*.txt"\}}{Plain text files to send to CTAN as-is}
 \luavarset{typesetdemofiles}  {\{\}}{Files to typeset before the documentation for inclusion in main documentation files}
@@ -216,7 +216,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2018-03-10}
+% \date{Released 2018-03-24}
 %
 % \maketitle
 % \tableofcontents
@@ -364,7 +364,7 @@
 % By default, each test is executed with all three, being compared against the \texttt{.tlg} file produced from the \var{pdftex} engine (these defaults are controlled by the |checkengines| and |stdengine| variable respectively).
 % The format used for tests can be altered by setting \var{checkformat}: the default setting \texttt{latex} means that tests are run using \emph{e.g.}~\texttt{pdflatex}, whereas setting to \texttt{plain} will run tests using \emph{e.g.}~\texttt{pdftex}.
 % (Currently, this should be one of \texttt{latex} or \texttt{plain}.)
-% To perform the check, the engine typesets each test \var{checkruns} times.
+% To perform the check, the engine typesets each test up to \var{checkruns} times.
 % More detail on this in the documentation on |save|.
 % Options passed to the binary are defined in the variable \var{checkopts}.
 %



More information about the tex-live-commits mailing list