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 |