summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rw-r--r--udev/udev-rules.c9
-rw-r--r--udev/udev.xml7
3 files changed, 4 insertions, 16 deletions
diff --git a/NEWS b/NEWS
index 27b778f255..ec83316658 100644
--- a/NEWS
+++ b/NEWS
@@ -27,6 +27,10 @@ the udevadm commands.
The udev-acl tool got adopted to changes in ConsoleKit. Version 0.4.11 is
required now.
+The option "last_rule" does no longer exist. Its use breaks too many
+things which expect to be run from independent later rules, and is an idication
+that something needs to be fixed properly instead.
+
udev 146
========
Bugfixes.
diff --git a/udev/udev-rules.c b/udev/udev-rules.c
index ddb51de8e1..422e14ce23 100644
--- a/udev/udev-rules.c
+++ b/udev/udev-rules.c
@@ -164,7 +164,6 @@ enum token_type {
TK_A_ATTR, /* val, attr */
TK_A_RUN, /* val, bool */
TK_A_GOTO, /* size_t */
- TK_A_LAST_RULE,
TK_END,
};
@@ -296,7 +295,6 @@ static const char *token_str(enum token_type type)
[TK_A_ATTR] = "A ATTR",
[TK_A_RUN] = "A RUN",
[TK_A_GOTO] = "A GOTO",
- [TK_A_LAST_RULE] = "A LAST_RULE",
[TK_END] = "END",
};
@@ -362,7 +360,6 @@ static void dump_token(struct udev_rules *rules, struct token *token)
case TK_A_IGNORE_DEVICE:
case TK_A_STRING_ESCAPE_NONE:
case TK_A_STRING_ESCAPE_REPLACE:
- case TK_A_LAST_RULE:
case TK_A_IGNORE_REMOVE:
dbg(rules->udev, "%s\n", token_str(type));
break;
@@ -1037,7 +1034,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type,
case TK_A_STRING_ESCAPE_NONE:
case TK_A_STRING_ESCAPE_REPLACE:
case TK_A_IGNORE_REMOVE:
- case TK_A_LAST_RULE:
break;
case TK_A_RUN:
token->key.value_off = add_string(rule_tmp->rules, value);
@@ -1500,10 +1496,6 @@ static int add_rule(struct udev_rules *rules, char *line,
if (strcmp(key, "OPTIONS") == 0) {
const char *pos;
- if (strstr(value, "last_rule") != NULL) {
- dbg(rules->udev, "last rule to be applied\n");
- rule_add_key(&rule_tmp, TK_A_LAST_RULE, 0, NULL, NULL);
- }
if (strstr(value, "ignore_device") != NULL) {
dbg(rules->udev, "device should be ignored\n");
rule_add_key(&rule_tmp, TK_A_IGNORE_DEVICE, 0, NULL, NULL);
@@ -2526,7 +2518,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
break;
cur = &rules->tokens[cur->key.rule_goto];
continue;
- case TK_A_LAST_RULE:
case TK_END:
return 0;
diff --git a/udev/udev.xml b/udev/udev.xml
index c34a106d20..41941c820f 100644
--- a/udev/udev.xml
+++ b/udev/udev.xml
@@ -420,13 +420,6 @@
<para>Rule and device options:</para>
<variablelist>
<varlistentry>
- <term><option>last_rule</option></term>
- <listitem>
- <para>Stops further rules application. No later rules will have
- any effect.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><option>ignore_device</option></term>
<listitem>
<para>Ignore this event completely.</para>