From 32ebaf0cec183f87596094b10b2f0ab8e786a9b3 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Wed, 13 Mar 2013 18:11:07 +0000
Subject: [PATCH] update to latest git head

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36001
---
 package/procd/Makefile                   | 19 +++++-
 package/procd/files/hotplug-preinit.json | 21 +++++++
 package/procd/files/hotplug.json         | 80 ++++++++++++++++++++++++
 3 files changed, 117 insertions(+), 3 deletions(-)
 create mode 100644 package/procd/files/hotplug-preinit.json
 create mode 100644 package/procd/files/hotplug.json

diff --git a/package/procd/Makefile b/package/procd/Makefile
index 03309055776..25b0271b37e 100644
--- a/package/procd/Makefile
+++ b/package/procd/Makefile
@@ -1,19 +1,21 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=procd
-PKG_VERSION:=2012-12-20
+PKG_VERSION:=2012-03-13
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=git://nbd.name/luci2/procd.git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=d343dd9e9a64d4ae7d225ea29169e97fa8d116a1
+PKG_SOURCE_VERSION:=8158e9052afbf2ee47de645167b90b6e7fc7d86d
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 CMAKE_INSTALL:=1
 
 PKG_LICENSE:=GPLv2
 PKG_LICENSE_FILES:=
 
+PKG_CONFIG_DEPENDS:=CONFIG_PROCD_INIT
+
 PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
 
 include $(INCLUDE_DIR)/package.mk
@@ -22,10 +24,20 @@ include $(INCLUDE_DIR)/cmake.mk
 define Package/procd
   SECTION:=base
   CATEGORY:=Base system
-  DEPENDS:=+ubusd +ubus
+  DEPENDS:=+ubusd +ubus +libjson_script
   TITLE:=OpenWrt system process manager
 endef
 
+ifneq ($(CONFIG_PROCD_INIT),)
+define Package/procd/install
+	$(INSTALL_DIR) $(1)/sbin $(1)/lib/functions $(1)/etc
+
+	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/{procd,askfirst,udevtrigger,logread} $(1)/sbin/
+	$(INSTALL_DATA) ./files/hotplug*.json $(1)/etc/
+	$(INSTALL_DATA) ./files/procd.sh $(1)/lib/functions/
+	ln -s /sbin/procd $(1)/sbin/init
+endef
+else
 define Package/procd/install
 	$(INSTALL_DIR) $(1)/sbin $(1)/lib/functions $(1)/etc/init.d
 
@@ -33,5 +45,6 @@ define Package/procd/install
 	$(INSTALL_BIN) ./files/procd.init $(1)/etc/init.d/procd
 	$(INSTALL_DATA) ./files/procd.sh $(1)/lib/functions/
 endef
+endif
 
 $(eval $(call BuildPackage,procd))
diff --git a/package/procd/files/hotplug-preinit.json b/package/procd/files/hotplug-preinit.json
new file mode 100644
index 00000000000..d212b22fac3
--- /dev/null
+++ b/package/procd/files/hotplug-preinit.json
@@ -0,0 +1,21 @@
+[
+	[ "case", "ACTION", {
+		"add": [
+			[ "if",
+				[ "has", "FIRMWARE" ],
+				[
+					[ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ],
+					[ "load-firmware", "/lib/firmware" ],
+					[ "return" ]
+				]
+			],
+		],
+	}, ],
+	[ "if",
+		[ "and",
+			[ "eq", "SUBSYSTEM", "button" ],
+			[ "eq", "BUTTON", "reset" ],
+		],
+		[ "exec", "/etc/rc.button/failsafe" ]
+	],
+]
diff --git a/package/procd/files/hotplug.json b/package/procd/files/hotplug.json
new file mode 100644
index 00000000000..43fec0c0d33
--- /dev/null
+++ b/package/procd/files/hotplug.json
@@ -0,0 +1,80 @@
+[
+	[ "case", "ACTION", {
+		"add": [
+			[ "if",
+				[ "and",
+					[ "has", "MAJOR" ],
+					[ "has", "MINOR" ],
+				],
+				[
+					[ "if",
+						[ "or",
+							[ "eq", "DEVNAME",
+								[ "null", "full", "ptmx", "zero" ],
+							],
+							[ "regex", "DEVNAME",
+								[ "^gpio", "^hvc", "^tty" ],
+							],
+						],
+						[
+							[ "makedev", "/dev/%DEVNAME%", "0666" ],
+							[ "return" ],
+						]
+					],
+					[ "if",
+						[ "or",
+							[ "eq", "DEVNAME", "mapper/control" ],
+							[ "regex", "DEVPATH", "^ppp" ],
+						],
+						[
+							[ "makedev", "/dev/%DEVNAME%", "0600" ],
+							[ "return" ],
+						],
+					],
+					[ "if",
+						[ "has", "DEVNAME" ],
+						[
+							[ "makedev", "/dev/%DEVNAME%", "0644" ],
+							[ "return" ],
+						],
+					],
+				],
+			],
+			[ "if",
+				[ "has", "FIRMWARE" ],
+				[
+					[ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ],
+					[ "load-firmware", "/lib/firmware" ],
+					[ "return" ]
+				]
+			],
+		],
+		"remove" : [
+			[ "if",
+				[ "and",
+					[ "has", "DEVNAME" ],
+					[ "has", "MAJOR" ],
+					[ "has", "MINOR" ],
+				],
+				[ "rm", "/dev/%DEVNAME%" ]
+			]
+		]
+	} ],
+	[ "if",
+		[ "eq", "SUBSYSTEM", "platform" ],
+		[ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ]
+	],
+	[ "if",
+		[ "and",
+			[ "has", "BUTTON" ],
+			[ "eq", "SUBSYSTEM", "button" ],
+		],
+		[ "exec", "/etc/rc.button/%BUTTON%" ]
+	],
+	[ "if",
+		[ "eq", "SUBSYSTEM",
+			[ "net", "input", "usb", "ieee1394", "block", "atm", "zaptel", "tty" ]
+		],
+		[ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ]
+	],
+]
-- 
GitLab