summaryrefslogtreecommitdiff
path: root/updater.lua
blob: 2695fd99a0b6662e249bbb13b6fd973c229d554e (plain)
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
67
68
69
70
71
72
73
local uci_cursor = uci.cursor(root_dir .. "/etc/config")

local board
local model = model or os_release["OPENWRT_DEVICE_PRODUCT"] or os_release["LEDE_DEVICE_PRODUCT"]
if model:match('[Mm]ox') then
	board = "mox"
elseif model:match('[Oo]mnia') then
	board = "omnia"
elseif model:match('Turris 1.x') then
	board = "turris1x"
else
	DIE("Unsupported board: " .. model)
end

local mode = uci_cursor:get("updater", "turris", "mode")
local animal = uci_cursor:get("updater", "turris", "branch")
if mode and mode ~= "branch" then
	WARN("Only branch mode allowed for personal-pkgs, used: " .. tostring(mode))
	return
end
if animal ~= "hbd" and animal ~= "hbl" and animal ~= "hbk" then
	WARN("Unsupported branch for personal-pkgs: " .. tostring(animal))
	return
end

Repository("personal-pkgs", animal .. "/" .. board)

----------------------------------------------------------------------------------
Install("personal-pkgs-repo")
Package("personal-pkgs-repo", { replan = "finished" })

local tools = false
local vpn = false
local bigclown = false
local sentinel = false

uci_cursor:foreach("system", "system", function(s) hostname = s['hostname'] end)
if hostname == "turris-prague" then
	tools = true
	vpn = true
	bigclown = true
	sentinel = true
	Install("6to4")
	Install("etherwake")
elseif hostname == "turris-home" then
	tools = true
	vpn = true
	sentinel = true
	Install("transmission-daemon-openssl")
elseif hostname:match("-home$") then
	tools = true
elseif hostname:match("^work-") then
	tools = true
end

if tools then
	Install("tree", "grep", "coreutils-sha256sum")
	Install("iperf", "iperf3")
	Install("sysstat", "strace")
	Install("shellrc-zsh")
end
if vpn then
	Install("luci-app-openvpn", "openvpn-openssl")
	Install("luci-app-wireguard", "wireguard")
end
if bigclown then
	Install("bigclown-gateway", "bigclown-mqtt2influxdb", "bigclown-control-tool")
	Install("mosquitto", "mosquitto-client")
	Install("bigclown-leds")
end
if sentinel then
	Install("sentinel-minipot", "sentinel-nikola", "sentinel-dynfw-client")
end