Found while install-testing every Bifrost port on a fresh Linux container (pyrex41/bifrost, branch claude/shen-clients-install-test-j4mpti).
What happens
luarocks install shen installs the published shen 0.9.0-1 rock, whose launcher reports the 41.1 kernel:
$ luarocks install shen
shen 0.9.0-1 is now installed in /usr/local (license: BSD-3-Clause (Shen kernel: BSD))
$ /usr/local/bin/shen -e '(version)'
41.1
Meanwhile a git checkout of HEAD (c58746e) reports 41.2:
$ git clone https://github.com/pyrex41/shen-lua && shen-lua/bin/shen -e '(version)'
41.2
So anyone installing via luarocks gets a kernel one release behind, and Bifrost's version-sensitive corpus cases (version-expr-41-2, version-banner-contains) fail against the rock while passing against the checkout.
Why
The only git tag is v0.9.0 (f77fcae), which predates the S41.2 kernel refresh (#37 etc.), and the published rock builds from that tag. A wrinkle: the shen-0.9.0-1.rockspec checked in at HEAD now says "kernel 41.2" in its summary/description but still pins tag = "v0.9.0" — so the same rockspec name describes 41.2 while building 41.1. The rock's luarocks-served description also still says "kernel 41.1".
Suggested fix
- Tag a new release (e.g.
v0.10.0) at/after the 41.2 kernel refresh.
- Cut a matching
shen-0.10.0-1.rockspec (the description text at HEAD is already correct for 41.2) and publish it to luarocks.
- Optionally yank/deprecate
0.9.0-1 or at least fix its description so it doesn't claim to be current.
For now Bifrost's install shen-lua defaults to git-build with --method luarocks documented as lagging (pyrex41/bifrost commit fa1db15); once a 41.2 rock is published that caveat can be dropped.
Found while install-testing every Bifrost port on a fresh Linux container (pyrex41/bifrost, branch
claude/shen-clients-install-test-j4mpti).What happens
luarocks install sheninstalls the publishedshen 0.9.0-1rock, whose launcher reports the 41.1 kernel:Meanwhile a git checkout of HEAD (
c58746e) reports 41.2:So anyone installing via luarocks gets a kernel one release behind, and Bifrost's version-sensitive corpus cases (
version-expr-41-2,version-banner-contains) fail against the rock while passing against the checkout.Why
The only git tag is
v0.9.0(f77fcae), which predates the S41.2 kernel refresh (#37 etc.), and the published rock builds from that tag. A wrinkle: theshen-0.9.0-1.rockspecchecked in at HEAD now says "kernel 41.2" in its summary/description but still pinstag = "v0.9.0"— so the same rockspec name describes 41.2 while building 41.1. The rock's luarocks-served description also still says "kernel 41.1".Suggested fix
v0.10.0) at/after the 41.2 kernel refresh.shen-0.10.0-1.rockspec(the description text at HEAD is already correct for 41.2) and publish it to luarocks.0.9.0-1or at least fix its description so it doesn't claim to be current.For now Bifrost's
install shen-luadefaults to git-build with--method luarocksdocumented as lagging (pyrex41/bifrost commitfa1db15); once a 41.2 rock is published that caveat can be dropped.