aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/luarocks/manif/writer.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/luarocks/manif/writer.lua b/src/luarocks/manif/writer.lua
index d6b70a5f..44580a46 100644
--- a/src/luarocks/manif/writer.lua
+++ b/src/luarocks/manif/writer.lua
@@ -412,8 +412,17 @@ function writer.remove_from_manifest(name, version, repo, deps_mode)
412 end 412 end
413 413
414 local package_entry = manifest.repository[name] 414 local package_entry = manifest.repository[name]
415 if package_entry == nil or package_entry[version] == nil then
416 -- entry is already missing from repository, no need to do anything
417 return true
418 end
415 419
416 local version_entry = package_entry[version][1] 420 local version_entry = package_entry[version][1]
421 if not version_entry then
422 -- manifest looks corrupted, rebuild
423 return writer.make_manifest(rocks_dir, deps_mode)
424 end
425
417 remove_package_items(manifest.modules, name, version, version_entry.modules) 426 remove_package_items(manifest.modules, name, version, version_entry.modules)
418 remove_package_items(manifest.commands, name, version, version_entry.commands) 427 remove_package_items(manifest.commands, name, version, version_entry.commands)
419 428