From 284bf00bb2fa157063ce8d5dc58e47d38eea8209 Mon Sep 17 00:00:00 2001 From: hisham Date: Wed, 26 Aug 2009 15:12:42 +0000 Subject: better error checking git-svn-id: http://luarocks.org/svn/luarocks/trunk@49 9ca3f7c1-7366-0410-b1a3-b5c78f85698c --- src/luarocks/command_line.lua | 1 + src/luarocks/fetch.lua | 3 +++ src/luarocks/fs/unix/tools.lua | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/luarocks/command_line.lua b/src/luarocks/command_line.lua index 963916bd..58c54354 100644 --- a/src/luarocks/command_line.lua +++ b/src/luarocks/command_line.lua @@ -6,6 +6,7 @@ local util = require("luarocks.util") local cfg = require("luarocks.cfg") local fs = require("luarocks.fs") local path = require("luarocks.path") +local dir = require("luarocks.dir") --- Display an error message and exit. -- @param message string: The error message. diff --git a/src/luarocks/fetch.lua b/src/luarocks/fetch.lua index fc0535a9..407d72c5 100644 --- a/src/luarocks/fetch.lua +++ b/src/luarocks/fetch.lua @@ -263,6 +263,9 @@ function get_sources(rockspec, extract, dest_dir) if extract then fs.change_dir(store_dir) fs.unpack_archive(rockspec.source.file) + if not fs.exists(rockspec.source.dir) then + return nil, "Directory "..rockspec.source.dir.." not found inside archive "..rockspec.source.file + end fs.pop_dir() end return source_file, store_dir diff --git a/src/luarocks/fs/unix/tools.lua b/src/luarocks/fs/unix/tools.lua index b4cb43a7..c8fefd4d 100644 --- a/src/luarocks/fs/unix/tools.lua +++ b/src/luarocks/fs/unix/tools.lua @@ -14,7 +14,8 @@ local dir_stack = {} -- @return boolean: true if command succeeds (status code 0), false -- otherwise. function execute_string(cmd) - if os.execute("cd " .. fs.Q(fs.current_dir()) .. " && " .. cmd) == 0 then + local actual_cmd = "cd " .. fs.Q(fs.current_dir()) .. " && " .. cmd + if os.execute(actual_cmd) == 0 then return true else return false -- cgit v1.2.3-55-g6feb