lua-any(1) | lua-any(1) |
lua-any - Helper script for multi-Lua-version shebang lines
Some Lua scripts work with multiple versions of Lua but not all of them. The upstream author of the software may hence have chosen the loose shebang line:
In Debian /usr/bin/lua is a valid Lua interpreter but it is under the control of the user, that can set its value to the Lua version of its choice, even one that is not able to run the script in question.
#!/usr/bin/env lua
lua-any is a helper that understands metadata written in comments and selects a valid Lua interpreter. Example:
lua-any tests in turn the existence of lua5.1 and lua5.2 and executes the script with the first existing interpreter.
#!/usr/bin/env lua-any
-- Lua-Versions: 5.1 5.2
lua-any looks only at the first 10 lines of the script for metadata, i.e. it processes the file trough the head utility.
The format of a line is essentially key:value, where leading and trailing spaces are removed from value. The key is matched in a case insensitive way. The Lua comment, --, must have no leading spaces.
The following keys are supported:
A package using lua-any should declare its dependencies on Lua interpreters using a disjunction. Example:
Depends: lua-any, lua5.1 | lua5.2
Enrico Tassi <gareuselesinge@debian.org>
06 January 2023 | lua-any |