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

Tweak rockspec to normalize fields, callout spec version, etc. #357

Merged
merged 3 commits into from
Oct 1, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions penlight-scm-3.rockspec → penlight-dev-1.rockspec
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rockspec_format = "3.0"
Copy link
Member

Choose a reason for hiding this comment

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

I think this is ok for the DEV one, not sure about the release ones, since older luarocks installs will not be able to install Penlight anymore

Copy link
Member Author

Choose a reason for hiding this comment

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

Okay. Are you sure that's actually how it works? I thought some fields were just ignored if it doesn't understand them. If we have to strip out the test stuff (see #358) for the release rockspecs I guess that's workable, but it should still be in the dev one.

Copy link
Member

Choose a reason for hiding this comment

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

Error: Rockspec format 3.0 is not supported, please upgrade LuaRocks.
Kong version: 0.13.0
[Kong-0.13.0:/kong]# luarocks --version
/usr/local/bin/luarocks 2.4.3
LuaRocks main command-line interface

[Kong-0.13.0:/kong]#

Copy link
Member Author

Choose a reason for hiding this comment

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

So the upshot is that for best compatibility we need to release stable versions using an older rockspec version ... which means dropping a couple of fields such as the testing definitions when the rockspec gets copied to stable tagged versions. If I'm understanding that right that shouldn't be too much of a problem, but it might be nice to automate that (or at least write a release checklist so we do it consistently).

Is there something I'm missing? Not having test runner information in the rockspec doesn't seem like a problem for stable release rockspecs, and personally I don't have a whole lot of sympathy for people trying to install bleeding edge Git HEAD software using very old tooling (2.4.3 is over 3 years and 15 releases old).

Copy link
Member

Choose a reason for hiding this comment

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

wrt

write a release checklist so we do it consistently

see https://github.com/lunarmodules/Penlight/blob/master/CONTRIBUTING.md#release-instructions-for-a-new-version which is referred to from the changelog as well

package = "penlight"
version = "scm-3"
version = "dev-1"

source = {
url = "git://github.com/lunarmodules/Penlight.git",
Expand All @@ -8,17 +9,20 @@ source = {

description = {
summary = "Lua utility libraries loosely based on the Python standard libraries",
homepage = "https://lunarmodules.github.io/Penlight",
detailed = [[
Penlight is a set of pure Lua libraries focusing on input data handling
(such as reading configuration files), functional programming
(such as map, reduce, placeholder expressions,etc), and OS path management.
Much of the functionality is inspired by the Python standard libraries.
]],
license = "MIT/X11",
homepage = "https://lunarmodules.github.io/Penlight",
issues_url = "https://github.com/lunarmodules/Penlight/issues",
maintainer = "[email protected]",
detailed = [[
Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
iterating over directories, reading configuration files and the like. Provides functional operations
on tables and sequences.
]]
}

dependencies = {
"lua >= 5.1",
"luafilesystem"
}

Expand Down