From 38a2e4b392ba32048ba7da823a18150910792044 Mon Sep 17 00:00:00 2001
From: mbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 10 May 2007 10:07:38 +0000
Subject: [PATCH] add K* scripts to be run at shutdown

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7163 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/base-files/files/etc/init.d/network |  2 ++
 package/base-files/files/etc/init.d/rcS     | 10 ++++------
 package/base-files/files/etc/init.d/sysctl  |  7 +++++++
 package/base-files/files/etc/inittab        |  3 ++-
 package/base-files/files/etc/profile        |  1 -
 package/base-files/files/etc/rc.common      |  1 +
 6 files changed, 16 insertions(+), 8 deletions(-)
 create mode 100755 package/base-files/files/etc/init.d/sysctl

diff --git a/package/base-files/files/etc/init.d/network b/package/base-files/files/etc/init.d/network
index 950b33726..eab00118a 100755
--- a/package/base-files/files/etc/init.d/network
+++ b/package/base-files/files/etc/init.d/network
@@ -2,6 +2,8 @@
 # Copyright (C) 2006 OpenWrt.org
 
 START=40
+STOP=40
+
 boot() {
 	setup_switch() { return 0; }
 
diff --git a/package/base-files/files/etc/init.d/rcS b/package/base-files/files/etc/init.d/rcS
index 755e08b9c..61c1d6dab 100755
--- a/package/base-files/files/etc/init.d/rcS
+++ b/package/base-files/files/etc/init.d/rcS
@@ -1,10 +1,8 @@
 #!/bin/sh
 # Copyright (C) 2006 OpenWrt.org
 
-(
-	for i in /etc/rc.d/S*; do
-		$i boot 2>&1
+{
+	for i in /etc/rc.d/$1*; do
+		$i $2 2>&1
 	done 
-	
-	sysctl -p >&-
-) | logger -s -p 6 -t '' &
+} | logger -s -p 6 -t '' &
diff --git a/package/base-files/files/etc/init.d/sysctl b/package/base-files/files/etc/init.d/sysctl
new file mode 100755
index 000000000..35d5e30c7
--- /dev/null
+++ b/package/base-files/files/etc/init.d/sysctl
@@ -0,0 +1,7 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org 
+
+START=99
+start() {
+	[ -f /etc/sysctl.conf ] && sysctl -p >&-
+}
diff --git a/package/base-files/files/etc/inittab b/package/base-files/files/etc/inittab
index 3d92717c9..d7a053aba 100644
--- a/package/base-files/files/etc/inittab
+++ b/package/base-files/files/etc/inittab
@@ -1,3 +1,4 @@
-::sysinit:/etc/init.d/rcS
+::sysinit:/etc/init.d/rcS S boot
+::shutdown:/etc/init.d/rcS K stop
 tts/0::askfirst:/bin/ash --login
 ttyS0::askfirst:/bin/ash --login
diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile
index 001fb2062..8aac3b752 100644
--- a/package/base-files/files/etc/profile
+++ b/package/base-files/files/etc/profile
@@ -12,4 +12,3 @@ alias more=less
 
 arp() { cat /proc/net/arp; }
 [ -z /bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
-reboot() { ifdown wan 2>&1 >/dev/null ; /sbin/reboot; }
diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common
index 5d9ee8666..7ca107817 100755
--- a/package/base-files/files/etc/rc.common
+++ b/package/base-files/files/etc/rc.common
@@ -40,6 +40,7 @@ enable() {
 	name="$(basename "${initscript}")"
 	disable
 	ln -s "/etc/init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
+	[ "$STOP" ] && ln -s "/etc/init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${START}${name##K[0-9][0-9]}"
 }
 
 enabled() {
-- 
2.20.1