summaryrefslogtreecommitdiffstats
path: root/apk-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'apk-model.lua')
-rw-r--r--apk-model.lua13
1 files changed, 10 insertions, 3 deletions
diff --git a/apk-model.lua b/apk-model.lua
index 3898b30..31ef54c 100644
--- a/apk-model.lua
+++ b/apk-model.lua
@@ -134,8 +134,10 @@ get_loaded_packages = function()
temp.name = name
temp.version = value.installed
temp.description = value.comment
+ if value.version and value.version > value.installed then
+ temp.upgrade = true
+ end
if toplevel[name] then
- temp.upgrade = upgrade_available(name)
top.value[#top.value+1] = temp
else
depend.value[#depend.value+1] = temp
@@ -152,7 +154,7 @@ get_available_packages = function()
-- available are all except same version installed
local available = cfe({ type="list", value={}, label="Available Packages" })
for name,value in pairs(repo) do
- if value.version ~= value.installed then
+ if value.version and value.version ~= value.installed then
local temp = {}
temp.name = name
temp.version = value.version
@@ -187,7 +189,12 @@ install_package = function(package,sessiondata)
end
upgrade_package = function(package)
- return cfe({ value=run_apk_cmd("add -u "..package), label="Result of Package Upgrade" })
+ -- Jump through hoops to upgrade package without making top level
+ local retval = run_apk_cmd("add -t temp -u "..package)
+ run_apk_cmd("del temp")
+ retval = string.gsub(retval, "Installing temp [^\n]+\n", "")
+ return cfe({ value=retval, label="Result of Package Upgrade" })
+-- return cfe({ value=run_apk_cmd("add -u "..package), label="Result of Package Upgrade" })
end
update_all = function()