Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame^] | 1 | The rule-syntax-check script fails with errors like this: |
| 2 | |
| 3 | Invalid line /lib/udev/rules.d/95-keymap.rules:49: ENV{DMI_VENDOR}=="ASUS*", KERNELS=="input*", ATTRS{name}=="Asus Extra Buttons", ATTR{[dmi/id]product_name}=="W3J", RUN+="keymap $name module-asus-w3j" |
| 4 | (' clause:', 'ATTR{[dmi/id]product_name}=="W3J"') |
| 5 | () |
| 6 | |
| 7 | |
| 8 | Move line comment from end of rules file to its own line, the regex used to |
| 9 | test correct syntax choke on it. |
| 10 | |
| 11 | The rule-syntax-check.py uses regex which errournessly complains on ATTR rules |
| 12 | of the form ATTR{[dmi/id]board_name}=="30B7" |
| 13 | Use the regex from systemd's script which allow [] characters and additional |
| 14 | compare operators |
| 15 | |
| 16 | The Makefile passes rules-test.sh script a build host path to the testdata. |
| 17 | Ignore the argument and use a relative path instead. |
| 18 | |
| 19 | |
| 20 | Signed-off-by: Max Krummenacher <max.oss.09@gmail.com> |
| 21 | Upstream-Status: Inappropriate (cross environment path) |
| 22 | |
| 23 | diff -Naur udev-182.orig/src/keymap/95-keymap.rules udev-182/src/keymap/95-keymap.rules |
| 24 | --- udev-182.orig/src/keymap/95-keymap.rules 2012-02-07 00:01:55.154640792 +0100 |
| 25 | +++ udev-182/src/keymap/95-keymap.rules 2015-01-24 20:58:40.156930520 +0100 |
| 26 | @@ -94,7 +94,8 @@ |
| 27 | ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP G62 Notebook PC", RUN+="keymap $name 0xB2 www" |
| 28 | ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="HP ProBook*", RUN+="keymap $name 0xF8 rfkill" |
| 29 | # HP Pavillion dv6315ea has empty DMI_VENDOR |
| 30 | -ATTR{[dmi/id]board_vendor}=="Quanta", ATTR{[dmi/id]board_name}=="30B7", ATTR{[dmi/id]board_version}=="65.2B", RUN+="keymap $name 0x88 media" # "quick play |
| 31 | +# "quick play" |
| 32 | +ATTR{[dmi/id]board_vendor}=="Quanta", ATTR{[dmi/id]board_name}=="30B7", ATTR{[dmi/id]board_version}=="65.2B", RUN+="keymap $name 0x88 media" |
| 33 | |
| 34 | # Gateway clone of Acer Aspire One AOA110/AOA150 |
| 35 | ENV{DMI_VENDOR}=="Gateway*", ATTR{[dmi/id]product_name}=="*AOA1*", RUN+="keymap $name acer" |
| 36 | diff -Naur udev-182.orig/test/rule-syntax-check.py udev-182/test/rule-syntax-check.py |
| 37 | --- udev-182.orig/test/rule-syntax-check.py 2012-02-15 20:10:12.872333342 +0100 |
| 38 | +++ udev-182/test/rule-syntax-check.py 2015-01-24 21:08:00.496049600 +0100 |
| 39 | @@ -28,7 +28,7 @@ |
| 40 | no_args_tests = re.compile('(ACTION|DEVPATH|KERNELS?|NAME|SYMLINK|SUBSYSTEMS?|DRIVERS?|TAG|RESULT|TEST)\s*(?:=|!)=\s*"([^"]*)"$') |
| 41 | args_tests = re.compile('(ATTRS?|ENV|TEST){([a-zA-Z0-9/_.*%-]+)}\s*(?:=|!)=\s*"([^"]*)"$') |
| 42 | no_args_assign = re.compile('(NAME|SYMLINK|OWNER|GROUP|MODE|TAG|PROGRAM|RUN|LABEL|GOTO|WAIT_FOR|OPTIONS|IMPORT)\s*(?:\+=|:=|=)\s*"([^"]*)"$') |
| 43 | -args_assign = re.compile('(ATTR|ENV|IMPORT){([a-zA-Z0-9/_.*%-]+)}\s*=\s*"([^"]*)"$') |
| 44 | +args_assign = re.compile('(ATTR|ENV|IMPORT|RUN){([][a-zA-Z0-9/_.*%-]+)}\s*(=|==|\+=)\s*"([^"]*)"$') |
| 45 | |
| 46 | result = 0 |
| 47 | buffer = '' |
| 48 | --- udev-182.orig/test/rules-test.sh 2012-01-29 01:15:46.000000000 +0100 |
| 49 | +++ udev-182/test/rules-test.sh 2015-01-24 17:53:51.201858658 +0100 |
| 50 | @@ -4,7 +4,7 @@ |
| 51 | # (C) 2010 Canonical Ltd. |
| 52 | # Author: Martin Pitt <martin.pitt@ubuntu.com> |
| 53 | |
| 54 | -[ -n "$srcdir" ] || srcdir=`dirname $0`/.. |
| 55 | +srcdir=`dirname $0`/.. |
| 56 | |
| 57 | # skip if we don't have python |
| 58 | type python >/dev/null 2>&1 || { |