[Tarantool-patches] [PATCH v2 2/2] luarocks: Add a kludge for option force of luarocks remove

Igor Munkin imun at tarantool.org
Wed Apr 1 02:21:28 MSK 2020


Leonid,

Thanks for the patch! Please consider the comment below.

On 16.03.20, Leonid Vasiliev wrote:
> From: Leonid <lvasiliev at tarantool.org>
> 
> Fixed the tarantoolctl rocks remove flag --force
> 
> Forwarding of the --force flag to tarantoolctl rocks module was added.
> (Command: tarantoolctl rocks remove --force)
> 
> Fixes: #3632
> ---
>  extra/dist/tarantoolctl.in | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/extra/dist/tarantoolctl.in b/extra/dist/tarantoolctl.in
> index 372838edd..c6c3ecb8f 100755
> --- a/extra/dist/tarantoolctl.in
> +++ b/extra/dist/tarantoolctl.in
> @@ -950,6 +950,10 @@ local function rocks()
>          table.insert(positional_arguments, "--all")
>      end
>  
> +    if positional_arguments[1] == "remove" and find_arg("force") then

This is a bad check. Consider the following example (I patched the
tarantoolctl.in a little for it):
| $ export LUA_PATH="$LUA_PATH;third_party/luarocks/src/?.lua;;"
| $ ./extra/dist/tarantoolctl rocks install try/force-scm-1.rockspec
| <snipped>
| force scm-1 is now installed in /home/imun/.luarocks
| $ git diff
| diff --git a/extra/dist/tarantoolctl.in b/extra/dist/tarantoolctl.in
| index 2b95e2957..2378dee2b 100755
| --- a/extra/dist/tarantoolctl.in
| +++ b/extra/dist/tarantoolctl.in
| @@ -950,6 +950,7 @@ local function rocks()
|      end
|  
|      if positional_arguments[1] == "remove" and find_arg("force") then
| +        print('WARN: --force option is set for remove')
|          table.insert(positional_arguments, "--force")
|      end
|  
| $ ./extra/dist/tarantoolctl rocks remove force
| WARN: --force option is set for remove
| Checking stability of dependencies in the absence of
| force scm-1...
| 
| Removing force scm-1...
| Removal successful.

You need to check whether 'force' key exists in keyword_arguments, not
to search 'force' substring in arg tables values.

> +        table.insert(positional_arguments, "--force")
> +    end
> +
>      -- Tweak help messages
>      util.see_help = function(command, program)
>          -- TODO: print extended help message here

<snipped>

> -- 
> 2.17.1
> 

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list