From 4e5d6449f66eb7b5a253be36c7d5f0e974e15613 Mon Sep 17 00:00:00 2001
From: cshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 7 Jul 2011 02:52:02 +0000
Subject: [PATCH] [package] base-files: preinit: Fixed sourcing of diag.sh in
 /etc/preinit.  This caused errors due to frequent use of /proc/cpuinfo to
 determine board name to pick led layout.  Now diag.sh (which only defines
 set_state and any helper functions) is sourced by a proper preinit function
 during preinit_main, which is after /proc has been brought up, unlike in
 /etc/preinit

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27501 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/base-files/files/etc/preinit                      | 1 -
 package/base-files/files/lib/preinit/02_default_set_state | 7 +++++++
 2 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 package/base-files/files/lib/preinit/02_default_set_state

diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit
index 9e629ab81..6c6e3b1fe 100755
--- a/package/base-files/files/etc/preinit
+++ b/package/base-files/files/etc/preinit
@@ -3,7 +3,6 @@
 # Copyright (C) 2010 Vertical Communications
 
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-. /etc/diag.sh
 
 pi_ifname=
 pi_ip=192.168.1.1
diff --git a/package/base-files/files/lib/preinit/02_default_set_state b/package/base-files/files/lib/preinit/02_default_set_state
new file mode 100644
index 000000000..df4339572
--- /dev/null
+++ b/package/base-files/files/lib/preinit/02_default_set_state
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+define_default_set_state() {
+	. /etc/diag.sh
+}
+
+boot_hook_add preinit_main define_default_set_state
-- 
2.20.1