diff options
Diffstat (limited to 'apk-model.lua')
-rw-r--r-- | apk-model.lua | 13 |
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() |