[Tarantool-patches] [PATCH 3/3] Adapt luarocks help for the tarantoolctl

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sat Apr 4 22:02:46 MSK 2020


Thanks for the patch!

It would be good to get any explanations here. My main
question is whether luarocks is a self sufficient tool,
or it is a library used solely by tarantoolctl? In the
latter case lots of things can be done simpler than they
are. In the former case it looks incorrect to use 'tarantoolct'
name anywhere in the sources.

See 3 comments below.

On 25/03/2020 22:50, Leonid Vasiliev wrote:
> ---
>  src/luarocks/cmd/config.lua      | 18 +++++++++---------
>  src/luarocks/cmd/help.lua        | 10 +++-------
>  src/luarocks/cmd/make.lua        |  4 ++--
>  src/luarocks/cmd/new_version.lua |  2 +-
>  src/luarocks/cmd/purge.lua       |  2 +-
>  5 files changed, 16 insertions(+), 20 deletions(-)
> 
> diff --git a/src/luarocks/cmd/config.lua b/src/luarocks/cmd/config.lua
> index e9b2fef..d540dea 100644
> --- a/src/luarocks/cmd/config.lua
> +++ b/src/luarocks/cmd/config.lua
> @@ -17,9 +17,9 @@ config_cmd.help = [[
>    all config files and any command-line flags passed)
>  
>    Examples:
> -     luarocks config lua_interpreter
> -     luarocks config variables.LUA_INCDIR
> -     luarocks config lua_version
> +     tarantoolctl rocks config lua_interpreter
> +     tarantoolctl rocks config variables.LUA_INCDIR
> +     tarantoolctl rocks config lua_version
>  
>  * When given a configuration key and a value,
>    it overwrites the config file (see the --scope option below to determine which)
> @@ -31,26 +31,26 @@ config_cmd.help = [[
>      used by LuaRocks commands (eqivalent to passing --lua-version). 
>  
>    Examples:
> -     luarocks config variables.OPENSSL_DIR /usr/local/openssl
> -     luarocks config lua_dir /usr/local
> -     luarocks config lua_version 5.3
> +     tarantoolctl rocks config variables.OPENSSL_DIR /usr/local/openssl
> +     tarantoolctl rocks config lua_dir /usr/local
> +     tarantoolctl rocks config lua_version 5.3
>  
>  * When given a configuration key and --unset,
>    it overwrites the config file (see the --scope option below to determine which)
>    and deletes that key from the file.
>  
> -  Example: luarocks config variables.OPENSSL_DIR --unset
> +  Example: tarantoolctl rocks config variables.OPENSSL_DIR --unset
>  
>  * When given no arguments, it prints the entire currently active
>    configuration, resulting from reading the config files from
>    all scopes.
>  
> -  Example: luarocks config
> +  Example: tarantoolctl rocks config
>  
>  OPTIONS
>  --scope=<scope>   The scope indicates which config file should be rewritten.
>                    Accepted values are "system", "user" or "project".
> -                  * Using a wrapper created with `luarocks init`,
> +                  * Using a wrapper created with `tarantoolctl rocks init`,
>                      the default is "project".
>                    * Using --local (or when `local_by_default` is `true`),
>                      the default is "user".
> diff --git a/src/luarocks/cmd/help.lua b/src/luarocks/cmd/help.lua
> index dcc9e35..689fd2d 100644
> --- a/src/luarocks/cmd/help.lua
> +++ b/src/luarocks/cmd/help.lua
> @@ -10,7 +10,7 @@ local util = require("luarocks.util")
>  local cfg = require("luarocks.core.cfg")
>  local dir = require("luarocks.dir")
>  
> -local program = util.this_program("luarocks")
> +local program = util.this_program("luarocks") .. " rocks"

1. So under some circumstances it is possible to get help in
form of 'luarocks rocks' instead of 'tarantoolctl rocks'?

Why does this util.this_program() even take any parameters? Can
it just return 'tarantoolctl' constantly?

>  help.help_summary = "Help on commands. Type '"..program.." help <command>' for more."
>  
> @@ -20,7 +20,8 @@ help.help = [[
>  ]]
>  
>  local function print_banner()
> -   util.printout("\nLuaRocks "..cfg.program_version..", the Lua package manager")
> +   util.printout("\nTarantoolctl rocks, the Lua package manager"
> +                 .. " based on LuaRocks " .. cfg.program_version)
>  end
>  
>  local function print_section(section)
> @@ -62,12 +63,7 @@ function help.command(description, commands, command)
>  	                       (overrides any entries in the config file)
>  	--only-sources=<url>   Restrict downloads to paths matching the
>  	                       given URL.
> -        --lua-dir=<prefix>     Which Lua installation to use.
> -	--lua-version=<ver>    Which Lua version to use.
>  	--tree=<tree>          Which tree to operate on.
> -	--local                Use the tree in the user's home directory.
> -	                       To enable it, see ']]..program..[[ help path'.
> -	--global               Use the system tree when `local_by_default` is `true`.

2. I am sure these removals should happen in the previous commit.

>  	--verbose              Display verbose output of commands executed.
>  	--timeout=<seconds>    Timeout on network operations, in seconds.
>  	                       0 means no timeout (wait forever).
> diff --git a/src/luarocks/cmd/make.lua b/src/luarocks/cmd/make.lua
> index 025ac11..dc70d49 100644
> --- a/src/luarocks/cmd/make.lua
> +++ b/src/luarocks/cmd/make.lua
> @@ -32,8 +32,8 @@ This command is useful as a tool for debugging rockspecs.
>  To install rocks, you'll normally want to use the "install" and
>  "build" commands. See the help on those for details.
>  
> -NB: Use `luarocks install` with the `--only-deps` flag if you want to install
> -only dependencies of the rockspec (see `luarocks help install`).
> +NB: Use `tarantoolctl rocks install` with the `--only-deps` flag if you want to install
> +only dependencies of the rockspec (see `tarantoolctl rocks help install`).
>  
>  --pack-binary-rock  Do not install rock. Instead, produce a .rock file
>                      with the contents of compilation in the current
> diff --git a/src/luarocks/cmd/new_version.lua b/src/luarocks/cmd/new_version.lua
> index f1181d4..e0ce760 100644
> --- a/src/luarocks/cmd/new_version.lua
> +++ b/src/luarocks/cmd/new_version.lua
> @@ -18,7 +18,7 @@ from a previous one.
>  
>  If a package name is given, it downloads the latest rockspec from the
>  default server. If a rockspec is given, it uses it instead. If no argument
> -is given, it looks for a rockspec same way 'luarocks make' does.
> +is given, it looks for a rockspec same way 'tarantoolctl rocks make' does.
>  
>  If the version number is not given and tag is passed using --tag,
>  it is used as the version, with 'v' removed from beginning.
> diff --git a/src/luarocks/cmd/purge.lua b/src/luarocks/cmd/purge.lua
> index 98b76a0..31b09e3 100644
> --- a/src/luarocks/cmd/purge.lua
> +++ b/src/luarocks/cmd/purge.lua
> @@ -21,7 +21,7 @@ purge.help = [[
>  This command removes rocks en masse from a given tree.
>  By default, it removes all rocks from a tree.
>  
> -The --tree argument is mandatory: luarocks purge does not
> +The --tree argument is mandatory: tarantoolctl rocks purge does not
>  assume a default tree.
>  
>  --old-versions  Keep the highest-numbered version of each

3. If this commmit is indended to fully replace luarocks with tarantoolctl
in all comments and help texts, then it does not finish this task. I grepped
'luarocks' and still see tons of places where luarocks is mentioned.


More information about the Tarantool-patches mailing list