summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-03-25 21:28:04 +0000
committerKarl Berry <karl@freefriends.org>2018-03-25 21:28:04 +0000
commitb0d484d66da70017e2f7617211629a579a3b6056 (patch)
tree75a7afb10823d86efcfdaa64db03ef210620c1bf
parent64a86b6f5f34949239097b2846e6f1867b95e651 (diff)
l3build (24mar18)
git-svn-id: svn://tug.org/texlive/trunk@47114 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/texlive/linked_scripts/l3build/l3build.lua2
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl42
-rw-r--r--Master/texmf-dist/doc/latex/l3build/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3build/l3build.pdfbin668931 -> 669920 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/l3build.12
-rw-r--r--Master/texmf-dist/doc/man/man1/l3build.man1.pdfbin15131 -> 15195 bytes
-rw-r--r--Master/texmf-dist/scripts/l3build/l3build-check.lua54
-rw-r--r--Master/texmf-dist/scripts/l3build/l3build-variables.lua2
-rwxr-xr-xMaster/texmf-dist/scripts/l3build/l3build.lua2
-rw-r--r--Master/texmf-dist/source/latex/l3build/l3build.dtx6
10 files changed, 69 insertions, 43 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua b/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
index c1151bbc7b6..6e493c05baa 100644
--- a/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
+++ b/Build/source/texk/texlive/linked_scripts/l3build/l3build.lua
@@ -25,7 +25,7 @@ for those people who are interested.
--]]
-- Version information
-release_date = "2018-03-10"
+release_date = "2018-03-24"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index b406ce99da1..447554c8d5d 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -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 @@ my %action_specification = (
},
"remove" => {
"options" => {
+ "all" => 1,
"backup" => 1,
"backupdir" => "=s",
"dry-run|n" => 1,
@@ -319,11 +320,6 @@ my %action_specification = (
"shell" => {
"function" => \&action_shell
},
- "uninstall" => {
- "options" => { "force" => 1 },
- "run-post" => 0,
- "function" => \&action_uninstall
- },
"update" => {
"options" => {
"all" => 1,
@@ -478,6 +474,10 @@ sub main {
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 backup_and_remove_package {
}
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 @@ Error message from creating MainWindow:
# 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 @@ package, dependencies are never removed. Options:
=over 4
+=item B<--all>
+
+Uninstalls all of TeX Live.
+
=item B<--backup>
=item B<--backupdir> I<directory>
@@ -8459,15 +8471,7 @@ If I<var> or then I<val> is not specified, it is prompted for.
=head2 uninstall
-Uninstalls the entire TeX Live installation. Options:
-
-=over 4
-
-=item B<--force>
-
-Do not ask for confirmation, remove immediately.
-
-=back
+Synonym for C<remove>.
=head2 update [I<option>]... [I<pkg>]...
@@ -9352,7 +9356,7 @@ This script and its documentation were written for the TeX Live
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
diff --git a/Master/texmf-dist/doc/latex/l3build/README.md b/Master/texmf-dist/doc/latex/l3build/README.md
index b8047ac51ef..db5cc9be3ba 100644
--- a/Master/texmf-dist/doc/latex/l3build/README.md
+++ b/Master/texmf-dist/doc/latex/l3build/README.md
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX3
=================================================
-Release 2018-03-10
+Release 2018-03-24
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3build/l3build.pdf b/Master/texmf-dist/doc/latex/l3build/l3build.pdf
index 2427fa2ff34..6229b12c90b 100644
--- a/Master/texmf-dist/doc/latex/l3build/l3build.pdf
+++ b/Master/texmf-dist/doc/latex/l3build/l3build.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/l3build.1 b/Master/texmf-dist/doc/man/man1/l3build.1
index 806f21cc632..2fe7d469f47 100644
--- a/Master/texmf-dist/doc/man/man1/l3build.1
+++ b/Master/texmf-dist/doc/man/man1/l3build.1
@@ -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
diff --git a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
index 1633ccd4594..3127cc78a6f 100644
--- a/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/l3build.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/scripts/l3build/l3build-check.lua b/Master/texmf-dist/scripts/l3build/l3build-check.lua
index 2239fe97a76..f378893b14a 100644
--- a/Master/texmf-dist/scripts/l3build/l3build-check.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build-check.lua
@@ -46,6 +46,7 @@ local utf8_char = unicode.utf8.char
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 @@ function runcheck(name, hide)
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 @@ function setup_check(name, engine)
)
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,19 +584,19 @@ function compare_pdf(name, engine)
.. " " .. 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
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,23 +605,32 @@ function compare_tlg(name, engine)
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
-- 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 @@ function runtest(name, engine, hide, ext, makepdf)
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 @@ function runtest(name, engine, hide, ext, makepdf)
-- 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)
diff --git a/Master/texmf-dist/scripts/l3build/l3build-variables.lua b/Master/texmf-dist/scripts/l3build/l3build-variables.lua
index 5d4e3265c2a..4dbe06634cb 100644
--- a/Master/texmf-dist/scripts/l3build/l3build-variables.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build-variables.lua
@@ -86,7 +86,7 @@ installfiles = installfiles or {"*.sty","*.cls"}
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 { }
diff --git a/Master/texmf-dist/scripts/l3build/l3build.lua b/Master/texmf-dist/scripts/l3build/l3build.lua
index c1151bbc7b6..6e493c05baa 100755
--- a/Master/texmf-dist/scripts/l3build/l3build.lua
+++ b/Master/texmf-dist/scripts/l3build/l3build.lua
@@ -25,7 +25,7 @@ for those people who are interested.
--]]
-- Version information
-release_date = "2018-03-10"
+release_date = "2018-03-24"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")
diff --git a/Master/texmf-dist/source/latex/l3build/l3build.dtx b/Master/texmf-dist/source/latex/l3build/l3build.dtx
index a87e0724efc..76a943f6265 100644
--- a/Master/texmf-dist/source/latex/l3build/l3build.dtx
+++ b/Master/texmf-dist/source/latex/l3build/l3build.dtx
@@ -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}.
%