Compare commits

..

68 commits

Author SHA1 Message Date
Kay Sievers
ce9320b04b obsolete udev, it is replaced by systemd 2012-07-11 14:28:30 +02:00
Kay Sievers
a07cb8f5f4 drop dependency on specific udev daemon verison 2012-05-24 22:51:05 +02:00
Harald Hoyer
38609fdb7f udev-182-2
- removed s390 rules
2012-03-27 16:54:27 +02:00
Kay Sievers
b59133e5f9 version 182 2012-03-18 20:30:37 +01:00
Kay Sievers
1fcd4845c9 rebuild with fixed binutils 2012-02-09 13:08:07 +01:00
Kay Sievers
d138c6fc55 version 181 2012-02-07 02:11:38 +01:00
Kay Sievers
9646fdce3a test building with filesystem guard 2012-02-03 11:36:31 +01:00
Kay Sievers
90bdfa8bcd install everything in /usr 2012-01-29 18:36:10 +01:00
Kay Sievers
17aa1fb443 version 180 2012-01-29 18:20:56 +01:00
Kay Sievers
e0bc75be11 use %{_sbindir} now that everything is in /usr 2012-01-25 19:42:51 +01:00
Harald Hoyer
36b9856624 increment release 2012-01-25 15:42:00 +01:00
Kay Sievers
dc3e663505 install everything in /usr
This patch is needed for the /usr-move feature
https://fedoraproject.org/wiki/Features/UsrMove

This package requires now 'filesystem' >= 3, which is only installable
on a system which has /bin, /sbin, /lib, /lib64 as symlinks to /usr and
not regular directories. The 'filesystem' package acts as a guard, to
prevent *this* package to be installed on old unconverted systems.

New installations will have the 'filesystem' >=3 layout right away, old
installations need to be converted with anaconda or dracut first; only
after that, the 'filesystem' package, and also *this* package can be
installed.

Packages *should* not install files in /bin, /sbin, /lib, /lib64, but
only in the corresponding directories in /usr. Packages *must* not
install conflicting files with the same names in the corresponding
directories in / and /usr. Especially compatibilty symlinks must not be
installed.

Feel free to modify any of the changes to the spec file, but keep the
above in mind.
2012-01-25 15:29:56 +01:00
Kay Sievers
f110253ee5 work around broken upstream tarball's 'xslt' ifdef 2012-01-25 15:02:58 +01:00
Kay Sievers
e0eeb8a6eb require 'kmod-devel' instead of 'kmod-libs' 2012-01-25 14:47:02 +01:00
Kay Sievers
faded2be30 version 179 2012-01-25 14:25:19 +01:00
Dennis Gilmore
27412d3df2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-14 01:25:45 -06:00
Kay Sievers
f9c13ce3bf version 175 2011-11-08 01:46:54 +01:00
Kay Sievers
4dfe0853b6 ignore entire rule when a key is unknown 2011-10-22 22:06:39 +02:00
Kay Sievers
9653945ff2 update dracut requirement, include entire /lib/udev directory 2011-10-20 13:55:54 +02:00
Kay Sievers
2d66943d2f fix version in changelog 2011-10-20 00:24:46 +02:00
Kay Sievers
2618aa966e version 174 2011-10-19 21:22:11 +02:00
Daniel Drake
5fd2aaff27 Update OLPC XO keymap 2011-08-29 14:39:36 +01:00
Harald Hoyer
08ec76712b version 173
udev-acl functionality is in systemd
2011-08-01 13:21:13 +02:00
Harald Hoyer
c28cf5922c removed loop devices (should be compiled in the kernel)
removed deprecated directories
removed scsi_id symlink
cleanup of requirements
2011-07-20 13:58:40 +02:00
Harald Hoyer
6ae88f0d84 removed loop devices (should be compiled in the kernel)
removed deprecated directories
2011-07-20 13:50:03 +02:00
Harald Hoyer
c48bf88aea removed loop devices (should be compiled in the kernel) 2011-07-20 13:29:29 +02:00
Harald Hoyer
0c6edc1da2 version 172 2011-07-11 15:12:16 +02:00
Harald Hoyer
27c9ba33fe build without introspection
removed unused dirs
added ConsoleKit dirs
2011-06-20 10:27:09 +02:00
Ville Skyttä
2443122e5f udev.spec: own the ConsoleKit and ConsoleKit/run-seat.d dirs
If udev does not actually require ConsoleKit, the dependency should not
be added just for dir ownership, instead the dirs should be owned in
udev which is what the patch does.

http://fedoraproject.org/wiki/Packaging/Guidelines#File_and_Directory_Ownership

https://bugzilla.redhat.com/show_bug.cgi?id=710781
2011-06-20 10:23:17 +02:00
Harald Hoyer
3643fbe9e5 udev.spec: remove introspection and unneeded dirs 2011-06-20 10:22:00 +02:00
Harald Hoyer
f9e3401ad5 version 171 2011-05-27 11:18:48 +02:00
Harald Hoyer
3ad6199da3 version 170
removed /sbin/start_udev
2011-05-20 14:53:29 +02:00
Harald Hoyer
60836322f1 version 170
removed /sbin/start_udev
2011-05-20 14:45:08 +02:00
Harald Hoyer
e70c43125b version 170
removed /sbin/start_udev
2011-05-20 14:40:12 +02:00
Harald Hoyer
83891f6381 - more selinux fixes 2011-04-11 12:15:57 +02:00
Harald Hoyer
3bc0c66b99 Merge remote branch 'origin/f15/master' 2011-04-08 10:05:50 +02:00
Harald Hoyer
b52809d0de udev.spec: untabify 2011-04-08 10:05:10 +02:00
Adam Williamson
cef722535f selinux_label.patch: don't label files outside of /dev 2011-04-07 17:19:42 -07:00
Harald Hoyer
8df68695ff Merge branch 'f15/master' 2011-03-31 18:32:08 +02:00
Harald Hoyer
58624e426e udev.spec: removed gtk-doc 2011-03-31 18:30:08 +02:00
Harald Hoyer
cbf7ac132c removed libxslt buildreq and touch man pages, to prevent rebuild 2011-03-31 18:29:20 +02:00
Harald Hoyer
8cf0c7defa - fixed udev-trigger.service 2011-03-31 18:17:55 +02:00
Harald Hoyer
0b0304cfe1 - fixed udev-trigger.service 2011-03-31 17:58:51 +02:00
Harald Hoyer
21ab835136 removed libxslt buildreq and touch man pages, to prevent rebuild 2011-03-30 17:36:11 +02:00
Harald Hoyer
90347b2001 - version 167 2011-03-30 17:29:32 +02:00
Harald Hoyer
7d03ac0923 - version 167 2011-03-30 17:29:25 +02:00
Harald Hoyer
9ecfc0140b - version 167 2011-03-30 17:18:01 +02:00
Harald Hoyer
a8dfb502d8 - version 167 2011-03-30 16:50:28 +02:00
Harald Hoyer
545bd16ca5 - add ACLs for harmony remote controls
Resolves: rhbz#559412
- fixed CDROM profile handling
2011-03-23 13:36:44 +01:00
Harald Hoyer
99318e91b4 - add ACLs for harmony remote controls
Resolves: rhbz#559412
- fixed CDROM profile handling
2011-03-23 13:35:43 +01:00
Harald Hoyer
400c0eaaaa - renamed udev-post initscript to udev-retry to match
upstream systemd service name
- version 166
2011-02-16 18:41:21 +01:00
Harald Hoyer
57a491c1af - renamed udev-post initscript to udev-retry to match
upstream systemd service name
- version 166
2011-02-16 18:27:27 +01:00
Dennis Gilmore
61095fb1d9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-07 17:57:39 -06:00
Harald Hoyer
243a0734e5 - fixed: network device renaming 2-step exceeds IFNAMSIZ
Resolves: rhbz#673675
2011-02-02 18:59:23 +01:00
Harald Hoyer
c67280da85 - fixed: network device renaming 2-step exceeds IFNAMSIZ
Resolves: rhbz#673675
2011-02-02 18:35:54 +01:00
Harald Hoyer
863c17e8e2 - fixed: network device renaming 2-step exceeds IFNAMSIZ
Resolves: rhbz#673675
2011-02-02 18:35:27 +01:00
Harald Hoyer
ad72e1d944 udev.spec: removed MAKEDEV symlink 2010-12-06 10:20:50 +01:00
Harald Hoyer
15fa57fca0 udev.spec: fixed pre/post udev kill loop 2010-12-06 09:52:36 +01:00
Bastien Nocera
3f6713d0df - Add patches to fix touchpad toggle key handling 2010-11-25 16:05:53 +00:00
Harald Hoyer
9a010ac3e5 - add ACLs for PDA devices
Resolves: rhbz#642435
2010-11-12 15:49:43 +01:00
Harald Hoyer
1efa3f58ce - enlarged the import buffer to fix the ressize bugs
Resolves: rhbz#652318
2010-11-12 15:29:16 +01:00
Harald Hoyer
dfa8b8fed2 - do not create mount point dirs in /dev 2010-11-12 14:20:37 +01:00
Harald Hoyer
3ce9b85314 - version 164
- skip start_udev with systemd
2010-10-29 10:56:18 +02:00
Harald Hoyer
8fcb6e53ed - version 164
- skip start_udev with systemd
2010-10-29 10:55:52 +02:00
Jesse Keating
94c7d90643 - Rebuilt for gcc bug 634757 2010-09-29 15:24:41 -07:00
Matthias Clasen
d8bca2a5df Rebuild 2010-09-21 20:18:19 -04:00
Harald Hoyer
b11538a6c7 - bugfixes for systemd service files
- bugfix for selinux labeling
- bugfixes for cdrom_id
2010-09-01 11:26:01 +02:00
Harald Hoyer
d2cb40f302 - udev-161 with an upstream quirk for the qemu cdrom and
more cdrom handling bugfixes
Resolves: rhbz#609049 rhbz#624286
- added floppy group
Resolves: rhbz#620814
2010-08-17 11:45:34 +02:00
49 changed files with 1 additions and 4011 deletions

3
.gitignore vendored
View file

@ -1,3 +0,0 @@
udev-160.tar.bz2
udev-161.tar.bz2.sign
udev-161.tar.bz2

View file

@ -1,232 +0,0 @@
From a1ca5f60e0770299c5c5f21bd371f5823802412b Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Thu, 4 Nov 2010 23:58:56 +0000
Subject: [PATCH] extras/keymap: Make touchpad buttons consistent
We'll need to standardise on the Touchpad related keys in udev, kernel, and
X.org. I selected F21 for XF86TouchpadToggle, F22 for XF86TouchpadOn and F23
for XF86TouchpadOff.
See:
https://bugs.freedesktop.org/show_bug.cgi?id=31333
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
---
extras/keymap/keymaps/acer | 2 +-
extras/keymap/keymaps/dell | 4 ++--
extras/keymap/keymaps/everex-xt5000 | 2 +-
extras/keymap/keymaps/hewlett-packard-2510p_2530p | 4 ++--
extras/keymap/keymaps/hewlett-packard-pavilion | 4 ++--
extras/keymap/keymaps/hewlett-packard-tx2 | 2 +-
.../lenovo-thinkpad-usb-keyboard-trackpoint | 2 +-
extras/keymap/keymaps/lg-x110 | 4 ++--
extras/keymap/keymaps/micro-star | 2 +-
extras/keymap/keymaps/module-lenovo | 2 +-
extras/keymap/keymaps/onkyo | 2 +-
extras/keymap/keymaps/samsung-other | 2 +-
extras/keymap/keymaps/samsung-sx20s | 4 ++--
extras/keymap/keymaps/toshiba-satellite_a110 | 4 ++--
extras/keymap/keymaps/toshiba-satellite_m30x | 4 ++--
extras/keymap/keymaps/zepto-znote | 2 +-
16 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/extras/keymap/keymaps/acer b/extras/keymap/keymaps/acer
index 6abe39c..4e7c297 100644
--- a/extras/keymap/keymaps/acer
+++ b/extras/keymap/keymaps/acer
@@ -14,7 +14,7 @@
0xEE brightnessup # Fn+Right
0xEF brightnessdown # Fn+Left
0xF1 f22 # Fn+F7 Touchpad toggle (off-to-on)
-0xF2 f22 # Fn+F7 Touchpad toggle (on-to-off)
+0xF2 f23 # Fn+F7 Touchpad toggle (on-to-off)
0xF3 prog2 # "P2" programmable button
0xF4 prog1 # "P1" programmable button
0xF5 presentation
diff --git a/extras/keymap/keymaps/dell b/extras/keymap/keymaps/dell
index 1a2e433..fbbb903 100644
--- a/extras/keymap/keymaps/dell
+++ b/extras/keymap/keymaps/dell
@@ -21,9 +21,9 @@
0x99 nextsong # Front panel next song
0x9A setup # Tablet tools button
0x9B switchvideomode # Display Toggle button
-0x9E f22 #touchpad toggle
+0x9E f21 #touchpad toggle
0xA2 playpause # Front panel play/pause
0xA4 stopcd # Front panel stop
0xED media # MediaDirect button
0xD8 screenlock # FIXME: Tablet lock button
-0xD9 f22 # touchpad toggle
+0xD9 f21 # touchpad toggle
diff --git a/extras/keymap/keymaps/everex-xt5000 b/extras/keymap/keymaps/everex-xt5000
index 53bdd7a..4823a83 100644
--- a/extras/keymap/keymaps/everex-xt5000
+++ b/extras/keymap/keymaps/everex-xt5000
@@ -1,5 +1,5 @@
0x5C media
-0x65 f22 # Fn+F5 Touchpad toggle
+0x65 f21 # Fn+F5 Touchpad toggle
0x67 prog3 # Fan Speed Control button
0x6F brightnessup
0x7F brightnessdown
diff --git a/extras/keymap/keymaps/hewlett-packard-2510p_2530p b/extras/keymap/keymaps/hewlett-packard-2510p_2530p
index 2bc70c2..41ad2e9 100644
--- a/extras/keymap/keymaps/hewlett-packard-2510p_2530p
+++ b/extras/keymap/keymaps/hewlett-packard-2510p_2530p
@@ -1,2 +1,2 @@
-0xD8 f22 # touchpad off
-0xD9 f23 # touchpad on
+0xD8 f23 # touchpad off
+0xD9 f22 # touchpad on
diff --git a/extras/keymap/keymaps/hewlett-packard-pavilion b/extras/keymap/keymaps/hewlett-packard-pavilion
index a55d2b7..3d3cefc 100644
--- a/extras/keymap/keymaps/hewlett-packard-pavilion
+++ b/extras/keymap/keymaps/hewlett-packard-pavilion
@@ -1,3 +1,3 @@
0x88 media # FIXME: quick play
-0xD8 f22 # touchpad off
-0xD9 f23 # touchpad on
+0xD8 f23 # touchpad off
+0xD9 f22 # touchpad on
diff --git a/extras/keymap/keymaps/hewlett-packard-tx2 b/extras/keymap/keymaps/hewlett-packard-tx2
index 206c004..36a690f 100644
--- a/extras/keymap/keymaps/hewlett-packard-tx2
+++ b/extras/keymap/keymaps/hewlett-packard-tx2
@@ -1,3 +1,3 @@
0xC2 media
-0xD8 f22 # Toggle touchpad button on tx2 (OFF)
+0xD8 f23 # Toggle touchpad button on tx2 (OFF)
0xD9 f22 # Toggle touchpad button on tx2 (ON)
diff --git a/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint b/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
index 7612f79..bc91470 100644
--- a/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
+++ b/extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
@@ -2,7 +2,7 @@
0x90013 battery # Fn+F3
0x90014 wlan # Fn+F5
0x90016 switchvideomode # Fn+F7
-0x90017 f22 # Fn+F8 touchpadtoggle
+0x90017 f21 # Fn+F8 touchpadtoggle
0x90019 suspend # Fn+F12
0x9001A brightnessup # Fn+Home
0x9001B brightnessdown # Fn+End
diff --git a/extras/keymap/keymaps/lg-x110 b/extras/keymap/keymaps/lg-x110
index a61cf3d..ba08cba 100644
--- a/extras/keymap/keymaps/lg-x110
+++ b/extras/keymap/keymaps/lg-x110
@@ -6,7 +6,7 @@
0xB3 suspend # Fn-F12
0xDF sleep # Fn-F4
# 0xE2 bluetooth # satellite dish2
-0xE4 f22 # Fn-F5 Touchpad disable
+0xE4 f21 # Fn-F5 Touchpad disable
0xF6 wlan # Fn-F6
0xF7 reserved # brightnessdown # Fn-Down
-0xF8 reserved # brightnessup # Fn-Up
\ No newline at end of file
+0xF8 reserved # brightnessup # Fn-Up
diff --git a/extras/keymap/keymaps/micro-star b/extras/keymap/keymaps/micro-star
index 0de5ae6..4a43869 100644
--- a/extras/keymap/keymaps/micro-star
+++ b/extras/keymap/keymaps/micro-star
@@ -4,7 +4,7 @@
0xB2 www # e button
0xDF sleep # Fn-F12
0xE2 bluetooth # satellite dish2
-0xE4 f22 # Fn-F3 Touchpad disable
+0xE4 f21 # Fn-F3 Touchpad disable
0xEC email # envelope button
0xEE camera # Fn-F6 camera disable
0xF6 wlan # satellite dish1
diff --git a/extras/keymap/keymaps/module-lenovo b/extras/keymap/keymaps/module-lenovo
index 7c597bd..9cb74b2 100644
--- a/extras/keymap/keymaps/module-lenovo
+++ b/extras/keymap/keymaps/module-lenovo
@@ -3,7 +3,7 @@
0x3 sleep # Fn+F4
0x4 wlan # Fn+F5
0x6 switchvideomode # Fn+F7
-0x7 f22 # Fn+F8 touchpadtoggle
+0x7 f21 # Fn+F8 touchpadtoggle
0x8 f24 # Fn+F9 undock
0xB suspend # Fn+F12
0xF brightnessup # Fn+Home
diff --git a/extras/keymap/keymaps/onkyo b/extras/keymap/keymaps/onkyo
index 7dd80a1..ee864ad 100644
--- a/extras/keymap/keymaps/onkyo
+++ b/extras/keymap/keymaps/onkyo
@@ -8,7 +8,7 @@
0xF0 media # Fn+R
0xF5 switchvideomode # Fn+E
0xF6 camera # Fn+T
-0xF7 f22 # Fn+Y (touchpad toggle)
+0xF7 f21 # Fn+Y (touchpad toggle)
0xF8 brightnessup # Fn+S
0xF9 brightnessdown # Fn+A
0xFB wlan # Fn+J
diff --git a/extras/keymap/keymaps/samsung-other b/extras/keymap/keymaps/samsung-other
index 6a0928c..3ac0c2f 100644
--- a/extras/keymap/keymaps/samsung-other
+++ b/extras/keymap/keymaps/samsung-other
@@ -11,4 +11,4 @@
0xB3 prog3 # Fn+F8 switch power mode (battery/dynamic/performance)
0xB4 wlan # Fn+F9 (X60P)
0xF7 f22 # Fn+F10 Touchpad on
-0xF9 f22 # Fn+F10 Touchpad off
+0xF9 f23 # Fn+F10 Touchpad off
diff --git a/extras/keymap/keymaps/samsung-sx20s b/extras/keymap/keymaps/samsung-sx20s
index daf7d3e..9d954ee 100644
--- a/extras/keymap/keymaps/samsung-sx20s
+++ b/extras/keymap/keymaps/samsung-sx20s
@@ -1,4 +1,4 @@
0x74 mute
0x75 mute
-0x77 f21 # FIXME: Touchpad on
-0x79 f21 # FIXME: Touchpad off
+0x77 f22 # Touchpad on
+0x79 f23 # Touchpad off
diff --git a/extras/keymap/keymaps/toshiba-satellite_a110 b/extras/keymap/keymaps/toshiba-satellite_a110
index 0f2aaec..1429409 100644
--- a/extras/keymap/keymaps/toshiba-satellite_a110
+++ b/extras/keymap/keymaps/toshiba-satellite_a110
@@ -1,8 +1,8 @@
0x92 stop
0x93 www
0x94 media
-0x9E f21 # FIXME: Touchpad on
-0x9F f21 # FIXME: Touchpad off
+0x9E f22 # Touchpad on
+0x9F f23 # Touchpad off
0xB9 nextsong
0xD9 brightnessup
0xEE screenlock
diff --git a/extras/keymap/keymaps/toshiba-satellite_m30x b/extras/keymap/keymaps/toshiba-satellite_m30x
index cf6d912..9280ae0 100644
--- a/extras/keymap/keymaps/toshiba-satellite_m30x
+++ b/extras/keymap/keymaps/toshiba-satellite_m30x
@@ -2,6 +2,6 @@
0xd9 brightnessup
0xee screenlock
0x93 media
-0x9e prog1 #touchpad_enable
-0x9f prog2 #touchpad_disable
+0x9e f22 #touchpad_enable
+0x9f f23 #touchpad_disable
diff --git a/extras/keymap/keymaps/zepto-znote b/extras/keymap/keymaps/zepto-znote
index e076516..cf72fda 100644
--- a/extras/keymap/keymaps/zepto-znote
+++ b/extras/keymap/keymaps/zepto-znote
@@ -1,7 +1,7 @@
0x93 switchvideomode # Fn+F3 Toggle Video Output
0x95 brightnessdown # Fn+F4 Brightness Down
0x91 brightnessup # Fn+F5 Brightness Up
-0xA5 f22 # Fn+F6 Disable Touchpad
+0xA5 f23 # Fn+F6 Disable Touchpad
0xA6 f22 # Fn+F6 Enable Touchpad
0xA7 bluetooth # Fn+F10 Enable Bluetooth
0XA9 bluetooth # Fn+F10 Disable Bluetooth
--
1.7.3.2

View file

@ -1,56 +0,0 @@
From ecfad20871e855d9e54d3a528cf9219ce5c93626 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Mon, 1 Nov 2010 16:29:09 +0000
Subject: [PATCH] keymap: Add force release for HP touchpad off
Force the touchpad off/on keys getting released, as they usually
only send a "repeat".
https://bugzilla.redhat.com/show_bug.cgi?id=623239
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
---
Makefile.am | 1 +
extras/keymap/95-keyboard-force-release.rules | 5 +++++
extras/keymap/force-release-maps/hp-other | 3 +++
3 files changed, 9 insertions(+), 0 deletions(-)
create mode 100644 extras/keymap/force-release-maps/hp-other
diff --git a/Makefile.am b/Makefile.am
index 3a95046..032eb28 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -601,6 +601,7 @@ dist_udevkeymap_DATA = \
udevkeymapforcereldir = $(libexecdir)/keymaps/force-release
dist_udevkeymapforcerel_DATA = \
+ extras/keymap/force-release-maps/hp-other \
extras/keymap/force-release-maps/samsung-other \
extras/keymap/force-release-maps/common-volume-keys
diff --git a/extras/keymap/95-keyboard-force-release.rules b/extras/keymap/95-keyboard-force-release.rules
index 562dc8d..6f7c0fd 100644
--- a/extras/keymap/95-keyboard-force-release.rules
+++ b/extras/keymap/95-keyboard-force-release.rules
@@ -35,4 +35,9 @@ ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite U300|Satellit
ENV{DMI_VENDOR}=="Viooo Corporation", ATTR{[dmi/id]product_name}=="PT17", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
+# These are all the HP laptops that setup a touchpad toggle key
+ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[pP][aA][vV][iI][lL][iI][oO][nN]*", RUN+="keyboard-force-release.sh $devpath hp-other"
+ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*[tT][xX]2*", RUN+="keyboard-force-release.sh $devpath hp-other"
+ENV{DMI_VENDOR}=="Hewlett-Packard*", ATTR{[dmi/id]product_name}=="*2510p*|*2530p*|HP G60 Notebook PC", RUN+="keyboard-force-release.sh $devpath hp-other"
+
LABEL="force_release_end"
diff --git a/extras/keymap/force-release-maps/hp-other b/extras/keymap/force-release-maps/hp-other
new file mode 100644
index 0000000..6621370
--- /dev/null
+++ b/extras/keymap/force-release-maps/hp-other
@@ -0,0 +1,3 @@
+# list of scancodes (hex or decimal), optional comment
+0xd8 # Touchpad off
+0xd9 # Touchpad on
--
1.7.3.2

View file

@ -1,56 +0,0 @@
From 9cd075e35b8f660c75b0d72d4bea496fd6459f29 Mon Sep 17 00:00:00 2001
From: David Woodhouse <dwmw2@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@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

View file

@ -1,42 +0,0 @@
From 68bc0d7963a22967cc00244c4fad96fb45870712 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@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

View file

@ -1,38 +0,0 @@
From bd078c90b97c73ba5fe7475947e6ecd20e2eb048 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@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

View file

@ -1,33 +0,0 @@
From 3bd7b89dc40c4a0440ee5fce2ea907971bfcfb10 Mon Sep 17 00:00:00 2001
From: Marco d'Itri <md@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

View file

@ -1,47 +0,0 @@
From d15b727ef1375c665057c0fa278b2ea3778b8d3d Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@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

View file

@ -1,41 +0,0 @@
From c25bfbfb1b20781698ff3c8cbc884a9e190052ee Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@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

View file

@ -1,47 +0,0 @@
From 4c9b12a7aa57e43e568b78da9cbed4138b1292df Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@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

View file

@ -1,42 +0,0 @@
From 6593e8961afbe0b74d5a67c545a991c7733e88df Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@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

View file

@ -1,63 +0,0 @@
From acf865b68e1a5c78677537b373b6e082c287fc27 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@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

View file

@ -1,26 +0,0 @@
From 92cffb0bd18bd8fd245666a519ad0e54dc537031 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@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

View file

@ -1,58 +0,0 @@
From 13f90be7a33353fdbcd4a389630a05c608bdf2a4 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@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

View file

@ -1,48 +0,0 @@
From c61eea9459045c2c9032a0c98234985a371fac58 Mon Sep 17 00:00:00 2001
From: Luca Tettamanti <kronos.it@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@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

View file

@ -1,28 +0,0 @@
From 38b5ccbcf7f3643ea8180a8186cfe3e5fa9cb983 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@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

View file

@ -1,32 +0,0 @@
From 83184d008ba23724fd30996440534c0633a0d0aa Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@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

View file

@ -1,57 +0,0 @@
From e4dcdc4ab232bcbbe61a2026c16e647d9302cdd2 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@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

View file

@ -1,28 +0,0 @@
From d17c065e28fa4baac90b02b4913c7ef32d54f3c7 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@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

View file

@ -1,35 +0,0 @@
From 326c5fc3ea684825629eccaf33a548759162a539 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@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

View file

@ -1,28 +0,0 @@
From af29bf0966994bc233282148f519e12ea29e1c5a Mon Sep 17 00:00:00 2001
From: Marco d'Itri <md@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

View file

@ -1,26 +0,0 @@
From 24af530a543c70ac59fdd244377d648ef77a0e21 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Thu, 12 Aug 2010 07:10:12 +0200
Subject: [PATCH 1/9] 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.3

View file

@ -1,34 +0,0 @@
From b367a1c9d8a0f565effcdb45f86a365be1c8b622 Mon Sep 17 00:00:00 2001
From: Jan Drzewiecki <jonie@icpnet.pl>
Date: Fri, 13 Aug 2010 07:24:29 +0200
Subject: [PATCH 2/9] 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@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.3

View file

@ -1,53 +0,0 @@
From 2458db3edd8d66827b34978ff471dff8f879e9ab Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Mon, 30 Aug 2010 15:33:26 +0200
Subject: [PATCH 3/9] 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.3

View file

@ -1,42 +0,0 @@
From 5e267ea5a36de0b2a9a8965ca93dd45bbd6b1a8b Mon Sep 17 00:00:00 2001
From: Jan Drzewiecki <jonie@icpnet.pl>
Date: Tue, 31 Aug 2010 00:37:28 +0200
Subject: [PATCH 4/9] 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@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.3

View file

@ -1,66 +0,0 @@
From ea88774a922c734afd751a59d8102bfa4806a1a6 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Tue, 5 Oct 2010 14:34:55 +0200
Subject: [PATCH 5/9] cdrom_id: Try reading the medium if all MMC commands fail
Reportedly, some "when I'm grown up I want to be a CD drive" fake USB CD sticks
like the IronKey neither support the SCSI "GET CONFIGURATION" nor the older
(pre-MMC2) "READ DISC INFORMATION" command. In that case, check if we can read
data from the drive, and assume that we have a CD-ROM medium if it succeeds.
---
extras/cdrom_id/cdrom_id.c | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
index 0153af6..f65f04f 100644
--- a/extras/cdrom_id/cdrom_id.c
+++ b/extras/cdrom_id/cdrom_id.c
@@ -350,6 +350,34 @@ static int feature_profiles(struct udev *udev, const unsigned char *profiles, si
return 0;
}
+static int cd_profiles_broken_mmc(struct udev *udev, int fd)
+{
+ struct scsi_cmd sc;
+ unsigned char buffer[16 * 2048];
+ int err;
+
+ /* we land here if both the standard and the old MMC commands failed;
+ * this might happen on broken wanna-be-CD USB drives like the IronKey.
+ * As a last resort, try to read data to see whether it has a medium.
+ */
+ 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, 16);
+ scsi_cmd_set(udev, &sc, 9, 0);
+ err = scsi_cmd_run(udev, &sc, fd, buffer, sizeof(buffer));
+ if ((err != 0)) {
+ info(udev, "READ DATA failed, assuming no medium\n");
+ return -1;
+ }
+
+ /* that's all we can claim if we can read data */
+ info(udev, "READ DATA succeeded, assuming CD-ROM medium\n");
+ cd_media = 1;
+ cd_media_cd_rom = 1;
+ return 0;
+}
+
static int cd_profiles_old_mmc(struct udev *udev, int fd)
{
struct scsi_cmd sc;
@@ -364,8 +392,8 @@ static int cd_profiles_old_mmc(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);
- info(udev, "no current profile, assuming no media\n");
- return -1;
+ info(udev, "no current profile, probing readability of medium\n");
+ return cd_profiles_broken_mmc(udev, fd);
};
cd_media = 1;
--
1.7.2.3

View file

@ -1,66 +0,0 @@
From 13e0fca5dff286921a8df0cd737e6e1224e53275 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Tue, 5 Oct 2010 14:57:04 +0200
Subject: [PATCH 6/9] Revert "cdrom_id: Try reading the medium if all MMC commands fail"
Turns out we can do this much simpler by assuming that cd_media_compat() works,
which seems to be the case for the IronKey.
This reverts commit ea88774a922c734afd751a59d8102bfa4806a1a6.
---
extras/cdrom_id/cdrom_id.c | 32 ++------------------------------
1 files changed, 2 insertions(+), 30 deletions(-)
diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
index f65f04f..0153af6 100644
--- a/extras/cdrom_id/cdrom_id.c
+++ b/extras/cdrom_id/cdrom_id.c
@@ -350,34 +350,6 @@ static int feature_profiles(struct udev *udev, const unsigned char *profiles, si
return 0;
}
-static int cd_profiles_broken_mmc(struct udev *udev, int fd)
-{
- struct scsi_cmd sc;
- unsigned char buffer[16 * 2048];
- int err;
-
- /* we land here if both the standard and the old MMC commands failed;
- * this might happen on broken wanna-be-CD USB drives like the IronKey.
- * As a last resort, try to read data to see whether it has a medium.
- */
- 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, 16);
- scsi_cmd_set(udev, &sc, 9, 0);
- err = scsi_cmd_run(udev, &sc, fd, buffer, sizeof(buffer));
- if ((err != 0)) {
- info(udev, "READ DATA failed, assuming no medium\n");
- return -1;
- }
-
- /* that's all we can claim if we can read data */
- info(udev, "READ DATA succeeded, assuming CD-ROM medium\n");
- cd_media = 1;
- cd_media_cd_rom = 1;
- return 0;
-}
-
static int cd_profiles_old_mmc(struct udev *udev, int fd)
{
struct scsi_cmd sc;
@@ -392,8 +364,8 @@ static int cd_profiles_old_mmc(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);
- info(udev, "no current profile, probing readability of medium\n");
- return cd_profiles_broken_mmc(udev, fd);
+ info(udev, "no current profile, assuming no media\n");
+ return -1;
};
cd_media = 1;
--
1.7.2.3

View file

@ -1,38 +0,0 @@
From 678df8a461c7573bf423a39be383bc7b70d943df Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Tue, 5 Oct 2010 14:59:51 +0200
Subject: [PATCH 7/9] cdrom_id: Fall back to CDROM_DRIVE_STATUS if all MMC commands fail
Reportedly, some "when I'm grown up I want to be a CD drive" fake USB CD sticks
like the IronKey neither support the SCSI "GET CONFIGURATION" nor the older
(pre-MMC2) "READ DISC INFORMATION" command. In that case, check if
cd_media_compat() detected that there is a disc present, and assume that we
have a CD-ROM medium.
---
extras/cdrom_id/cdrom_id.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
index 0153af6..e7a3e40 100644
--- a/extras/cdrom_id/cdrom_id.c
+++ b/extras/cdrom_id/cdrom_id.c
@@ -364,8 +364,14 @@ static int cd_profiles_old_mmc(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);
- info(udev, "no current profile, assuming no media\n");
- return -1;
+ if (cd_media == 1) {
+ info(udev, "no current profile, but disc is present; assuming CD-ROM\n");
+ cd_media_cd_rom = 1;
+ return 0;
+ } else {
+ info(udev, "no current profile, assuming no media\n");
+ return -1;
+ }
};
cd_media = 1;
--
1.7.2.3

View file

@ -1,56 +0,0 @@
From 1ebd2a5620c93ef4698485d392c19ded675412d2 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Tue, 5 Oct 2010 17:56:19 +0200
Subject: [PATCH 8/9] cdrom_id: Don't read beyond "last track" in TOC
Read the first and last track from the TOC header, and do not go beyond that
stated number of tracks when reading the TOC. Otherwise we interpret random
data which leads to bogus tracks. (Reported on an IronKey, which reported 1
data track, and 4 audio tracks which weren't actually present.)
---
extras/cdrom_id/cdrom_id.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
index e7a3e40..1b43fe4 100644
--- a/extras/cdrom_id/cdrom_id.c
+++ b/extras/cdrom_id/cdrom_id.c
@@ -712,7 +712,7 @@ static int cd_media_toc(struct udev *udev, int fd)
struct scsi_cmd sc;
unsigned char header[12];
unsigned char toc[2048];
- unsigned int len, i;
+ unsigned int len, i, num_tracks;
unsigned char *p;
int err;
@@ -728,11 +728,13 @@ static int cd_media_toc(struct udev *udev, int fd)
}
len = (header[0] << 8 | header[1]) + 2;
- info(udev, "READ TOC: len: %d\n", len);
+ info(udev, "READ TOC: len: %d, start track: %d, end track: %d\n", len, header[2], header[3]);
if (len > sizeof(toc))
return -1;
if (len < 2)
return -1;
+ /* 2: first track, 3: last track */
+ num_tracks = header[3] - header[2] + 1;
/* empty media has no tracks */
if (len < 8)
@@ -750,7 +752,10 @@ static int cd_media_toc(struct udev *udev, int fd)
return -1;
}
- for (p = toc+4, i = 4; i < len-8; i += 8, p += 8) {
+ /* Take care to not iterate beyond the last valid track as specified in
+ * the TOC, but also avoid going beyond the TOC length, just in case
+ * the last track number is invalidly large */
+ for (p = toc+4, i = 4; i < len-8 && num_tracks > 0; i += 8, p += 8, --num_tracks) {
unsigned int block;
unsigned int is_data_track;
--
1.7.2.3

View file

@ -1,124 +0,0 @@
From d7cd2b16110c806128747ee245aaa883dd52039d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 7 Oct 2010 17:02:21 +0200
Subject: [PATCH 9/9] cdrom_id: request the drive profile features with a dynamic length
Some drives don't like huge feature buffers, so we query twice. First
run for the current profile and to get the length.
Second time we query the whole profile feature set.
---
extras/cdrom_id/cdrom_id.c | 81 ++++++++++++++++++++++++++++---------------
1 files changed, 53 insertions(+), 28 deletions(-)
diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
index 1b43fe4..ec001cd 100644
--- a/extras/cdrom_id/cdrom_id.c
+++ b/extras/cdrom_id/cdrom_id.c
@@ -398,12 +398,12 @@ static int cd_profiles(struct udev *udev, int fd)
unsigned int i;
int err;
+ /* First query the current profile */
scsi_cmd_init(udev, &sc, features, sizeof(features));
scsi_cmd_set(udev, &sc, 0, 0x46);
- scsi_cmd_set(udev, &sc, 7, (sizeof(features) >> 8) & 0xff);
- scsi_cmd_set(udev, &sc, 8, sizeof(features) & 0xff);
+ scsi_cmd_set(udev, &sc, 8, 8);
scsi_cmd_set(udev, &sc, 9, 0);
- err = scsi_cmd_run(udev, &sc, fd, features, sizeof(features));
+ err = scsi_cmd_run(udev, &sc, fd, features, 8);
if ((err != 0)) {
info_scsi_cmd_err(udev, "GET CONFIGURATION", err);
/* handle pre-MMC2 drives which do not support GET CONFIGURATION */
@@ -415,31 +415,6 @@ static int cd_profiles(struct udev *udev, int fd)
return -1;
}
- len = features[0] << 24 | features[1] << 16 | features[2] << 8 | features[3];
- info(udev, "GET CONFIGURATION: size of features buffer 0x%04x\n", len);
-
- if (len > sizeof(features)) {
- info(udev, "can not get features in a single query, truncating\n");
- len = sizeof(features);
- }
-
- /* device features */
- for (i = 8; i+4 < len; i += (4 + features[i+3])) {
- unsigned int feature;
-
- feature = features[i] << 8 | features[i+1];
-
- switch (feature) {
- case 0x00:
- info(udev, "GET CONFIGURATION: feature 'profiles', with %i entries\n", features[i+3] / 4);
- feature_profiles(udev, &features[i]+4, features[i+3]);
- break;
- default:
- info(udev, "GET CONFIGURATION: feature 0x%04x <ignored>, with 0x%02x bytes\n", feature, features[i+3]);
- break;
- }
- }
-
cur_profile = features[6] << 8 | features[7];
if (cur_profile > 0) {
info(udev, "current profile 0x%02x\n", cur_profile);
@@ -553,6 +528,56 @@ static int cd_profiles(struct udev *udev, int fd)
info(udev, "profile 0x%02x <ignored>\n", cur_profile);
break;
}
+
+
+ len = features[0] << 24 | features[1] << 16 | features[2] << 8 | features[3];
+ info(udev, "GET CONFIGURATION: size of features buffer 0x%04x\n", len);
+
+ if (len > sizeof(features)) {
+ info(udev, "can not get features in a single query, truncating\n");
+ len = sizeof(features);
+ } else if (len <= 8) {
+ len = sizeof(features);
+ }
+
+ /* Now get the full feature buffer */
+ scsi_cmd_init(udev, &sc, features, len);
+ scsi_cmd_set(udev, &sc, 0, 0x46);
+ scsi_cmd_set(udev, &sc, 7, ( len >> 8 ) & 0xff);
+ scsi_cmd_set(udev, &sc, 8, len & 0xff);
+ scsi_cmd_set(udev, &sc, 9, 0);
+ err = scsi_cmd_run(udev, &sc, fd, features, len);
+ if ((err != 0)) {
+ info_scsi_cmd_err(udev, "GET CONFIGURATION", err);
+ return -1;
+ }
+
+ /* parse the length once more, in case the drive decided to have other features suddenly :) */
+ len = features[0] << 24 | features[1] << 16 | features[2] << 8 | features[3];
+ info(udev, "GET CONFIGURATION: size of features buffer 0x%04x\n", len);
+
+ if (len > sizeof(features)) {
+ info(udev, "can not get features in a single query, truncating\n");
+ len = sizeof(features);
+ }
+
+ /* device features */
+ for (i = 8; i+4 < len; i += (4 + features[i+3])) {
+ unsigned int feature;
+
+ feature = features[i] << 8 | features[i+1];
+
+ switch (feature) {
+ case 0x00:
+ info(udev, "GET CONFIGURATION: feature 'profiles', with %i entries\n", features[i+3] / 4);
+ feature_profiles(udev, &features[i]+4, features[i+3]);
+ break;
+ default:
+ info(udev, "GET CONFIGURATION: feature 0x%04x <ignored>, with 0x%02x bytes\n", feature, features[i+3]);
+ break;
+ }
+ }
+
return 0;
}
--
1.7.2.3

View file

@ -1,6 +0,0 @@
Patch:
@for i in 0*.patch; do n=$$[$$(echo $$i|cut -f 1 -d '-'|sed -e 's#^0*##')]; echo "Patch$$n: $$i";done
patch:
@for i in 0*.patch; do n=$$[$$(echo $$i|cut -f 1 -d '-'|sed -e 's#^0*##')]; echo "%patch$$n -p1 -b .git$$n";done

1
dead.package Normal file
View file

@ -0,0 +1 @@
obsolete udev, it is replaced by systemd

View file

@ -1 +0,0 @@
ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/

View file

@ -1,2 +0,0 @@
2f42aff9f8c7258fecde71df321032b7 udev-161.tar.bz2.sign
95b6a0ffc9913f3e8021c65f51eb4f88 udev-161.tar.bz2

View file

@ -1,79 +0,0 @@
#!/bin/bash
#
# start_udev
#
# script to initialize /dev by using udev.
#
# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
#
# Released under the GPL v2 only.
#
# This needs to be run at the earliest possible point in the boot
# process.
#
# Based on the udev init.d script
#
# Thanks go out to the Gentoo developers for proving
# that this is possible to do.
#
# Yes, it's very verbose, feel free to turn off all of the echo calls,
# they were there to make me feel better that everything was working
# properly during development...
#
# don't use udev if sysfs is not mounted.
export TZ=/etc/localtime
[ -d /sys/class ] || exit 1
[ -r /proc/mounts ] || exit 1
[ -x /sbin/udevd ] || exit 1
. /etc/init.d/functions
prog=udev
touch_recursive() {
( cd $1;
for i in *; do
[[ -c "$i" || -b "$i" ]] && touch --no-create "$i"
[ -d "$i" ] && touch_recursive "$i"
done )
return 0
}
ret=0
STRING=$"Starting $prog: "
# propagate /dev from /sys
echo -n "$STRING"
# turn off hotplug binary calling
if ! [ -x /sbin/hotplug ]; then
if [ -e /sys/kernel/uevent_helper ]; then
echo -e '\000\000\000\000' > /sys/kernel/uevent_helper
elif [ -e /proc/sys/kernel/hotplug ]; then
echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
fi
fi
[ -c /dev/systty ] && ln -fs tty0 /dev/systty
/sbin/udevd -d
ret=$[$ret + $?]
/sbin/udevadm trigger --type=subsystems --action=add
/sbin/udevadm trigger --type=devices --action=add
/sbin/udevadm settle
ret=$[$ret + $?]
# touch all device files for timezone glitches
# "find" is in /usr/bin and might not be available
if [ -f /etc/sysconfig/clock ]; then
. /etc/sysconfig/clock
[[ "$UTC" == "false" || "$UTC" == "no" ]] \
&& touch_recursive /dev > "/dev/null" 2>&1
fi
[ $ret -eq 0 ] && success $"$STRING" || failure $"$STRING"
echo
exit 0

View file

@ -1,8 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info
iD8DBQBMOkG1yGugalF9Dw4RAjB0AJ9ftRX/zmCiRcSyQWhcWJXsnXDn3gCeMFbR
KdR80Jxmitbil01dFfPzwEE=
=8B8M
-----END PGP SIGNATURE-----

View file

@ -1,20 +0,0 @@
diff -urN udev-161/extras/cdrom_id/cdrom_id.c udev-161.new/extras/cdrom_id/cdrom_id.c
--- udev-161/extras/cdrom_id/cdrom_id.c 2010-10-05 16:59:22.000000000 +0200
+++ udev-161.new/extras/cdrom_id/cdrom_id.c 2010-10-05 16:59:06.000000000 +0200
@@ -364,8 +364,14 @@
err = scsi_cmd_run(udev, &sc, fd, header, sizeof(header));
if ((err != 0)) {
info_scsi_cmd_err(udev, "READ DISC INFORMATION", err);
- info(udev, "no current profile, assuming no media\n");
- return -1;
+ if (cd_media == 1) {
+ info(udev, "no current profile, but disc is present; assuming CD-ROM\n");
+ cd_media_cd_rom = 1;
+ return 0;
+ } else {
+ info(udev, "no current profile, assuming no media\n");
+ return -1;
+ }
};
cd_media = 1;

View file

@ -1,25 +0,0 @@
commit 5e199245f2d2fd03c2586a7f1140300b073a4abe
Author: Harald Hoyer <harald@redhat.com>
Date: Thu Mar 17 20:36:20 2011 +0100
udev-acl/70-acl.rules: tag ID_REMOTE_CONTROL with acl
Used by "concordance" to access Logitech Harmony programmable remote
controls.
http://www.phildev.net/concordance/
diff --git a/extras/udev-acl/70-acl.rules b/extras/udev-acl/70-acl.rules
index dd5a7ab..037349d 100644
--- a/extras/udev-acl/70-acl.rules
+++ b/extras/udev-acl/70-acl.rules
@@ -52,6 +52,9 @@ ENV{ID_SMARTCARD_READER}=="*?", TAG+="udev-acl"
# PDA devices
ENV{ID_PDA}=="*?", TAG+="udev-acl"
+# Programmable remote control
+ENV{ID_REMOTE_CONTROL}=="1", TAG+="udev-acl"
+
# joysticks
SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="udev-acl"

View file

@ -1,345 +0,0 @@
commit 98ab6a377285d5943563cfa397e8b350e43878ec
Author: David Zeuthen <davidz@redhat.com>
Date: Tue Mar 15 12:05:00 2011 -0400
cdrom_id: Don't ignore profiles when there is no media available
Just because the GET CONFIGURATION MMC-2 command returns the current
profile as 0 does not mean that we can ignore the profiles describing
the capabilities of the drive - it only means that there currently is
no recognized media in the drive. Therefore, do process the returned
profiles even when cur_profile is 0.
This fixes a bug where only
ID_CDROM=1
ID_CDROM_CD_R=1
ID_CDROM_CD_RW=1
ID_CDROM_DVD=1
ID_CDROM_DVD_R=1
ID_CDROM_DVD_RAM=1
was returned when there is no media in the drive instead of
ID_CDROM=1
ID_CDROM_CD=1
ID_CDROM_CD_R=1
ID_CDROM_CD_RW=1
ID_CDROM_DVD=1
ID_CDROM_DVD_R=1
ID_CDROM_DVD_RW=1
ID_CDROM_DVD_RAM=1
ID_CDROM_DVD_PLUS_R=1
ID_CDROM_DVD_PLUS_RW=1
ID_CDROM_DVD_PLUS_R_DL=1
ID_CDROM_BD=1
ID_CDROM_BD_R=1
ID_CDROM_BD_RE=1
ID_CDROM_HDDVD=1
as is returned now.
Signed-off-by: David Zeuthen <davidz@redhat.com>
diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
index 4a58a49..b2f897e 100644
--- a/extras/cdrom_id/cdrom_id.c
+++ b/extras/cdrom_id/cdrom_id.c
@@ -261,6 +261,115 @@ static int cd_inquiry(struct udev *udev, int fd) {
return 0;
}
+static void feature_profile_media(struct udev *udev, int cur_profile)
+{
+ switch (cur_profile) {
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ info(udev, "profile 0x%02x \n", cur_profile);
+ cd_media = 1;
+ cd_media_mo = 1;
+ break;
+ case 0x08:
+ info(udev, "profile 0x%02x media_cd_rom\n", cur_profile);
+ cd_media = 1;
+ cd_media_cd_rom = 1;
+ break;
+ case 0x09:
+ info(udev, "profile 0x%02x media_cd_r\n", cur_profile);
+ cd_media = 1;
+ cd_media_cd_r = 1;
+ break;
+ case 0x0a:
+ info(udev, "profile 0x%02x media_cd_rw\n", cur_profile);
+ cd_media = 1;
+ cd_media_cd_rw = 1;
+ break;
+ case 0x10:
+ info(udev, "profile 0x%02x media_dvd_ro\n", cur_profile);
+ cd_media = 1;
+ cd_media_dvd_rom = 1;
+ break;
+ case 0x11:
+ info(udev, "profile 0x%02x media_dvd_r\n", cur_profile);
+ cd_media = 1;
+ cd_media_dvd_r = 1;
+ break;
+ case 0x12:
+ info(udev, "profile 0x%02x media_dvd_ram\n", cur_profile);
+ cd_media = 1;
+ 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_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);
+ cd_media = 1;
+ cd_media_dvd_plus_r = 1;
+ break;
+ case 0x1A:
+ info(udev, "profile 0x%02x media_dvd_plus_rw\n", cur_profile);
+ cd_media = 1;
+ cd_media_dvd_plus_rw = 1;
+ break;
+ case 0x2A:
+ info(udev, "profile 0x%02x media_dvd_plus_rw_dl\n", cur_profile);
+ cd_media = 1;
+ cd_media_dvd_plus_rw_dl = 1;
+ break;
+ case 0x2B:
+ info(udev, "profile 0x%02x media_dvd_plus_r_dl\n", cur_profile);
+ cd_media = 1;
+ cd_media_dvd_plus_r_dl = 1;
+ break;
+ case 0x40:
+ info(udev, "profile 0x%02x media_bd\n", cur_profile);
+ cd_media = 1;
+ cd_media_bd = 1;
+ break;
+ case 0x41:
+ case 0x42:
+ info(udev, "profile 0x%02x media_bd_r\n", cur_profile);
+ cd_media = 1;
+ cd_media_bd_r = 1;
+ break;
+ case 0x43:
+ info(udev, "profile 0x%02x media_bd_re\n", cur_profile);
+ cd_media = 1;
+ cd_media_bd_re = 1;
+ break;
+ case 0x50:
+ info(udev, "profile 0x%02x media_hddvd\n", cur_profile);
+ cd_media = 1;
+ cd_media_hddvd = 1;
+ break;
+ case 0x51:
+ info(udev, "profile 0x%02x media_hddvd_r\n", cur_profile);
+ cd_media = 1;
+ cd_media_hddvd_r = 1;
+ break;
+ case 0x52:
+ info(udev, "profile 0x%02x media_hddvd_rw\n", cur_profile);
+ cd_media = 1;
+ cd_media_hddvd_rw = 1;
+ break;
+ default:
+ info(udev, "profile 0x%02x <ignored>\n", cur_profile);
+ break;
+ }
+}
+
static int feature_profiles(struct udev *udev, const unsigned char *profiles, size_t size)
{
unsigned int i;
@@ -350,6 +459,7 @@ static int feature_profiles(struct udev *udev, const unsigned char *profiles, si
return 0;
}
+/* returns 0 if media was detected */
static int cd_profiles_old_mmc(struct udev *udev, int fd)
{
struct scsi_cmd sc;
@@ -389,6 +499,7 @@ static int cd_profiles_old_mmc(struct udev *udev, int fd)
return 0;
}
+/* returns 0 if media was detected */
static int cd_profiles(struct udev *udev, int fd)
{
struct scsi_cmd sc;
@@ -397,6 +508,9 @@ static int cd_profiles(struct udev *udev, int fd)
unsigned int len;
unsigned int i;
int err;
+ int ret;
+
+ ret = -1;
/* First query the current profile */
scsi_cmd_init(udev, &sc, features, sizeof(features));
@@ -410,126 +524,20 @@ static int cd_profiles(struct udev *udev, int fd)
if (SK(err) == 0x5 && ASC(err) == 0x20) {
info(udev, "drive is pre-MMC2 and does not support 46h get configuration command\n");
info(udev, "trying to work around the problem\n");
- return cd_profiles_old_mmc(udev, fd);
+ ret = cd_profiles_old_mmc(udev, fd);
}
- return -1;
+ goto out;
}
cur_profile = features[6] << 8 | features[7];
if (cur_profile > 0) {
info(udev, "current profile 0x%02x\n", cur_profile);
+ feature_profile_media (udev, cur_profile);
+ ret = 0; /* we have media */
} else {
info(udev, "no current profile, assuming no media\n");
- return -1;
}
- switch (cur_profile) {
- case 0x03:
- case 0x04:
- case 0x05:
- info(udev, "profile 0x%02x \n", cur_profile);
- cd_media = 1;
- cd_media_mo = 1;
- break;
- case 0x08:
- info(udev, "profile 0x%02x media_cd_rom\n", cur_profile);
- cd_media = 1;
- cd_media_cd_rom = 1;
- break;
- case 0x09:
- info(udev, "profile 0x%02x media_cd_r\n", cur_profile);
- cd_media = 1;
- cd_media_cd_r = 1;
- break;
- case 0x0a:
- info(udev, "profile 0x%02x media_cd_rw\n", cur_profile);
- cd_media = 1;
- cd_media_cd_rw = 1;
- break;
- case 0x10:
- info(udev, "profile 0x%02x media_dvd_ro\n", cur_profile);
- cd_media = 1;
- cd_media_dvd_rom = 1;
- break;
- case 0x11:
- info(udev, "profile 0x%02x media_dvd_r\n", cur_profile);
- cd_media = 1;
- cd_media_dvd_r = 1;
- break;
- case 0x12:
- info(udev, "profile 0x%02x media_dvd_ram\n", cur_profile);
- cd_media = 1;
- 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_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);
- cd_media = 1;
- cd_media_dvd_plus_r = 1;
- break;
- case 0x1A:
- info(udev, "profile 0x%02x media_dvd_plus_rw\n", cur_profile);
- cd_media = 1;
- cd_media_dvd_plus_rw = 1;
- break;
- case 0x2A:
- info(udev, "profile 0x%02x media_dvd_plus_rw_dl\n", cur_profile);
- cd_media = 1;
- cd_media_dvd_plus_rw_dl = 1;
- break;
- case 0x2B:
- info(udev, "profile 0x%02x media_dvd_plus_r_dl\n", cur_profile);
- cd_media = 1;
- cd_media_dvd_plus_r_dl = 1;
- break;
- case 0x40:
- info(udev, "profile 0x%02x media_bd\n", cur_profile);
- cd_media = 1;
- cd_media_bd = 1;
- break;
- case 0x41:
- case 0x42:
- info(udev, "profile 0x%02x media_bd_r\n", cur_profile);
- cd_media = 1;
- cd_media_bd_r = 1;
- break;
- case 0x43:
- info(udev, "profile 0x%02x media_bd_re\n", cur_profile);
- cd_media = 1;
- cd_media_bd_re = 1;
- break;
- case 0x50:
- info(udev, "profile 0x%02x media_hddvd\n", cur_profile);
- cd_media = 1;
- cd_media_hddvd = 1;
- break;
- case 0x51:
- info(udev, "profile 0x%02x media_hddvd_r\n", cur_profile);
- cd_media = 1;
- cd_media_hddvd_r = 1;
- break;
- case 0x52:
- info(udev, "profile 0x%02x media_hddvd_rw\n", cur_profile);
- cd_media = 1;
- cd_media_hddvd_rw = 1;
- break;
- default:
- info(udev, "profile 0x%02x <ignored>\n", cur_profile);
- break;
- }
-
-
len = features[0] << 24 | features[1] << 16 | features[2] << 8 | features[3];
info(udev, "GET CONFIGURATION: size of features buffer 0x%04x\n", len);
@@ -577,8 +585,8 @@ static int cd_profiles(struct udev *udev, int fd)
break;
}
}
-
- return 0;
+out:
+ return ret;
}
static int cd_media_info(struct udev *udev, int fd)
@@ -905,9 +913,12 @@ int main(int argc, char *argv[])
goto print;
/* read drive and possibly current profile */
- if (cd_profiles(udev, fd) < 0)
+ if (cd_profiles(udev, fd) != 0)
goto print;
+ /* at this point we are guaranteed to have media in the
+ * drive - find out more about it */
+
/* get session/track info */
cd_media_toc(udev, fd);

View file

@ -1,65 +0,0 @@
From 00fc377e7a6b1997db346c8de51cbf05cad48376 Mon Sep 17 00:00:00 2001
From: Paul Fox <pgf@laptop.org>
Date: Mon, 22 Aug 2011 06:39:06 +0200
Subject: [PATCH] keymap: update the OLPC keymap for correct function key
behavior
New mappings were needed when the mechanical keyboard was
introduced, and GNOME was made a peer to the sugar desktop.
see http://lists.laptop.org/pipermail/devel/2010-July/029384.html
---
extras/keymap/keymaps/olpc-xo | 38 ++++++++++++++++++++++++++------------
1 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/extras/keymap/keymaps/olpc-xo b/extras/keymap/keymaps/olpc-xo
index 7fe0662..34434a1 100644
--- a/extras/keymap/keymaps/olpc-xo
+++ b/extras/keymap/keymaps/olpc-xo
@@ -2,18 +2,32 @@
0x81 fn_esc
0xF9 camera
0xF8 sound # Fn-CAMERA = Mic
-0xBB fn_f1
-0xBC fn_f2
-0xBD fn_f3
-0xBE fn_f4
-0xBF fn_f5
-0xC0 fn_f6
-0xC1 fn_f7
-0xC2 fn_f8
-0xC3 fn_f9
-0xC4 fn_f10
-0xD7 fn_f11
-0xD8 fn_f12
+
+
+# Function key mappings, as per
+# http://dev.laptop.org/ticket/10213#comment:20
+#
+# Unmodified F1-F8 produce F1-F8, so no remap necessary.
+# Unmodified F9-F12 control brightness and volume.
+0x43 brightnessdown
+0x44 brightnessup
+0x57 volumedown
+0x58 volumeup
+
+# fn-modified fkeys all produce the unmodified version of the key.
+0xBB f1
+0xBC f2
+0xBD f3
+0xBE f4
+0xBF f5
+0xC0 f6
+0xC1 f7
+0xC2 f8
+0xC3 f9
+0xC4 f10
+0xD7 f11
+0xD8 f12
+
# Using F13-F21 for the .5 F keys right now.
0xF7 f13
--
1.7.4.4

View file

@ -1,20 +0,0 @@
commit d69207c3f20f0af2a5e510515ae5473f4fe54476
Author: Harald Hoyer <harald@redhat.com>
Date: Fri Nov 12 15:44:34 2010 +0100
70-acl.rules: add ACLs for ID_PDA devices
diff --git a/extras/udev-acl/70-acl.rules b/extras/udev-acl/70-acl.rules
index c7134bc..66375de 100644
--- a/extras/udev-acl/70-acl.rules
+++ b/extras/udev-acl/70-acl.rules
@@ -47,6 +47,9 @@ SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="udev-acl"
# smart-card readers
ENV{ID_SMARTCARD_READER}=="*?", TAG+="udev-acl"
+# PDA devices
+ENV{ID_PDA}=="*?", TAG+="udev-acl"
+
# joysticks
SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="udev-acl"

View file

@ -1,67 +0,0 @@
#!/bin/bash
#
# udev-post Post script for udev, after all filesystems are mounted
#
# Authors: Harald Hoyer <harald@redhat.com>
#
# chkconfig: 12345 26 75
# description: Moves the generated persistent udev rules to /etc/udev/rules.d
#
### BEGIN INIT INFO
# Default-Start: 12345
# Default-Stop: 0 6
# Required-Start: $local_fs
# Required-Stop:
# Short-Description: Moves the generated persistent udev rules to /etc/udev/rules.d
# Description: Moves the generated persistent udev rules to /etc/udev/rules.d
# Provides: udev-post
### END INIT INFO
. /etc/rc.d/init.d/functions
# See how we were called.
case "$1" in
start|reload)
[ -w /var/lock/subsys ] || exit 4
STRING=$"Retrigger failed udev events"
echo -n $STRING
/sbin/udevadm trigger --type=failed --action=add
success "$STRING"
echo
STRING=$"Adding udev persistent rules"
# copy the rules generated before / was mounted read-write
for file in /dev/.udev/tmp-rules--*; do
dest=${file##*tmp-rules--}
# check, if anything is todo
[ "$dest" = '*' ] && exit 0
echo -n $STRING
cat $file >> /etc/udev/rules.d/$dest
rc=$?
rm -f $file
if [ "$rc" -eq "0" ]; then
success "$STRING"
echo
elif [ "$rc" -eq "1" ]; then
failure "$STRING"
echo
fi
done
touch /var/lock/subsys/udev-post
exit 0
;;
stop)
[ -w /var/lock/subsys ] || exit 4
rm -f /var/lock/subsys/udev-post
exit 0
;;
status)
exit 3
;;
*)
echo $"Usage: $0 {start|stop|reload}"
exit 2
esac
exit 0

View file

@ -1,17 +0,0 @@
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;

View file

@ -1,24 +0,0 @@
commit 851dd4ddc5aeb1ee517145d9e3334c2017595321
Author: Harald Hoyer <harald@redhat.com>
Date: Fri Nov 12 14:39:14 2010 +0100
udev-rules.c: change import property buffer to 16384 bytes
import_program_into_properties() should have the same line length as
import_file_into_properties()
see also https://bugzilla.redhat.com/show_bug.cgi?id=652318
diff --git a/udev/udev-rules.c b/udev/udev-rules.c
index 52f121c..ab7b6ae 100644
--- a/udev/udev-rules.c
+++ b/udev/udev-rules.c
@@ -751,7 +751,7 @@ static int import_program_into_properties(struct udev_device *dev, const char *p
{
struct udev *udev = udev_device_get_udev(dev);
char **envp;
- char result[4096];
+ char result[UTIL_LINE_SIZE];
size_t reslen;
char *line;

View file

@ -1,45 +0,0 @@
From 4ace8a43ac2cbbd4d6f5c29fc461c3caa8f8545b Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@vrfy.org>
Date: Tue, 15 Feb 2011 17:24:32 +0100
Subject: [PATCH] v4l_id: kill the v4l1 ioctl
Recent kernels do not have v4l1 anymore.
---
extras/v4l_id/v4l_id.c | 14 --------------
1 files changed, 0 insertions(+), 14 deletions(-)
diff --git a/extras/v4l_id/v4l_id.c b/extras/v4l_id/v4l_id.c
index d530a6d..f3fc648 100644
--- a/extras/v4l_id/v4l_id.c
+++ b/extras/v4l_id/v4l_id.c
@@ -28,7 +28,6 @@
#include <sys/types.h>
#include <sys/time.h>
#include <sys/ioctl.h>
-#include <linux/videodev.h>
#include <linux/videodev2.h>
int main (int argc, char *argv[])
@@ -82,19 +81,6 @@ int main (int argc, char *argv[])
if ((v2cap.capabilities & V4L2_CAP_RADIO) > 0)
printf("radio:");
printf("\n");
- } else if (ioctl (fd, VIDIOCGCAP, &v1cap) == 0) {
- printf("ID_V4L_VERSION=1\n");
- printf("ID_V4L_PRODUCT=%s\n", v1cap.name);
- printf("ID_V4L_CAPABILITIES=:");
- if ((v1cap.type & VID_TYPE_CAPTURE) > 0)
- printf("capture:");
- if ((v1cap.type & VID_TYPE_OVERLAY) > 0)
- printf("video_overlay:");
- if (v1cap.audios > 0)
- printf("audio:");
- if ((v1cap.type & VID_TYPE_TUNER) > 0)
- printf("tuner:");
- printf("\n");
}
close (fd);
--
1.7.4.4

View file

@ -1,24 +0,0 @@
From 89284ddac413d376fc3b56f742daaf1b9bc85bba Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@vrfy.org>
Date: Tue, 15 Feb 2011 17:27:29 +0100
Subject: [PATCH] v4l_id: remove left-over variable
---
extras/v4l_id/v4l_id.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/extras/v4l_id/v4l_id.c b/extras/v4l_id/v4l_id.c
index f3fc648..21cb328 100644
--- a/extras/v4l_id/v4l_id.c
+++ b/extras/v4l_id/v4l_id.c
@@ -38,7 +38,6 @@ int main (int argc, char *argv[])
};
int fd;
char *device;
- struct video_capability v1cap;
struct v4l2_capability v2cap;
while (1) {
--
1.7.4.4

1663
udev.spec

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
udev-145.tar.bz2

View file

@ -1,54 +0,0 @@
pub 1024D/517D0F0E 2000-10-10 Linux Kernel Archives Verification Key <ftpadmin@kernel.org>
Key fingerprint = C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E
sub 4096g/E50A8F2A 2000-10-10
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.3 (GNU/Linux)
Comment: For info see http://www.gnupg.org
mQGiBDnirDkRBADCTL/iUTeZKb0tiAcKdZdsUP/KSnrGGjlinolUAsUC0D6/hUB1
RdCpJOOERTIEr1yvehqDM7veRhNMoxJNQxa/sSrkywey5qc8uaskUNEqenimq/70
bahWJeoWXjad68mQFh65lULnHQrrioeJnh9UpyGJppNb/yIjdnymH9aYEwCglgP7
UegBzH22h8NVQEK2PWWbyUUD/jQA4lI0wRWcL9HpkYkHcH0LTKRB9zYpQYtyvzJi
yTGwJyFMfYNXy0RT11dICeLkf3HMR84hkPERKMhALobLxVUbfc7j2AygmzGphWGy
DH/xjptQP/zrsq87ylYRONK18w1J42cm+yZa4XThMDPJMrb9/l8qnxU1JnW7W1al
HKTpBACbs+91KLqrnIGcF44TMwxgUj5CUrayPoEnLU+ZMBqfSjmu8RqEYmTxJCKv
7erBFSuazBGj5X7twunrtrW3bxO63MbLbHjfXSRrMnKOb8dRULIg6eWAnoAx8VVZ
YjrOpwAntU3WxYOpbiCHt9kLbb+N5rvNtFcmOqRRQaCIUFOOaLQ8TGludXggS2Vy
bmVsIEFyY2hpdmVzIFZlcmlmaWNhdGlvbiBLZXkgPGZ0cGFkbWluQGtlcm5lbC5v
cmc+iFUEExECABUFAjnirDkDCwoDAxUDAgMWAgECF4AACgkQyGugalF9Dw4MNACe
JiQTyCmQzPGou2cl/RyOXj79kYYAnAsT6xt72hp/PFiywYM9vBsDVv9niQEVAwUQ
OeKwNWx5eAAqlgcFAQEdZgf/Vn2dMKrn8021NhavP0uA3pHGRmdKQ2WJBdLiN2tv
LkpAioZtho+op+xBz8j1zdIJQ/7XWko869KHge2BAFwA8rWDzjtaAWdE0Jo/NiAR
epUwV2FdRRwSxIcNG2CCPyJnfPokRqjdl2z9k2PkwidHSq+2k6JxCWnOcIXChSKf
kHnemtA65ixAlhuxvyN3MPuYs1jAHyDGcyMfomp1qH9tXFQhhyXRrG2eMAfslstC
XGXLcoLN3O2BMR/fG2GlV6kOqGOvoMIW3clVeQLQ9B1yyekKiVY6Vg+CgK5qhg8z
9tjH4f33zzNDwsx1WSCOU/1LIPzFBNbR9QtTF2XmOUfRs4hGBBARAgAGBQI54rBc
AAoJEH2d7s4ry8YhmjsAoMUW9RxfXBSos0A6LwGd+5pXv/MRAKCYFLG2T4GSV+qf
iRsXnrgDHQHD04hGBBARAgAGBQI54rOZAAoJEPKlddweGoeC/+sAoL5f7JF21mRe
Z8VV4nhh7prm+idSAKCMXDWW/tBOeJDYpiEhgyGSGgJJWrkEDQQ54q+cEBAAjRmb
txamcZ9EYsQTnQvVL2l6vY5Rnbc1JDdcyHEV1kH5OwZWqvckL4QgKKBbTQwyB9pC
o0nGK4PkBbrwL0outfHQ5jl9DUzTKIu+asWUyf3fxfUV6j2A6BMo59KNnJzUyJ2+
B5na6NN8nEqEtmogROtjT8LkOvYwqD4A/5re2vwtie+h5yU6A+JbyGQF6lFxThZj
4WGctBgCcDBqRkPAG8DFFAdeN5SMAArktCYuUGXi2q88EDoOs3Ykw0kB8+ZFECz/
4/b93so5Wt2hC15cxAJoXFfR3mXHm40EHzMdEublWV4blB2KvFocQC74/H74QPUk
cWlc6EhPodKvcuOfTimDxXaiGNFONUPgNAmCXeVoOapdWpb3x7iOHPwSaXeJSrO9
fc4GtVjDv90DT2ekK7cvYk8s6B3t7p7W21Xi+hRgrw63B3HElr01gdMZY5XA5ey/
WmnyBS6LOxXlnVBE+2uSQ+aZHqrLpXcRvq2ZonOziDSE0i940ZvIwlSzn0U5BQWl
9hBDQw78RacYqaFvlpcGiPj75bScB4eemxV6Wdo9mtK0Vrr+9bWScXHEv7did4X+
7tBWKbA8M+g290OSzjeQBGLuPmbjxzEKH9jcUumzBzzC5x5GFh7On9TLXQ4K/oRT
6QQpS93YrTVbR60G4MKsePWLJmg7IgYUtNdLGjsAAwUP/0aAAq8CmWtourj1XxNY
pFmOAU45d65fPWVadKyF++B+uDyRNYN7HQCqrJ7ddn0sH7OBtlE8yaBYgR0TFly9
9+LqQO4r4IGCw2TBgA5tKnOWoPGEzvrLeoxR3SnPrKBlDvx6Rr9h3OJ9UV5u/NLh
mCP9iN10gWCGzsWbONc6qD6PugbTur44D6s4CRK9xfliSrtG3GBHW914UKjJeB9s
e3oc1rkmNv39kKcu33w4XVETAj4qpXnwoJvy639dfvnQt1TWFjIt20iP7m+jkT3B
b526uJ5GuJl6r8sm5OYYRs5cLigvUzRZVgYnjjqlRRACx0WcinKK55Li2Pq4qcRV
vSE5Tr3kTUTGxdmy113FbscrhLhesGALv3Hb7jeeWC8jviGEaHppgUumR6v0hsI1
rZ3K8kCjFRAYV8OKtcEeMqjouArGi5dn0ClmG4lwH4SEdqC/TRNWGG+iVpWf5yCj
9mvtvUhLtl6QjXHLrJdSGyafvqR1EQMJadFt4URvx0M7tqZIcwPUnb+7Oc+J96po
e/EQmnm6rFnTpWz0BbY4mbJC7vUH4JyLs0nlxiKrBjaO9C1DSAKBpjqaga8dQe1Z
kLOI2F7IWFeKV2LaMl+ZvvfWMECNcqNW2fkCuP9Fpz5K+xg21TwovVy93aWKgFL6
06jK51oQp3fW86xXK9ZGKYqQiEYEGBECAAYFAjnir5wACgkQyGugalF9Dw5M9QCg
hhmHalzWf8B3AVrjPrtrRHA1vlgAn3YRlU5l0V5W1iXvHXQCUHIESpgm
=SZZb
-----END PGP PUBLIC KEY BLOCK-----