[Buildroot] [PATCH for-next 0/25] Lua(Rocks) improvements
François Perrad
francois.perrad at gadz.org
Fri Feb 24 06:59:24 UTC 2017
2017-02-23 18:00 GMT+01:00 Arnout Vandecappelle (Essensium/Mind)
<arnout at mind.be>:
> This is a collection of fixes and improvements for the Lua and LuaRocks
> infrastructure.
>
> It was triggered by luaposix, which fails to load at runtime with luajit
> and lua 5.1 (cfr. [1]). As is typically the case, this one fix lead to a
> whole lot of other changes.
>
> The first patches can be applied independently of each other. They are
> small issues that I noticed while implementing the PKG_NAME_UPSTREAM
> feature. See the individual commit messages for details.
>
> We decided that new Lua packages should have a name starting with lua
> (I guess both lua, like luaposix, and lua-, like lua-iconv, are OK).
> Patch 13 documents that in package/Config.in.
>
> A new package lua-bit32 is added in patch 14. This package is used to
> fix luaposix in patch 15. Subsequent patches generalize the hacks that
> are needed for lua-bit32 because of the added lua- prefix. Patch 16
> reworks the extraction so it doesn't rely on specific naming of the
> subdirectory in which luarocks extracts stuff. Patch 18 introduces
> a _NAME_UPSTREAM variable so that the automatically derived variable
> names from the luarocks infra are correct when the Buildroot name is
> different. Patch 20 extends that concept to the typical situation that
> the Lua name has camel case, while the Buildroot name (as well as the
> LuaRocks name) is lower case.
>
> Patch 25 is again independent of the rest. It removes documentation from
> the target that is installed there by some Lua (not LuaRocks) packages.
> For example, luaposix does that.
>
> Patches 18 to 24 are somewhat controversial because they introduce
> "magic automation" just to save a few lines in the package .mk file. The
> amount of savings from those isn't impressive either, they have a
> diffstat of 13 insertions(+), 17 deletions(-) (discounting the
> documentation change). Still, I believe it makes creation of LuaRocks
> packages a bit easier so I included them.
>
> I did a runtime test after all patches applied by doing a
> require "foo"
> for each luarocks package with a Lua 5.1 interpreter. I am also using the
> fixed luaposix on an actual customer device.
>
> Obviously, this entire series is for next.
>
Great job.
François
> Regards,
> Arnout
>
> [1] https://lists.osuosl.org/pipermail/buildroot/2017-February/184511.html
>
> ----------------------------------------------------------------
> The following changes since commit c75f0a4d69db655bb523fbab30e0f4656bc5fb71:
>
> configs/liteboard: Bump to kernel 4.10 (2017-02-21 16:11:05 +0100)
>
> are available in the git repository at:
>
> https://gitlab.com/arnout/buildroot lua
>
> for you to fetch changes up to a5dfafeb82c2a91f51908110beafe7389015ca75:
>
> lua: remove documentation from target (2017-02-23 16:48:06 +0100)
>
> ----------------------------------------------------------------
> Arnout Vandecappelle (25):
> lutok: move to Lua libraries menu
> cosmo: remove broken package
> luarocks-package: use $(HOST_PKG_VERSION) instead of $(PKG_VERSION)
> manual: luarocks: improve tutorial example
> lpty: remove LPTY_VERSION_UPSTREAM
> lua-periphery: remove LUA_PERIPHERY_VERSION_UPSTREAM
> luasec: remove LUASEC_VERSION_UPSTREAM
> ljlinenoise: remove default definition of PKG_SUBDIR
> lua-csnappy: remove default definition of PKG_SUBDIR
> lua-iconv: remove default definition of PKG_SUBDIR
> luacrypto: remove default definition of PKG_SUBDIR
> lunit: remove default definition of PKG_SUBDIR
> package/Config.in: explain that lua package names should start with lua
> lua-bit32: new package
> luaposix: fix runtime by selecting "bit32" instead of "bitop"
> luarocks-package: rework extraction
> lua-bit32: remove custom extract commands
> luarocks-package: introduce PKG_NAME_UPSTREAM
> lua-bit32: use PKG_NAME_UPSTREAM
> luarocks-package: lowercase the upstream name for LuaRocks
> lua-coat: use PKG_NAME_UPSTREAM
> lua-cjson: use LUA_CJSON_SUBDIR
> lua-testmore: use PKG_NAME_UPSTREAM
> luabitop: use PKG_NAME_UPSTREAM
> lua: remove documentation from target
>
> docs/manual/adding-packages-luarocks.txt | 55 +++++++++++++---------
> package/Config.in | 6 ++-
> package/cosmo/Config.in | 10 ----
> package/cosmo/cosmo.hash | 2 -
> package/ljlinenoise/ljlinenoise.mk | 4 +-
> package/lpty/lpty.mk | 3 +-
> package/lua-bit32/Config.in | 9 ++++
> package/lua-bit32/lua-bit32.hash | 2 +
> package/{cosmo/cosmo.mk => lua-bit32/lua-bit32.mk} | 9 ++--
> package/lua-cjson/lua-cjson.mk | 5 +-
> package/lua-coat/lua-coat.mk | 5 +-
> package/lua-csnappy/lua-csnappy.mk | 4 +-
> package/lua-iconv/lua-iconv.mk | 4 +-
> package/lua-periphery/lua-periphery.mk | 3 +-
> package/lua-testmore/lua-testmore.mk | 5 +-
> package/luabitop/luabitop.mk | 5 +-
> package/luacrypto/luacrypto.mk | 4 +-
> package/luainterpreter/luainterpreter.mk | 11 +++++
> package/luaposix/Config.in | 6 ++-
> package/luasec/luasec.mk | 3 +-
> package/lunit/lunit.mk | 4 +-
> package/lutok/Config.in | 1 -
> package/pkg-luarocks.mk | 14 ++++--
> 23 files changed, 94 insertions(+), 80 deletions(-)
> delete mode 100644 package/cosmo/Config.in
> delete mode 100644 package/cosmo/cosmo.hash
> create mode 100644 package/lua-bit32/Config.in
> create mode 100644 package/lua-bit32/lua-bit32.hash
> rename package/{cosmo/cosmo.mk => lua-bit32/lua-bit32.mk} (51%)
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
More information about the buildroot
mailing list