1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#!/usr/bin/lua5.2
--[[
Copyright (c) 2015 Natanael Copa <ncopa@alpinelinux.org>
This content is released under the MIT License.
--]]
upstream_providers = {
(require("upstream.mate")),
(require("upstream.gnome")),
(require("upstream.github")),
(require("upstream.archlinux")),
}
maintainer = {}
io.stderr:write("Reading aports...\n")
db = require("aports.db").new("~/aports", { "main", "community" })
rev = {}
for p in db:each_aport() do
local upstream_pkg = nil
local newver = nil
for _,provider in pairs(upstream_providers) do
upstream_pkg = provider.init(p)
if upstream_pkg then
newver = upstream_pkg:find_newer()
break
end
end
if newver ~= nil then
local m = p:get_maintainer()
local t = {
["name"] = p.pkgname,
["current"] = p.pkgver,
["new"] = newver,
["upstream"] = upstream_pkg.provider_name,
}
rev[p.dir] = t
-- print("DEBUG: maintainer:", m, p.pkgname)
if maintainer[m] == nil then
maintainer[m] = {}
end
table.insert(maintainer[m], p.pkgname)
end
end
print(os.date())
for m, pkgs in pairs(maintainer) do
if m == nil or m == "" then
m = "(unmaintained)"
end
print("==== "..m.." ====")
for pkg in db:each_in_build_order(pkgs) do
p = rev[pkg.dir]
if not p then
print("no rev["..pkg.dir.."]")
else
print(string.format("%-40s(current: %s) %s",
p.name.."-"..p.new, p.current, p.upstream))
end
end
print()
end
|