Skip to content
Snippets Groups Projects
Verified Commit 03a4d2c5 authored by Karel Koci's avatar Karel Koci :metal:
Browse files

lists: update lists to use relative URI

This implements support for new updater with relative URI and no model
variable.
parent f2fb36b8
No related branches found
No related tags found
1 merge request!123Turris OS 5.0 (HBK)
include(utils.m4)dnl Include utility macros
include(repository.m4)dnl Include Repository command
----------------------------------------------------------------------------------
list_script('repository.lua')
-- Updater itself
Install('updater-ng', 'updater-supervisor', { critical = true })
......@@ -13,37 +12,29 @@ Install("base-files", "busybox", "dns-resolver", { critical = true })
Package("kernel", { reboot = "delayed" })
Package("kmod-mac80211", { reboot = "delayed" })
forInstallCritical(kmod,file2args(kmod.list))
if model:match("[Mm][Oo][Xx]") then
if board == "mox" then
forInstallCritical(kmod,file2args(kmod-mox.list))
elseif model:match("[Oo]mnia") then
Install("mox-support", { critical = true })
Install("zram-swap", { priority = 40 })
elseif board == "omnia" then
forInstallCritical(kmod,file2args(kmod-omnia.list))
elseif model:match("^[Tt]urris$") then
Install("omnia-support", { critical = true })
elseif board == "turris1x" then
forInstallCritical(kmod,file2args(kmod-turris.list))
end
Install("fstools", { critical = true })
if model:match("^[Tt]urris$") then
Install("turris1x-support", { critical = true })
end
if model:match("[Oo]mnia") then
Install("omnia-support", { critical = true })
elseif model:match("[Mm][Oo][Xx]") then
Install("mox-support", { critical = true })
Install("zram-swap", { priority = 40 })
end
Install("fstools", { critical = true })
-- OpenWRT minimum
Install("procd", "ubus", "uci", "netifd", "firewall", { critical = true})
Install("ebtables", "odhcpd", "odhcp6c", "rpcd", { priority = 40 })
Install("opkg", "libustream-openssl", { priority = 40 })
if model:match("^[Tt]urris$") then
Install("swconfig", { critical = true })
end
-- Turris minimum
Install("vixie-cron", "syslog-ng", { priority = 40 })
Install("logrotate", { priority = 40 })
Install("dnsmasq-full", { priority = 40 })
if model:match("^[Tt]urris$") then
if board == "turris1x" then
Install("unbound", "unbound-anchor", { priority = 40 })
Install("turris-btrfs", { priority = 40 }) -- Currently only SD card root is supported
else
......@@ -86,19 +77,19 @@ if for_l10n then
for_l10n("user-notify-l10n-")
end
local use_atsha204 = false
if model:match("[Mm][Oo][Xx]") then
if board == "mox" then
Install("mox-otp", { priority = 40 })
elseif model:match("[Oo]mnia") then
elseif board == "omnia" then
Install("rainbow-omnia", { priority = 40 })
use_atsha204 = true
elseif model:match("^[Tt]urris$") then
elseif board == "turris1x" then
Install("rainbow", { priority = 40 })
use_atsha204 = true
end
if use_atsha204 then
Install("libatsha204", "update_mac", { priority = 40 })
end
if not model:match("^[Tt]urris$") then
if board ~= "turris1x" then
Install("schnapps", { priority = 40 })
end
......@@ -106,7 +97,7 @@ end
-- Wifi
Install("hostapd-common", "wireless-tools", "wpad", "iw", "iwinfo", { priority = 40 })
Install("ath10k-firmware-qca988x-ct", { priority = 40 })
if model:match("[Mm][Oo][Xx]") then
if board == "mox" then
Install("mwifiex-sdio-firmware", { priority = 40 })
end
......
include(utils.m4)dnl Include utility macros
include(repository.m4)dnl Include Repository command
Script(repo_base_uri .. "/lists/base-min.lua")
list_script('repository.lua')
list_script('base-min.lua')
_FEATURE_GUARD_
......
include(utils.m4)dnl Include utility macros
include(repository.m4)dnl Include Repository command
Script(repo_base_uri .. "/lists/base-min.lua")
list_script('repository.lua')
list_script('base-min.lua')
_FEATURE_GUARD_
Script(repo_base_uri .. "/lists/luci.lua")
Script(repo_base_uri .. "/lists/foris.lua")
Script(repo_base_uri .. "/lists/terminal-apps.lua")
list_script('luci.lua')
list_script('foris.lua')
list_script('terminal-apps.lua')
-- IPv6
Install("ds-lite", "6in4", "6rd", "6to4", { priority = 40 })
......
......@@ -4,7 +4,7 @@ _FEATURE_GUARD_
forInstall(luci-app,ahcp,firewall,minidlna,mjpg-streamer,statistics,tinyproxy,transmission,upnp)
forInstall(luci-proto,openconnect,relay,vpnc)
Install("luci-theme-bootstrap", { priority = 40 })
if model:match('[Oo]mnia') or model:match('^[Tt]urris$') then
if board == "omnia" or board == "turris1x" then
Install('luci-app-rainbow', { priority = 40 })
end
......
......@@ -11,9 +11,9 @@ forInstall(kmod-nls,cp1250,cp1251,cp437,cp775,cp850,cp852,cp862,cp864,cp866,cp93
forInstall(kmod-md,linear,multipath,raid0,raid1,raid10,raid456)
-- Additional kernel drivers
Install("kmod-usb-storage-extras", "kmod-usb2", "kmod-usb-storage-uas", { priority = 40 })
if model:match("[Oo]mnia") then
if board == "omnia" then
Install("blkdiscard", "fstrim", "asm1062-fix", { priority = 40 })
elseif model:match("^[Tt]urris$") then
elseif board == "turris1x" then
Install("kmod-mmc-fsl-p2020", "kmod-fs-reiserfs", "reiserfsprogs", { priority = 40 })
end
......
include(utils.m4)dnl Include utility macros
divert(-1)
# This is definition of subrepositories
pushdef(`SUBDIRS',`subdirs = {"base", "core" esyscmd(`awk "/^src-git/{printf \", \\\"%s\\\"\", \$'`2}" '_FEEDS_)}')
if not turris_repo_included then -- single include guard
divert(0)dnl
local board
if model:match("[Mm][Oo][Xx]") then
board = "mox"
elseif model:match("[Oo]mnia") then
board = "omnia"
elseif model:match("^[Tt]urris$") then
board = "turris"
local subdirs = { "base", "core" esyscmd(`awk "/^src-git/{printf \", \\\"%s\\\"\", \$'`2}" '_FEEDS_)}
if features["relative_uri"] then
local rroot = ".."
else
DIE("Unsupported Turris model: " .. tostring(model))
local rroot = repo_base_uri or "https://repo.turris.cz/hbs"
end
-- Standard Turris OS package repository
Repository("turris", repo_base_uri .. "/packages/" .. board, {
SUBDIRS
})
-- Minimal faster rolling package repository
if minimal_builds then
Repository("turris-minimal", repo_base_uri .. "/packages-minimal/" .. board, {
SUBDIRS,
ignore = { "missing" }
})
local pkg_board = board
if pkg_board == "turris1x" then
pkg_board = "turris"
end
dnl
divert(-1)
# Now just clean up after our self
popdef(`SUBDIRS')
for _, subdir in ipairs(subdirs) do
-- Standard Turris OS package repository
Repository("turris-" .. subdir, rroot .. "/packages/" .. pkg_board .. "/" .. subdir)
-- Minimal faster rolling package repository
if minimal_builds then
Repository("turris-minimal-" .. subdir,
rroot .. "/packages-minimal/" .. pkg_board .. "/" .. subdir,
{ optional = true })
end
end
divert(0)dnl
turris_repo_included = true
Export('turris_repo_included')
end
dnl This is common repository include
dnl It guards it against multiple inclusion in subscripts.
if not repo_base_uri then
-- For backward compatibility we set base uri to HBS to update to updater version with repo_base_uri
repo_base_uri = "https://repo.turris.cz/hbs"
Export('repo_base_uri')
end
if not turris_repo_included then
Script(repo_base_uri .. "/lists/repository.lua")
turris_repo_included = true
Export('turris_repo_included')
end
if not turris_utils_included then -- Multiple inclusions guard
if not board then
model = model 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("^[Tt]urris$") then
board = "turris1x"
else
DIE("Unsupported Turris model: " .. tostring(model))
end
Export('board')
end
turris_utils_included = true
Export('turris_utils_included')
end
......@@ -45,3 +45,13 @@ if not version_match or not self_version or version_match(self_version, "<60.0.1
DIE("Minimal required version of Updater-ng for Turris repository is 60.0.1!")
end
-- Script simplifying lists inclusion when older version of updater is used
function list_script(list)
if features["relative_uri"] then
Script(list)
else
Script((repo_base_uri or "https://repo.turris.cz/hbs") .. "/lists/" .. list)
end
end
list_script("utils.lua")
----------------------------------------------------------------------------------
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment