aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/luarocks/list.lua22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/luarocks/list.lua b/src/luarocks/list.lua
index b517d182..8affc52f 100644
--- a/src/luarocks/list.lua
+++ b/src/luarocks/list.lua
@@ -29,27 +29,19 @@ local function check_outdated(trees, query)
29 end 29 end
30 local outdated = {} 30 local outdated = {}
31 for name, versions in util.sortedpairs(results_installed) do 31 for name, versions in util.sortedpairs(results_installed) do
32 local latest_installed 32 versions = util.keys(versions)
33 local latest_available, latest_available_repo 33 table.sort(versions, deps.compare_versions)
34 34 local latest_installed = versions[1]
35 for version, _ in util.sortedpairs(versions, deps.compare_versions) do
36 latest_installed = version
37 break
38 end
39 35
40 local query_available = search.make_query(name:lower()) 36 local query_available = search.make_query(name:lower())
41 query.exact_name = true 37 query.exact_name = true
42 local results_available, err = search.search_repos(query_available) 38 local results_available, err = search.search_repos(query_available)
43 39
44 if results_available[name] then 40 if results_available[name] then
45 for version, repos in util.sortedpairs(results_available[name], deps.compare_versions) do 41 local available_versions = util.keys(results_available[name])
46 latest_available = version 42 table.sort(available_versions, deps.compare_versions)
47 for _, repo in ipairs(repos) do 43 local latest_available = available_versions[1]
48 latest_available_repo = repo.repo 44 local latest_available_repo = results_available[name][latest_available][1].repo
49 break
50 end
51 break
52 end
53 45
54 if deps.compare_versions(latest_available, latest_installed) then 46 if deps.compare_versions(latest_available, latest_installed) then
55 table.insert(outdated, { name = name, installed = latest_installed, available = latest_available, repo = latest_available_repo }) 47 table.insert(outdated, { name = name, installed = latest_installed, available = latest_available, repo = latest_available_repo })