diff options
| author | Hisham <hisham@gobolinux.org> | 2016-10-18 18:16:38 -0400 |
|---|---|---|
| committer | Hisham <hisham@gobolinux.org> | 2016-10-18 18:16:38 -0400 |
| commit | c5376c9bd5e9a0a87557494c9e737f80357fef82 (patch) | |
| tree | 9ba67fad901f440b1e504a07bda6940fb8a342b7 /src | |
| parent | 6f928845e8d167cf4caf4828a79069d9b71cffd8 (diff) | |
| parent | f83a936687d33b9b5ec9211d8b5534650b471385 (diff) | |
| download | luarocks-c5376c9bd5e9a0a87557494c9e737f80357fef82.tar.gz luarocks-c5376c9bd5e9a0a87557494c9e737f80357fef82.tar.bz2 luarocks-c5376c9bd5e9a0a87557494c9e737f80357fef82.zip | |
Merge branch 'master' into luarocks-3
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/build.lua | 4 | ||||
| -rw-r--r-- | src/luarocks/install.lua | 6 | ||||
| -rw-r--r-- | src/luarocks/purge.lua | 2 | ||||
| -rw-r--r-- | src/luarocks/remove.lua | 11 | ||||
| -rw-r--r-- | src/luarocks/repos.lua | 14 |
5 files changed, 24 insertions, 13 deletions
diff --git a/src/luarocks/build.lua b/src/luarocks/build.lua index d7d8ed07..c43ee949 100644 --- a/src/luarocks/build.lua +++ b/src/luarocks/build.lua | |||
| @@ -225,7 +225,7 @@ function build.build_rockspec(rockspec_file, need_to_fetch, minimal_mode, deps_m | |||
| 225 | end | 225 | end |
| 226 | 226 | ||
| 227 | if repos.is_installed(name, version) then | 227 | if repos.is_installed(name, version) then |
| 228 | repos.delete_version(name, version) | 228 | repos.delete_version(name, version, deps_mode) |
| 229 | end | 229 | end |
| 230 | 230 | ||
| 231 | if not minimal_mode then | 231 | if not minimal_mode then |
| @@ -353,7 +353,7 @@ function build.build_rockspec(rockspec_file, need_to_fetch, minimal_mode, deps_m | |||
| 353 | 353 | ||
| 354 | util.remove_scheduled_function(rollback) | 354 | util.remove_scheduled_function(rollback) |
| 355 | rollback = util.schedule_function(function() | 355 | rollback = util.schedule_function(function() |
| 356 | repos.delete_version(name, version) | 356 | repos.delete_version(name, version, deps_mode) |
| 357 | end) | 357 | end) |
| 358 | 358 | ||
| 359 | ok, err = repos.run_hook(rockspec, "post_install") | 359 | ok, err = repos.run_hook(rockspec, "post_install") |
diff --git a/src/luarocks/install.lua b/src/luarocks/install.lua index c4139fd0..6dded8ee 100644 --- a/src/luarocks/install.lua +++ b/src/luarocks/install.lua | |||
| @@ -48,7 +48,7 @@ function install.install_binary_rock(rock_file, deps_mode) | |||
| 48 | return nil, "Incompatible architecture "..arch, "arch" | 48 | return nil, "Incompatible architecture "..arch, "arch" |
| 49 | end | 49 | end |
| 50 | if repos.is_installed(name, version) then | 50 | if repos.is_installed(name, version) then |
| 51 | repos.delete_version(name, version) | 51 | repos.delete_version(name, version, deps_mode) |
| 52 | end | 52 | end |
| 53 | 53 | ||
| 54 | local rollback = util.schedule_function(function() | 54 | local rollback = util.schedule_function(function() |
| @@ -87,7 +87,7 @@ function install.install_binary_rock(rock_file, deps_mode) | |||
| 87 | 87 | ||
| 88 | util.remove_scheduled_function(rollback) | 88 | util.remove_scheduled_function(rollback) |
| 89 | rollback = util.schedule_function(function() | 89 | rollback = util.schedule_function(function() |
| 90 | repos.delete_version(name, version) | 90 | repos.delete_version(name, version, deps_mode) |
| 91 | end) | 91 | end) |
| 92 | 92 | ||
| 93 | ok, err = repos.run_hook(rockspec, "post_install") | 93 | ok, err = repos.run_hook(rockspec, "post_install") |
| @@ -166,7 +166,7 @@ function install.command(flags, name, version) | |||
| 166 | ok, err = install.install_binary_rock(name, deps.get_deps_mode(flags)) | 166 | ok, err = install.install_binary_rock(name, deps.get_deps_mode(flags)) |
| 167 | end | 167 | end |
| 168 | if not ok then return nil, err end | 168 | if not ok then return nil, err end |
| 169 | local name, version = ok, err | 169 | name, version = ok, err |
| 170 | if (not flags["only-deps"]) and (not flags["keep"]) and not cfg.keep_other_versions then | 170 | if (not flags["only-deps"]) and (not flags["keep"]) and not cfg.keep_other_versions then |
| 171 | local ok, err = remove.remove_other_versions(name, version, flags["force"], flags["force-fast"]) | 171 | local ok, err = remove.remove_other_versions(name, version, flags["force"], flags["force-fast"]) |
| 172 | if not ok then util.printerr(err) end | 172 | if not ok then util.printerr(err) end |
diff --git a/src/luarocks/purge.lua b/src/luarocks/purge.lua index 7647a243..50f290c8 100644 --- a/src/luarocks/purge.lua +++ b/src/luarocks/purge.lua | |||
| @@ -64,7 +64,7 @@ function purge.command(flags) | |||
| 64 | break | 64 | break |
| 65 | else | 65 | else |
| 66 | util.printout("Removing "..package.." "..version.."...") | 66 | util.printout("Removing "..package.." "..version.."...") |
| 67 | local ok, err = repos.delete_version(package, version, true) | 67 | local ok, err = repos.delete_version(package, version, "none", true) |
| 68 | if not ok then | 68 | if not ok then |
| 69 | util.printerr(err) | 69 | util.printerr(err) |
| 70 | end | 70 | end |
diff --git a/src/luarocks/remove.lua b/src/luarocks/remove.lua index e2c05176..008d2616 100644 --- a/src/luarocks/remove.lua +++ b/src/luarocks/remove.lua | |||
| @@ -60,12 +60,15 @@ end | |||
| 60 | --- Delete given versions of a program. | 60 | --- Delete given versions of a program. |
| 61 | -- @param name string: the name of a program | 61 | -- @param name string: the name of a program |
| 62 | -- @param versions array of string: the versions to be deleted. | 62 | -- @param versions array of string: the versions to be deleted. |
| 63 | -- @param deps_mode: string: Which trees to check dependencies for: | ||
| 64 | -- "one" for the current default tree, "all" for all trees, | ||
| 65 | -- "order" for all trees with priority >= the current default, "none" for no trees. | ||
| 63 | -- @return boolean or (nil, string): true on success or nil and an error message. | 66 | -- @return boolean or (nil, string): true on success or nil and an error message. |
| 64 | local function delete_versions(name, versions) | 67 | local function delete_versions(name, versions, deps_mode) |
| 65 | 68 | ||
| 66 | for version, _ in pairs(versions) do | 69 | for version, _ in pairs(versions) do |
| 67 | util.printout("Removing "..name.." "..version.."...") | 70 | util.printout("Removing "..name.." "..version.."...") |
| 68 | local ok, err = repos.delete_version(name, version) | 71 | local ok, err = repos.delete_version(name, version, deps_mode) |
| 69 | if not ok then return nil, err end | 72 | if not ok then return nil, err end |
| 70 | end | 73 | end |
| 71 | 74 | ||
| @@ -110,9 +113,7 @@ function remove.remove_search_results(results, name, deps_mode, force, fast) | |||
| 110 | end | 113 | end |
| 111 | end | 114 | end |
| 112 | 115 | ||
| 113 | local ok, err = delete_versions(name, versions) | 116 | local ok, err = delete_versions(name, versions, deps_mode) |
| 114 | if not ok then return nil, err end | ||
| 115 | ok, err = writer.make_manifest(cfg.rocks_dir, deps_mode) | ||
| 116 | if not ok then return nil, err end | 117 | if not ok then return nil, err end |
| 117 | 118 | ||
| 118 | util.printout("Removal successful.") | 119 | util.printout("Removal successful.") |
diff --git a/src/luarocks/repos.lua b/src/luarocks/repos.lua index 7acb00b9..a5698b8f 100644 --- a/src/luarocks/repos.lua +++ b/src/luarocks/repos.lua | |||
| @@ -8,6 +8,7 @@ local cfg = require("luarocks.core.cfg") | |||
| 8 | local util = require("luarocks.util") | 8 | local util = require("luarocks.util") |
| 9 | local dir = require("luarocks.dir") | 9 | local dir = require("luarocks.dir") |
| 10 | local manif = require("luarocks.manif") | 10 | local manif = require("luarocks.manif") |
| 11 | local writer = require("luarocks.manif.writer") | ||
| 11 | local deps = require("luarocks.deps") | 12 | local deps = require("luarocks.deps") |
| 12 | 13 | ||
| 13 | --- Get all installed versions of a package. | 14 | --- Get all installed versions of a package. |
| @@ -266,13 +267,17 @@ end | |||
| 266 | -- Version numbers are compared as exact string comparison. | 267 | -- Version numbers are compared as exact string comparison. |
| 267 | -- @param name string: name of package | 268 | -- @param name string: name of package |
| 268 | -- @param version string: package version in string format | 269 | -- @param version string: package version in string format |
| 270 | -- @param deps_mode: string: Which trees to check dependencies for: | ||
| 271 | -- "one" for the current default tree, "all" for all trees, | ||
| 272 | -- "order" for all trees with priority >= the current default, "none" for no trees. | ||
| 269 | -- @param quick boolean: do not try to fix the versioned name | 273 | -- @param quick boolean: do not try to fix the versioned name |
| 270 | -- of another version that provides the same module that | 274 | -- of another version that provides the same module that |
| 271 | -- was deleted. This is used during 'purge', as every module | 275 | -- was deleted. This is used during 'purge', as every module |
| 272 | -- will be eventually deleted. | 276 | -- will be eventually deleted. |
| 273 | function repos.delete_version(name, version, quick) | 277 | function repos.delete_version(name, version, deps_mode, quick) |
| 274 | assert(type(name) == "string") | 278 | assert(type(name) == "string") |
| 275 | assert(type(version) == "string") | 279 | assert(type(version) == "string") |
| 280 | assert(type(deps_mode) == "string") | ||
| 276 | 281 | ||
| 277 | local function delete_deployed_file_tree(file_tree, deploy_dir, suffix) | 282 | local function delete_deployed_file_tree(file_tree, deploy_dir, suffix) |
| 278 | return recurse_rock_manifest_tree(file_tree, | 283 | return recurse_rock_manifest_tree(file_tree, |
| @@ -322,7 +327,12 @@ function repos.delete_version(name, version, quick) | |||
| 322 | if not get_installed_versions(name) then | 327 | if not get_installed_versions(name) then |
| 323 | fs.delete(dir.path(cfg.rocks_dir, name)) | 328 | fs.delete(dir.path(cfg.rocks_dir, name)) |
| 324 | end | 329 | end |
| 325 | return true | 330 | |
| 331 | if quick then | ||
| 332 | return true | ||
| 333 | end | ||
| 334 | |||
| 335 | return writer.make_manifest(cfg.rocks_dir, deps_mode) | ||
| 326 | end | 336 | end |
| 327 | 337 | ||
| 328 | return repos | 338 | return repos |
