Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): bump luarocks from 3.9.2 to 3.10.0 #12662

Merged
merged 1 commit into from
Mar 5, 2024
Merged

Conversation

bungle
Copy link
Member

@bungle bungle commented Feb 28, 2024

Summary

What's new in LuaRocks 3.10.0:

  • Features:
    • Introduce file-based locking for concurrent access control. Previously, LuaRocks would produce undefined behavior when running two instances at the same time.
    • Rockspec quality-of-life improvements:
      • Using an unknown build.type now automatically implies a build dependency for luarocks-build-<build.type>.
      • Improve rockspec.source.dir autodetection. * builtin build mode now automatically inherits include and libdirs from external_dependencies if not set explicitly.
    • improved and simplified Lua interpreter search. * lua_interpreter config value is deprecated in favor of variables.LUA which contains the full interpreter path.
    • luarocks-admin remove now supports the file:// protocol for managing local rocks servers.
    • Bundled dkjson library, so that luarocks upload does not require an external JSON library.
    • New flags for luarocks init: --no-gitignore, --no-wrapper-scripts, --wrapper-dir.
    • luarocks config now attempts updating the system config by default when local_by_default is false.
    • New flag for luarocks path: --full, for use with --lr-path and --lr-cpath.
  • Fixes:
    • various Windows-specific fixes: * build.install_command now works correctly on Windows. * do not attempt to set "executable" permissions for folders on Windows. * better handling of Windows backslash paths. * fix program search when using absolute paths and .exe files. * improved lookup order for library dependencies. * LUALIB filename detection is now done dynamically at runtime and not hardcoded by the Windows installer. * prevent LuaRocks from blocking luafilesystem from being removed on Windows.
    • luarocks build no longer looks for Lua headers when installing pure-Lua rocks.
    • luarocks build table in rockspecs now gets some additional validation to prevent crashes on malformed rockspecs.
    • build.builtin now compiles C modules in a temporary directory, avoiding name clashes
    • build_dependencies now correctly installs dependencies for the Lua version that LuaRocks is running on, and not the one it is building for with --lua-version.
    • build_dependencies can now use a dependency available in any rocks tree (system, user, project).
    • luarocks config now prints boolean values correctly on Lua 5.1.
    • luarocks config now ensures the target directory exists when saving a configuration.
    • luarocks init now injects the project's package.(c)path in the Lua wrapper.
    • luarocks lint no longer crashes if a rockspec misses a description field.
    • luarocks test now handles malformed command entries gracefully.
    • if --lua-* flags are given in the CLI, the hardcoded values are never used.
    • the "no downloader" error is now shown only once, and not once per failed mirror.
    • project dir is always presented normalized
    • catch the failure to setup LUA_BINDIR early.
    • when using --pack-binary-rock and a zip program is unavailable, report that instead of failing cryptically.
    • More graceful handling when failing to create a local cache.
    • Avoid confusion with macOS multiarch binaries on system detection.
    • Add --tree to the rocks trees list.
    • Better support for LuaJIT versions with extra suffixes in their version numbers.
    • Don't use floats to parse Lua version number.
    • Various fixes related to path normalization.

LuaRocks 3.10.0 contains new commits by Roman Orekhov, Michael Savage, Pavel Balaev, Aleksei Volkov, Pierre Chapuis, Sebastian Hübner, and Hisham Muhammad. You can find detailed credits in the Git history.

You can find all links for installation at https://luarocks.org — source packages for all supported platforms and binaries for Windows (32 and 64 bit) as well as Linux x86-64 are available.

Special thanks go to Kong https://konghq.com/ and itch.io https://itch.io for their continued commitment to open source, sponsoring the maintenance of the LuaRocks in various ways.

Checklist

Issue reference

KAG-3883

@bungle bungle marked this pull request as draft February 28, 2024 18:18
@bungle bungle force-pushed the chore/luarocks-3.10.0 branch 3 times, most recently from 20edcac to d500adf Compare February 28, 2024 19:33
@bungle bungle force-pushed the chore/luarocks-3.10.0 branch from d500adf to 820a895 Compare February 28, 2024 19:34
@bungle bungle marked this pull request as ready for review February 28, 2024 20:10
@bungle bungle added the cherry-pick kong-ee schedule this PR for cherry-picking to kong/kong-ee label Feb 28, 2024
@@ -42,7 +42,7 @@ $KONG_VENV/openresty/site/lualib/?.lua;$KONG_VENV/openresty/site/lualib/?.ljbc;\
$KONG_VENV/openresty/site/lualib/?/init.lua;$KONG_VENV/openresty/site/lualib/?/init.ljbc;\
$KONG_VENV/openresty/lualib/?.lua;$KONG_VENV/openresty/lualib/?.ljbc;\
$KONG_VENV/openresty/lualib/?/init.lua;$KONG_VENV/openresty/lualib/?/init.ljbc;\
$KONG_VENV/openresty/luajit/share/luajit-2.1.0-beta3/?.lua"
$KONG_VENV/openresty/luajit/share/luajit-2.1/?.lua"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was curious about this change, so I went to inspect my local build. I can see that I actually have both directories in kong master:

$ ls bazel-kong/bazel-out/k8-fastbuild/bin/external/openresty/luajit/share/
drwxr-xr-x. michaelm michaelm 4.0 KB Wed Oct 18 13:43:19 2023  lua
drwxr-xr-x. michaelm michaelm 4.0 KB Thu Jan 18 11:06:14 2024  luajit-2.1
drwxr-xr-x. michaelm michaelm 4.0 KB Wed Oct 18 13:43:19 2023  luajit-2.1.0-beta3
drwxr-xr-x. michaelm michaelm 4.0 KB Wed Oct 18 13:43:19 2023  man

Can you explain more of the context? Is this just a fix for an older path that we forgot to update?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@flrgh The LuaJIT moved to so called 2.1.ROLLING and -beta3 is more or less gone. Your -beta3 is created on 2023. so perhaps it is a leftover.

### Summary

What's new in LuaRocks 3.10.0:

* Features:
  * Introduce file-based locking for concurrent access
    control. Previously, LuaRocks would produce undefined behavior
    when running two instances at the same time.
  * Rockspec quality-of-life improvements:
    * Using an unknown `build.type` now automatically
      implies a build dependency for `luarocks-build-<build.type>`.
    * Improve `rockspec.source.dir` autodetection.
    * `builtin` build mode now automatically inherits include
      and libdirs from `external_dependencies` if not set
      explicitly.
  * improved and simplified Lua interpreter search.
    * `lua_interpreter` config value is deprecated in favor
      of `variables.LUA` which contains the full interpreter path.
  * `luarocks-admin remove` now supports the `file://`
    protocol for managing local rocks servers.
  * Bundled dkjson library, so that `luarocks upload` does not
    require an external JSON library.
  * New flags for `luarocks init`: `--no-gitignore`,
    `--no-wrapper-scripts`, `--wrapper-dir`.
  * `luarocks config` now attempts updating the system config
    by default when `local_by_default` is `false`.
  * New flag for `luarocks path`: `--full`, for use with
    `--lr-path` and `--lr-cpath`.
* Fixes:
  * various Windows-specific fixes:
    * `build.install_command` now works correctly on Windows.
    * do not attempt to set "executable" permissions for folders
      on Windows.
    * better handling of Windows backslash paths.
    * fix program search when using absolute paths and `.exe` files.
    * improved lookup order for library dependencies.
    * `LUALIB` filename detection is now done dynamically at
      runtime and not hardcoded by the Windows installer.
    * prevent LuaRocks from blocking `luafilesystem` from being
      removed on Windows.
  * `luarocks build` no longer looks for Lua headers when installing
    pure-Lua rocks.
  * `luarocks build` table in rockspecs now gets some additional validation
    to prevent crashes on malformed rockspecs.
  * `build.builtin` now compiles C modules in a temporary directory,
    avoiding name clashes
  * `build_dependencies` now correctly installs dependencies
    for the Lua version that LuaRocks is running on, and not
    the one it is building for with `--lua-version`.
  * `build_dependencies` can now use a dependency available
    in any rocks tree (system, user, project).
  * `luarocks config` now prints boolean values correctly on Lua 5.1.
  * `luarocks config` now ensures the target directory exists when saving
    a configuration.
  * `luarocks init` now injects the project's `package.(c)path` in the
    Lua wrapper.
  * `luarocks lint` no longer crashes if a rockspec misses a
`description` field.
  * `luarocks test` now handles malformed `command` entries gracefully.
  * if `--lua-*` flags are given in the CLI, the hardcoded values
    are never used.
  * the "no downloader" error is now shown only once, and not
    once per failed mirror.
  * project dir is always presented normalized
  * catch the failure to setup `LUA_BINDIR` early.
  * when using `--pack-binary-rock` and a `zip` program is
    unavailable, report that instead of failing cryptically.
  * More graceful handling when failing to create a local cache.
  * Avoid confusion with macOS multiarch binaries on system detection.
  * Add `--tree` to the rocks trees list.
  * Better support for LuaJIT versions with extra
    suffixes in their version numbers.
  * Don't use floats to parse Lua version number.
  * Various fixes related to path normalization.

LuaRocks 3.10.0 contains new commits by Roman Orekhov, Michael Savage,
Pavel Balaev, Aleksei Volkov, Pierre Chapuis, Sebastian Hübner, and
Hisham Muhammad. You can find detailed credits in the Git history.

You can find all links for installation at https://luarocks.org —
source packages for all supported platforms and binaries for Windows
(32 and 64 bit) as well as Linux x86-64 are available.

Special thanks go to Kong <https://konghq.com/> and itch.io
<https://itch.io> for their continued commitment to open source,
sponsoring the maintenance of the LuaRocks in various ways.

Signed-off-by: Aapo Talvensaari <aapo.talvensaari@gmail.com>
@locao locao force-pushed the chore/luarocks-3.10.0 branch from 820a895 to 7b95f59 Compare March 5, 2024 18:16
@locao locao merged commit b5c4b05 into master Mar 5, 2024
27 checks passed
@locao locao deleted the chore/luarocks-3.10.0 branch March 5, 2024 18:47
@team-gateway-bot
Copy link
Collaborator

Cherry-pick failed for master, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally.

git remote add upstream https://github.com/kong/kong-ee
git fetch upstream master
git worktree add -d .worktree/cherry-pick-12662-to-master-to-upstream upstream/master
cd .worktree/cherry-pick-12662-to-master-to-upstream
git checkout -b cherry-pick-12662-to-master-to-upstream
ancref=$(git merge-base 336849d5588788691c8190c162377ca5065a73c7 7b95f59eca16938ad919b6ebd274c927378d4de1)
git cherry-pick -x $ancref..7b95f59eca16938ad919b6ebd274c927378d4de1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build/bazel cherry-pick kong-ee schedule this PR for cherry-picking to kong/kong-ee size/S
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants