From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp36.i.mail.ru (smtp36.i.mail.ru [94.100.177.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 4F3694696C5 for ; Sun, 5 Apr 2020 17:50:14 +0300 (MSK) From: Leonid Vasiliev Date: Sun, 5 Apr 2020 17:50:08 +0300 Message-Id: <9e733ecbf524aeeb4c417451e11e87b5986660c8.1586096636.git.lvasiliev@tarantool.org> In-Reply-To: References: In-Reply-To: References: Subject: [Tarantool-patches] [PATCH v2 2/3] Add a black list for tarantoolctl rocks options List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org Cc: tarantool-patches@dev.tarantool.org --- src/luarocks/cmd/help.lua | 5 ----- src/luarocks/util.lua | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/luarocks/cmd/help.lua b/src/luarocks/cmd/help.lua index dcc9e35..202fe43 100644 --- a/src/luarocks/cmd/help.lua +++ b/src/luarocks/cmd/help.lua @@ -62,12 +62,7 @@ function help.command(description, commands, command) (overrides any entries in the config file) --only-sources= Restrict downloads to paths matching the given URL. - --lua-dir= Which Lua installation to use. - --lua-version= Which Lua version to use. --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`. --verbose Display verbose output of commands executed. --timeout= Timeout on network operations, in seconds. 0 means no timeout (wait forever). diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua index 8ccda27..895747c 100644 --- a/src/luarocks/util.lua +++ b/src/luarocks/util.lua @@ -171,6 +171,14 @@ local supported_flags = { ["version"] = true, } +-- The tarantool unsupported arguments list. +local tarantool_black_list = { + ["global"] = true, + ["local"] = true, + ["lua-version"] = true, + ["lua-dir"] = true, +} + --- Extract flags from an arguments list. -- Given string arguments, extract flag arguments into a flags set. -- For example, given "foo", "--tux=beep", "--bla", "bar", "--baz", @@ -189,6 +197,9 @@ function util.parse_flags(...) elseif state == "initial" and flag then local var,val = flag:match("([a-z_%-]*)=(.*)") if val then + if tarantool_black_list[var] then + return { ERROR = "Invalid argument: flag --"..var.." is not supported by tarantoolctl rocks." } + end local vartype = supported_flags[var] if type(vartype) == "string" then if val == "" and vartype:sub(1,1) ~= '"' then @@ -204,6 +215,9 @@ function util.parse_flags(...) end else local var = flag + if tarantool_black_list[var] then + return { ERROR = "Invalid argument: flag --"..var.." is not supported by tarantoolctl rocks." } + end local vartype = supported_flags[var] if type(vartype) == "string" then i = i + 1 -- 2.7.4