[udev/f14/master] * Fri Aug 06 2010 Harald Hoyer <harald at redhat.com> 160-9 - added quirk to cdrom_id, to boot from qem

Harald Hoyer harald at fedoraproject.org
Fri Aug 6 16:42:16 UTC 2010


commit a866928386d15f8cec398c3c28282b7d8ba6fa39
Author: Harald Hoyer <harald at redhat.com>
Date:   Fri Aug 6 18:41:59 2010 +0200

    * Fri Aug 06 2010 Harald Hoyer <harald at redhat.com> 160-9
    - added quirk to cdrom_id, to boot from qemu
    Resolves: rhbz#609049

 ...ore-FireWire-IDs-Point-Grey-IIDC-AV-C-ven.patch |   68 +++++++++++
 ...ove-firewire-rules-for-deprecated-drivers.patch |   27 ++++
 ...date-firewire-matches-to-recent-rule-chan.patch |   31 +++++
 ...x-volume-keys-not-releasing-on-Mivvy-G310.patch |   29 +++++
 ...-Logitech-diNovo-MX5500-and-other-keyboar.patch |   28 +++++
 ...r-when-a-message-from-the-wrong-version-o.patch |   29 +++++
 ...ump-minor-so-version-after-adding-symbols.patch |   29 +++++
 ...hci-fix-for-Logitech-diNovo-Edge-keyboard.patch |   30 +++++
 0010-udevadm-fix-short-options-in-getopt.patch     |   53 ++++++++
 0011-keymap-Generalize-Samsung-keymaps.patch       |   30 +++++
 ...force-release-quirks-for-a-lot-more-Samsu.patch |   26 ++++
 ...udevd-fix-some-memory-leaks-in-error-path.patch |   69 +++++++++++
 0014-malloc-memset-calloc.patch                    |   28 +++++
 0015-udevd-fix-short-options-in-getopt.patch       |   25 ++++
 ...elete_path-only-when-we-actually-deleted-.patch |   85 +++++++++++++
 ...operly-handle-CK-change-events-for-root-u.patch |   52 ++++++++
 ...cl-really-fix-ACL-assignment-in-CK-events.patch |  125 ++++++++++++++++++++
 udev-qemu-cdrom.patch                              |   17 +++
 udev.spec                                          |   49 ++++++++-
 19 files changed, 829 insertions(+), 1 deletions(-)
---
diff --git a/0002-rules-add-more-FireWire-IDs-Point-Grey-IIDC-AV-C-ven.patch b/0002-rules-add-more-FireWire-IDs-Point-Grey-IIDC-AV-C-ven.patch
new file mode 100644
index 0000000..602e824
--- /dev/null
+++ b/0002-rules-add-more-FireWire-IDs-Point-Grey-IIDC-AV-C-ven.patch
@@ -0,0 +1,68 @@
+From 1bbc1a9cb0d65c1326e18170f3b445047cb1ea80 Mon Sep 17 00:00:00 2001
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Date: Sun, 11 Jul 2010 12:32:12 +0200
+Subject: [PATCH 02/18] rules: add more FireWire IDs: Point Grey IIDC; AV/C + vendor unique
+
+1. IIDC cameras from Point Grey use the vendor OUI as Specifier_ID
+instead of the 1394 TA's OUI but are otherwise fully compliant to the
+IIDC spec. Their device files should be accessible like those of any
+other IIDC cameras.
+
+2. Originally, the Software_Version of devices that implement FCP
+(IEC 61883-1 Function Control Protocol) was meant to be a bitmap of all
+command sets that an FCP capable unit supports.  Bitmap flags are
+defined for AV/C, CAL, EHS, HAVi, and vendor unique command sets.
+Software_Version was revised to be a simple identifier instead, and
+devices that support several command sets were meant to instantiate one
+unit directory for each command set.  Still, some devices with the flags
+for AV/C and vendor unique command sets combined were released (but
+apparently no devices with any other flag combinations).  These rare but
+existing AV/C + vendor unique devices need to be accessible just like
+plain AV/C devices.
+
+Side notes:
+ - Many AV/C devices make use of the Vendor Dependent AV/C command, but
+this is unrelated to vendor unique FCP command sets.
+ - Here are all standardized FireWire protocol identifiers that I know
+of, listed as Specifier_ID:Software_Version | specifier | protocol.
+0x00005e:0x000001 | IANA    | IPv4 over 1394 (RFC 2734)
+0x00005e:0x000002 | IANA    | IPv6 over 1394 (RFC 3146)
+0x00609e:0x010483 | INCITS  | SBP-2 (or SCSI command sets over SBP-3)
+0x00609e:0x0105bb | INCITS  | AV/C over SBP-3
+0x00a02d:0x010001 | 1394 TA | AV/C (over FCP)
+0x00a02d:0x010002 | 1394 TA | CAL
+0x00a02d:0x010004 | 1394 TA | EHS
+0x00a02d:0x010008 | 1394 TA | HAVi
+0x00a02d:0x014000 | 1394 TA | Vendor Unique
+0x00a02d:0x014001 | 1394 TA | Vendor Unique and AV/C (over FCP)
+0x00a02d:0x000100 | 1394 TA | IIDC 1.04
+0x00a02d:0x000101 | 1394 TA | IIDC 1.20
+0x00a02d:0x000102 | 1394 TA | IIDC 1.30
+0x00a02d:0x0A6BE2 | 1394 TA | DPP 1.0
+0x00a02d:0x4B661F | 1394 TA | IICP 1.0
+For now we are only interested in udev rules for AV/C and IIDC.
+
+Reported-by: Damien Douxchamps <ddsf at douxchamps.net> (Point Grey IIDC ID)
+Reported-by: Clemens Ladisch <clemens at ladisch.de> (AV/C + vendor unique ID)
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+---
+ rules/rules.d/50-udev-default.rules |    2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules
+index 10cfbd6..3c0f747 100644
+--- a/rules/rules.d/50-udev-default.rules
++++ b/rules/rules.d/50-udev-default.rules
+@@ -49,7 +49,9 @@ SUBSYSTEM=="dvb", GROUP="video"
+ 
+ # FireWire (firewire-core driver: IIDC devices, AV/C devices)
+ SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
++SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
+ SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
++SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
+ 
+ # FireWire (deprecated dv1394 and video1394 drivers)
+ KERNEL=="dv1394-[0-9]*",	NAME="dv1394/%n", GROUP="video"
+-- 
+1.7.2
+
diff --git a/0003-rules-remove-firewire-rules-for-deprecated-drivers.patch b/0003-rules-remove-firewire-rules-for-deprecated-drivers.patch
new file mode 100644
index 0000000..31531af
--- /dev/null
+++ b/0003-rules-remove-firewire-rules-for-deprecated-drivers.patch
@@ -0,0 +1,27 @@
+From 9de4a43a899dd03dd10ebc156be85ecdd33ce62a Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Mon, 12 Jul 2010 11:04:17 +0200
+Subject: [PATCH 03/18] rules: remove firewire rules for deprecated drivers
+
+---
+ rules/rules.d/50-udev-default.rules |    4 ----
+ 1 files changed, 0 insertions(+), 4 deletions(-)
+
+diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules
+index 3c0f747..9f98809 100644
+--- a/rules/rules.d/50-udev-default.rules
++++ b/rules/rules.d/50-udev-default.rules
+@@ -53,10 +53,6 @@ SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
+ SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
+ SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
+ 
+-# FireWire (deprecated dv1394 and video1394 drivers)
+-KERNEL=="dv1394-[0-9]*",	NAME="dv1394/%n", GROUP="video"
+-KERNEL=="video1394-[0-9]*",	NAME="video1394/%n", GROUP="video"
+-
+ # libusb device nodes
+ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
+ 
+-- 
+1.7.2
+
diff --git a/0004-udev-acl-update-firewire-matches-to-recent-rule-chan.patch b/0004-udev-acl-update-firewire-matches-to-recent-rule-chan.patch
new file mode 100644
index 0000000..b59c4c4
--- /dev/null
+++ b/0004-udev-acl-update-firewire-matches-to-recent-rule-chan.patch
@@ -0,0 +1,31 @@
+From 2ffb33bdece1ef75886dc8d50490050c8a4b53bd Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Thu, 15 Jul 2010 11:38:14 +0200
+Subject: [PATCH 04/18] udev-acl: update firewire matches to recent rule changes
+
+---
+ extras/udev-acl/70-acl.rules |    6 ++----
+ 1 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/extras/udev-acl/70-acl.rules b/extras/udev-acl/70-acl.rules
+index 8300ec2..493a43a 100644
+--- a/extras/udev-acl/70-acl.rules
++++ b/extras/udev-acl/70-acl.rules
+@@ -37,12 +37,10 @@ SUBSYSTEM=="dvb", TAG+="udev-acl"
+ 
+ # IIDC devices: industrial cameras and some webcams
+ SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*",  TAG+="udev-acl"
++SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*",  TAG+="udev-acl"
+ # AV/C devices: camcorders, set-top boxes, TV sets, audio devices, and more
+ SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", TAG+="udev-acl"
+-
+-# old style firewire devices
+-KERNEL=="dv1394-[0-9]*", TAG+="udev-acl"
+-KERNEL=="video1394-[0-9]*", TAG+="udev-acl"
++SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", TAG+="udev-acl"
+ 
+ # fingerprint readers
+ SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="2016", TAG+="udev-acl"
+-- 
+1.7.2
+
diff --git a/0005-Fix-volume-keys-not-releasing-on-Mivvy-G310.patch b/0005-Fix-volume-keys-not-releasing-on-Mivvy-G310.patch
new file mode 100644
index 0000000..f38a783
--- /dev/null
+++ b/0005-Fix-volume-keys-not-releasing-on-Mivvy-G310.patch
@@ -0,0 +1,29 @@
+From 85c3d3b032b4c9a743a9c46eeede469eb999fb54 Mon Sep 17 00:00:00 2001
+From: Jerone Young <jerone.young at canonical.com>
+Date: Thu, 15 Jul 2010 22:01:24 -0500
+Subject: [PATCH 05/18] Fix volume keys not releasing on Mivvy G310
+
+keymap: add My Mivvy G310
+
+Fixes volume keys not sending key release on My Mivvy G310 laptop.
+
+Signed-off-by: Jerone Young <jerone.young at canonical.com>
+Signed-off-by: Martin Pitt <martin.pitt at ubuntu.com>
+---
+ extras/keymap/95-keyboard-force-release.rules |    2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/extras/keymap/95-keyboard-force-release.rules b/extras/keymap/95-keyboard-force-release.rules
+index db8a3b3..cb1fe78 100644
+--- a/extras/keymap/95-keyboard-force-release.rules
++++ b/extras/keymap/95-keyboard-force-release.rules
+@@ -33,4 +33,6 @@ ENV{DMI_VENDOR}=="PEGATRON CORP.", ATTR{[dmi/id]product_name}=="Spring Peak", RU
+ 
+ ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite U300|Satellite Pro U300|Satellite U305", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
+ 
++ENV{DMI_VENDOR}=="Viooo Corporation", ATTR{[dmi/id]product_name}=="PT17", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
++
+ LABEL="force_release_end"
+-- 
+1.7.2
+
diff --git a/0006-hid2hci-fix-Logitech-diNovo-MX5500-and-other-keyboar.patch b/0006-hid2hci-fix-Logitech-diNovo-MX5500-and-other-keyboar.patch
new file mode 100644
index 0000000..fe59883
--- /dev/null
+++ b/0006-hid2hci-fix-Logitech-diNovo-MX5500-and-other-keyboar.patch
@@ -0,0 +1,28 @@
+From a466c239a98045767c3aa7dfbf95306f36b9bf48 Mon Sep 17 00:00:00 2001
+From: Marco d'Itri <md at linux.it>
+Date: Mon, 19 Jul 2010 10:37:41 +0200
+Subject: [PATCH 06/18] hid2hci: fix Logitech diNovo, MX5500 and other keyboards
+
+---
+ extras/hid2hci/70-hid2hci.rules |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/extras/hid2hci/70-hid2hci.rules b/extras/hid2hci/70-hid2hci.rules
+index c5528f0..4351551 100644
+--- a/extras/hid2hci/70-hid2hci.rules
++++ b/extras/hid2hci/70-hid2hci.rules
+@@ -11,9 +11,9 @@ ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProt
+   RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1"
+ 
+ # Logitech devices (hidraw)
+-KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345bce]|c71[34bc]", \
++KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[35e]|c71[34]", \
+   RUN+="hid2hci --method=logitech-hid --devpath=%p"
+-KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70a", \
++KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[4abc]|c71[bc]", \
+   RUN+="hid2hci --method=logitech-hid --devpath=%p"
+ 
+ ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
+-- 
+1.7.2
+
diff --git a/0007-log-an-error-when-a-message-from-the-wrong-version-o.patch b/0007-log-an-error-when-a-message-from-the-wrong-version-o.patch
new file mode 100644
index 0000000..952c9bc
--- /dev/null
+++ b/0007-log-an-error-when-a-message-from-the-wrong-version-o.patch
@@ -0,0 +1,29 @@
+From 9b6c6b56123670050b1dc5eb69ea1a9638bedd39 Mon Sep 17 00:00:00 2001
+From: Marco d'Itri <md at linux.it>
+Date: Mon, 19 Jul 2010 10:56:37 +0200
+Subject: [PATCH 07/18] log an error when a message from the wrong version of udevadm is ignored
+
+---
+ libudev/libudev-monitor.c |    5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/libudev/libudev-monitor.c b/libudev/libudev-monitor.c
+index b3e5d5f..a3789c4 100644
+--- a/libudev/libudev-monitor.c
++++ b/libudev/libudev-monitor.c
+@@ -625,8 +625,11 @@ retry:
+ 	if (memcmp(buf, "libudev", 8) == 0) {
+ 		/* udev message needs proper version magic */
+ 		nlh = (struct udev_monitor_netlink_header *) buf;
+-		if (nlh->magic != htonl(UDEV_MONITOR_MAGIC))
++		if (nlh->magic != htonl(UDEV_MONITOR_MAGIC)) {
++			err(udev_monitor->udev, "ignored a message from an invalid release of udevadm (%x != %x)\n",
++			    nlh->magic, htonl(UDEV_MONITOR_MAGIC));
+ 			return NULL;
++		}
+ 		if (nlh->properties_off+32 > buflen)
+ 			return NULL;
+ 		bufpos = nlh->properties_off;
+-- 
+1.7.2
+
diff --git a/0008-libudev-bump-minor-so-version-after-adding-symbols.patch b/0008-libudev-bump-minor-so-version-after-adding-symbols.patch
new file mode 100644
index 0000000..59fbee5
--- /dev/null
+++ b/0008-libudev-bump-minor-so-version-after-adding-symbols.patch
@@ -0,0 +1,29 @@
+From 2ec30504d628a445b892c697745b9886b42227e1 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Mon, 19 Jul 2010 14:08:21 +0200
+Subject: [PATCH 08/18] libudev: bump minor so version after adding symbols
+
+---
+ Makefile.am |    6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 3406c3a..e80d43a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -29,9 +29,9 @@ CLEANFILES =
+ # ------------------------------------------------------------------------------
+ # libudev
+ # ------------------------------------------------------------------------------
+-LIBUDEV_CURRENT=8
+-LIBUDEV_REVISION=3
+-LIBUDEV_AGE=8
++LIBUDEV_CURRENT=9
++LIBUDEV_REVISION=0
++LIBUDEV_AGE=9
+ 
+ SUBDIRS += libudev/docs
+ 
+-- 
+1.7.2
+
diff --git a/0009-hid2hci-fix-for-Logitech-diNovo-Edge-keyboard.patch b/0009-hid2hci-fix-for-Logitech-diNovo-Edge-keyboard.patch
new file mode 100644
index 0000000..574ecf4
--- /dev/null
+++ b/0009-hid2hci-fix-for-Logitech-diNovo-Edge-keyboard.patch
@@ -0,0 +1,30 @@
+From efb27d646590660c766796fc314a291bdcd2b3e1 Mon Sep 17 00:00:00 2001
+From: Marco d'Itri <md at linux.it>
+Date: Fri, 23 Jul 2010 12:08:31 +0200
+Subject: [PATCH 09/18] hid2hci: fix for Logitech diNovo Edge keyboard
+
+---
+ extras/hid2hci/70-hid2hci.rules |    6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/extras/hid2hci/70-hid2hci.rules b/extras/hid2hci/70-hid2hci.rules
+index 4351551..3b36629 100644
+--- a/extras/hid2hci/70-hid2hci.rules
++++ b/extras/hid2hci/70-hid2hci.rules
+@@ -10,10 +10,10 @@ ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProt
+   ATTRS{bDeviceClass}=="00", ATTRS{idVendor}=="413c", ATTRS{bmAttributes}=="e0", \
+   RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1"
+ 
+-# Logitech devices (hidraw)
+-KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[35e]|c71[34]", \
++# Logitech devices
++KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[35e]", \
+   RUN+="hid2hci --method=logitech-hid --devpath=%p"
+-KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[4abc]|c71[bc]", \
++KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[4abc]|c71[34bc]", \
+   RUN+="hid2hci --method=logitech-hid --devpath=%p"
+ 
+ ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
+-- 
+1.7.2
+
diff --git a/0010-udevadm-fix-short-options-in-getopt.patch b/0010-udevadm-fix-short-options-in-getopt.patch
new file mode 100644
index 0000000..101f710
--- /dev/null
+++ b/0010-udevadm-fix-short-options-in-getopt.patch
@@ -0,0 +1,53 @@
+From 163c0365ffbd9321d686e8c301c36ea50c98df2f Mon Sep 17 00:00:00 2001
+From: Yin Kangkai <kangkai.yin at intel.com>
+Date: Wed, 28 Jul 2010 06:56:13 +0200
+Subject: [PATCH 10/18] udevadm: fix short options in getopt()
+
+---
+ udev/udevadm-control.c |    2 +-
+ udev/udevadm-info.c    |    2 +-
+ udev/udevadm-trigger.c |    2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/udev/udevadm-control.c b/udev/udevadm-control.c
+index 1f8008a..8b90829 100644
+--- a/udev/udevadm-control.c
++++ b/udev/udevadm-control.c
+@@ -71,7 +71,7 @@ int udevadm_control(struct udev *udev, int argc, char *argv[])
+ 		int i;
+ 		char *endp;
+ 
+-		option = getopt_long(argc, argv, "l:sSRp:m:M:h", options, NULL);
++		option = getopt_long(argc, argv, "l:sSRp:m:h", options, NULL);
+ 		if (option == -1)
+ 			break;
+ 
+diff --git a/udev/udevadm-info.c b/udev/udevadm-info.c
+index 14baa6a..9bd60c7 100644
+--- a/udev/udevadm-info.c
++++ b/udev/udevadm-info.c
+@@ -242,7 +242,7 @@ int udevadm_info(struct udev *udev, int argc, char *argv[])
+ 		int option;
+ 		struct stat statbuf;
+ 
+-		option = getopt_long(argc, argv, "aed:n:p:q:rxPVh", options, NULL);
++		option = getopt_long(argc, argv, "aed:n:p:q:rxP:Vh", options, NULL);
+ 		if (option == -1)
+ 			break;
+ 
+diff --git a/udev/udevadm-trigger.c b/udev/udevadm-trigger.c
+index 481e9cf..c32e0b4 100644
+--- a/udev/udevadm-trigger.c
++++ b/udev/udevadm-trigger.c
+@@ -128,7 +128,7 @@ int udevadm_trigger(struct udev *udev, int argc, char *argv[])
+ 		const char *val;
+ 		char buf[UTIL_PATH_SIZE];
+ 
+-		option = getopt_long(argc, argv, "vng:o:t:hcp:s:S:a:A:y:", options, NULL);
++		option = getopt_long(argc, argv, "vng:o:t:hc:p:s:S:a:A:y:", options, NULL);
+ 		if (option == -1)
+ 			break;
+ 
+-- 
+1.7.2
+
diff --git a/0011-keymap-Generalize-Samsung-keymaps.patch b/0011-keymap-Generalize-Samsung-keymaps.patch
new file mode 100644
index 0000000..5ba9edf
--- /dev/null
+++ b/0011-keymap-Generalize-Samsung-keymaps.patch
@@ -0,0 +1,30 @@
+From c9fbbd6ea2f92e037cdaba6b7116d3b3e904696a Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Sun, 1 Aug 2010 21:59:58 +0200
+Subject: [PATCH 11/18] keymap: Generalize Samsung keymaps
+
+Fortunato Ventre (voRia) <vorione at gmail.com> reports a lot more Samsung models
+which need the "samsung-other" keymap. Instead of eternally playing catchup,
+apply it to all Samsung models for now, and keep the two known special cases.
+
+https://launchpad.net/bugs/554066
+---
+ extras/keymap/95-keymap.rules |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/extras/keymap/95-keymap.rules b/extras/keymap/95-keymap.rules
+index 6e37067..13b5571 100644
+--- a/extras/keymap/95-keymap.rules
++++ b/extras/keymap/95-keymap.rules
+@@ -115,7 +115,7 @@ ENV{DMI_VENDOR}=="INVENTEC", ATTR{[dmi/id]product_name}=="SYMPHONY 6.0/7.0", RUN
+ 
+ ENV{DMI_VENDOR}=="MAXDATA", ATTR{[dmi/id]product_name}=="Pro 7000*", RUN+="keymap $name maxdata-pro_7000"
+ 
+-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*NC10*|*NC20*|*N128*|*N130*|*N210*|*SP55S*|*SQ45S70S*|*SX60P*|*SX22S*|*SX30S*|*R59P/R60P/R61P*|*SR70S/SR71S*|*Q210*|*Q310*|*X05*|*P560*|*R560*", RUN+="keymap $name samsung-other"
++ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", RUN+="keymap $name samsung-other"
+ ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s"
+ ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us"
+ 
+-- 
+1.7.2
+
diff --git a/0012-keymap-Add-force-release-quirks-for-a-lot-more-Samsu.patch b/0012-keymap-Add-force-release-quirks-for-a-lot-more-Samsu.patch
new file mode 100644
index 0000000..5b89fed
--- /dev/null
+++ b/0012-keymap-Add-force-release-quirks-for-a-lot-more-Samsu.patch
@@ -0,0 +1,26 @@
+From 5047f82de4d3b973281993516441a35cebcf1294 Mon Sep 17 00:00:00 2001
+From: Fortunato Ventre <vorione at gmail.com>
+Date: Sun, 1 Aug 2010 22:03:30 +0200
+Subject: [PATCH 12/18] keymap: Add force-release quirks for a lot more Samsung models
+
+https://launchpad.net/bugs/554066
+---
+ extras/keymap/95-keyboard-force-release.rules |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/extras/keymap/95-keyboard-force-release.rules b/extras/keymap/95-keyboard-force-release.rules
+index cb1fe78..bd6b75f 100644
+--- a/extras/keymap/95-keyboard-force-release.rules
++++ b/extras/keymap/95-keyboard-force-release.rules
+@@ -19,7 +19,7 @@ DRIVER!="atkbd", GOTO="force_release_end"
+ ENV{DMI_VENDOR}="$attr{[dmi/id]sys_vendor}"
+ 
+ 
+-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*N128*|*N130*|*N140*|*N210*|*SR70S/SR71S*|*Q210/P210*", RUN+="keyboard-force-release.sh $devpath samsung-other"
++ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*E252*|*N120*|*N128*|*N130*|*N140*|*N148/N208*|*N150*|*N150/N210/N220*|*N220*|*N308*|*N310*|*N510*|*NB30*|*NC10/N110*|*ND10*|*Q210/P210*|*R410P*|*R425/R525*|*R428/P428*|*R460*|*R463*|*R468/R418*|*R480/R431/R481*|*R509*|*R518*|*R519/R719*|*R520/R522/R620*|*R528/R728*|*R530/R730*|*R530/R730/P590*|*R560*|*R580*|*R580/R590*|*R59/R60/R61*|*R59P/R60P/R61P*|*R710*|*R720*|*R780/R778*|*SR58P*|*SR700*|*SR70S/SR71S*|*SX22S*|*X118*|*X120*|*X460*", RUN+="keyboard-force-release.sh $devpath samsung-other"
+ 
+ ENV{DMI_VENDOR}=="Dell Inc.", ATTR{[dmi/id]product_name}=="Studio 1557|Studio 1558", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
+ 
+-- 
+1.7.2
+
diff --git a/0013-udevd-fix-some-memory-leaks-in-error-path.patch b/0013-udevd-fix-some-memory-leaks-in-error-path.patch
new file mode 100644
index 0000000..ed97c3a
--- /dev/null
+++ b/0013-udevd-fix-some-memory-leaks-in-error-path.patch
@@ -0,0 +1,69 @@
+From 1851332c08e3f70ee172bbe5b153789da5df2df5 Mon Sep 17 00:00:00 2001
+From: Yin Kangkai <kangkai.yin at linux.intel.com>
+Date: Mon, 2 Aug 2010 18:31:18 +0800
+Subject: [PATCH 13/18] udevd: fix some memory leaks in error path
+
+Signed-off-by: Yin Kangkai <kangkai.yin at intel.com>
+---
+ udev/udev-rules.c |   15 ++++++++++++---
+ udev/udevd.c      |    4 +++-
+ 2 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/udev/udev-rules.c b/udev/udev-rules.c
+index 6d32e73..4b81a50 100644
+--- a/udev/udev-rules.c
++++ b/udev/udev-rules.c
+@@ -1761,13 +1761,18 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
+ 
+ 	/* init token array and string buffer */
+ 	rules->tokens = malloc(PREALLOC_TOKEN * sizeof(struct token));
+-	if (rules->tokens == NULL)
++	if (rules->tokens == NULL) {
++		free(rules);
+ 		return NULL;
++	}
+ 	rules->token_max = PREALLOC_TOKEN;
+ 
+ 	rules->buf = malloc(PREALLOC_STRBUF);
+-	if (rules->buf == NULL)
++	if (rules->buf == NULL) {
++		free(rules->tokens);
++		free(rules);
+ 		return NULL;
++	}
+ 	rules->buf_max = PREALLOC_STRBUF;
+ 	/* offset 0 is always '\0' */
+ 	rules->buf[0] = '\0';
+@@ -1776,8 +1781,12 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
+ 	    rules->token_max * sizeof(struct token), rules->token_max, sizeof(struct token), rules->buf_max);
+ 
+ 	rules->trie_nodes = malloc(PREALLOC_TRIE * sizeof(struct trie_node));
+-	if (rules->trie_nodes == NULL)
++	if (rules->trie_nodes == NULL) {
++		free(rules->buf);
++		free(rules->tokens);
++		free(rules);
+ 		return NULL;
++	}
+ 	rules->trie_nodes_max = PREALLOC_TRIE;
+ 	/* offset 0 is the trie root, with an empty string */
+ 	memset(rules->trie_nodes, 0x00, sizeof(struct trie_node));
+diff --git a/udev/udevd.c b/udev/udevd.c
+index 873634f..fbc2371 100644
+--- a/udev/udevd.c
++++ b/udev/udevd.c
+@@ -227,8 +227,10 @@ static void worker_new(struct event *event)
+ 	udev_monitor_enable_receiving(worker_monitor);
+ 
+ 	worker = calloc(1, sizeof(struct worker));
+-	if (worker == NULL)
++	if (worker == NULL) {
++		udev_monitor_unref(worker_monitor);
+ 		return;
++	}
+ 	/* worker + event reference */
+ 	worker->refcount = 2;
+ 	worker->udev = event->udev;
+-- 
+1.7.2
+
diff --git a/0014-malloc-memset-calloc.patch b/0014-malloc-memset-calloc.patch
new file mode 100644
index 0000000..61a1245
--- /dev/null
+++ b/0014-malloc-memset-calloc.patch
@@ -0,0 +1,28 @@
+From 27f4528b9a6587cab2d916fad735dd93eb7563b0 Mon Sep 17 00:00:00 2001
+From: Yin Kangkai <kangkai.yin at linux.intel.com>
+Date: Tue, 3 Aug 2010 08:10:26 +0200
+Subject: [PATCH 14/18] malloc()+memset() -> calloc()
+
+---
+ udev/udev-rules.c |    3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+diff --git a/udev/udev-rules.c b/udev/udev-rules.c
+index 4b81a50..52f121c 100644
+--- a/udev/udev-rules.c
++++ b/udev/udev-rules.c
+@@ -1751,10 +1751,9 @@ struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names)
+ 	struct udev_list_entry *file_loop, *file_tmp;
+ 	struct token end_token;
+ 
+-	rules = malloc(sizeof(struct udev_rules));
++	rules = calloc(1, sizeof(struct udev_rules));
+ 	if (rules == NULL)
+ 		return NULL;
+-	memset(rules, 0x00, sizeof(struct udev_rules));
+ 	rules->udev = udev;
+ 	rules->resolve_names = resolve_names;
+ 	udev_list_init(&file_list);
+-- 
+1.7.2
+
diff --git a/0015-udevd-fix-short-options-in-getopt.patch b/0015-udevd-fix-short-options-in-getopt.patch
new file mode 100644
index 0000000..05e0d66
--- /dev/null
+++ b/0015-udevd-fix-short-options-in-getopt.patch
@@ -0,0 +1,25 @@
+From 4ab3c463d418c74275eb8170a87c8cf75e47d973 Mon Sep 17 00:00:00 2001
+From: Yin Kangkai <kangkai.yin at linux.intel.com>
+Date: Tue, 3 Aug 2010 08:11:43 +0200
+Subject: [PATCH 15/18] udevd: fix short options in getopt()
+
+---
+ udev/udevd.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/udev/udevd.c b/udev/udevd.c
+index fbc2371..2808117 100644
+--- a/udev/udevd.c
++++ b/udev/udevd.c
+@@ -1062,7 +1062,7 @@ int main(int argc, char *argv[])
+ 	for (;;) {
+ 		int option;
+ 
+-		option = getopt_long(argc, argv, "cdeDthV", options, NULL);
++		option = getopt_long(argc, argv, "c:deDthV", options, NULL);
+ 		if (option == -1)
+ 			break;
+ 
+-- 
+1.7.2
+
diff --git a/0016-call-util_delete_path-only-when-we-actually-deleted-.patch b/0016-call-util_delete_path-only-when-we-actually-deleted-.patch
new file mode 100644
index 0000000..e3e54b9
--- /dev/null
+++ b/0016-call-util_delete_path-only-when-we-actually-deleted-.patch
@@ -0,0 +1,85 @@
+From 8e5a620b17c08b0b6277236203ee559b7dadd1d4 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Tue, 3 Aug 2010 12:13:53 +0200
+Subject: [PATCH 16/18] call util_delete_path() only when we actually deleted stuff
+
+---
+ libudev/libudev-util-private.c |   17 ++++++-----------
+ udev/udev-node.c               |   11 ++++++-----
+ 2 files changed, 12 insertions(+), 16 deletions(-)
+
+diff --git a/libudev/libudev-util-private.c b/libudev/libudev-util-private.c
+index 2f9f4a7..6b68b6a 100644
+--- a/libudev/libudev-util-private.c
++++ b/libudev/libudev-util-private.c
+@@ -74,7 +74,7 @@ int util_delete_path(struct udev *udev, const char *path)
+ {
+ 	char p[UTIL_PATH_SIZE];
+ 	char *pos;
+-	int retval;
++	int err = 0;
+ 
+ 	if (path[0] == '/')
+ 		while(path[1] == '/')
+@@ -92,19 +92,14 @@ int util_delete_path(struct udev *udev, const char *path)
+ 		if ((pos == p) || (pos == NULL))
+ 			break;
+ 
+-		/* remove if empty */
+-		retval = rmdir(p);
+-		if (errno == ENOENT)
+-			retval = 0;
+-		if (retval) {
+-			if (errno == ENOTEMPTY)
+-				return 0;
+-			err(udev, "rmdir(%s) failed: %m\n", p);
++		err = rmdir(p);
++		if (err < 0) {
++			if (errno == ENOENT)
++				err = 0;
+ 			break;
+ 		}
+-		dbg(udev, "removed '%s'\n", p);
+ 	}
+-	return 0;
++	return err;
+ }
+ 
+ /* Reset permissions on the device node, before unlinking it to make sure,
+diff --git a/udev/udev-node.c b/udev/udev-node.c
+index 8339eb7..228b3eb 100644
+--- a/udev/udev-node.c
++++ b/udev/udev-node.c
+@@ -298,15 +298,15 @@ static void link_update(struct udev_device *dev, const char *slink, bool add)
+ 
+ 	if (!add) {
+ 		dbg(udev, "removing index: '%s'\n", filename);
+-		unlink(filename);
+-		util_delete_path(udev, filename);
++		if (unlink(filename) == 0)
++			rmdir(dirname);
+ 	}
+ 
+ 	target = link_find_prioritized(dev, add, dirname, buf, sizeof(buf));
+ 	if (target == NULL) {
+ 		info(udev, "no reference left, remove '%s'\n", slink);
+-		unlink(slink);
+-		util_delete_path(udev, slink);
++		if (unlink(slink) == 0)
++			util_delete_path(udev, slink);
+ 	} else {
+ 		info(udev, "creating link '%s' to '%s'\n", slink, target);
+ 		node_symlink(udev, target, slink);
+@@ -427,7 +427,8 @@ int udev_node_remove(struct udev_device *dev)
+ 
+ 	info(udev, "removing device node '%s'\n", devnode);
+ 	err = util_unlink_secure(udev, devnode);
+-	util_delete_path(udev, devnode);
++	if (err == 0)
++		util_delete_path(udev, devnode);
+ out:
+ 	return err;
+ }
+-- 
+1.7.2
+
diff --git a/0017-udev-acl-properly-handle-CK-change-events-for-root-u.patch b/0017-udev-acl-properly-handle-CK-change-events-for-root-u.patch
new file mode 100644
index 0000000..fc32c06
--- /dev/null
+++ b/0017-udev-acl-properly-handle-CK-change-events-for-root-u.patch
@@ -0,0 +1,52 @@
+From 939cc18afc49ee8479572c14c7fa777646fd4add Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Tue, 3 Aug 2010 15:09:46 +0200
+Subject: [PATCH 17/18] udev-acl: properly handle CK change events for root user
+
+mschmidt at redhat.com writes:
+> since root is treated specially, it does not do anything!
+> udev-acl may want to prevent removing ACLs from root, but
+> it must not stop the ACLs being granted to the user of the
+> new session.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=608712
+---
+ extras/udev-acl/udev-acl.c |    7 +------
+ 1 files changed, 1 insertions(+), 6 deletions(-)
+
+diff --git a/extras/udev-acl/udev-acl.c b/extras/udev-acl/udev-acl.c
+index ff04ec6..f2b5005 100644
+--- a/extras/udev-acl/udev-acl.c
++++ b/extras/udev-acl/udev-acl.c
+@@ -224,14 +224,10 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
+ 		if (s == NULL)
+ 			return -1;
+ 		u = strtoul(s, NULL, 10);
+-		if (u == 0)
+-			return 0;
+ 		s = getenv("CK_SEAT_SESSION_USER_UID");
+ 		if (s == NULL)
+ 			return -1;
+ 		u2 = strtoul(s, NULL, 10);
+-		if (u2 == 0)
+-			return 0;
+ 
+ 		s = getenv("CK_SEAT_OLD_SESSION_IS_LOCAL");
+ 		s2 = getenv("CK_SEAT_SESSION_IS_LOCAL");
+@@ -263,12 +259,11 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
+ 			a = ACTION_ADD;
+ 			u = u2;
+ 		}
+-
+ 		break;
+ 	case ACTION_NONE:
+ 		break;
+ 	default:
+-		g_assert_not_reached ();
++		g_assert_not_reached();
+ 		break;
+ 	}
+ 
+-- 
+1.7.2
+
diff --git a/0018-udev-acl-really-fix-ACL-assignment-in-CK-events.patch b/0018-udev-acl-really-fix-ACL-assignment-in-CK-events.patch
new file mode 100644
index 0000000..9187554
--- /dev/null
+++ b/0018-udev-acl-really-fix-ACL-assignment-in-CK-events.patch
@@ -0,0 +1,125 @@
+From 9ac90ae153accdfcb56c24c5748690933ad219b2 Mon Sep 17 00:00:00 2001
+From: Michal Schmidt <mschmidt at redhat.com>
+Date: Wed, 4 Aug 2010 11:53:25 +0200
+Subject: [PATCH 18/18] udev-acl: really fix ACL assignment in CK events
+
+The previous fix for udev-acl was incomplete. The ACL were not properly
+assigned to the new user when switching from root's session because of
+the test for 'uid != 0'.
+
+Centralize the special handling of root to a single place (in set_facl).
+
+https://bugzilla.redhat.com/show_bug.cgi?id=608712
+---
+ extras/udev-acl/udev-acl.c |   37 +++++++++++++++++++------------------
+ 1 files changed, 19 insertions(+), 18 deletions(-)
+
+diff --git a/extras/udev-acl/udev-acl.c b/extras/udev-acl/udev-acl.c
+index f2b5005..31e9991 100644
+--- a/extras/udev-acl/udev-acl.c
++++ b/extras/udev-acl/udev-acl.c
+@@ -12,20 +12,18 @@
+  * General Public License for more details:
+  */
+ 
+-#include <stdio.h>
+-#include <errno.h>
+-#include <string.h>
+-#include <inttypes.h>
+-#include <unistd.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-#include <string.h>
++#include <acl/libacl.h>
++#include <sys/stat.h>
+ #include <errno.h>
+ #include <getopt.h>
+-#include <sys/stat.h>
+ #include <glib.h>
+-#include <acl/libacl.h>
++#include <inttypes.h>
+ #include <libudev.h>
++#include <stdbool.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
+ 
+ static int debug;
+ 
+@@ -45,6 +43,10 @@ static int set_facl(const char* filename, uid_t uid, int add)
+ 	acl_permset_t permset;
+ 	int ret;
+ 
++	/* don't touch ACLs for root */
++	if (uid == 0)
++		return 0;
++
+ 	/* read current record */
+ 	acl = acl_get_file(filename, ACL_TYPE_ACCESS);
+ 	if (!acl)
+@@ -190,8 +192,6 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
+ 		if (s == NULL)
+ 			return -1;
+ 		u = strtoul(s, NULL, 10);
+-		if (u == 0)
+-			return 0;
+ 
+ 		s = getenv("CK_SEAT_SESSION_IS_LOCAL");
+ 		if (s == NULL)
+@@ -205,8 +205,6 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
+ 		if (s == NULL)
+ 			return -1;
+ 		u = strtoul(s, NULL, 10);
+-		if (u == 0)
+-			return 0;
+ 
+ 		s = getenv("CK_SEAT_OLD_SESSION_IS_LOCAL");
+ 		if (s == NULL)
+@@ -331,6 +329,7 @@ int main (int argc, char* argv[])
+ 	};
+ 	int action = -1;
+ 	const char *device = NULL;
++	bool uid_given = false;
+ 	uid_t uid = 0;
+ 	uid_t uid2 = 0;
+ 	const char* remove_session_id = NULL;
+@@ -357,6 +356,7 @@ int main (int argc, char* argv[])
+ 			device = optarg;
+ 			break;
+ 		case 'u':
++			uid_given = true;
+ 			uid = strtoul(optarg, NULL, 10);
+ 			break;
+ 		case 'd':
+@@ -369,8 +369,9 @@ int main (int argc, char* argv[])
+ 		}
+ 	}
+ 
+-	if (action < 0 && device == NULL && uid == 0)
+-		consolekit_called(argv[optind], &uid, &uid2, &remove_session_id, &action);
++	if (action < 0 && device == NULL && !uid_given)
++		if (!consolekit_called(argv[optind], &uid, &uid2, &remove_session_id, &action))
++			uid_given = true;
+ 
+ 	if (action < 0) {
+ 		fprintf(stderr, "missing action\n\n");
+@@ -378,13 +379,13 @@ int main (int argc, char* argv[])
+ 		goto out;
+ 	}
+ 
+-	if (device != NULL && uid != 0) {
++	if (device != NULL && uid_given) {
+ 		fprintf(stderr, "only one option, --device=DEVICEFILE or --user=UID expected\n\n");
+ 		rc = 3;
+ 		goto out;
+ 	}
+ 
+-	if (uid != 0) {
++	if (uid_given) {
+ 		switch (action) {
+ 		case ACTION_ADD:
+ 			/* Add ACL for given uid to all matching devices. */
+-- 
+1.7.2
+
diff --git a/udev-qemu-cdrom.patch b/udev-qemu-cdrom.patch
new file mode 100644
index 0000000..b09b8eb
--- /dev/null
+++ b/udev-qemu-cdrom.patch
@@ -0,0 +1,17 @@
+diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
+index 2bea2e4..7fe6e4c 100644
+--- a/extras/cdrom_id/cdrom_id.c
++++ b/extras/cdrom_id/cdrom_id.c
+@@ -522,7 +522,11 @@ static int cd_media_info(struct udev *udev, int fd)
+ 	err = scsi_cmd_run(udev, &sc, fd, header, sizeof(header));
+ 	if ((err != 0)) {
+ 		info_scsi_cmd_err(udev, "READ DISC INFORMATION", err);
+-		return -1;
++		if (ASC(err)==0x20 && ASCQ(err) == 0) {
++			cd_media = 1;
++			return 0;
++		}
++		return -1;
+ 	};
+ 
+ 	cd_media = 1;
diff --git a/udev.spec b/udev.spec
index 37d0082..4749942 100644
--- a/udev.spec
+++ b/udev.spec
@@ -7,7 +7,7 @@
 Summary: A rule-based device node and kernel event manager
 Name: udev
 Version: 160
-Release: 8%{?dist}
+Release: 9%{?dist}
 License: GPLv2+
 Group: System Environment/Base
 Provides: udev-persistent = %{version}-%{release}
@@ -17,6 +17,26 @@ Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/%{name}-%{version}.t
 Source1: start_udev
 Source2: udev-post.init
 
+Patch2: 0002-rules-add-more-FireWire-IDs-Point-Grey-IIDC-AV-C-ven.patch
+Patch3: 0003-rules-remove-firewire-rules-for-deprecated-drivers.patch
+Patch4: 0004-udev-acl-update-firewire-matches-to-recent-rule-chan.patch
+Patch5: 0005-Fix-volume-keys-not-releasing-on-Mivvy-G310.patch
+Patch6: 0006-hid2hci-fix-Logitech-diNovo-MX5500-and-other-keyboar.patch
+Patch7: 0007-log-an-error-when-a-message-from-the-wrong-version-o.patch
+Patch8: 0008-libudev-bump-minor-so-version-after-adding-symbols.patch
+Patch9: 0009-hid2hci-fix-for-Logitech-diNovo-Edge-keyboard.patch
+Patch10: 0010-udevadm-fix-short-options-in-getopt.patch
+Patch11: 0011-keymap-Generalize-Samsung-keymaps.patch
+Patch12: 0012-keymap-Add-force-release-quirks-for-a-lot-more-Samsu.patch
+Patch13: 0013-udevd-fix-some-memory-leaks-in-error-path.patch
+Patch14: 0014-malloc-memset-calloc.patch
+Patch15: 0015-udevd-fix-short-options-in-getopt.patch
+Patch16: 0016-call-util_delete_path-only-when-we-actually-deleted-.patch
+Patch17: 0017-udev-acl-properly-handle-CK-change-events-for-root-u.patch
+Patch18: 0018-udev-acl-really-fix-ACL-assignment-in-CK-events.patch
+
+Patch100: udev-qemu-cdrom.patch
+
 ExclusiveOS: Linux
 URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -114,6 +134,26 @@ glib-based applications using libudev functionality.
 %prep 
 %setup -q 
 
+%patch2 -p1 -b .git2
+%patch3 -p1 -b .git3
+%patch4 -p1 -b .git4
+%patch5 -p1 -b .git5
+%patch6 -p1 -b .git6
+%patch7 -p1 -b .git7
+%patch8 -p1 -b .git8
+%patch9 -p1 -b .git9
+%patch10 -p1 -b .git10
+%patch11 -p1 -b .git11
+%patch12 -p1 -b .git12
+%patch13 -p1 -b .git13
+%patch14 -p1 -b .git14
+%patch15 -p1 -b .git15
+%patch16 -p1 -b .git16
+%patch17 -p1 -b .git17
+%patch18 -p1 -b .git18
+%patch100 -p1 -b .qemu
+
+
 %build
 libtoolize -f -c
 %configure --with-selinux  --prefix=%{_prefix} --exec-prefix="" \
@@ -348,6 +388,13 @@ rm -rf $RPM_BUILD_ROOT
 %attr(0644,root,root) %{_libdir}/pkgconfig/gudev-1.0*
 
 %changelog
+* Fri Aug 06 2010 Harald Hoyer <harald at redhat.com> 160-9
+- added quirk to cdrom_id, to boot from qemu
+Resolves: rhbz#609049
+- fix console switching and ACLs
+Resolves: rhbz#608712
+- minor bugfixes
+
 * Tue Jul 20 2010 Harald Hoyer <harald at redhat.com> 160-8
 - make loop block device again 
 


More information about the scm-commits mailing list