From a2f45d0d32187a55d5626fc905ed936cab3eaf70 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Fri, 19 Jan 2018 21:08:05 +0100
Subject: [PATCH] gluon-core: store default domain in UCI

---
 .../luasrc/lib/gluon/upgrade/005-site-domain  | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100755 package/gluon-core/luasrc/lib/gluon/upgrade/005-site-domain

diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/005-site-domain b/package/gluon-core/luasrc/lib/gluon/upgrade/005-site-domain
new file mode 100755
index 000000000..04c812925
--- /dev/null
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/005-site-domain
@@ -0,0 +1,27 @@
+#!/usr/bin/lua
+
+local fs = require 'nixio.fs'
+
+
+if not fs.access('/lib/gluon/domains/') then
+	return
+end
+
+
+local uci = require('simple-uci').cursor()
+
+local domain = uci:get('gluon', 'core', 'domain')
+if domain and not fs.access('/lib/gluon/domains/' .. domain .. '.json') then
+	io.stderr:write(string.format("Warning: invalid mesh domain '%s' configured, resetting to default...\n", domain))
+	domain = nil
+end
+
+if domain then return end
+
+
+-- We can't use gluon.site yet, as it depends on gluon.core.domain to be set
+local json = require 'jsonc'
+local site = assert(json.load('/lib/gluon/site.json'))
+
+uci:set('gluon', 'core', 'domain', site.default_domain)
+uci:commit('gluon')
-- 
GitLab