[udev] - bugfixes for systemd service files - bugfix for selinux labeling - bugfixes for cdrom_id
Harald Hoyer
harald at fedoraproject.org
Wed Sep 1 09:25:53 UTC 2010
commit b11538a6c787f92b59f88c73b52069d4bf4f1fe8
Author: Harald Hoyer <harald at redhat.com>
Date: Wed Sep 1 11:26:01 2010 +0200
- bugfixes for systemd service files
- bugfix for selinux labeling
- bugfixes for cdrom_id
0001-cdrom_id-Add-media-status-debugging.patch | 26 ++++++++
0002-Add-keymap-for-Lenovo-IdeaPad-S10-3.patch | 56 +++++++++++++++++
..._id-Drop-MEDIA_SESSION_NEXT-for-DVD-RW-RO.patch | 34 +++++++++++
0004-init-update-systemd-service-files.patch | 42 +++++++++++++
0005-init-update-systemd-service-files.patch | 38 ++++++++++++
...-not-mistake-all-SCSI-processor-devices-f.patch | 33 ++++++++++
...ev-to-description-in-systemd-service-file.patch | 47 +++++++++++++++
0008-udevd-add-pid-to-kmsg-logs.patch | 41 +++++++++++++
0009-init-edit-systemd-service-descriptions.patch | 47 +++++++++++++++
...t-out-required-extension-and-remove-some-.patch | 42 +++++++++++++
0012-keymap-Add-Onkyo-PC.patch | 63 ++++++++++++++++++++
0013-keymap-Add-HP-G60.patch | 26 ++++++++
...e-unneeded-credential-passing-from-init_n.patch | 58 ++++++++++++++++++
0015-Add-support-for-oom_score_adj.patch | 48 +++++++++++++++
0016-keymap-Fix-Sony-VAIO-VGN-SZ2HP-B.patch | 28 +++++++++
0017-udev-7-manpage-Fix-description-of-attr.patch | 32 ++++++++++
...dev-fix-crash-if-netlink-is-not-available.patch | 57 ++++++++++++++++++
0019-keymap-Fix-Acer-TravelMate-4720.patch | 28 +++++++++
0020-cdrom_id-Fix-DVD-RW-media-detection.patch | 53 ++++++++++++++++
...x-DVD-blank-detection-for-sloppy-firmware.patch | 42 +++++++++++++
...x-context-on-add-but-not-on-change-events.patch | 35 +++++++++++
...te-persistent-name-rules-for-KVM-network-.patch | 28 +++++++++
udev.spec | 52 ++++++++++++++++-
23 files changed, 955 insertions(+), 1 deletions(-)
---
diff --git a/0001-cdrom_id-Add-media-status-debugging.patch b/0001-cdrom_id-Add-media-status-debugging.patch
new file mode 100644
index 0000000..f282114
--- /dev/null
+++ b/0001-cdrom_id-Add-media-status-debugging.patch
@@ -0,0 +1,26 @@
+From 24af530a543c70ac59fdd244377d648ef77a0e21 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Thu, 12 Aug 2010 07:10:12 +0200
+Subject: [PATCH 01/23] cdrom_id: Add media status debugging
+
+Show which media status the hardware originally reports, since we mangle it in
+some cases.
+---
+ extras/cdrom_id/cdrom_id.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
+index 83e95d5..d59991c 100644
+--- a/extras/cdrom_id/cdrom_id.c
++++ b/extras/cdrom_id/cdrom_id.c
+@@ -573,6 +573,7 @@ static int cd_media_info(struct udev *udev, int fd)
+
+ cd_media = 1;
+ info(udev, "disk type %02x\n", header[8]);
++ info(udev, "hardware reported media status: %s\n", media_status[header[2] & 3]);
+
+ /* exclude plain CDROM, some fake cdroms return 0 for "blank" media here */
+ if (!cd_media_cd_rom)
+--
+1.7.2.2
+
diff --git a/0002-Add-keymap-for-Lenovo-IdeaPad-S10-3.patch b/0002-Add-keymap-for-Lenovo-IdeaPad-S10-3.patch
new file mode 100644
index 0000000..486c148
--- /dev/null
+++ b/0002-Add-keymap-for-Lenovo-IdeaPad-S10-3.patch
@@ -0,0 +1,56 @@
+From 9cd075e35b8f660c75b0d72d4bea496fd6459f29 Mon Sep 17 00:00:00 2001
+From: David Woodhouse <dwmw2 at infradead.org>
+Date: Thu, 12 Aug 2010 17:04:55 +0100
+Subject: [PATCH 02/23] Add keymap for Lenovo IdeaPad S10-3
+
+Tested on S10-3, but presumably applicable to all IdeaPads.
+
+Signed-off-by: Martin Pitt <martin.pitt at ubuntu.com>
+---
+ Makefile.am | 1 +
+ extras/keymap/95-keymap.rules | 2 ++
+ extras/keymap/keymaps/lenovo-ideapad | 7 +++++++
+ 3 files changed, 10 insertions(+), 0 deletions(-)
+ create mode 100644 extras/keymap/keymaps/lenovo-ideapad
+
+diff --git a/Makefile.am b/Makefile.am
+index c16b259..77df6ab 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -537,6 +537,7 @@ dist_udevkeymap_DATA = \
+ extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
+ extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
+ extras/keymap/keymaps/lenovo-3000 \
++ extras/keymap/keymaps/lenovo-ideapad \
+ extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
+ extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
+ extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
+diff --git a/extras/keymap/95-keymap.rules b/extras/keymap/95-keymap.rules
+index 13b5571..2241422 100644
+--- a/extras/keymap/95-keymap.rules
++++ b/extras/keymap/95-keymap.rules
+@@ -65,6 +65,8 @@ ENV{DMI_VENDOR}=="Compaq*", ATTR{[dmi/id]product_name}=="*E500*|*Evo N*", RUN+="
+ ENV{DMI_VENDOR}=="LENOVO*", ATTR{[dmi/id]product_version}=="*3000*", RUN+="keymap $name lenovo-3000"
+ ENV{DMI_VENDOR}=="LENOVO*", ATTR{[dmi/id]product_version}=="ThinkPad X6*", ATTR{[dmi/id]product_version}=="* Tablet" RUN+="keymap $name lenovo-thinkpad_x6_tablet"
+ ENV{DMI_VENDOR}=="LENOVO*", ATTR{[dmi/id]product_version}=="ThinkPad X200 Tablet*", ATTR{[dmi/id]product_version}=="* Tablet" RUN+="keymap $name lenovo-thinkpad_x200_tablet"
++ENV{DMI_VENDOR}=="LENOVO*", ATTR{[dmi/id]product_version}=="*IdeaPad*", RUN+="keymap $name lenovo-ideapad"
++ENV{DMI_VENDOR}=="LENOVO*", ATTR{[dmi/id]product_name}=="S10-*", RUN+="keymap $name lenovo-ideapad"
+
+ ENV{DMI_VENDOR}=="Hewlett-Packard*", RUN+="keymap $name hewlett-packard"
+ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][aA][bB][lL][eE][tT]*", RUN+="keymap $name hewlett-packard-tablet"
+diff --git a/extras/keymap/keymaps/lenovo-ideapad b/extras/keymap/keymaps/lenovo-ideapad
+new file mode 100644
+index 0000000..d5f2567
+--- /dev/null
++++ b/extras/keymap/keymaps/lenovo-ideapad
+@@ -0,0 +1,7 @@
++# Key codes observed on S10-3, assumed valid on other IdeaPad models
++0x81 rfkill # does nothing in BIOS
++0x83 display_off # BIOS toggles screen state
++0xB9 brightnessup # does nothing in BIOS
++0xBA brightnessdown # does nothing in BIOS
++0xF1 camera # BIOS toggles camera power
++0xf2 unknown # trackpad enable/disable (does nothing in BIOS)
+--
+1.7.2.2
+
diff --git a/0003-cdrom_id-Drop-MEDIA_SESSION_NEXT-for-DVD-RW-RO.patch b/0003-cdrom_id-Drop-MEDIA_SESSION_NEXT-for-DVD-RW-RO.patch
new file mode 100644
index 0000000..d476ee5
--- /dev/null
+++ b/0003-cdrom_id-Drop-MEDIA_SESSION_NEXT-for-DVD-RW-RO.patch
@@ -0,0 +1,34 @@
+From b367a1c9d8a0f565effcdb45f86a365be1c8b622 Mon Sep 17 00:00:00 2001
+From: Jan Drzewiecki <jonie at icpnet.pl>
+Date: Fri, 13 Aug 2010 07:24:29 +0200
+Subject: [PATCH 03/23] cdrom_id: Drop MEDIA_SESSION_NEXT for DVD-RW-RO
+
+Commit cf2205a fixed the media status for fresh DVD-RW in restricted overwrite
+mode, but missed a detail: We should not report the ID_CDROM_MEDIA_SESSION_NEXT
+property either, since in that mode you can never append tracks/sessions; this
+just works in sequential mode.
+
+Signed-off-by: Martin Pitt <martin.pitt at ubuntu.com>
+---
+ extras/cdrom_id/cdrom_id.c | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
+index d59991c..f9d6e0b 100644
+--- a/extras/cdrom_id/cdrom_id.c
++++ b/extras/cdrom_id/cdrom_id.c
+@@ -690,8 +690,9 @@ static int cd_media_info(struct udev *udev, int fd)
+ }
+
+ determined:
+- /* "other" is e. g. DVD-RAM, can't append sessions there either */
+- if ((header[2] & 3) < 2)
++ /* "other" is e. g. DVD-RAM, can't append sessions there; DVDs in
++ * restricted overwrite mode can never append, only in sequential mode */
++ if ((header[2] & 3) < 2 && !cd_media_dvd_rw_ro)
+ cd_media_session_next = header[10] << 8 | header[5];
+ cd_media_session_count = header[9] << 8 | header[4];
+ cd_media_track_count = header[11] << 8 | header[6];
+--
+1.7.2.2
+
diff --git a/0004-init-update-systemd-service-files.patch b/0004-init-update-systemd-service-files.patch
new file mode 100644
index 0000000..a68e467
--- /dev/null
+++ b/0004-init-update-systemd-service-files.patch
@@ -0,0 +1,42 @@
+From 68bc0d7963a22967cc00244c4fad96fb45870712 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Tue, 17 Aug 2010 09:37:57 +0200
+Subject: [PATCH 04/23] init: update systemd service files
+
+---
+ init/udev-retry.service.in | 4 ++--
+ init/udev-settle.service.in | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/init/udev-retry.service.in b/init/udev-retry.service.in
+index 7667899..d8ed8a8 100644
+--- a/init/udev-retry.service.in
++++ b/init/udev-retry.service.in
+@@ -4,9 +4,9 @@ DefaultDependencies=no
+ After=local-fs.target udev.service
+
+ [Service]
+-Type=finish
++Type=oneshot
+ ValidNoProcess=yes
+-ExecStart=@sbindir@/udevadm trigger --type=failed
++ExecStart=@sbindir@/udevadm trigger --type=failed --action=add
+
+ [Install]
+ WantedBy=sysinit.target
+diff --git a/init/udev-settle.service.in b/init/udev-settle.service.in
+index 0594d72..4db61f2 100644
+--- a/init/udev-settle.service.in
++++ b/init/udev-settle.service.in
+@@ -4,7 +4,7 @@ DefaultDependencies=no
+ After=udev.service
+
+ [Service]
+-Type=finish
++Type=oneshot
+ ValidNoProcess=yes
+ ExecStart=@sbindir@/udevadm settle
+
+--
+1.7.2.2
+
diff --git a/0005-init-update-systemd-service-files.patch b/0005-init-update-systemd-service-files.patch
new file mode 100644
index 0000000..e7865d7
--- /dev/null
+++ b/0005-init-update-systemd-service-files.patch
@@ -0,0 +1,38 @@
+From bd078c90b97c73ba5fe7475947e6ecd20e2eb048 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Tue, 17 Aug 2010 18:53:57 +0200
+Subject: [PATCH 05/23] init: update systemd service files
+
+---
+ init/udev-retry.service.in | 1 -
+ init/udev-settle.service.in | 2 +-
+ 2 files changed, 1 insertions(+), 2 deletions(-)
+
+diff --git a/init/udev-retry.service.in b/init/udev-retry.service.in
+index d8ed8a8..7a0819c 100644
+--- a/init/udev-retry.service.in
++++ b/init/udev-retry.service.in
+@@ -5,7 +5,6 @@ After=local-fs.target udev.service
+
+ [Service]
+ Type=oneshot
+-ValidNoProcess=yes
+ ExecStart=@sbindir@/udevadm trigger --type=failed --action=add
+
+ [Install]
+diff --git a/init/udev-settle.service.in b/init/udev-settle.service.in
+index 4db61f2..4cb33aa 100644
+--- a/init/udev-settle.service.in
++++ b/init/udev-settle.service.in
+@@ -5,7 +5,7 @@ After=udev.service
+
+ [Service]
+ Type=oneshot
+-ValidNoProcess=yes
++RemainAfterExit=yes
+ ExecStart=@sbindir@/udevadm settle
+
+ [Install]
+--
+1.7.2.2
+
diff --git a/0006-udev-acl-do-not-mistake-all-SCSI-processor-devices-f.patch b/0006-udev-acl-do-not-mistake-all-SCSI-processor-devices-f.patch
new file mode 100644
index 0000000..0864ad4
--- /dev/null
+++ b/0006-udev-acl-do-not-mistake-all-SCSI-processor-devices-f.patch
@@ -0,0 +1,33 @@
+From 3bd7b89dc40c4a0440ee5fce2ea907971bfcfb10 Mon Sep 17 00:00:00 2001
+From: Marco d'Itri <md at linux.it>
+Date: Wed, 18 Aug 2010 13:35:25 +0200
+Subject: [PATCH 06/23] udev-acl: do not mistake all SCSI "processor" devices for scanner
+
+Both rules can be removed since now libsane sets libsane_matched also
+for SCSI scanners.
+
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=589751
+---
+ extras/udev-acl/70-acl.rules | 6 +-----
+ 1 files changed, 1 insertions(+), 5 deletions(-)
+
+diff --git a/extras/udev-acl/70-acl.rules b/extras/udev-acl/70-acl.rules
+index 6ec04ee..c7134bc 100644
+--- a/extras/udev-acl/70-acl.rules
++++ b/extras/udev-acl/70-acl.rules
+@@ -13,11 +13,7 @@ SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="udev-acl"
+ # digicams with proprietary protocol
+ ENV{ID_GPHOTO2}=="*?", TAG+="udev-acl"
+
+-# SCSI scanners
+-KERNEL=="sg[0-9]*", ATTRS{type}=="6", TAG+="udev-acl"
+-KERNEL=="sg[0-9]*", ATTRS{type}=="3", ATTRS{vendor}=="HP|EPSON|Epson", TAG+="udev-acl"
+-
+-# USB scanners
++# SCSI and USB scanners
+ ENV{libsane_matched}=="yes", TAG+="udev-acl"
+
+ # HPLIP devices (necessary for ink level check and HP tool maintenance)
+--
+1.7.2.2
+
diff --git a/0007-init-add-udev-to-description-in-systemd-service-file.patch b/0007-init-add-udev-to-description-in-systemd-service-file.patch
new file mode 100644
index 0000000..bb13a7b
--- /dev/null
+++ b/0007-init-add-udev-to-description-in-systemd-service-file.patch
@@ -0,0 +1,47 @@
+From d15b727ef1375c665057c0fa278b2ea3778b8d3d Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Thu, 19 Aug 2010 08:48:44 +0200
+Subject: [PATCH 07/23] init: add 'udev -' to description in systemd service files
+
+---
+ init/udev-retry.service.in | 2 +-
+ init/udev-settle.service.in | 2 +-
+ init/udev.service.in | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/init/udev-retry.service.in b/init/udev-retry.service.in
+index 7a0819c..a6612da 100644
+--- a/init/udev-retry.service.in
++++ b/init/udev-retry.service.in
+@@ -1,5 +1,5 @@
+ [Unit]
+-Description=re-trigger failed events after filesystems are available
++Description=udev - re-trigger failed events after filesystems are available
+ DefaultDependencies=no
+ After=local-fs.target udev.service
+
+diff --git a/init/udev-settle.service.in b/init/udev-settle.service.in
+index 4cb33aa..578a24f 100644
+--- a/init/udev-settle.service.in
++++ b/init/udev-settle.service.in
+@@ -1,5 +1,5 @@
+ [Unit]
+-Description=wait until full initialization
++Description=udev - wait until full initialization
+ DefaultDependencies=no
+ After=udev.service
+
+diff --git a/init/udev.service.in b/init/udev.service.in
+index e95cb47..5a63b77 100644
+--- a/init/udev.service.in
++++ b/init/udev.service.in
+@@ -1,5 +1,5 @@
+ [Unit]
+-Description=/dev and kernel device manager
++Description=udev - /dev and kernel device manager
+ DefaultDependencies=no
+ Before=sysinit.target
+
+--
+1.7.2.2
+
diff --git a/0008-udevd-add-pid-to-kmsg-logs.patch b/0008-udevd-add-pid-to-kmsg-logs.patch
new file mode 100644
index 0000000..5b7a8df
--- /dev/null
+++ b/0008-udevd-add-pid-to-kmsg-logs.patch
@@ -0,0 +1,41 @@
+From c25bfbfb1b20781698ff3c8cbc884a9e190052ee Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Thu, 19 Aug 2010 08:49:43 +0200
+Subject: [PATCH 08/23] udevd: add pid to kmsg logs
+
+---
+ udev/udev-event.c | 4 ++--
+ udev/udevd.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/udev/udev-event.c b/udev/udev-event.c
+index 9b5326b..ae523f8 100644
+--- a/udev/udev-event.c
++++ b/udev/udev-event.c
+@@ -454,8 +454,8 @@ static void rename_netif_kernel_log(struct ifreq ifr)
+ return;
+ }
+
+- fprintf(f, "<6>udev: renamed network interface %s to %s\n",
+- ifr.ifr_name, ifr.ifr_newname);
++ fprintf(f, "<6>udev[%u]: renamed network interface %s to %s\n",
++ getpid(), ifr.ifr_name, ifr.ifr_newname);
+ fclose(f);
+ }
+
+diff --git a/udev/udevd.c b/udev/udevd.c
+index 61b76f5..ad2ca3b 100644
+--- a/udev/udevd.c
++++ b/udev/udevd.c
+@@ -1298,7 +1298,7 @@ int main(int argc, char *argv[])
+
+ f = fopen("/dev/kmsg", "w");
+ if (f != NULL) {
+- fprintf(f, "<6>udev: starting version " VERSION "\n");
++ fprintf(f, "<6>udev[%u]: starting version " VERSION "\n", getpid());
+ fclose(f);
+ }
+
+--
+1.7.2.2
+
diff --git a/0009-init-edit-systemd-service-descriptions.patch b/0009-init-edit-systemd-service-descriptions.patch
new file mode 100644
index 0000000..45b8119
--- /dev/null
+++ b/0009-init-edit-systemd-service-descriptions.patch
@@ -0,0 +1,47 @@
+From 4c9b12a7aa57e43e568b78da9cbed4138b1292df Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Thu, 19 Aug 2010 18:02:20 +0200
+Subject: [PATCH 09/23] init: edit systemd service descriptions
+
+---
+ init/udev-retry.service.in | 2 +-
+ init/udev-settle.service.in | 2 +-
+ init/udev.service.in | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/init/udev-retry.service.in b/init/udev-retry.service.in
+index a6612da..ab8241b 100644
+--- a/init/udev-retry.service.in
++++ b/init/udev-retry.service.in
+@@ -1,5 +1,5 @@
+ [Unit]
+-Description=udev - re-trigger failed events after filesystems are available
++Description=udev Retry Failed Events
+ DefaultDependencies=no
+ After=local-fs.target udev.service
+
+diff --git a/init/udev-settle.service.in b/init/udev-settle.service.in
+index 578a24f..d58ea9c 100644
+--- a/init/udev-settle.service.in
++++ b/init/udev-settle.service.in
+@@ -1,5 +1,5 @@
+ [Unit]
+-Description=udev - wait until full initialization
++Description=udev Wait for Complete Device Initialization
+ DefaultDependencies=no
+ After=udev.service
+
+diff --git a/init/udev.service.in b/init/udev.service.in
+index 5a63b77..b07f4db 100644
+--- a/init/udev.service.in
++++ b/init/udev.service.in
+@@ -1,5 +1,5 @@
+ [Unit]
+-Description=udev - /dev and kernel device manager
++Description=udev Kernel Device Manager
+ DefaultDependencies=no
+ Before=sysinit.target
+
+--
+1.7.2.2
+
diff --git a/0011-udev-7-Point-out-required-extension-and-remove-some-.patch b/0011-udev-7-Point-out-required-extension-and-remove-some-.patch
new file mode 100644
index 0000000..bd75f26
--- /dev/null
+++ b/0011-udev-7-Point-out-required-extension-and-remove-some-.patch
@@ -0,0 +1,42 @@
+From 6593e8961afbe0b74d5a67c545a991c7733e88df Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Fri, 20 Aug 2010 12:19:23 +0200
+Subject: [PATCH 11/23] udev(7): Point out required extension, and remove some confusion
+
+Rules files must end in .rules.
+
+Also drop the redundant and confusing sentence about "file names must be
+unique". What is really meant is explained in a better way in the paragraph
+above.
+
+https://launchpad.net/bugs/616108
+---
+ udev/udev.xml | 11 ++++++-----
+ 1 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/udev/udev.xml b/udev/udev.xml
+index 20c394c..336b203 100644
+--- a/udev/udev.xml
++++ b/udev/udev.xml
+@@ -75,12 +75,13 @@
+ the custom rules directory <filename>/etc/udev/rules.d/</filename>
+ and the temporary rules directory <filename>/dev/.udev/rules.d/</filename>.
+ All rule files are sorted and processed in lexical order, regardless
+- in which of these directories they live.</para>
++ in which of these directories they live. Files in
++ <filename>/etc/udev/rules.d/</filename> have precedence over files with
++ the same name in <filename>/lib/udev/rules.d/</filename>. This can be
++ used to ignore a default rules file if needed.</para>
+
+- <para>Rule files are required to have a unique name, duplicate file names
+- are ignored. Files in <filename>/etc/udev/rules.d/</filename> have precedence
+- over files with the same name in <filename>/lib/udev/rules.d/</filename>. This
+- can be used to ignore a default rules file if needed.</para>
++ <para>Rule files must end in <filename>.rules</filename>, other extensions
++ are ignored.</para>
+
+ <para>Every line in the rules file contains at least one key value pair.
+ There are two kind of keys, match and assignment keys.
+--
+1.7.2.2
+
diff --git a/0012-keymap-Add-Onkyo-PC.patch b/0012-keymap-Add-Onkyo-PC.patch
new file mode 100644
index 0000000..e7b283b
--- /dev/null
+++ b/0012-keymap-Add-Onkyo-PC.patch
@@ -0,0 +1,63 @@
+From acf865b68e1a5c78677537b373b6e082c287fc27 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Sun, 22 Aug 2010 11:00:34 +0200
+Subject: [PATCH 12/23] keymap: Add Onkyo PC
+
+Thanks to Pau Oliva!
+
+https://launchpad.net/bugs/612529
+---
+ Makefile.am | 1 +
+ extras/keymap/95-keymap.rules | 2 ++
+ extras/keymap/keymaps/onkyo | 14 ++++++++++++++
+ 3 files changed, 17 insertions(+), 0 deletions(-)
+ create mode 100644 extras/keymap/keymaps/onkyo
+
+diff --git a/Makefile.am b/Makefile.am
+index 77df6ab..512de34 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -555,6 +555,7 @@ dist_udevkeymap_DATA = \
+ extras/keymap/keymaps/module-sony \
+ extras/keymap/keymaps/module-sony-old \
+ extras/keymap/keymaps/olpc-xo \
++ extras/keymap/keymaps/onkyo \
+ extras/keymap/keymaps/oqo-model2 \
+ extras/keymap/keymaps/samsung-other \
+ extras/keymap/keymaps/samsung-sq1us \
+diff --git a/extras/keymap/95-keymap.rules b/extras/keymap/95-keymap.rules
+index 2241422..e9d5721 100644
+--- a/extras/keymap/95-keymap.rules
++++ b/extras/keymap/95-keymap.rules
+@@ -127,6 +127,8 @@ ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite M30X", RUN+="
+
+ ENV{DMI_VENDOR}=="OQO Inc.*", ATTR{[dmi/id]product_name}=="OQO Model 2*", RUN+="keymap $name oqo-model2"
+
++ENV{DMI_VENDOR}=="ONKYO CORPORATION", ATTR{[dmi/id]product_name}=="ONKYOPC", RUN+="keymap $name onkyo"
++
+ ENV{DMI_VENDOR}=="ASUS", RUN+="keymap $name asus"
+
+ ENV{DMI_VENDOR}=="VIA", ATTR{[dmi/id]product_name}=="K8N800", ATTR{[dmi/id]product_version}=="VT8204B", RUN+="keymap $name 0x81 prog1"
+diff --git a/extras/keymap/keymaps/onkyo b/extras/keymap/keymaps/onkyo
+new file mode 100644
+index 0000000..7dd80a1
+--- /dev/null
++++ b/extras/keymap/keymaps/onkyo
+@@ -0,0 +1,14 @@
++0xA0 mute # Fn+D
++0xAE volumedown # Fn+F
++0xB0 volumeup # Fn+G
++0xDF sleep # Fn+W
++0xE0 bluetooth # Fn+H
++0xE2 cyclewindows # Fn+Esc
++0xEE battery # Fn+Q
++0xF0 media # Fn+R
++0xF5 switchvideomode # Fn+E
++0xF6 camera # Fn+T
++0xF7 f22 # Fn+Y (touchpad toggle)
++0xF8 brightnessup # Fn+S
++0xF9 brightnessdown # Fn+A
++0xFB wlan # Fn+J
+--
+1.7.2.2
+
diff --git a/0013-keymap-Add-HP-G60.patch b/0013-keymap-Add-HP-G60.patch
new file mode 100644
index 0000000..cbeb33c
--- /dev/null
+++ b/0013-keymap-Add-HP-G60.patch
@@ -0,0 +1,26 @@
+From 92cffb0bd18bd8fd245666a519ad0e54dc537031 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Mon, 23 Aug 2010 10:47:28 +0200
+Subject: [PATCH 13/23] keymap: Add HP G60
+
+https://launchpad.net/bugs/554944
+---
+ 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 e9d5721..5656de9 100644
+--- a/extras/keymap/95-keymap.rules
++++ b/extras/keymap/95-keymap.rules
+@@ -72,7 +72,7 @@ ENV{DMI_VENDOR}=="Hewlett-Packard*", RUN+="keymap $name hewlett-packard"
+ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][aA][bB][lL][eE][tT]*", RUN+="keymap $name hewlett-packard-tablet"
+ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[pP][aA][vV][iI][lL][iI][oO][nN]*", RUN+="keymap $name hewlett-packard-pavilion"
+ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*Compaq*|*EliteBook*|*2230s*", RUN+="keymap $name hewlett-packard-compaq_elitebook"
+-ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*", RUN+="keymap $name hewlett-packard-2510p_2530p"
++ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC", RUN+="keymap $name hewlett-packard-2510p_2530p"
+ ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keymap $name hewlett-packard-tx2"
+ ENV{DMI_VENDOR}=="Hewlett-Packard", ATTR{[dmi/id]product_name}=="Presario 2100*", RUN+="keymap $name hewlett-packard-presario-2100"
+ # HP Pavillion dv6315ea has empty DMI_VENDOR
+--
+1.7.2.2
+
diff --git a/0014-udevd-remove-unneeded-credential-passing-from-init_n.patch b/0014-udevd-remove-unneeded-credential-passing-from-init_n.patch
new file mode 100644
index 0000000..858371b
--- /dev/null
+++ b/0014-udevd-remove-unneeded-credential-passing-from-init_n.patch
@@ -0,0 +1,58 @@
+From 13f90be7a33353fdbcd4a389630a05c608bdf2a4 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Wed, 25 Aug 2010 16:26:54 +0200
+Subject: [PATCH 14/23] udevd: remove unneeded credential passing from init_notify()
+
+---
+ udev/udevd.c | 17 -----------------
+ 1 files changed, 0 insertions(+), 17 deletions(-)
+
+diff --git a/udev/udevd.c b/udev/udevd.c
+index ad2ca3b..374a4e0 100644
+--- a/udev/udevd.c
++++ b/udev/udevd.c
+@@ -964,15 +964,10 @@ static int init_notify(const char *state)
+ int fd = -1, r;
+ struct msghdr msghdr;
+ struct iovec iovec;
+- struct ucred *ucred;
+ union {
+ struct sockaddr sa;
+ struct sockaddr_un un;
+ } sockaddr;
+- union {
+- struct cmsghdr cmsghdr;
+- uint8_t buf[CMSG_SPACE(sizeof(struct ucred))];
+- } control;
+ const char *e;
+
+ if (!(e = getenv("NOTIFY_SOCKET"))) {
+@@ -1002,16 +997,6 @@ static int init_notify(const char *state)
+ iovec.iov_base = (char*) state;
+ iovec.iov_len = strlen(state);
+
+- memset(&control, 0, sizeof(control));
+- control.cmsghdr.cmsg_level = SOL_SOCKET;
+- control.cmsghdr.cmsg_type = SCM_CREDENTIALS;
+- control.cmsghdr.cmsg_len = CMSG_LEN(sizeof(struct ucred));
+-
+- ucred = (struct ucred*) CMSG_DATA(&control.cmsghdr);
+- ucred->pid = getpid();
+- ucred->uid = getuid();
+- ucred->gid = getgid();
+-
+ memset(&msghdr, 0, sizeof(msghdr));
+ msghdr.msg_name = &sockaddr;
+ msghdr.msg_namelen = sizeof(sa_family_t) + strlen(e);
+@@ -1019,8 +1004,6 @@ static int init_notify(const char *state)
+ msghdr.msg_namelen = sizeof(struct sockaddr_un);
+ msghdr.msg_iov = &iovec;
+ msghdr.msg_iovlen = 1;
+- msghdr.msg_control = &control;
+- msghdr.msg_controllen = control.cmsghdr.cmsg_len;
+
+ if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) {
+ r = -errno;
+--
+1.7.2.2
+
diff --git a/0015-Add-support-for-oom_score_adj.patch b/0015-Add-support-for-oom_score_adj.patch
new file mode 100644
index 0000000..e00e50d
--- /dev/null
+++ b/0015-Add-support-for-oom_score_adj.patch
@@ -0,0 +1,48 @@
+From c61eea9459045c2c9032a0c98234985a371fac58 Mon Sep 17 00:00:00 2001
+From: Luca Tettamanti <kronos.it at gmail.com>
+Date: Mon, 23 Aug 2010 14:35:37 +0200
+Subject: [PATCH 15/23] Add support for oom_score_adj
+
+/proc/<pid>/oom_adj has been deprecated (kernel v2.6.36) due to the
+rework of the badness heuristic; oom_score_adj is the replacement.
+Keep a fallback to the old interface for compatibility with older
+kernels.
+
+See http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a63d83f427fbce97a6cea0db2e64b0eb8435cd10
+
+Signed-off-by: Martin Pitt <martin.pitt at ubuntu.com>
+---
+ udev/udevd.c | 15 +++++++++++----
+ 1 files changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/udev/udevd.c b/udev/udevd.c
+index 374a4e0..0ec3c3d 100644
+--- a/udev/udevd.c
++++ b/udev/udevd.c
+@@ -1285,12 +1285,19 @@ int main(int argc, char *argv[])
+ fclose(f);
+ }
+
+- /* OOM_DISABLE == -17 */
+- fd = open("/proc/self/oom_adj", O_RDWR);
++ fd = open("/proc/self/oom_score_adj", O_RDWR);
+ if (fd < 0) {
+- err(udev, "error disabling OOM: %m\n");
++ /* Fallback to old interface */
++ fd = open("/proc/self/oom_adj", O_RDWR);
++ if (fd < 0) {
++ err(udev, "error disabling OOM: %m\n");
++ } else {
++ /* OOM_DISABLE == -17 */
++ write(fd, "-17", 3);
++ close(fd);
++ }
+ } else {
+- write(fd, "-17", 3);
++ write(fd, "-1000", 5);
+ close(fd);
+ }
+
+--
+1.7.2.2
+
diff --git a/0016-keymap-Fix-Sony-VAIO-VGN-SZ2HP-B.patch b/0016-keymap-Fix-Sony-VAIO-VGN-SZ2HP-B.patch
new file mode 100644
index 0000000..d5c7fff
--- /dev/null
+++ b/0016-keymap-Fix-Sony-VAIO-VGN-SZ2HP-B.patch
@@ -0,0 +1,28 @@
+From 38b5ccbcf7f3643ea8180a8186cfe3e5fa9cb983 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Wed, 25 Aug 2010 17:02:51 +0200
+Subject: [PATCH 16/23] keymap: Fix Sony VAIO VGN-SZ2HP/B
+
+Reportedly this needs the module-sony keymap, not the -old one.
+
+https://launchpad.net/bugs/613578
+---
+ 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 5656de9..cb066bd 100644
+--- a/extras/keymap/95-keymap.rules
++++ b/extras/keymap/95-keymap.rules
+@@ -46,7 +46,7 @@ ENV{DMI_VENDOR}=="ASUS*", KERNELS=="input*", ATTRS{name}=="Asus Extra Buttons",
+ ENV{DMI_VENDOR}=="Sony*", KERNELS=="input*", ATTRS{name}=="Sony Vaio Keys", RUN+="keymap $name module-sony"
+
+ # Older Vaios have some different keys
+-ENV{DMI_VENDOR}=="Sony*", ATTR{[dmi/id]product_name}=="*PCG-C1*|*PCG-K25*|*PCG-F1*|*PCG-F2*|*PCG-F3*|*PCG-F4*|*PCG-F5*|*PCG-F6*|*PCG-FX*|*PCG-FRV*|*PCG-GR*|*PCG-TR*|*PCG-NV*|*PCG-Z*|*VGN-S360*|*VGN-SZ2HP_B*", ATTRS{name}=="Sony Vaio Keys", RUN+="keymap $name module-sony-old"
++ENV{DMI_VENDOR}=="Sony*", ATTR{[dmi/id]product_name}=="*PCG-C1*|*PCG-K25*|*PCG-F1*|*PCG-F2*|*PCG-F3*|*PCG-F4*|*PCG-F5*|*PCG-F6*|*PCG-FX*|*PCG-FRV*|*PCG-GR*|*PCG-TR*|*PCG-NV*|*PCG-Z*|*VGN-S360*", ATTRS{name}=="Sony Vaio Keys", RUN+="keymap $name module-sony-old"
+
+ #
+ # The following rules belong to standard i8042 AT keyboard with high key codes.
+--
+1.7.2.2
+
diff --git a/0017-udev-7-manpage-Fix-description-of-attr.patch b/0017-udev-7-manpage-Fix-description-of-attr.patch
new file mode 100644
index 0000000..6b41ecf
--- /dev/null
+++ b/0017-udev-7-manpage-Fix-description-of-attr.patch
@@ -0,0 +1,32 @@
+From 83184d008ba23724fd30996440534c0633a0d0aa Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Fri, 27 Aug 2010 16:54:52 +0200
+Subject: [PATCH 17/23] udev(7) manpage: Fix description of $attr
+
+Fix the manpage to describe the real behaviour of $attr: It doesn't search all
+parent devices any more, just the one selected by KERNELS etc.
+
+https://launchpad.net/bugs/348513
+---
+ udev/udev.xml | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/udev/udev.xml b/udev/udev.xml
+index 336b203..6085dff 100644
+--- a/udev/udev.xml
++++ b/udev/udev.xml
+@@ -578,8 +578,9 @@
+ <listitem>
+ <para>The value of a sysfs attribute found at the device, where
+ all keys of the rule have matched. If the matching device does not have
+- such an attribute, follow the chain of parent devices and use the value
+- of the first attribute that matches.
++ such an attribute, and a previous KERNELS, SUBSYSTEMS, DRIVERS, or
++ ATTRS test selected a parent device, use the attribute from that
++ parent device.
+ If the attribute is a symlink, the last element of the symlink target is
+ returned as the value.</para>
+ </listitem>
+--
+1.7.2.2
+
diff --git a/0018-gudev-fix-crash-if-netlink-is-not-available.patch b/0018-gudev-fix-crash-if-netlink-is-not-available.patch
new file mode 100644
index 0000000..2a5872e
--- /dev/null
+++ b/0018-gudev-fix-crash-if-netlink-is-not-available.patch
@@ -0,0 +1,57 @@
+From e4dcdc4ab232bcbbe61a2026c16e647d9302cdd2 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Fri, 27 Aug 2010 18:12:59 +0200
+Subject: [PATCH 18/23] gudev: fix crash if netlink is not available
+
+gudev_client_new() assumes that priv->monitor is never NULL, but this happens
+on older kernels. Let's not crash client programs because of that.
+
+https://launchpad.net/bugs/581527
+---
+ extras/gudev/gudevclient.c | 18 ++++++++++++------
+ 1 files changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/extras/gudev/gudevclient.c b/extras/gudev/gudevclient.c
+index fa31f70..f5f7a19 100644
+--- a/extras/gudev/gudevclient.c
++++ b/extras/gudev/gudevclient.c
+@@ -93,6 +93,8 @@ monitor_event (GIOChannel *source,
+ GUdevDevice *device;
+ struct udev_device *udevice;
+
++ if (client->priv->monitor == NULL)
++ goto out;
+ udevice = udev_monitor_receive_device (client->priv->monitor);
+ if (udevice == NULL)
+ goto out;
+@@ -216,17 +218,21 @@ g_udev_client_constructed (GObject *object)
+ *s = '\0';
+ }
+
+- udev_monitor_filter_add_match_subsystem_devtype (client->priv->monitor, subsystem, devtype);
++ if (client->priv->monitor != NULL)
++ udev_monitor_filter_add_match_subsystem_devtype (client->priv->monitor, subsystem, devtype);
+
+ g_free (subsystem);
+ }
+
+ /* listen to events, and buffer them */
+- udev_monitor_enable_receiving (client->priv->monitor);
+-
+- channel = g_io_channel_unix_new (udev_monitor_get_fd (client->priv->monitor));
+- client->priv->watch_id = g_io_add_watch (channel, G_IO_IN, monitor_event, client);
+- g_io_channel_unref (channel);
++ if (client->priv->monitor != NULL)
++ {
++ udev_monitor_enable_receiving (client->priv->monitor);
++ channel = g_io_channel_unix_new (udev_monitor_get_fd (client->priv->monitor));
++ client->priv->watch_id = g_io_add_watch (channel, G_IO_IN, monitor_event, client);
++ g_io_channel_unref (channel);
++ } else
++ client->priv->watch_id = NULL;
+ }
+
+ if (G_OBJECT_CLASS (g_udev_client_parent_class)->constructed != NULL)
+--
+1.7.2.2
+
diff --git a/0019-keymap-Fix-Acer-TravelMate-4720.patch b/0019-keymap-Fix-Acer-TravelMate-4720.patch
new file mode 100644
index 0000000..35a9922
--- /dev/null
+++ b/0019-keymap-Fix-Acer-TravelMate-4720.patch
@@ -0,0 +1,28 @@
+From d17c065e28fa4baac90b02b4913c7ef32d54f3c7 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Fri, 27 Aug 2010 18:48:53 +0200
+Subject: [PATCH 19/23] keymap: Fix Acer TravelMate 4720
+
+The previous change just fixed the Bluetooth key, but Screen Lock and Browser
+also need to be changed.
+
+https://launchpad.net/bugs/569815
+---
+ extras/keymap/95-keymap.rules | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/extras/keymap/95-keymap.rules b/extras/keymap/95-keymap.rules
+index cb066bd..913b380 100644
+--- a/extras/keymap/95-keymap.rules
++++ b/extras/keymap/95-keymap.rules
+@@ -85,6 +85,7 @@ ENV{DMI_VENDOR}=="Acer*", RUN+="keymap $name acer"
+ ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="Extensa*", ATTR{[dmi/id]product_name}=="*5210*|*5220*|*5610*|*5620*|*5720*", RUN+="keymap $name 0xEE screenlock"
+ ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="TravelMate*C300*", RUN+="keymap $name acer-travelmate_c300"
+ ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="TravelMate*6292*|TravelMate*8471*|TravelMate*4720*|Aspire 1810T*|AO751h|AO531h", RUN+="keymap $name 0xD9 bluetooth"
++ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="TravelMate*4720*", RUN+="keymap $name 0xB2 www 0xEE screenlock"
+ ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="TravelMate 6593|Aspire 1640", RUN+="keymap $name 0xB2 www 0xEE screenlock"
+ ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="Aspire 6920", RUN+="keymap $name acer-aspire_6920"
+ ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="Aspire 5920G", RUN+="keymap $name acer-aspire_5920g"
+--
+1.7.2.2
+
diff --git a/0020-cdrom_id-Fix-DVD-RW-media-detection.patch b/0020-cdrom_id-Fix-DVD-RW-media-detection.patch
new file mode 100644
index 0000000..4a91a4e
--- /dev/null
+++ b/0020-cdrom_id-Fix-DVD-RW-media-detection.patch
@@ -0,0 +1,53 @@
+From 2458db3edd8d66827b34978ff471dff8f879e9ab Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt at ubuntu.com>
+Date: Mon, 30 Aug 2010 15:33:26 +0200
+Subject: [PATCH 20/23] cdrom_id: Fix DVD-RW media detection
+
+Commit cf2205a19 applied the "restricted overwrite" vs. "sequential" DVD-RW
+test to feature_profiles() (which reads the drive capabilities), which caused
+every DVD medium to be detected as ID_CDROM_MEDIA_DVD_RW. Now apply it to
+cd_profiles() instead, to just check the current profile.
+---
+ extras/cdrom_id/cdrom_id.c | 13 +++++++------
+ 1 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
+index f9d6e0b..8480d7b 100644
+--- a/extras/cdrom_id/cdrom_id.c
++++ b/extras/cdrom_id/cdrom_id.c
+@@ -297,14 +297,9 @@ static int feature_profiles(struct udev *udev, const unsigned char *profiles, si
+ cd_dvd_ram = 1;
+ break;
+ case 0x13:
+- info(udev, "profile 0x%02x media_dvd_rw\n", profile);
+- cd_media_dvd_rw = 1;
+- cd_media_dvd_rw_ro = 1;
+- break;
+ case 0x14:
+ info(udev, "profile 0x%02x dvd_rw\n", profile);
+ cd_dvd_rw = 1;
+- cd_media_dvd_rw_seq = 1;
+ break;
+ case 0x1B:
+ info(udev, "profile 0x%02x dvd_plus_r\n", profile);
+@@ -486,10 +481,16 @@ static int cd_profiles(struct udev *udev, int fd)
+ cd_media_dvd_ram = 1;
+ break;
+ case 0x13:
++ info(udev, "profile 0x%02x media_dvd_rw_ro\n", cur_profile);
++ cd_media = 1;
++ cd_media_dvd_rw = 1;
++ cd_media_dvd_rw_ro = 1;
++ break;
+ case 0x14:
+- info(udev, "profile 0x%02x media_dvd_rw\n", cur_profile);
++ info(udev, "profile 0x%02x media_dvd_rw_seq\n", cur_profile);
+ cd_media = 1;
+ cd_media_dvd_rw = 1;
++ cd_media_dvd_rw_seq = 1;
+ break;
+ case 0x1B:
+ info(udev, "profile 0x%02x media_dvd_plus_r\n", cur_profile);
+--
+1.7.2.2
+
diff --git a/0021-cdrom_id-Fix-DVD-blank-detection-for-sloppy-firmware.patch b/0021-cdrom_id-Fix-DVD-blank-detection-for-sloppy-firmware.patch
new file mode 100644
index 0000000..d033307
--- /dev/null
+++ b/0021-cdrom_id-Fix-DVD-blank-detection-for-sloppy-firmware.patch
@@ -0,0 +1,42 @@
+From 5e267ea5a36de0b2a9a8965ca93dd45bbd6b1a8b Mon Sep 17 00:00:00 2001
+From: Jan Drzewiecki <jonie at icpnet.pl>
+Date: Tue, 31 Aug 2010 00:37:28 +0200
+Subject: [PATCH 21/23] cdrom_id: Fix DVD blank detection for sloppy firmware
+
+Reportedly, many CD drive firmwares will only consider the MSB in a READ
+command, thus if we request 17 blocks to be read, we'll actually only get 16 in
+many cases, and thus miss out the interesting sector #17. This would lead to
+falsely considering nonempty DVDs as blank.
+
+Fetch 32 blocks now, which should work everywhere.
+
+Signed-off-by: Martin Pitt <martin.pitt at ubuntu.com>
+---
+ extras/cdrom_id/cdrom_id.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
+index 8480d7b..0153af6 100644
+--- a/extras/cdrom_id/cdrom_id.c
++++ b/extras/cdrom_id/cdrom_id.c
+@@ -590,7 +590,7 @@ static int cd_media_info(struct udev *udev, int fd)
+ * always "complete", DVD-RAM are "other" or "complete" if the disc is
+ * write protected; we need to check the contents if it is blank */
+ if ((cd_media_dvd_rw_ro || cd_media_dvd_plus_rw || cd_media_dvd_plus_rw_dl || cd_media_dvd_ram) && (header[2] & 3) > 1) {
+- unsigned char buffer[17 * 2048];
++ unsigned char buffer[32 * 2048];
+ unsigned char result, len;
+ int block, offset;
+
+@@ -661,7 +661,7 @@ static int cd_media_info(struct udev *udev, int fd)
+ scsi_cmd_init(udev, &sc, buffer, sizeof(buffer));
+ scsi_cmd_set(udev, &sc, 0, 0x28);
+ scsi_cmd_set(udev, &sc, 5, 0);
+- scsi_cmd_set(udev, &sc, 8, 17);
++ scsi_cmd_set(udev, &sc, 8, 32);
+ scsi_cmd_set(udev, &sc, 9, 0);
+ err = scsi_cmd_run(udev, &sc, fd, buffer, sizeof(buffer));
+ if ((err != 0)) {
+--
+1.7.2.2
+
diff --git a/0022-set-SELinux-context-on-add-but-not-on-change-events.patch b/0022-set-SELinux-context-on-add-but-not-on-change-events.patch
new file mode 100644
index 0000000..aa99300
--- /dev/null
+++ b/0022-set-SELinux-context-on-add-but-not-on-change-events.patch
@@ -0,0 +1,35 @@
+From 326c5fc3ea684825629eccaf33a548759162a539 Mon Sep 17 00:00:00 2001
+From: Kay Sievers <kay.sievers at vrfy.org>
+Date: Tue, 31 Aug 2010 21:29:21 +0200
+Subject: [PATCH 22/23] set SELinux context on 'add' but not on 'change' events
+
+---
+ udev/udev-node.c | 9 ++++++++-
+ 1 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/udev/udev-node.c b/udev/udev-node.c
+index 228b3eb..c8113f1 100644
+--- a/udev/udev-node.c
++++ b/udev/udev-node.c
+@@ -56,10 +56,17 @@ int udev_node_mknod(struct udev_device *dev, const char *file, mode_t mode, uid_
+ info(udev, "set permissions %s, %#o, uid=%u, gid=%u\n", file, mode, uid, gid);
+ chmod(file, mode);
+ chown(file, uid, gid);
+- udev_selinux_lsetfilecon(udev, file, mode);
+ } else {
+ info(udev, "preserve permissions %s, %#o, uid=%u, gid=%u\n", file, mode, uid, gid);
+ }
++ /*
++ * Set initial selinux file context only on add events.
++ * We set the proper context on bootup (triger) or for newly
++ * added devices, but we don't change it later, in case
++ * something else has set a custom context in the meantime.
++ */
++ if (strcmp(udev_device_get_action(dev), "add") == 0)
++ udev_selinux_lsetfilecon(udev, file, mode);
+ /* always update timestamp when we re-use the node, like on media change events */
+ utimensat(AT_FDCWD, file, NULL, 0);
+ } else {
+--
+1.7.2.2
+
diff --git a/0023-do-not-create-persistent-name-rules-for-KVM-network-.patch b/0023-do-not-create-persistent-name-rules-for-KVM-network-.patch
new file mode 100644
index 0000000..16b7dab
--- /dev/null
+++ b/0023-do-not-create-persistent-name-rules-for-KVM-network-.patch
@@ -0,0 +1,28 @@
+From af29bf0966994bc233282148f519e12ea29e1c5a Mon Sep 17 00:00:00 2001
+From: Marco d'Itri <md at linux.it>
+Date: Tue, 31 Aug 2010 21:44:34 +0200
+Subject: [PATCH 23/23] do not create persistent name rules for KVM network interfaces
+
+The virtual interfaces created by KVM are stable, 54:52:00 is the MAC-48
+range of KVM.
+---
+ .../75-persistent-net-generator.rules | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/extras/rule_generator/75-persistent-net-generator.rules b/extras/rule_generator/75-persistent-net-generator.rules
+index a9dfdce..8119d0e 100644
+--- a/extras/rule_generator/75-persistent-net-generator.rules
++++ b/extras/rule_generator/75-persistent-net-generator.rules
+@@ -29,6 +29,9 @@ ENV{MATCHADDR}="$attr{address}"
+ # match interface type
+ ENV{MATCHIFTYPE}="$attr{type}"
+
++# ignore KVM virtual interfaces
++ENV{MATCHADDR}=="54:52:00:*", GOTO="persistent_net_generator_end"
++
+ # These vendors are known to violate the local MAC address assignment scheme
+ # Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom
+ ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist"
+--
+1.7.2.2
+
diff --git a/udev.spec b/udev.spec
index 8b8febb..6fc041f 100644
--- a/udev.spec
+++ b/udev.spec
@@ -7,7 +7,7 @@
Summary: A rule-based device node and kernel event manager
Name: udev
Version: 161
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Base
Provides: udev-persistent = %{version}-%{release}
@@ -17,6 +17,29 @@ Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/%{name}-%{version}.t
Source1: start_udev
Source2: udev-post.init
+Patch1: 0001-cdrom_id-Add-media-status-debugging.patch
+Patch2: 0002-Add-keymap-for-Lenovo-IdeaPad-S10-3.patch
+Patch3: 0003-cdrom_id-Drop-MEDIA_SESSION_NEXT-for-DVD-RW-RO.patch
+Patch4: 0004-init-update-systemd-service-files.patch
+Patch5: 0005-init-update-systemd-service-files.patch
+Patch6: 0006-udev-acl-do-not-mistake-all-SCSI-processor-devices-f.patch
+Patch7: 0007-init-add-udev-to-description-in-systemd-service-file.patch
+Patch8: 0008-udevd-add-pid-to-kmsg-logs.patch
+Patch9: 0009-init-edit-systemd-service-descriptions.patch
+Patch11: 0011-udev-7-Point-out-required-extension-and-remove-some-.patch
+Patch12: 0012-keymap-Add-Onkyo-PC.patch
+Patch13: 0013-keymap-Add-HP-G60.patch
+Patch14: 0014-udevd-remove-unneeded-credential-passing-from-init_n.patch
+Patch15: 0015-Add-support-for-oom_score_adj.patch
+Patch16: 0016-keymap-Fix-Sony-VAIO-VGN-SZ2HP-B.patch
+Patch17: 0017-udev-7-manpage-Fix-description-of-attr.patch
+Patch18: 0018-gudev-fix-crash-if-netlink-is-not-available.patch
+Patch19: 0019-keymap-Fix-Acer-TravelMate-4720.patch
+Patch20: 0020-cdrom_id-Fix-DVD-RW-media-detection.patch
+Patch21: 0021-cdrom_id-Fix-DVD-blank-detection-for-sloppy-firmware.patch
+Patch22: 0022-set-SELinux-context-on-add-but-not-on-change-events.patch
+Patch23: 0023-do-not-create-persistent-name-rules-for-KVM-network-.patch
+
ExclusiveOS: Linux
URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -113,6 +136,28 @@ glib-based applications using libudev functionality.
%prep
%setup -q
+%patch1 -p1 -b .git1
+%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
+%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
+%patch19 -p1 -b .git19
+%patch20 -p1 -b .git20
+%patch21 -p1 -b .git21
+%patch22 -p1 -b .git22
+%patch23 -p1 -b .git23
%build
libtoolize -f -c
@@ -349,6 +394,11 @@ rm -rf $RPM_BUILD_ROOT
%attr(0644,root,root) %{_libdir}/pkgconfig/gudev-1.0*
%changelog
+* Wed Sep 01 2010 Harald Hoyer <harald at redhat.com> 161-2
+- bugfixes for systemd service files
+- bugfix for selinux labeling
+- bugfixes for cdrom_id
+
* Tue Aug 17 2010 Harald Hoyer <harald at redhat.com> 161-1
- udev-161 with an upstream quirk for the qemu cdrom and
more cdrom handling bugfixes
More information about the scm-commits
mailing list