From 61648ece7f7a8c590778f72bd202120ac6e34cb7f6bb4c9312f562721fc69f0e Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Fri, 22 Mar 2024 09:30:41 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/Publishing:TeXLive/texlive?expand=0&rev=473 --- source-luacore.dif | 91 ++++++++++++++++++++-------------------------- texlive.changes | 5 +-- 2 files changed, 42 insertions(+), 54 deletions(-) diff --git a/source-luacore.dif b/source-luacore.dif index fcc6fa8..7f14dbf 100644 --- a/source-luacore.dif +++ b/source-luacore.dif @@ -1,54 +1,43 @@ --- - texk/web2c/luatexdir/lua/luatex-core.lua | 28 ++++++---------------------- - 1 file changed, 6 insertions(+), 22 deletions(-) + texk/kpathsea/tex-file.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) ---- texk/web2c/luatexdir/lua/luatex-core.lua -+++ texk/web2c/luatexdir/lua/luatex-core.lua 2024-03-21 12:42:17.354996241 +0000 -@@ -92,23 +92,14 @@ if kpseused == 1 and (status.shell_escap - if not how then - how = 'r' - end -- local check = true -- if how == 'r' or how == 'rb' or how == '' then -- check = kpse_in_name_ok_silent_extended(name) -- else -- check = kpse_out_name_ok_silent_extended(name) -- end -- local f = nil -- if check then -- f = io_open(name,how) -- if f then -+ local f = io_open(name,how) -+ if f then - if type(how) == 'string' and find(how,'w') then - kpse_recordoutputfile(name,'w') - else - kpse_recordinputfile(name,'r') - end -- end -- end -+ end - return f - end - -@@ -121,17 +112,10 @@ if kpseused == 1 and (status.shell_escap - how = 'r' - end - end -- local check = false -- if how == 'r' or how == 'rb' or how == '' then -- check = kpse_in_name_ok_silent_extended(name) -- end -- local f = nil -- if check then -- f = io_open(name,how) -- if f then -+ local f = io_open(name,how) -+ if f then - fio_recordfilename(name,'r') -- end -- end -+ end - return f - end +--- texk/kpathsea/tex-file.c ++++ texk/kpathsea/tex-file.c 2024-03-22 09:23:02.305892751 +0000 +@@ -21,7 +21,9 @@ + #include + #include ++#include + #include ++#include + #include + #include + #include +@@ -1316,13 +1318,25 @@ kpathsea_name_ok (kpathsea kpse, const_s + TEXMFSYSVAR. */ + if (extended) { + const_string texmfvar = kpathsea_var_value (kpse, "TEXMFVAR"); ++ string cache = kpathsea_var_value (kpse, "VARTEXFONTS"); ++ string tmp = concat3 (cache, "/", "k_p_s_e_t_e_s_t_.tmp"); ++ int fa = access(tmp, W_OK); ++ free (tmp); ++ if (fa != 0) { ++ string home = getenv ("HOME"); ++ cache = concat3 (home, "/", ".cache/texmf/fonts"); ++ } + if (!abs_fname_ok (expanded_fname, texmfvar)) { + const_string texmfsysvar + = kpathsea_var_value (kpse, "TEXMFSYSVAR"); + if (!abs_fname_ok (expanded_fname, texmfsysvar)) { +- goto not_ok; /* nothing left to check. */ ++ if (!abs_fname_ok (expanded_fname, cache)) { ++ goto not_ok; /* nothing left to check. */ ++ } + } + } ++ if (fa != 0) ++ free (cache); + } else { + goto not_ok; /* not extended */ + } diff --git a/texlive.changes b/texlive.changes index bbba733..a3c229d 100644 --- a/texlive.changes +++ b/texlive.changes @@ -2,9 +2,8 @@ Thu Mar 21 13:47:14 UTC 2024 - Dr. Werner Fink - Add patch source-luacore.dif - * Disarm file access checks for user owned directories for - lua binaries as other cache is only in current dirctory - possible (boo#1221762) + * Allow file access for cache directories like defined + VARTEXFONTS and $HOME/.cache/texmf/fonts (boo#1221762) ------------------------------------------------------------------- Wed Mar 20 10:01:34 UTC 2024 - Dr. Werner Fink