diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-06-25 09:46:37 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-06-25 09:46:37 +0000 | 
| commit | 024945eed57f612ed801d23898b99ffd3fbd7f03 (patch) | |
| tree | 6757f4a92679f7df259f404c6fb24356d3142048 | |
| parent | 0a1d1376fcd16ef4d5bd086bc285162f43575b03 (diff) | |
update to hotplug2 svn version (recommended by iSteve)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7725 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | package/hotplug2/Makefile | 1 | ||||
| -rw-r--r-- | package/hotplug2/patches/100-rules_override.patch | 35 | ||||
| -rw-r--r-- | package/hotplug2/patches/100-svn_update.patch | 542 | ||||
| -rw-r--r-- | package/hotplug2/patches/120-action_types.patch | 13 | 
4 files changed, 543 insertions, 48 deletions
diff --git a/package/hotplug2/Makefile b/package/hotplug2/Makefile index 94aadc085..ee35bd6fc 100644 --- a/package/hotplug2/Makefile +++ b/package/hotplug2/Makefile @@ -21,6 +21,7 @@ include $(INCLUDE_DIR)/package.mk  define Package/hotplug2    SECTION:=utils    CATEGORY:=Utilities +  VERSION:=0.9+r102-$(PKG_RELEASE)    TITLE:=Dynamic device management subsystem for embedded systems    URL:=http://isteve.bofh.cz/~isteve/hotplug2/  endef diff --git a/package/hotplug2/patches/100-rules_override.patch b/package/hotplug2/patches/100-rules_override.patch deleted file mode 100644 index 55b2aaacc..000000000 --- a/package/hotplug2/patches/100-rules_override.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: hotplug2-0.9/hotplug2.c -=================================================================== ---- hotplug2-0.9.orig/hotplug2.c	2007-06-04 13:21:41.134723240 +0200 -+++ hotplug2-0.9/hotplug2.c	2007-06-04 13:21:41.203712752 +0200 -@@ -391,6 +391,7 @@ - 	int rv = 0; - 	int i; - 	char *coldplug_command = NULL; -+	char *rules_file = HOTPLUG2_RULE_PATH; - 	sigset_t block_mask; - 	 - 	struct rules_t *rules = NULL; -@@ -435,6 +436,13 @@ - 						break; - 					 - 					modprobe_command = *argv; -+				} else if (!strcmp(*argv, "--set-rules-file")) { -+					argv++; -+					argc--; -+					if (argc <= 0) -+						break; -+					 -+					rules_file = *argv; - 				} - 			} - 		} -@@ -443,7 +451,7 @@ - #ifdef HAVE_RULES - 	if (!dumb) { - 		filemap = MAP_FAILED; --		rule_fd = open(HOTPLUG2_RULE_PATH, O_RDONLY | O_NOATIME); -+		rule_fd = open(rules_file, O_RDONLY | O_NOATIME); - 		if (rule_fd == -1) { - 			dumb = 1; - 			ERROR("rules parse","Unable to open rules file: %s.", strerror(errno)); diff --git a/package/hotplug2/patches/100-svn_update.patch b/package/hotplug2/patches/100-svn_update.patch new file mode 100644 index 000000000..ab6bbc242 --- /dev/null +++ b/package/hotplug2/patches/100-svn_update.patch @@ -0,0 +1,542 @@ +diff -urN -x .svn hotplug2-0.9/AUTHORS hotplug2/AUTHORS +--- hotplug2-0.9/AUTHORS	2006-10-08 18:13:50.000000000 +0200 ++++ hotplug2/AUTHORS	2007-06-25 10:51:14.688225416 +0200 +@@ -1,7 +1,11 @@ +  Authors: + ---------- + iSteve <isteve@bofh.cz> +-Tomas Janousek <tomi@nomi.cz> ++ ++ Contributions: ++---------------- ++nbd (rules override patch) ++Tomas Janousek <tomi@nomi.cz> (Makefiles, SVN hosting) +  +  Thanks to: + ------------ +@@ -10,5 +14,9 @@ + Randy Dunlap (help with isapnpmap) + Igor2 (provided testing machines) + yanek (provided testing machines) ++Zdenek Styblik (provided testing OpenWRT device) ++OpenWRT team (for trusting this project) ++mtu (debugging, testing, ideas) ++mnemoc (trivial sanity changes on makefiles, linux24 compat patches) +  +-...anyone taking more than a short peek at the software. +\ No newline at end of file ++...anyone taking more than a short peek at the software. +diff -urN -x .svn hotplug2-0.9/Changelog hotplug2/Changelog +--- hotplug2-0.9/Changelog	2006-10-08 15:32:31.000000000 +0200 ++++ hotplug2/Changelog	2007-06-25 10:51:14.689225264 +0200 +@@ -1,3 +1,10 @@ ++0.9 - 1.0: ++* Add --set-rules-file. ++* Allow any ACTION. ++* Add 'printdebug' rule. ++* Fix chmod, chown, chgrp. ++* Use octal for chmod and makedev. ++ + 0.8 - 0.9: + * Use signals to handle children. + * Separate info and debugging output. +@@ -44,4 +51,4 @@ + * Add more actions. + * Significant cleanup of rules handling. + * Better error reporting. +-  +\ No newline at end of file ++  +diff -urN -x .svn hotplug2-0.9/docs/hotplug2.8 hotplug2/docs/hotplug2.8 +--- hotplug2-0.9/docs/hotplug2.8	2006-09-26 09:23:36.000000000 +0200 ++++ hotplug2/docs/hotplug2.8	2007-06-25 10:51:14.540247912 +0200 +@@ -31,6 +31,8 @@ + .TP  + \fB\-\-set\-modprobe\-cmd <cmd>\fR + Sets the application used to perform modprobe. It only gets used in dumb mode. Default is to autodetect: if '/bin/modprobe' is from module\-init\-tools, use '/sbin/modprobe', otherwise use '/sbin/hotplug2\-modwrap'. ++\fB\-\-set\-rules\-file <file>\fR ++Sets the path to the file containing hotplug2 rules. + .SH "SIGNALS" + .TP  + \fBSIGUSR1\fR +diff -urN -x .svn hotplug2-0.9/docs/hotplug2.rules.doc hotplug2/docs/hotplug2.rules.doc +--- hotplug2-0.9/docs/hotplug2.rules.doc	2006-09-26 10:19:46.000000000 +0200 ++++ hotplug2/docs/hotplug2.rules.doc	2007-06-25 10:51:14.537248368 +0200 +@@ -11,12 +11,12 @@ + 	[... [...]] + } +  +-Comments are allowed, they are prefixed with '#', treating the whole rest of the +-line as comment. Please note that comments in place of action parameters are not +-supported. ++Comments are allowed, they are prefixed with '#', treating the whole rest of ++the line as comment. Please note that comments in place of action parameters ++are not supported. +  +-The <key> is one of the environmental variables that have been obtained by the +-uevent netlink.  ++The <key> is one of the environmental variables that have been obtained by ++the uevent netlink.  +  +  COMMON KEYS +  ----------- +@@ -66,9 +66,9 @@ +   ------- +  +  * run <...> +-	Execute an application using system();, takes one parameter. Note that +-	the application has set all environmental variables read by uevent +-	netlink. ++	Execute an application using system();, takes one parameter. Note ++	that the application has set all environmental variables read by  ++	uevent netlink. +  +  * break + 	Break the processing of the current block of actions. +@@ -86,23 +86,22 @@ +  +  * exec <application [parameter [parameter [...]]]> ; + 	Execute an application. Takes variable number of parameters, but the +-	last parameter must be terminated with semicolon. Again, all variables +-	are set as environmental. ++	last parameter must be terminated with semicolon. Again, all ++	variables are set as environmental. + 	 +-	If you need to escape the ';', use '\\;'. Only applies for actions with +-	variable number of parameters. ++	If you need to escape the ';', use '\\;'. Only applies for actions ++	with variable number of parameters. + 	 +  * makedev <path> <mode> +-	Create a device with given mode. The mode is not in octal unless it +-	starts with '0', eg. "0644" != "644". ++	Create a device with given mode. Mode is interpreted as octal. + 	 + 	Major, minor and devpath must be set for makedev to be able to work. + 	Tests for these variables are also performed internally in makedev + 	function. +  +  * symlink <target> <linkname> +-	Create a symbolic link (symlink, also known as soft link) pointing at +-	target with name linkname. ++	Create a symbolic link (symlink, also known as soft link) pointing ++	at target with name linkname. + 	 +  * chown <path> <owner name> + 	Change owner of path to owner name. +@@ -111,12 +110,14 @@ + 	Change group of path to group name. + 	 +  * chmod <path> <mode> +-	Change mode of path to given mode. Like with makedev, heading '0' is +-	necessary for the mode to be interpreted as octal. ++	Change mode of path to given mode. Mode is interpreted as octal. +  +  * setenv <key> <value> + 	Sets environmental variable key to the given value. If an env var + 	of the given name already exists, it gets overwritten. ++ ++ * printdebug ++ 	Prints all variables read from kernel. + 	 +  ESCAPING +  -------- +@@ -136,8 +137,9 @@ +  SAMPLE CONFIG +  ------------- +  +-Below is a sample hotplug2.rules file. It loads modules to all available devices +-quietly and creates device nodes for block devices. ++Below is a sample hotplug2.rules file. It loads modules to all available ++devices quietly and creates device nodes for block devices. Note that this ++sample is not very viable for real life usage. + --------------------------------------------------------------------------------- + MODALIAS is set { + 	exec modprobe -q %MODALIAS% ; +@@ -146,3 +148,33 @@ + SUBSYSTEM == block, DEVPATH is set, MAJOR is set, MINOR is set { + 	makedev /dev/%DEVICENAME% 0644 + } ++ ++ ++Please find also the more complex set of rules, dedicated to handling most ++common needs. ++--------------------------------------------------------------------------------- ++#For debugging ++#ACTION is set { ++#	printdebug ++#} ++ ++# Load modules (what old hotplug did) ++MODALIAS is set { ++	exec modprobe -q %MODALIAS% ; ++} ++ ++# Create device nodes ++DEVPATH is set, MAJOR is set, MINOR is set { ++	makedev /dev/%DEVICENAME% 0644 ++} ++ ++# Mount a USB flashdisk ++ACTION == add, PHYSDEVPATH ~~ "/usb[0-9]*/", DEVICENAME ~~ "^sd[a-z][0-9]+$", DEVPATH is set, MAJOR is set, MINOR is set { ++	makedev /dev/%DEVICENAME% 0644 ++	exec mount /dev/%DEVICENAME% /mnt/%DEVICENAME% ++} ++ ++# Unmount a USB flashdisk ++ACTION == remove, PHYSDEVPATH ~~ "/usb[0-9]*/", DEVICENAME ~~ "^sd[a-z][0-9]+$", MAJOR is set, MINOR is set { ++	exec umount /mnt/%DEVICENAME% ++} +diff -urN -x .svn hotplug2-0.9/docs/Makefile hotplug2/docs/Makefile +--- hotplug2-0.9/docs/Makefile	2006-09-26 00:27:02.000000000 +0200 ++++ hotplug2/docs/Makefile	2007-06-25 10:51:14.540247912 +0200 +@@ -2,12 +2,13 @@ +  + BINS= + SUBDIRS= +- ++DESTDIR= ++MANDIR=/usr/share/man +  + all: +  + install: +-	$(INSTALL) $(wildcard *.8) /usr/share/man/man8/ ++	$(INSTALL) $(wildcard *.8) $(DESTDIR)$(MANDIR)/man8/ +  +  + include ../common.mak +diff -urN -x .svn hotplug2-0.9/examples/Makefile hotplug2/examples/Makefile +--- hotplug2-0.9/examples/Makefile	2006-09-26 01:03:08.000000000 +0200 ++++ hotplug2/examples/Makefile	2007-06-25 10:51:14.685225872 +0200 +@@ -2,19 +2,23 @@ +  + BINS= + SUBDIRS= ++DESTDIR= ++KERNELVER=`uname -r` +  +  + all: +  + install: +-	case "`uname -r`" in \ +-		2.6.*) \ +-		$(INSTALL) hotplug2.rules-2.6kernel /etc/hotplug2.rules \ +-		;; \ +-		*) \ +-		$(INSTALL) hotplug2.rules-2.4kernel /etc/hotplug2.rules \ +-		;; \ +-	esac ++	if ! [ -e "/etc/hotplug2.rules" ]; then \ ++		case "$(KERNELVER)" in \ ++			2.6.*) \ ++			$(INSTALL) hotplug2.rules-2.6kernel $(DESTDIR)/etc/hotplug2.rules \ ++			;; \ ++			*) \ ++			$(INSTALL) hotplug2.rules-2.4kernel $(DESTDIR)/etc/hotplug2.rules \ ++			;; \ ++		esac; \ ++	fi; +  +  + include ../common.mak +diff -urN -x .svn hotplug2-0.9/hotplug2.c hotplug2/hotplug2.c +--- hotplug2-0.9/hotplug2.c	2006-10-08 15:18:23.000000000 +0200 ++++ hotplug2/hotplug2.c	2007-06-25 10:51:14.688225416 +0200 +@@ -391,6 +391,7 @@ + 	int rv = 0; + 	int i; + 	char *coldplug_command = NULL; ++	char *rules_file = HOTPLUG2_RULE_PATH; + 	sigset_t block_mask; + 	 + 	struct rules_t *rules = NULL; +@@ -435,15 +436,31 @@ + 						break; + 					 + 					modprobe_command = *argv; ++				} else if (!strcmp(*argv, "--set-rules-file")) { ++					argv++; ++					argc--; ++					if (argc <= 0) ++						break; ++					 ++					rules_file = *argv; + 				} + 			} + 		} + 	} + 	 +-#ifdef HAVE_RULES ++#ifndef HAVE_RULES ++	/* ++	 * We don't use rules, so we use dumb mode only. ++	 */ ++	dumb = 1; ++#else ++	/* ++	 * We're not in dumb mode, parse the rules. If we fail, ++	 * faillback to dumb mode. ++	 */ + 	if (!dumb) { + 		filemap = MAP_FAILED; +-		rule_fd = open(HOTPLUG2_RULE_PATH, O_RDONLY | O_NOATIME); ++		rule_fd = open(rules_file, O_RDONLY | O_NOATIME); + 		if (rule_fd == -1) { + 			dumb = 1; + 			ERROR("rules parse","Unable to open rules file: %s.", strerror(errno)); +@@ -477,10 +494,12 @@ + 		 + 		if (dumb == 1) + 			ERROR("rules parse","Parsing rules failed, switching to dumb mode."); +-	} else if (!modprobe_command) +-#else +-	if (dumb && !modprobe_command) ++	} else + #endif ++	/* ++	 * No modprobe command specified, let's autodetect it. ++	 */ ++	if (!modprobe_command) + 	{ + 		if (get_modprobe_command()) { + 			ERROR("modprobe_command","Unable to autodetect modprobe command."); +@@ -536,7 +555,7 @@ + 		 + 		modalias = get_hotplug2_value_by_key(tmpevent, "MODALIAS"); + 		seqnum = get_hotplug2_value_by_key(tmpevent, "SEQNUM"); +-		 ++ + 		if (seqnum == NULL) { + 			free_hotplug2_event(tmpevent); + 			ERROR("reading events", "Malformed event read (missing SEQNUM)."); +@@ -547,7 +566,7 @@ + 		if (cur_seqnum > highest_seqnum) + 			highest_seqnum = cur_seqnum; + 		 +-		if (tmpevent->action == ACTION_ADD && (!dumb || modalias != NULL)) { ++		if ((dumb && tmpevent->action == ACTION_ADD && modalias != NULL) || (!dumb)) { + 			/*  + 			 * We have more children than we want. Wait until SIGCHLD handler reduces + 			 * their numbers. +@@ -568,11 +587,9 @@ + 					sigprocmask(SIG_UNBLOCK, &block_mask, 0); + 					signal(SIGCHLD, SIG_DFL); + 					signal(SIGUSR1, SIG_DFL); +-#ifdef HAVE_RULES + 					if (!dumb) + 						perform_action(dup_hotplug2_event(tmpevent), rules); + 					else +-#endif + 						perform_dumb_action(dup_hotplug2_event(tmpevent), modalias); + 					exit(0); + 					break; +@@ -593,12 +610,10 @@ + 	signal(SIGINT, SIG_DFL); + 	signal(SIGCHLD, SIG_DFL); + 	 +-#ifdef HAVE_RULES + 	if (!dumb) { + 		rules_free(rules); + 		free(rules); + 	} +-#endif +  + 	cleanup(); + 	 +diff -urN -x .svn hotplug2-0.9/linux24_compat/hotplug2-modwrap.c hotplug2/linux24_compat/hotplug2-modwrap.c +--- hotplug2-0.9/linux24_compat/hotplug2-modwrap.c	2006-09-25 22:23:07.000000000 +0200 ++++ hotplug2/linux24_compat/hotplug2-modwrap.c	2007-06-25 10:51:14.601238640 +0200 +@@ -122,6 +122,12 @@ + 		free(module); + 		free(line); + 	} ++ ++	if (strcmp(argv[argc - 1], match_alias) == 0) { ++		if (execute(argv)) { ++			ERROR("execute", "Unable to execute: `%s'.", argv[0]); ++		} ++	}	 + 	 + 	free(filename); + 	free(match_alias); +diff -urN -x .svn hotplug2-0.9/linux24_compat/Makefile hotplug2/linux24_compat/Makefile +--- hotplug2-0.9/linux24_compat/Makefile	2006-09-26 00:26:46.000000000 +0200 ++++ hotplug2/linux24_compat/Makefile	2007-06-25 10:51:14.601238640 +0200 +@@ -2,13 +2,14 @@ +  + BINS=generate_alias hotplug2-coldplug-2.4 hotplug2-modwrap + SUBDIRS= ++DESTDIR= +  +  + all: $(BINS) +  + install: +-	$(INSTALL_BIN) hotplug2-coldplug-2.4 hotplug2-modwrap /sbin/ +-	$(INSTALL_BIN) generate_alias /usr/sbin/ ++	$(INSTALL_BIN) hotplug2-coldplug-2.4 hotplug2-modwrap $(DESTDIR)/sbin/ ++	$(INSTALL_BIN) generate_alias $(DESTDIR)/usr/sbin/ +  +  + hotplug2-coldplug-2.4: hotplug2-coldplug-2.4.o ../parser_utils.o ../filemap_utils.o ../mem_utils.o +diff -urN -x .svn hotplug2-0.9/Makefile hotplug2/Makefile +--- hotplug2-0.9/Makefile	2006-09-26 01:03:08.000000000 +0200 ++++ hotplug2/Makefile	2007-06-25 10:51:14.693224656 +0200 +@@ -2,12 +2,13 @@ +  + BINS=hotplug2 hotplug2-dnode + SUBDIRS=linux24_compat docs examples ++DESTDIR= +  +  + all: $(BINS) +  + install: +-	$(INSTALL_BIN) $(BINS) /sbin/ ++	$(INSTALL_BIN) $(BINS) $(DESTDIR)/sbin/ +  +  + hotplug2: hotplug2.o childlist.o mem_utils.o rules.o +diff -urN -x .svn hotplug2-0.9/rules.c hotplug2/rules.c +--- hotplug2-0.9/rules.c	2006-09-29 22:19:31.000000000 +0200 ++++ hotplug2/rules.c	2007-06-25 10:51:14.692224808 +0200 +@@ -59,6 +59,24 @@ + 	free(path); + } +  ++static void rmdir_p(char *path) { ++	char *ptr; ++	 ++	path = strdup(path); ++	ptr = path; ++	while (ptr != NULL) { ++		ptr = strrchr(path, '/'); ++		if (ptr == NULL) ++			break; ++		 ++		*ptr = '\0'; ++		 ++		if (rmdir(path)) ++			break; ++	} ++	free(path); ++} ++ + static char *replace_str(char *hay, char *needle, char *replacement) { +         char *ptr, *start, *bptr, *buf; +         int occurences, j; +@@ -250,11 +268,30 @@ + 	return rv; + } +  +-static int chown_chgrp(int action, char *file, char *param) { ++static int chmod_file(struct hotplug2_event_t *event, char *file, char *value) { ++	int rv; ++ ++	file = replace_key_by_value(strdup(file), event); ++	value = replace_key_by_value(strdup(value), event); ++ ++	rv = chmod(file, strtoul(value, 0, 8)); ++ ++	free(file); ++	free(value); ++ ++	return rv; ++} ++ ++static int chown_chgrp(struct hotplug2_event_t *event, int action, char *file, char *param) { + 	struct group *grp; + 	struct passwd *pwd; + 	int rv; +-	 ++ ++	file = replace_key_by_value(strdup(file), event); ++	param = replace_key_by_value(strdup(param), event); ++ ++	rv = -1; ++ + 	switch (action) { + 		case ACT_CHOWN: + 			pwd = getpwnam(param); +@@ -265,8 +302,20 @@ + 			rv = chown(file, -1, grp->gr_gid); + 			break; + 	} ++ ++	free(file); ++	free(param); + 	 +-	return -1; ++	return rv; ++} ++ ++static int print_debug(struct hotplug2_event_t *event) { ++	int i; ++ ++	for (i = 0; i < event->env_vars_c; i++) ++		printf("%s=%s\n", event->env_vars[i].key, event->env_vars[i].value); ++ ++	return 0; + } +  + static int rule_condition_eval(struct hotplug2_event_t *event, struct condition_t *condition) { +@@ -347,11 +396,11 @@ + 				last_rv = make_dev_from_event(event, rule->actions[i].parameter[0], strtoul(rule->actions[i].parameter[1], NULL, 0)); + 				break; + 			case ACT_CHMOD: +-				last_rv = chmod(rule->actions[i].parameter[0], strtoul(rule->actions[i].parameter[1], NULL, 0)); ++				last_rv = chmod_file(event, rule->actions[i].parameter[0], rule->actions[i].parameter[1]); + 				break; + 			case ACT_CHOWN: + 			case ACT_CHGRP: +-				last_rv = chown_chgrp(rule->actions[i].type, rule->actions[i].parameter[0], rule->actions[i].parameter[1]); ++				last_rv = chown_chgrp(event, rule->actions[i].type, rule->actions[i].parameter[0], rule->actions[i].parameter[1]); + 				break; + 			case ACT_SYMLINK: + 				last_rv = make_symlink(event, rule->actions[i].parameter[0], rule->actions[i].parameter[1]); +@@ -365,6 +414,13 @@ + 			case ACT_SETENV: + 				last_rv = setenv(rule->actions[i].parameter[0], rule->actions[i].parameter[1], 1); + 				break; ++			case ACT_REMOVE: ++				last_rv = unlink(rule->actions[i].parameter[0]); ++				rmdir_p(rule->actions[i].parameter[0]); ++				break; ++			case ACT_DEBUG: ++				last_rv = print_debug(event); ++				break; + 		} + 	} + 	 +@@ -518,6 +574,8 @@ + 		{"chmod", 2, ACT_CHMOD}, + 		{"chgrp", 2, ACT_CHGRP}, + 		{"setenv", 2, ACT_SETENV}, ++		{"remove", 1, ACT_REMOVE}, ++		{"printdebug", 0, ACT_DEBUG}, + 		/*symlink*/ + 		{"symlink", 2, ACT_SYMLINK}, + 		{"softlink", 2, ACT_SYMLINK}, +diff -urN -x .svn hotplug2-0.9/rules.h hotplug2/rules.h +--- hotplug2-0.9/rules.h	2006-09-25 13:42:22.000000000 +0200 ++++ hotplug2/rules.h	2007-06-25 10:51:14.687225568 +0200 +@@ -24,9 +24,11 @@ + #define ACT_CHGRP			6	/* chgrp <...> */ + #define ACT_CHOWN			7	/* chown <...> */ + #define ACT_SYMLINK			8	/* symlink <...> */ +-#define ACT_NEXT_EVENT		9	/* next */ ++#define ACT_NEXT_EVENT			9	/* next */ + #define ACT_NEXT_IF_FAILED		10	/* next_if_failed */ + #define ACT_SETENV			11	/* setenv <...> */ ++#define ACT_REMOVE			12	/* remove <...> */ ++#define ACT_DEBUG			13	/* debug */ +  + #define EVAL_MATCH			1 + #define EVAL_NOT_MATCH			0 +diff -urN -x .svn hotplug2-0.9/TODO hotplug2/TODO +--- hotplug2-0.9/TODO	1970-01-01 01:00:00.000000000 +0100 ++++ hotplug2/TODO	2007-06-25 10:51:14.691224960 +0200 +@@ -0,0 +1 @@ ++ - live rules update (via inotify) diff --git a/package/hotplug2/patches/120-action_types.patch b/package/hotplug2/patches/120-action_types.patch deleted file mode 100644 index c81b241b7..000000000 --- a/package/hotplug2/patches/120-action_types.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: hotplug2-0.9/hotplug2.c -=================================================================== ---- hotplug2-0.9.orig/hotplug2.c	2007-06-25 09:07:07.038012616 +0200 -+++ hotplug2-0.9/hotplug2.c	2007-06-25 09:07:19.420130248 +0200 -@@ -555,7 +555,7 @@ - 		if (cur_seqnum > highest_seqnum) - 			highest_seqnum = cur_seqnum; - 		 --		if (tmpevent->action == ACTION_ADD && (!dumb || modalias != NULL)) { -+		if (!dumb || modalias != NULL) { - 			/*  - 			 * We have more children than we want. Wait until SIGCHLD handler reduces - 			 * their numbers.  | 
