From a9f9050e87c28a9fec1eaa45362a0841728f6849 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Fri, 18 Oct 2013 18:04:10 -0300 Subject: Cleanup temporary fields that escaped; catch an argument error. --- src/luarocks/write_rockspec.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/luarocks/write_rockspec.lua b/src/luarocks/write_rockspec.lua index 6bfa4f1c..5b981563 100644 --- a/src/luarocks/write_rockspec.lua +++ b/src/luarocks/write_rockspec.lua @@ -178,6 +178,7 @@ local function fill_as_builtin(rockspec, libs) end local function rockspec_cleanup(rockspec) + rockspec.source.file = nil rockspec.source.protocol = nil rockspec.variables = nil rockspec.name = nil @@ -200,7 +201,11 @@ function run(...) local_dir = name local filename = dir.base_name(name) name, version = filename:match("(.*)-([^-]+)") - version = version:gsub(".[a-z]+$", ""):gsub(".tar$", "") + if version then + version = version:gsub(".[a-z]+$", ""):gsub(".tar$", "") + else + return nil, "Missing name and version arguments. "..util.see_help("write_rockspec") + end else return nil, "Missing name and version arguments. "..util.see_help("write_rockspec") end @@ -248,6 +253,7 @@ function run(...) rockspec.source.tag = "v" .. version end end + rockspec.source.dir = nil local ok, base_dir, temp_dir = get_url(rockspec) if ok then if base_dir ~= dir.base_name(local_dir) then -- cgit v1.2.3-55-g6feb