From 0c5b5373bbf0b69e26d577bfa5930d8b5005f5c9 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Mon, 4 May 2020 23:49:18 +0200
Subject: [PATCH] gluon-core: primary-mac: load board.json only once

---
 .../gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac   | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
index 0d17338eb..b1e32b093 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac
@@ -12,6 +12,8 @@ local json = require 'jsonc'
 local platform = require 'gluon.platform'
 local util = require 'gluon.util'
 
+local board_data = json.load('/etc/board.json')
+local network_data = (board_data or {}).network
 
 local function sysfs(...)
 	local path = string.format(...)
@@ -33,9 +35,9 @@ end
 
 local function board(iface)
 	return function()
-		local data = json.load('/etc/board.json')
-		if data and data.network and data.network[iface] then
-			return data.network[iface].macaddr
+		local ifdata = network_data[iface] or {}
+		if ifdata.macaddr then
+			return ifdata.macaddr
 		end
 	end
 end
-- 
GitLab