Dr. Werner Fink 2024-03-22 09:30:41 +00:00 committed by Git OBS Bridge
parent f43ab0bdcf
commit 61648ece7f
2 changed files with 42 additions and 54 deletions

View File

@ -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 <kpathsea/c-fopen.h>
#include <kpathsea/c-pathch.h>
+#include <errno.h>
#include <stdarg.h>
+#include <unistd.h>
#include <kpathsea/cnf.h>
#include <kpathsea/absolute.h>
#include <kpathsea/concatn.h>
@@ -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 */
}

View File

@ -2,9 +2,8 @@
Thu Mar 21 13:47:14 UTC 2024 - Dr. Werner Fink <werner@suse.de>
- 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 <werner@suse.de>