Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v2 0/3] Adapt luarocks for tarantoolctl
@ 2020-04-05 14:50 Leonid Vasiliev
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 1/3] Add the chdir option for make Leonid Vasiliev
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Leonid Vasiliev @ 2020-04-05 14:50 UTC (permalink / raw)
  To: v.shpilevoy; +Cc: tarantool-patches

https://github.com/tarantool/tarantool/issues/4629
https://github.com/tarantool/luarocks/tree/lvasiliev/gh-4629-add-chdir-to-make
See corresponding patch for tarantoolctl
(https://github.com/tarantool/tarantool/tree/lvasiliev/gh-4629-forward-flags)

Motivation:
Imperfect integretion of the Luarocks to tarantoolctl
(malfunctioning flags, disabled commands, invalid help)

Was done:
Whitelist in tarantoolctl has been changed to blacklist in luarocks
Help has been updated
Option chdir has been moved from tarantoolctl to luarocks

@ChangeLog - see a comment in tarantool

Leonid Vasiliev (3):
  Add the chdir option for make
  Add a black list for tarantoolctl rocks options
  Adapt luarocks help for tarantoolctl rocks

 src/luarocks/cmd/config.lua      | 18 +++++++++---------
 src/luarocks/cmd/help.lua        | 10 +++-------
 src/luarocks/cmd/make.lua        | 15 ++++++++++++---
 src/luarocks/cmd/new_version.lua |  2 +-
 src/luarocks/cmd/purge.lua       |  2 +-
 src/luarocks/util.lua            | 15 +++++++++++++++
 6 files changed, 41 insertions(+), 21 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Tarantool-patches] [PATCH v2 1/3] Add the chdir option for make
  2020-04-05 14:50 [Tarantool-patches] [PATCH v2 0/3] Adapt luarocks for tarantoolctl Leonid Vasiliev
@ 2020-04-05 14:50 ` Leonid Vasiliev
  2020-04-05 18:40   ` Vladislav Shpilevoy
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 2/3] Add a black list for tarantoolctl rocks options Leonid Vasiliev
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 3/3] Adapt luarocks help for tarantoolctl rocks Leonid Vasiliev
  2 siblings, 1 reply; 5+ messages in thread
From: Leonid Vasiliev @ 2020-04-05 14:50 UTC (permalink / raw)
  To: v.shpilevoy; +Cc: tarantool-patches

---
 src/luarocks/cmd/make.lua | 11 ++++++++++-
 src/luarocks/util.lua     |  1 +
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/luarocks/cmd/make.lua b/src/luarocks/cmd/make.lua
index 4d81386..99b0fb4 100644
--- a/src/luarocks/cmd/make.lua
+++ b/src/luarocks/cmd/make.lua
@@ -59,6 +59,8 @@ only dependencies of the rockspec (see `luarocks help install`).
 --sign              To be used with --pack-binary-rock. Also produce
                     a signature file for the generated .rock file.
 
+--chdir=<path>      Specify a source directory of the rock.
+
 ]]
 
 --- Driver function for "make" command.
@@ -68,6 +70,13 @@ only dependencies of the rockspec (see `luarocks help install`).
 function make.command(flags, rockspec_filename)
    assert(type(rockspec_filename) == "string" or not rockspec_filename)
    
+   if flags["chdir"] then
+      local ok, err = fs.change_dir(flags["chdir"])
+      if not ok then
+         return nil, err
+      end
+   end
+
    if not rockspec_filename then
       local err
       rockspec_filename, err = util.get_default_rockspec()
@@ -78,7 +87,7 @@ function make.command(flags, rockspec_filename)
    if not rockspec_filename:match("rockspec$") then
       return nil, "Invalid argument: 'make' takes a rockspec as a parameter. "..util.see_help("make")
    end
-   
+
    local rockspec, err, errcode = fetch.load_rockspec(rockspec_filename)
    if not rockspec then
       return nil, err
diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua
index abf6d90..8ccda27 100644
--- a/src/luarocks/util.lua
+++ b/src/luarocks/util.lua
@@ -92,6 +92,7 @@ local supported_flags = {
    ["binary"] = true,
    ["branch"] = "<branch-name>",
    ["build-deps"] = true,
+   ["chdir"] = "<path>",
    ["debug"] = true,
    ["deps"] = true,
    ["deps-mode"] = "<mode>",
-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Tarantool-patches] [PATCH v2 2/3] Add a black list for tarantoolctl rocks options
  2020-04-05 14:50 [Tarantool-patches] [PATCH v2 0/3] Adapt luarocks for tarantoolctl Leonid Vasiliev
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 1/3] Add the chdir option for make Leonid Vasiliev
@ 2020-04-05 14:50 ` Leonid Vasiliev
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 3/3] Adapt luarocks help for tarantoolctl rocks Leonid Vasiliev
  2 siblings, 0 replies; 5+ messages in thread
From: Leonid Vasiliev @ 2020-04-05 14:50 UTC (permalink / raw)
  To: v.shpilevoy; +Cc: tarantool-patches

---
 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=<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`.
 	--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/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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Tarantool-patches] [PATCH v2 3/3] Adapt luarocks help for tarantoolctl rocks
  2020-04-05 14:50 [Tarantool-patches] [PATCH v2 0/3] Adapt luarocks for tarantoolctl Leonid Vasiliev
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 1/3] Add the chdir option for make Leonid Vasiliev
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 2/3] Add a black list for tarantoolctl rocks options Leonid Vasiliev
@ 2020-04-05 14:50 ` Leonid Vasiliev
  2 siblings, 0 replies; 5+ messages in thread
From: Leonid Vasiliev @ 2020-04-05 14:50 UTC (permalink / raw)
  To: v.shpilevoy; +Cc: tarantool-patches

---
 src/luarocks/cmd/config.lua      | 18 +++++++++---------
 src/luarocks/cmd/help.lua        |  5 +++--
 src/luarocks/cmd/make.lua        |  4 ++--
 src/luarocks/cmd/new_version.lua |  2 +-
 src/luarocks/cmd/purge.lua       |  2 +-
 5 files changed, 16 insertions(+), 15 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 202fe43..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"
 
 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)
diff --git a/src/luarocks/cmd/make.lua b/src/luarocks/cmd/make.lua
index 99b0fb4..660c3fe 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
-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Tarantool-patches] [PATCH v2 1/3] Add the chdir option for make
  2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 1/3] Add the chdir option for make Leonid Vasiliev
@ 2020-04-05 18:40   ` Vladislav Shpilevoy
  0 siblings, 0 replies; 5+ messages in thread
From: Vladislav Shpilevoy @ 2020-04-05 18:40 UTC (permalink / raw)
  To: Leonid Vasiliev; +Cc: tarantool-patches

> diff --git a/src/luarocks/cmd/make.lua b/src/luarocks/cmd/make.lua
> index 4d81386..99b0fb4 100644
> --- a/src/luarocks/cmd/make.lua
> +++ b/src/luarocks/cmd/make.lua
> @@ -78,7 +87,7 @@ function make.command(flags, rockspec_filename)
>     if not rockspec_filename:match("rockspec$") then
>        return nil, "Invalid argument: 'make' takes a rockspec as a parameter. "..util.see_help("make")
>     end
> -   
> +

Please, drop the unnecessary diff.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-04-05 18:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-05 14:50 [Tarantool-patches] [PATCH v2 0/3] Adapt luarocks for tarantoolctl Leonid Vasiliev
2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 1/3] Add the chdir option for make Leonid Vasiliev
2020-04-05 18:40   ` Vladislav Shpilevoy
2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 2/3] Add a black list for tarantoolctl rocks options Leonid Vasiliev
2020-04-05 14:50 ` [Tarantool-patches] [PATCH v2 3/3] Adapt luarocks help for tarantoolctl rocks Leonid Vasiliev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox