texlive[72927]

commits+kakuto at tug.org commits+kakuto at tug.org
Fri Nov 22 00:11:23 CET 2024


Revision: 72927
          https://tug.org/svn/texlive?view=revision&revision=72927
Author:   kakuto
Date:     2024-11-22 00:11:23 +0100 (Fri, 22 Nov 2024)
Log Message:
-----------
sync (v1.0.6)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/extractbb/extractbb.lua

Modified: trunk/Build/source/texk/texlive/linked_scripts/extractbb/extractbb.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/extractbb/extractbb.lua	2024-11-21 22:45:50 UTC (rev 72926)
+++ trunk/Build/source/texk/texlive/linked_scripts/extractbb/extractbb.lua	2024-11-21 23:11:23 UTC (rev 72927)
@@ -7,7 +7,7 @@
 -- A wrapper script to allow you to choose which implementation of extractbb to
 -- use. Should hopefully be replaced with the ``scratch'' file in TeX Live 2025.
 --
--- v1.0.5 (2024-11-21) %%version %%dashdate
+-- v1.0.6 (2024-11-21) %%version %%dashdate
 
 ---------------------
 --- Configuration ---
@@ -31,6 +31,7 @@
     end
 
     -- Flush and exit
+    io.stderr:write("\n")
     io.stderr:flush()
     os.exit(1)
 end
@@ -47,11 +48,32 @@
     return os.exec(arg)
 end
 
+-- Find the subscripts
+kpse.set_program_name("texlua", "extractbb")
+
+local function find_script(name)
+    -- Find the script, searching **only** in the scripts directories.
+    local path = kpse.lookup(
+        name,
+        { path = kpse.var_value("TEXMFSCRIPTS"), format = "lua" }
+    )
+
+    -- Make sure that the script is not writable.
+    if kpse.out_name_ok_silent_extended(path) then
+        if os.env["TEXLIVE_EXTRACTBB_UNSAFE"] == "unsafe" then
+            -- If we're running in development mode, then we can allow this.
+        else
+            error("Refusing to run a writable script.")
+        end
+    end
+
+    return path
+end
+
 -- Map the choice names to file names.
-kpse.set_program_name("texlua", "extractbb")
 local choice_mapping = {
-    wrapper = kpse.find_file("extractbb-wrapper.lua", "lua", true),
-    scratch = kpse.find_file("extractbb-scratch.lua", "lua", true),
+    wrapper = find_script("extractbb-wrapper.lua"),
+    scratch = find_script("extractbb-scratch.lua"),
 }
 
 -- Choose the implementation to run.
@@ -61,28 +83,5 @@
     error("No implementation of extractbb found.")
 end
 
--- Make sure that the script is not writable.
-if kpse.out_name_ok_silent_extended(choice) then
-    if os.env["TEXLIVE_EXTRACTBB_UNSAFE"] == "unsafe" then
-        -- If we're running in development mode, then we can allow this.
-    else
-        error("Refusing to run a writable script.")
-    end
-end
-
--- Make sure that the script is beside this one, just to be safe
-local split_dir_pattern = "^(.*)[/\\]([^/\\]-)$"
-local current_dir, current_name = arg[0]:match(split_dir_pattern)
-local choice_dir, choice_name = choice:match(split_dir_pattern)
-
-if current_dir ~= choice_dir then
-    -- Resolve the symlinks and try again
-    current_dir = lfs.symlinkattributes(current_dir, "target")
-    choice_dir = lfs.symlinkattributes(choice_dir, "target")
-    if current_dir ~= choice_dir then
-        error("Refusing to run a script from a different directory.")
-    end
-end
-
 -- And run it.
 dofile(choice)



More information about the tex-live-commits mailing list.