From fe521db4419d42787a0b69e9fc8fee4f16b04d37 Mon Sep 17 00:00:00 2001
From: bobcanthelpyou <bobcanthelpyou@users.noreply.github.com>
Date: Sun, 28 Apr 2019 14:38:08 +0200
Subject: [PATCH] build: add site check for obsolete settings (#1702)

---
 package/gluon-autoupdater/check_site.lua |  1 +
 package/gluon-core/check_site.lua        |  1 +
 scripts/check_site.lua                   | 32 ++++++++++++++++++------
 3 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/package/gluon-autoupdater/check_site.lua b/package/gluon-autoupdater/check_site.lua
index de9beef01..e247cc5db 100644
--- a/package/gluon-autoupdater/check_site.lua
+++ b/package/gluon-autoupdater/check_site.lua
@@ -7,4 +7,5 @@ need_table({'autoupdater', 'branches'}, function(branch)
 	need_string_array_match(extend(branch, {'mirrors'}), '^http://')
 	need_number(in_site(extend(branch, {'good_signatures'})))
 	need_string_array_match(in_site(extend(branch, {'pubkeys'})), '^%x+$')
+	obsolete(in_site(extend(branch, {'probability'})), 'Use GLUON_PRIORITY in site.mk instead.')
 end)
diff --git a/package/gluon-core/check_site.lua b/package/gluon-core/check_site.lua
index ede64cd02..975ed6001 100644
--- a/package/gluon-core/check_site.lua
+++ b/package/gluon-core/check_site.lua
@@ -15,6 +15,7 @@ end
 need_string_match(in_domain({'domain_seed'}), '^' .. ('%x'):rep(64) .. '$')
 
 need_string({'opkg', 'openwrt'}, false)
+obsolete({'opkg', 'lede'}, 'Use opkg.openwrt instead.')
 need_table({'opkg', 'extra'}, function(extra_repo)
 	need_alphanumeric_key(extra_repo)
 	need_string(extra_repo)
diff --git a/scripts/check_site.lua b/scripts/check_site.lua
index 6db3b1c0c..9d65bb697 100644
--- a/scripts/check_site.lua
+++ b/scripts/check_site.lua
@@ -4,7 +4,6 @@ local function config_error(src, ...)
 	error(src .. ' error: ' .. string.format(...), 0)
 end
 
-
 local has_domains = (os.execute('ls -d "$IPKG_INSTROOT"/lib/gluon/domains/ >/dev/null 2>&1') == 0)
 
 
@@ -89,11 +88,7 @@ local function domain_src()
 	return 'domains/' .. domain_code .. '.conf'
 end
 
-local function var_error(path, val, msg)
-	if type(val) == 'string' then
-		val = string.format('%q', val)
-	end
-
+local function conf_src(path)
 	local src
 
 	if has_domains then
@@ -108,15 +103,22 @@ local function var_error(path, val, msg)
 		src = site_src()
 	end
 
+	return src
+end
+
+local function var_error(path, val, msg)
+	if type(val) == 'string' then
+		val = string.format('%q', val)
+	end
+
 	local found = 'unset'
 	if val ~= nil then
 		found = string.format('%s (a %s value)', tostring(val), type(val))
 	end
 
-	config_error(src, 'expected %s to %s, but it is %s', path_to_string(path), msg, found)
+	config_error(conf_src(path), 'expected %s to %s, but it is %s', path_to_string(path), msg, found)
 end
 
-
 function in_site(path)
 	if has_domains and loadpath(nil, domain, unpack(path)) ~= nil then
 		config_error(domain_src(), '%s is allowed in site configuration only', path_to_string(path))
@@ -315,6 +317,20 @@ function need_domain_name(path)
 	end, nil, 'be a valid domain name')
 end
 
+function obsolete(path, msg)
+	local val = loadvar(path)
+	if val == nil then
+		return nil
+	end
+
+	if not msg then
+		msg = 'Check the release notes and documentation for details.'
+
+	end
+
+	config_error(conf_src(path), '%s is obsolete. %s', path_to_string(path), msg)
+end
+
 local check = assert(loadfile())
 
 site = load_json(os.getenv('IPKG_INSTROOT') .. '/lib/gluon/site.json')
-- 
GitLab