diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2014-05-03 16:46:09 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2014-05-03 16:46:09 -0300 |
| commit | dca17835db0ed60f971acf33a0c78d203bc5e22f (patch) | |
| tree | 0da9487442b9d942c3216dd77d2e5e9a4a09f206 /src | |
| parent | 63820f899cf8f35b2274b04e76b15b168213bd33 (diff) | |
| parent | 2501f311c8b9311a3e48787ba955ab6b4e783c7f (diff) | |
| download | luarocks-dca17835db0ed60f971acf33a0c78d203bc5e22f.tar.gz luarocks-dca17835db0ed60f971acf33a0c78d203bc5e22f.tar.bz2 luarocks-dca17835db0ed60f971acf33a0c78d203bc5e22f.zip | |
Merge branch 'master' of https://github.com/keplerproject/luarocks
Conflicts:
src/luarocks/fs/unix/tools.lua
src/luarocks/fs/win32/tools.lua
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/cfg.lua | 1 | ||||
| -rw-r--r-- | src/luarocks/fs/unix/tools.lua | 9 | ||||
| -rw-r--r-- | src/luarocks/fs/win32/tools.lua | 9 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua index 1207d600..c7ca4441 100644 --- a/src/luarocks/cfg.lua +++ b/src/luarocks/cfg.lua | |||
| @@ -227,6 +227,7 @@ local defaults = { | |||
| 227 | lua_interpreter = site_config.LUA_INTERPRETER or "lua", | 227 | lua_interpreter = site_config.LUA_INTERPRETER or "lua", |
| 228 | downloader = site_config.LUAROCKS_DOWNLOADER or "wget", | 228 | downloader = site_config.LUAROCKS_DOWNLOADER or "wget", |
| 229 | md5checker = site_config.LUAROCKS_MD5CHECKER or "md5sum", | 229 | md5checker = site_config.LUAROCKS_MD5CHECKER or "md5sum", |
| 230 | connection_timeout = 30, -- 0 = no timeout | ||
| 230 | 231 | ||
| 231 | variables = { | 232 | variables = { |
| 232 | MAKE = "make", | 233 | MAKE = "make", |
diff --git a/src/luarocks/fs/unix/tools.lua b/src/luarocks/fs/unix/tools.lua index aadb9b07..88189e07 100644 --- a/src/luarocks/fs/unix/tools.lua +++ b/src/luarocks/fs/unix/tools.lua | |||
| @@ -247,6 +247,9 @@ function tools.download(url, filename, cache) | |||
| 247 | local ok | 247 | local ok |
| 248 | if cfg.downloader == "wget" then | 248 | if cfg.downloader == "wget" then |
| 249 | local wget_cmd = fs.Q(vars.WGET).." --no-check-certificate --no-cache --user-agent='"..cfg.user_agent.." via wget' --quiet " | 249 | local wget_cmd = fs.Q(vars.WGET).." --no-check-certificate --no-cache --user-agent='"..cfg.user_agent.." via wget' --quiet " |
| 250 | if cfg.connection_timeout > 0 then | ||
| 251 | wget_cmd = wget_cmd .. "--timeout="..tonumber(cfg.connection_timeout).." --tries=1 " | ||
| 252 | end | ||
| 250 | if cache then | 253 | if cache then |
| 251 | -- --timestamping is incompatible with --output-document, | 254 | -- --timestamping is incompatible with --output-document, |
| 252 | -- but that's not a problem for our use cases. | 255 | -- but that's not a problem for our use cases. |
| @@ -259,7 +262,11 @@ function tools.download(url, filename, cache) | |||
| 259 | ok = fs.execute_quiet(wget_cmd, url) | 262 | ok = fs.execute_quiet(wget_cmd, url) |
| 260 | end | 263 | end |
| 261 | elseif cfg.downloader == "curl" then | 264 | elseif cfg.downloader == "curl" then |
| 262 | ok = fs.execute_string(fs.Q(vars.CURL).." -f -k -L --user-agent '"..cfg.user_agent.." via curl' "..fs.Q(url).." 2> /dev/null 1> "..fs.Q(filename)) | 265 | local curl_cmd = fs.Q(vars.CURL).." -f -k -L --user-agent '"..cfg.user_agent.." via curl' " |
| 266 | if cfg.connection_timeout > 0 then | ||
| 267 | curl_cmd = curl_cmd .. "--connect-timeout="..tonumber(cfg.connection_timeout).." " | ||
| 268 | end | ||
| 269 | ok = fs.execute_string(curl_cmd..fs.Q(url).." 2> /dev/null 1> "..fs.Q(filename)) | ||
| 263 | end | 270 | end |
| 264 | if ok then | 271 | if ok then |
| 265 | return true, filename | 272 | return true, filename |
diff --git a/src/luarocks/fs/win32/tools.lua b/src/luarocks/fs/win32/tools.lua index fbd8b6e4..9f32bf5b 100644 --- a/src/luarocks/fs/win32/tools.lua +++ b/src/luarocks/fs/win32/tools.lua | |||
| @@ -257,6 +257,9 @@ function tools.download(url, filename, cache) | |||
| 257 | local ok | 257 | local ok |
| 258 | if cfg.downloader == "wget" then | 258 | if cfg.downloader == "wget" then |
| 259 | local wget_cmd = fs.Q(vars.WGET).." --no-check-certificate --no-cache --user-agent=\""..cfg.user_agent.." via wget\" --quiet " | 259 | local wget_cmd = fs.Q(vars.WGET).." --no-check-certificate --no-cache --user-agent=\""..cfg.user_agent.." via wget\" --quiet " |
| 260 | if cfg.connection_timeout > 0 then | ||
| 261 | wget_cmd = wget_cmd .. "--timeout="..tonumber(cfg.connection_timeout).." --tries=1 " | ||
| 262 | end | ||
| 260 | if cache then | 263 | if cache then |
| 261 | -- --timestamping is incompatible with --output-document, | 264 | -- --timestamping is incompatible with --output-document, |
| 262 | -- but that's not a problem for our use cases. | 265 | -- but that's not a problem for our use cases. |
| @@ -269,7 +272,11 @@ function tools.download(url, filename, cache) | |||
| 269 | ok = fs.execute_quiet(wget_cmd, url) | 272 | ok = fs.execute_quiet(wget_cmd, url) |
| 270 | end | 273 | end |
| 271 | elseif cfg.downloader == "curl" then | 274 | elseif cfg.downloader == "curl" then |
| 272 | ok = fs.execute_string(fs.Q(vars.CURL).." -f -k -L --user-agent \""..cfg.user_agent.." via curl\" "..fs.Q(url).." 2> NUL 1> "..fs.Q(filename)) | 275 | local curl_cmd = vars.CURL.." -f -k -L --user-agent \""..cfg.user_agent.." via curl\" " |
| 276 | if cfg.connection_timeout > 0 then | ||
| 277 | curl_cmd = curl_cmd .. "--connect-timeout="..tonumber(cfg.connection_timeout).." " | ||
| 278 | end | ||
| 279 | ok = fs.execute_string(curl_cmd..fs.Q(url).." 2> NUL 1> "..fs.Q(filename)) | ||
| 273 | end | 280 | end |
| 274 | if ok then | 281 | if ok then |
| 275 | return true, filename | 282 | return true, filename |
