diff options
author | Karl Berry <karl@freefriends.org> | 2013-04-12 23:01:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-04-12 23:01:17 +0000 |
commit | 879e67d4e530cd1a38e1a80a4f779dacd44636dc (patch) | |
tree | 00d16b7e64cd3717ad4e16a024e00b47cc549496 /Build | |
parent | 512547ff22232693018f59e34d48351f031c4c33 (diff) |
context (size 11122862, Apr 11 19:56)
git-svn-id: svn://tug.org/texlive/trunk@29878 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun | 78 | ||||
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl | 84 |
2 files changed, 97 insertions, 65 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun index d337ed75f74..18d9d9a8d1f 100755 --- a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun +++ b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun @@ -7400,7 +7400,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-mrg"] = package.loaded["util-mrg"] or true --- original size: 7294, stripped down to: 5798 +-- original size: 7757, stripped down to: 6015 if not modules then modules={} end modules ['util-mrg']={ version=1.001, @@ -7457,17 +7457,23 @@ local close=P("]")*C(equals)*P("]") local closeeq=Cmt(close*Cb("init"),function(s,i,a,b) return a==b end) local longstring=open*(1-closeeq)^0*close local quoted=patterns.quoted +local digit=patterns.digit local emptyline=space^0*eol local operator1=P("<=")+P(">=")+P("~=")+P("..")+S("/^<>=*+%%") local operator2=S("*+/") local operator3=S("-") +local operator4=P("..") local separator=S(",;") local ignore=(P("]")*space^1*P("=")*space^1*P("]"))/"]=["+(P("=")*space^1*P("{"))/"={"+(P("(")*space^1)/"("+(P("{")*(space+eol)^1*P("}"))/"{}" local strings=quoted local longcmt=(emptyline^0*P("--")*longstring*emptyline^0)/"" local longstr=longstring local comment=emptyline^0*P("--")*P("-")^0*(1-eol)^0*emptyline^1/"\n" -local pack=((eol+space)^0/"")*operator1*((eol+space)^0/"")+((eol+space)^0/"")*operator2*((space)^0/"")+((eol+space)^1/"")*operator3*((space)^1/"")+((space)^0/"")*separator*((space)^0/"") +local optionalspaces=space^0/"" +local mandatespaces=space^1/"" +local optionalspacing=(eol+space)^0/"" +local mandatespacing=(eol+space)^1/"" +local pack=digit*space^1*operator4*optionalspacing+optionalspacing*operator1*optionalspacing+optionalspacing*operator2*optionalspaces+mandatespacing*operator3*mandatespaces+optionalspaces*separator*optionalspaces local lines=emptyline^2/"\n" local spaces=(space*space)/" " local compact=Cs (( @@ -11543,7 +11549,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-exp"] = package.loaded["data-exp"] or true --- original size: 14643, stripped down to: 9517 +-- original size: 14654, stripped down to: 9517 if not modules then modules={} end modules ['data-exp']={ version=1.001, @@ -12173,7 +12179,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tmp"] = package.loaded["data-tmp"] or true --- original size: 14308, stripped down to: 10956 +-- original size: 14615, stripped down to: 11208 if not modules then modules={} end modules ['data-tmp']={ version=1.100, @@ -12183,7 +12189,7 @@ if not modules then modules={} end modules ['data-tmp']={ license="see context related readme files" } local format,lower,gsub,concat=string.format,string.lower,string.gsub,table.concat -local serialize,serializetofile=table.serialize,table.tofile +local concat,serialize,serializetofile=table.concat,table.serialize,table.tofile local mkdirs,isdir,isfile=dir.mkdirs,lfs.isdir,lfs.isfile local addsuffix,is_writable,is_readable=file.addsuffix,file.is_writable,file.is_readable local formatters=string.formatters @@ -12296,20 +12302,27 @@ local function identify() end return writable,readables end -function caches.usedpaths() +function caches.usedpaths(separator) local writable,readables=identify() if #readables>1 then local result={} + local done={} for i=1,#readables do local readable=readables[i] - if usedreadables[i] or readable==writable then - result[#result+1]=formatters["readable: %a (order %s)"](readable,i) + if readable==writable then + done[readable]=true + result[#result+1]=formatters["readable+writable: %a"](readable) + elseif usedreadables[i] then + done[readable]=true + result[#result+1]=formatters["readable: %a"](readable) end end - result[#result+1]=formatters["writable: %a"](writable) - return result + if not done[writable] then + result[#result+1]=formatters["writable: %a"](writable) + end + return concat(result,separator or " | ") else - return writable + return writable or "?" end end function caches.configfiles() @@ -12642,7 +12655,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-res"] = package.loaded["data-res"] or true --- original size: 60857, stripped down to: 42496 +-- original size: 61118, stripped down to: 42544 if not modules then modules={} end modules ['data-res']={ version=1.001, @@ -12685,12 +12698,16 @@ resolvers.homedir=environment.homedir resolvers.criticalvars=allocate { "SELFAUTOLOC","SELFAUTODIR","SELFAUTOPARENT","TEXMFCNF","TEXMF","TEXOS" } resolvers.luacnfname="texmfcnf.lua" resolvers.luacnfstate="unknown" -if environment.default_texmfcnf then - resolvers.luacnfspec=environment.default_texmfcnf -else - resolvers.luacnfspec="{selfautoloc:,selfautodir:,selfautoparent:}{,/texmf{-local,}/web2c}" +resolvers.luacnfspec={ + "home:texmf/web2c", + "selfautoparent:/texmf-local/web2c", + "selfautoparent:/texmf-context/web2c", + "selfautoparent:/texmf-dist/web2c", + "selfautoparent:/texmf/web2c", +} +if type(resolvers.luacnfspec)=="table" then + resolvers.luacnfspec=concat(resolvers.luacnfspec,";") end -resolvers.luacnfspec='home:texmf/web2c;'..resolvers.luacnfspec local unset_variable="unset" local formats=resolvers.formats local suffixes=resolvers.suffixes @@ -14050,7 +14067,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-pre"] = package.loaded["data-pre"] or true --- original size: 6430, stripped down to: 4219 +-- original size: 6643, stripped down to: 4401 if not modules then modules={} end modules ['data-pre']={ version=1.001, @@ -14064,7 +14081,7 @@ local prefixes=utilities.storage.allocate() resolvers.prefixes=prefixes local cleanpath,findgivenfile,expansion=resolvers.cleanpath,resolvers.findgivenfile,resolvers.expansion local getenv=resolvers.getenv -local P,S,R,C,Cs,lpegmatch=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cs,lpeg.match +local P,S,R,C,Cs,Cc,lpegmatch=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.match local joinpath,basename,dirname=file.join,file.basename,file.dirname local getmetatable,rawset,type=getmetatable,rawset,type prefixes.environment=function(str) @@ -14163,6 +14180,10 @@ function resolvers.resetresolve(str) resolved,abstract={},{} end local pattern=Cs((C(R("az")^2)*P(":")*C((1-S(" \"\';,"))^1)/_resolve_+P(1))^0) +local prefix=C(R("az")^2)*P(":") +local target=C((1-S(" \"\';,"))^1) +local notarget=(#S(";,")+P(-1))*Cc("") +local pattern=Cs(((prefix*(target+notarget))/_resolve_+P(1))^0) local function resolve(str) if type(str)=="table" then local t={} @@ -15413,7 +15434,7 @@ do -- create closure to overcome 200 locals limit package.loaded["util-lib"] = package.loaded["util-lib"] or true --- original size: 10762, stripped down to: 5269 +-- original size: 10985, stripped down to: 5458 if not modules then modules={} end modules ['util-lib']={ version=1.001, @@ -15531,10 +15552,14 @@ local function requireswiglib(required,version) if trace_swiglib then report_swiglib("found: %a",found_library) end - library=package.loadlib(found_library,"luaopen_"..required_base) - if type(library)=="function" then + local message=nil + local opener="luaopen_"..required_base + library,message=package.loadlib(found_library,opener) + local libtype=type(library) + if libtype=="function" then library=library() else + report_swiglib("load error: %a returns %a, message %a",opener,libtype,message or "no message") library=false end dir.pop() @@ -15820,8 +15845,8 @@ end -- of closure -- used libraries : l-lua.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 660467 --- stripped bytes : 242438 +-- original bytes : 661945 +-- stripped bytes : 243028 -- end library merge @@ -16264,6 +16289,11 @@ function runners.execute_script(fullname,internal,nosplit) environment.ownscript = result dofile(result) else +local texmfcnf = resolvers.getenv("TEXMFCNF") +if not texmfcnf or texmfcnf == "" then + texmfcnf = resolvers.expandedpathfromlist(resolvers.splitpath(resolvers.resolve(resolvers.luacnfspec))) + resolvers.setenv("TEXMFCNF",table.concat(texmfcnf,";")) -- for running texexec etc (after tl change to texmf-dist) +end local binary = runners.applications[file.suffix(result)] result = string.quoted(string.unquoted(result)) -- if string.match(result,' ') and not string.match(result,"^\".*\"$") then diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index 2c13056549d..5814649c211 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 29829 2013-04-10 18:39:51Z karl $ +# $Id: tlmgr.pl 29870 2013-04-11 23:34:02Z karl $ # # Copyright 2008-2013 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. -my $svnrev = '$Revision: 29829 $'; -my $datrev = '$Date: 2013-04-10 20:39:51 +0200 (Wed, 10 Apr 2013) $'; +my $svnrev = '$Revision: 29870 $'; +my $datrev = '$Date: 2013-04-12 01:34:02 +0200 (Fri, 12 Apr 2013) $'; my $tlmgrrevision; my $prg; if ($svnrev =~ m/: ([0-9]+) /) { @@ -293,11 +293,11 @@ sub main { # because stupid Debian/Ubuntu ships a stub that does nothing # which is very very bad idea # try to check for that, too - my $ret = system("perldoc -V > /dev/null 2>&1"); + my $ret = system("perldoc -V >/dev/null 2>&1"); if ($ret == 0) { - debug("Working perldoc found, using it.\n"); + debug("working perldoc found, using it\n"); } else { - tlwarn("Your perldoc seems to be non functional!\n"); + tlwarn("$prg: perldoc seems to be non-functional, not using it.\n"); @noperldoc = ("-noperldoc", "1"); } } @@ -4685,6 +4685,7 @@ sub check_runfiles { |libertine\.sty |m-tex4ht\.tex |metatex\.tex + |noEmbed\.map |ps2mfbas\.mf |pstricks\.con |sample\.bib @@ -5507,11 +5508,10 @@ FROZEN # finish handles the -pause option (wait for input from stdin), -# and then exits unless the global $::gui_mode is set, in which case we +# and then exits unless the global $::gui_mode is set, in which case we # merely return. # -sub finish -{ +sub finish { my ($ret) = @_; if ($ret > 0) { @@ -5524,25 +5524,20 @@ sub finish } if ($::gui_mode) { - return($ret); + return $ret; } else { exit($ret); } } -# -# config file handling -# config files are located in TEXMFCONFIG/tlmgr/config thus specific -# for each user + +# tlmgr config file handling. These config files are located in +# TEXMFCONFIG/tlmgr/config, thus specific for each user. # # format: # key=value # -# allowed keys at the moment -# gui-expertmode = 0|1 -# -sub load_config_file -{ +sub load_config_file { # # first set default values # the default for gui-expertmode is 1 since that is what we @@ -5555,9 +5550,12 @@ sub load_config_file chomp (my $TEXMFCONFIG = `kpsewhich -var-value=TEXMFCONFIG`); my $fn = "$TEXMFCONFIG/tlmgr/config"; $tlmgr_config_file = TeXLive::TLConfFile->new($fn, "#", "="); + + # switched names for this one after initial release. if ($tlmgr_config_file->key_present("gui_expertmode")) { $tlmgr_config_file->rename_key("gui_expertmode", "gui-expertmode"); } + for my $key ($tlmgr_config_file->keys) { my $val = $tlmgr_config_file->value($key); if ($key eq "gui-expertmode") { @@ -5566,32 +5564,35 @@ sub load_config_file } elsif ($val eq "1") { $config{"gui-expertmode"} = 1; } else { - tlwarn("Unknown value >$val< for gui-expertmode in $fn\n"); + tlwarn("$fn: Unknown value for gui-expertmode: $val\n"); } + } elsif ($key eq "persistent-downloads") { if (($val eq "0") || ($val eq "1")) { $config{'persistent-downloads'} = $val; } else { - tlwarn("Unknown value $val for persistent-downloads in $fn\n"); + tlwarn("$fn: Unknown value for persistent-downloads: $val\n"); } + } elsif ($key eq "gui-lang") { $config{'gui-lang'} = $val; + } elsif ($key eq "auto-remove") { if ($val eq "0") { $config{"auto-remove"} = 0; } elsif ($val eq "1") { $config{"auto-remove"} = 1; } else { - tlwarn("Unknown value >$val< for auto-remove in $fn\n"); + tlwarn("$fn: Unknown value for auto-remove: $val\n"); } + } else { - tlwarn("Unknown key $key in $fn\n"); + tlwarn("$fn: Unknown tlmgr configuration variable: $key\n"); } } } -sub write_config_file -{ +sub write_config_file { if (!defined($tlmgr_config_file)) { chomp (my $TEXMFCONFIG = `kpsewhich -var-value=TEXMFCONFIG`); my $dn = "$TEXMFCONFIG/tlmgr"; @@ -6501,12 +6502,12 @@ The C<pinning> action manages the pinning file, see L<Pinning> below. Shows the current pinning data. -=item C<pinning add I<repo> I<pkgglob>... +=item C<pinning add> I<repo> I<pkgglob>... Pins the packages matching the I<pkgglob>(s) to the repository I<repo>. -=item C<pinning remove I<repo> I<pkgglob>... +=item C<pinning remove> I<repo> I<pkgglob>... Any packages recorded in the pinning file matching the <pkgglob>s for the given repository I<repo> are removed. @@ -6812,7 +6813,7 @@ has also been removed from the respective collection), C<tlmgr> will remove the package in the local installation. This is called ``auto-remove'' and is announced as such when using the option C<--list>. This auto-removal can be suppressed using the option -C<--no-auto-remove>. +C<--no-auto-remove> (not recommended, see option description). Analogously, if a package has been added to a collection on the server that is also installed locally, it will be added to the local @@ -6886,10 +6887,12 @@ supported in these circumstances. =item B<--no-auto-remove> [I<pkg>]... -Under normal circumstances C<tlmgr> tries to remove packages which have -disappeared on the server, as described above under C<--all>. This -option prevents any such removals, either for all packages (with -C<--all>), or the given I<pkg> names. +By default, C<tlmgr> tries to remove packages which have disappeared on +the server, as described above under C<--all>. This option prevents +such removals, either for all packages (with C<--all>), or for just the +given I<pkg> names. This can lead to an inconsistent TeX installation, +since packages are not infrequently renamed or replaced by their +authors. Therefore this is not recommend. =item B<--no-auto-install> [I<pkg>]... @@ -6983,15 +6986,14 @@ other lines must look like key = value -where the allowed keys are -C<gui-expertmode> (values 0 or 1), -C<persistent-downloads> (values 0 or 1), C<auto-remove> (values 0 or 1), -and C<gui-lang> (values like the command line arguments). -C<persistent-downloads>, C<gui-lang>, and C<auto-remove> correspond to the -respective command line options of the same name. -C<gui-expertmode> switches between the full -GUI and a simplified GUI with only the important and mostly used -settings. +where the allowed keys are C<gui-expertmode> (value 0 or 1), +C<persistent-downloads> (value 0 or 1), C<auto-remove> (value 0 or 1), +and C<gui-lang> (value like in the command line option). + +C<persistent-downloads>, C<gui-lang>, and C<auto-remove> correspond to +the respective command line options of the same name. C<gui-expertmode> +switches between the full GUI and a simplified GUI with only the +important and mostly used settings. =head1 TAXONOMIES |