aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lpm.lua12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lpm.lua b/src/lpm.lua
index d661e42..a84ee7c 100644
--- a/src/lpm.lua
+++ b/src/lpm.lua
@@ -1369,8 +1369,11 @@ function Bottle:construct()
else
common.copy(self.lite_xl.datadir_path, self.local_path .. PATHSEP .. "data")
end
+ local installing = {}
for i,addon in ipairs(self.addons) do
- addon:install(self)
+ if not installing[addon.id] then
+ addon:install(self, installing)
+ end
end
-- atomically move things
common.rmrf(local_path)
@@ -1790,7 +1793,12 @@ local function lpm_install(type, ...)
end
end
if #to_install == 0 and repo_only == true then error("no addons specified for install") end
- common.each(to_install, function(e) e:install(system_bottle) end)
+ local installing = {}
+ common.each(to_install, function(e)
+ if not installing[e.id] then
+ e:install(system_bottle, installing)
+ end
+ end)
settings.installed = common.concat(settings.installed, to_explicitly_install)
lpm_settings_save()
end