Compare commits

..

46 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
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
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
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
57a491c1af - renamed udev-post initscript to udev-retry to match
upstream systemd service name
- version 166
2011-02-16 18:27:27 +01:00
18 changed files with 1 additions and 2530 deletions

6
.gitignore vendored
View file

@ -1,6 +0,0 @@
udev-160.tar.bz2
/udev-164.tar.bz2
/udev-164.tar.bz2.sign
/udev-166.tar.bz2
/udev-166.tar.bz2.sign
/udev-167.tar.bz2

View file

@ -1,56 +0,0 @@
From 42b9482ab2da64b4c2f254c227c0efaf83988a84 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz@redhat.com>
Date: Wed, 30 Mar 2011 08:11:03 -0400
Subject: [PATCH] Run ata_id on non-removable USB devices
If a USB device is marked as removable, it is often a SATA/PATA disk
in an enclosure (note that flash card readers and usb storage sticks
are always marked as removable). In this case, try running ata_id
(which sends ATA commands wrapped in SCSI ATA PASS THROUGH commands)
to get information about the disk. If this fails, just fall back to
running usb_id since it could be the device isn't an ATA device at
all or the device doesn't have a SAT layer.
This extra information is nice to have as it indicates if it is
suitable to send e.g. SMART commands to the disk, whether the disk
supports power management and so on. Additionally, the VPD and serial
number returned by ata_id is usually more accurate as it stems from
the disk itself instead of the enclosure.
Note that udisks has been doing this for a while
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
so this change shouldn't be too disruptive (udisks-probe-ata-smart
also sends ATA commands via the ATA PASS THROUGH command).
Signed-off-by: David Zeuthen <davidz@redhat.com>
---
rules/rules.d/60-persistent-storage.rules | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/rules/rules.d/60-persistent-storage.rules b/rules/rules.d/60-persistent-storage.rules
index 6a9abdd..12fabef 100644
--- a/rules/rules.d/60-persistent-storage.rules
+++ b/rules/rules.d/60-persistent-storage.rules
@@ -22,14 +22,18 @@ ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
KERNEL=="vd*[!0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}"
KERNEL=="vd*[0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}-part%n"
-# USB devices use their own serial number
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p"
# ATA devices with their own "ata" kernel subsystem
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="ata", IMPORT{program}="ata_id --export $tempnode"
# ATA devices using the "scsi" subsystem
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="ATA", IMPORT{program}="ata_id --export $tempnode"
# ATA/ATAPI devices (SPC-3 or later) using the "scsi" subsystem
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{type}=="5", ATTRS{scsi_level}=="[6-9]*", IMPORT{program}="ata_id --export $tempnode"
+
+# Run ata_id on non-removable USB Mass Storage (SATA/PATA disks in enclosures)
+KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", ATTR{removable}=="0", SUBSYSTEMS=="usb", IMPORT{program}="ata_id --export $tempnode"
+# Otherwise fall back to using usb_id for USB devices
+KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p"
+
# scsi devices
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="scsi"
KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="cciss"

View file

@ -1,51 +0,0 @@
From daf32d32172e19e78754999b41c27b45e3629326 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@vrfy.org>
Date: Thu, 31 Mar 2011 13:15:47 +0200
Subject: [PATCH] systemd: let settle depend on trigger, do not block basic with trigger
---
init/udev-settle.service.in | 15 +++++++++------
init/udev-trigger.service.in | 1 -
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/init/udev-settle.service.in b/init/udev-settle.service.in
index be06a39..bda8626 100644
--- a/init/udev-settle.service.in
+++ b/init/udev-settle.service.in
@@ -1,15 +1,18 @@
-# This barrier service is usually not enabled by default. If enabled,
-# it acts as a barrier for basic.target -- so all later services will
+# This service is usually not enabled by default. If enabled, it
+# acts as a barrier for basic.target -- so all later services will
# wait for udev completely finishing its coldplug run.
#
-# It might be enabled just unconditionally, or pulled-in on-demand by
-# broken or non-hotplug-aware services that assume a fully populated
-# /dev at startup.
+# If needed, to work around broken or non-hotplug-aware services,
+# it might be enabled unconditionally, or pulled-in on-demand by
+# the services that assume a fully populated /dev at startup. It
+# should not be used or pulled-in ever on systems without such
+# legacy services running.
[Unit]
Description=udev Wait for Complete Device Initialization
DefaultDependencies=no
-After=udev.service
+Requires=udev.service
+After=udev-trigger.service
Before=basic.target
[Service]
diff --git a/init/udev-trigger.service.in b/init/udev-trigger.service.in
index 0ede317..745974a 100644
--- a/init/udev-trigger.service.in
+++ b/init/udev-trigger.service.in
@@ -2,7 +2,6 @@
Description=udev Coldplug all Devices
Requires=udev.service
After=udev.service
-Before=basic.target
DefaultDependencies=no
[Service]

View file

@ -1,29 +0,0 @@
From ff4a035a8aaba6a7b5b85c4b348886d72c42e84c Mon Sep 17 00:00:00 2001
From: Lee, Chun-Yi <joeyli.kernel@gmail.com>
Date: Thu, 31 Mar 2011 18:01:05 +0800
Subject: [PATCH] Add rule for Acer Aspire One ZG8 to use acer-aspire_5720 keymap
Acer Aspire One ZG8's bluetooth HW key emit 0xD9 scancode, it must map
to KEY_BLUETOOTH like Acer Aspire 5720. So, add rule for Acer Aspire One
ZG8 use acer-aspire_5720 keymap.
Tested on Acer Aspire One ZG8 netbook.
Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
---
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 0c3ae38..44d5064 100644
--- a/extras/keymap/95-keymap.rules
+++ b/extras/keymap/95-keymap.rules
@@ -100,6 +100,7 @@ ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="Aspire 6920", RUN+="keyma
ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="Aspire 5920G", RUN+="keymap $name acer-aspire_5920g"
ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="Aspire 5720*", RUN+="keymap $name acer-aspire_5720"
ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_name}=="Aspire 8930", RUN+="keymap $name acer-aspire_8930"
+ENV{DMI_VENDOR}=="Acer*", ATTR{[dmi/id]product_serial}=="ZG8*", RUN+="keymap $name acer-aspire_5720"
ENV{DMI_VENDOR}=="*BenQ*", ATTR{[dmi/id]product_name}=="*Joybook R22*", RUN+="keymap $name 0x6E wlan"

View file

@ -1,22 +0,0 @@
From 6ee9b2cb8cf023253853f1c80e707598685b11f3 Mon Sep 17 00:00:00 2001
From: Thomas Egerer <thomas.egerer@secunet.com>
Date: Thu, 31 Mar 2011 17:25:31 +0200
Subject: [PATCH] udevd: add 'N:' to optstring in getopt_long
---
udev/udevd.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/udev/udevd.c b/udev/udevd.c
index 1871474..a8b339f 100644
--- a/udev/udevd.c
+++ b/udev/udevd.c
@@ -1118,7 +1118,7 @@ int main(int argc, char *argv[])
for (;;) {
int option;
- option = getopt_long(argc, argv, "c:deDthV", options, NULL);
+ option = getopt_long(argc, argv, "c:deDtN:hV", options, NULL);
if (option == -1)
break;

View file

@ -1,34 +0,0 @@
From 9bb54267a1483e8f3b2de352c7be433f625e5606 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Thu, 31 Mar 2011 19:23:19 +0200
Subject: [PATCH] Revert "Do not build extras with --disable-extras"
This reverts commit 905818f5961446ac32d1b2d165185fffddc4915a.
We do want to build some extras, just not the ones with extra dependencies.
Thanks to Juergen Daubert for pointing this out.
---
Makefile.am | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index df70bf7..2c20f46 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -225,7 +225,6 @@ dist_udevrules_DATA += \
extras/rule_generator/75-cd-aliases-generator.rules \
extras/rule_generator/75-persistent-net-generator.rules
-if ENABLE_EXTRAS
# ------------------------------------------------------------------------------
# firmware - firmware loading
# ------------------------------------------------------------------------------
@@ -314,8 +313,6 @@ extras_v4l_id_v4l_id_LDADD = libudev/libudev-private.la
libexec_PROGRAMS += extras/v4l_id/v4l_id
dist_udevrules_DATA += extras/v4l_id/60-persistent-v4l.rules
-endif # ENABLE_EXTRAS
-
# ------------------------------------------------------------------------------
# qemu -- qemu/kvm guest tweaks
# ------------------------------------------------------------------------------

View file

@ -1,45 +0,0 @@
From 55eb500cc5465babf1fd773dbcceeb90eeefd997 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt@ubuntu.com>
Date: Mon, 4 Apr 2011 11:47:54 +0200
Subject: [PATCH] Avoid spinning up CD on pressing eject button
When the CD tray door is locked and the hardware eject button is pressed, newer
kernels (2.6.38+) will send out a change event with a DISK_EJECT_REQUEST==1
property. Do not run cdrom_id and blkid in this case, as the media state and
contents does not change, and this only needlessly spins up the drive again
right before ejection.
---
extras/cdrom_id/60-cdrom_id.rules | 3 +++
rules/rules.d/60-persistent-storage.rules | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/extras/cdrom_id/60-cdrom_id.rules b/extras/cdrom_id/60-cdrom_id.rules
index b3109f1..aedf6f0 100644
--- a/extras/cdrom_id/60-cdrom_id.rules
+++ b/extras/cdrom_id/60-cdrom_id.rules
@@ -5,6 +5,9 @@ SUBSYSTEM!="block", GOTO="cdrom_end"
KERNEL!="sr[0-9]*|xvd*", GOTO="cdrom_end"
ENV{DEVTYPE}!="disk", GOTO="cdrom_end"
+# this is only a button press event
+ENV{DISK_EJECT_REQUEST}=="?*", GOTO="cdrom_end"
+
KERNEL=="sr[0-9]*", ENV{ID_CDROM}="1"
IMPORT{program}="cdrom_id --export $tempnode"
diff --git a/rules/rules.d/60-persistent-storage.rules b/rules/rules.d/60-persistent-storage.rules
index 12fabef..05a405f 100644
--- a/rules/rules.d/60-persistent-storage.rules
+++ b/rules/rules.d/60-persistent-storage.rules
@@ -62,9 +62,9 @@ ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PA
ENV{DEVTYPE}=="disk", KERNEL!="sd*|sr*", ATTR{removable}=="1", GOTO="persistent_storage_end"
# probe filesystem metadata of optical drives which have a media inserted
-KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", IMPORT{program}="/sbin/blkid -o udev -p -u noraid -O $env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
+KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", IMPORT{program}="/sbin/blkid -o udev -p -u noraid -O $env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
-KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"
+KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"
# probe filesystem metadata of disks
KERNEL!="sr*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode"

View file

@ -1,56 +0,0 @@
From 5e0ec43fc40e3e6dd0e44a7d617846879e1dac9e Mon Sep 17 00:00:00 2001
From: Seth Forshee <seth.forshee@canonical.com>
Date: Tue, 5 Apr 2011 11:43:00 -0500
Subject: [PATCH] keymap: Support Dell Latitude XT2 tablet-mode navigation keys
The XT2 has a rocker (up/down/enter) and back button on the side
in tablet mode, none of which work currently. Add entries for
these keys.
There is some overlap here with scan codes used in other Dell
models, so these buttons are put in a new file specific to this
model.
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
---
Makefile.am | 1 +
extras/keymap/95-keymap.rules | 1 +
extras/keymap/keymaps/dell-latitude-xt2 | 4 ++++
3 files changed, 6 insertions(+), 0 deletions(-)
create mode 100644 extras/keymap/keymaps/dell-latitude-xt2
diff --git a/Makefile.am b/Makefile.am
index 2c20f46..4244089 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -568,6 +568,7 @@ dist_udevkeymap_DATA = \
extras/keymap/keymaps/asus \
extras/keymap/keymaps/compaq-e_evo \
extras/keymap/keymaps/dell \
+ extras/keymap/keymaps/dell-latitude-xt2 \
extras/keymap/keymaps/everex-xt5000 \
extras/keymap/keymaps/fujitsu-amilo_pa_2548 \
extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
diff --git a/extras/keymap/95-keymap.rules b/extras/keymap/95-keymap.rules
index 44d5064..350f111 100644
--- a/extras/keymap/95-keymap.rules
+++ b/extras/keymap/95-keymap.rules
@@ -67,6 +67,7 @@ LABEL="keyboard_vendorcheck"
ENV{DMI_VENDOR}=="Dell*", RUN+="keymap $name dell"
ENV{DMI_VENDOR}=="Dell*", ATTR{[dmi/id]product_name}=="Inspiron 910|Inspiron 1010|Inspiron 1011|Inspiron 1012|Inspiron 1110|Inspiron 1210", RUN+="keymap $name 0x84 wlan"
+ENV{DMI_VENDOR}=="Dell*", ATTR{[dmi/id]product_name}=="Latitude XT2", RUN+="keymap $name dell-latitude-xt2"
ENV{DMI_VENDOR}=="Compaq*", ATTR{[dmi/id]product_name}=="*E500*|*Evo N*", RUN+="keymap $name compaq-e_evo"
diff --git a/extras/keymap/keymaps/dell-latitude-xt2 b/extras/keymap/keymaps/dell-latitude-xt2
new file mode 100644
index 0000000..39872f5
--- /dev/null
+++ b/extras/keymap/keymaps/dell-latitude-xt2
@@ -0,0 +1,4 @@
+0x9B up # tablet rocker up
+0x9E enter # tablet rocker press
+0x9F back # tablet back
+0xA3 down # tablet rocker down

View file

@ -1,204 +0,0 @@
From 51f43b53293c4cc64c2a55598491c6cbf27b6bd5 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@vrfy.org>
Date: Fri, 8 Apr 2011 01:03:49 +0200
Subject: [PATCH] selinux: do not label files in runtime dir
Do not label any files in the udev runtime directory, but only nodes,
links and directories below /dev.
In case the runtime directory falls back to /dev/.udev, label this
directory once at udevd startup, but never anything below it.
---
libudev/libudev-private.h | 1 +
libudev/libudev-queue-private.c | 2 --
libudev/libudev-util-private.c | 18 +++++++++++++++---
udev/udev-node.c | 6 +++---
udev/udevd.c | 18 ++++++++----------
5 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/libudev/libudev-private.h b/libudev/libudev-private.h
index 7078b0f..8495f9a 100644
--- a/libudev/libudev-private.h
+++ b/libudev/libudev-private.h
@@ -220,6 +220,7 @@ uint64_t util_string_bloom64(const char *str);
/* libudev-util-private.c */
int util_create_path(struct udev *udev, const char *path);
+int util_create_path_selinux(struct udev *udev, const char *path);
int util_delete_path(struct udev *udev, const char *path);
int util_unlink_secure(struct udev *udev, const char *filename);
uid_t util_lookup_user(struct udev *udev, const char *user);
diff --git a/libudev/libudev-queue-private.c b/libudev/libudev-queue-private.c
index a714572..2f1afec 100644
--- a/libudev/libudev-queue-private.c
+++ b/libudev/libudev-queue-private.c
@@ -409,9 +409,7 @@ static void update_failed(struct udev_queue_export *udev_queue_export,
/* record event in the failed directory */
udev_queue_export->failed_count++;
util_create_path(udev, filename);
- udev_selinux_setfscreatecon(udev, filename, S_IFLNK);
symlink(udev_device_get_devpath(udev_device), filename);
- udev_selinux_resetfscreatecon(udev);
break;
case DEVICE_QUEUED:
diff --git a/libudev/libudev-util-private.c b/libudev/libudev-util-private.c
index 6b68b6a..19f979e 100644
--- a/libudev/libudev-util-private.c
+++ b/libudev/libudev-util-private.c
@@ -25,7 +25,7 @@
#include "libudev.h"
#include "libudev-private.h"
-int util_create_path(struct udev *udev, const char *path)
+static int create_path(struct udev *udev, const char *path, bool selinux)
{
char p[UTIL_PATH_SIZE];
char *pos;
@@ -55,7 +55,8 @@ int util_create_path(struct udev *udev, const char *path)
return err;
dbg(udev, "mkdir '%s'\n", p);
- udev_selinux_setfscreatecon(udev, p, S_IFDIR|0755);
+ if (selinux)
+ udev_selinux_setfscreatecon(udev, p, S_IFDIR|0755);
err = mkdir(p, 0755);
if (err != 0) {
err = -errno;
@@ -66,10 +67,21 @@ int util_create_path(struct udev *udev, const char *path)
err = -ENOTDIR;
}
}
- udev_selinux_resetfscreatecon(udev);
+ if (selinux)
+ udev_selinux_resetfscreatecon(udev);
return err;
}
+int util_create_path(struct udev *udev, const char *path)
+{
+ return create_path(udev, path, false);
+}
+
+int util_create_path_selinux(struct udev *udev, const char *path)
+{
+ return create_path(udev, path, true);
+}
+
int util_delete_path(struct udev *udev, const char *path)
{
char p[UTIL_PATH_SIZE];
diff --git a/udev/udev-node.c b/udev/udev-node.c
index ab4e932..5e791ff 100644
--- a/udev/udev-node.c
+++ b/udev/udev-node.c
@@ -96,7 +96,7 @@ int udev_node_mknod(struct udev_device *dev, const char *file, mode_t mode, uid_
} else {
info(udev, "mknod '%s' %u:%u %#o\n", file, major(devnum), minor(devnum), mode);
do {
- err = util_create_path(udev, file);
+ err = util_create_path_selinux(udev, file);
if (err != 0 && err != -ENOENT)
break;
udev_selinux_setfscreatecon(udev, file, mode);
@@ -184,7 +184,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
} else {
info(udev, "creating symlink '%s' to '%s'\n", slink, target);
do {
- err = util_create_path(udev, slink);
+ err = util_create_path_selinux(udev, slink);
if (err != 0 && err != -ENOENT)
break;
udev_selinux_setfscreatecon(udev, slink, S_IFLNK);
@@ -201,7 +201,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, TMP_FILE_EXT, NULL);
unlink(slink_tmp);
do {
- err = util_create_path(udev, slink_tmp);
+ err = util_create_path_selinux(udev, slink_tmp);
if (err != 0 && err != -ENOENT)
break;
udev_selinux_setfscreatecon(udev, slink_tmp, S_IFLNK);
diff --git a/udev/udevd.c b/udev/udevd.c
index a8b339f..df5c199 100644
--- a/udev/udevd.c
+++ b/udev/udevd.c
@@ -822,7 +822,7 @@ static void static_dev_create_from_modules(struct udev *udev)
continue;
util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/", devname, NULL);
- util_create_path(udev, filename);
+ util_create_path_selinux(udev, filename);
udev_selinux_setfscreatecon(udev, filename, mode);
info(udev, "mknod '%s' %c%u:%u\n", filename, type, maj, min);
if (mknod(filename, mode, makedev(maj, min)) < 0 && errno == EEXIST)
@@ -833,7 +833,7 @@ static void static_dev_create_from_modules(struct udev *udev)
fclose(f);
}
-static int copy_dir(struct udev *udev, DIR *dir_from, DIR *dir_to, int maxdepth)
+static int copy_dev_dir(struct udev *udev, DIR *dir_from, DIR *dir_to, int maxdepth)
{
struct dirent *dent;
@@ -886,7 +886,7 @@ static int copy_dir(struct udev *udev, DIR *dir_from, DIR *dir_to, int maxdepth)
continue;
}
- copy_dir(udev, dir2_from, dir2_to, maxdepth-1);
+ copy_dev_dir(udev, dir2_from, dir2_to, maxdepth-1);
closedir(dir2_to);
closedir(dir2_from);
@@ -930,7 +930,7 @@ static void static_dev_create_from_devices(struct udev *udev, DIR *dir)
dir_from = opendir(LIBEXECDIR "/devices");
if (dir_from == NULL)
return;
- copy_dir(udev, dir_from, dir, 8);
+ copy_dev_dir(udev, dir_from, dir, 8);
closedir(dir_from);
}
@@ -985,9 +985,7 @@ static int convert_db(struct udev *udev)
/* make sure we do not get here again */
util_create_path(udev, filename);
- udev_selinux_setfscreatecon(udev, udev_get_run_path(udev), S_IFDIR|0755);
mkdir(filename, 0755);
- udev_selinux_resetfscreatecon(udev);
/* old database */
util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev/db", NULL);
@@ -1097,9 +1095,7 @@ int main(int argc, char *argv[])
/* make sure, that our runtime dir exists and is writable */
if (utimensat(AT_FDCWD, udev_get_run_config_path(udev), NULL, 0) < 0) {
/* try to create our own subdirectory, do not create parent directories */
- udev_selinux_setfscreatecon(udev, udev_get_run_config_path(udev), S_IFDIR|0755);
mkdir(udev_get_run_config_path(udev), 0755);
- udev_selinux_resetfscreatecon(udev);
if (utimensat(AT_FDCWD, udev_get_run_config_path(udev), NULL, 0) >= 0) {
/* directory seems writable now */
@@ -1111,8 +1107,12 @@ int main(int argc, char *argv[])
util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev", NULL);
if (udev_set_run_path(udev, filename) == NULL)
goto exit;
+ mkdir(udev_get_run_path(udev), 0755);
}
}
+ /* relabel runtime dir only if it resides below /dev */
+ if (strncmp(udev_get_run_path(udev), udev_get_dev_path(udev), strlen(udev_get_dev_path(udev))) == 0)
+ udev_selinux_lsetfilecon(udev, udev_get_run_path(udev), 0755);
info(udev, "runtime dir '%s'\n", udev_get_run_path(udev));
for (;;) {
@@ -1281,9 +1281,7 @@ int main(int argc, char *argv[])
util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
if (stat(filename, &statbuf) != 0) {
util_create_path(udev, filename);
- udev_selinux_setfscreatecon(udev, filename, S_IFDIR|0755);
mkdir(filename, 0755);
- udev_selinux_resetfscreatecon(udev);
}
inotify_add_watch(pfd[FD_INOTIFY].fd, filename,
IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);

View file

@ -1,25 +0,0 @@
From 960250952193db522b8ced336bf998bd7e8e4a31 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@vrfy.org>
Date: Fri, 8 Apr 2011 03:08:16 +0200
Subject: [PATCH] selinux: firmware - do not label files in runtime dir
---
extras/firmware/firmware.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/extras/firmware/firmware.c b/extras/firmware/firmware.c
index 8199820..f2df76c 100644
--- a/extras/firmware/firmware.c
+++ b/extras/firmware/firmware.c
@@ -159,11 +159,9 @@ int main(int argc, char **argv)
err = util_create_path(udev, misspath);
if (err != 0 && err != -ENOENT)
break;
- udev_selinux_setfscreatecon(udev, misspath, S_IFLNK);
err = symlink(devpath, misspath);
if (err != 0)
err = -errno;
- udev_selinux_resetfscreatecon(udev);
} while (err == -ENOENT);
rc = 2;
set_loading(udev, loadpath, "-1");

View file

@ -1,6 +0,0 @@
Patch:
@for i in 00*.patch; do n=$$[$$(echo $$i|cut -f 1 -d '-'|sed -e 's#^0*##')]; echo "Patch$$n: $$i";done
patch:
@for i in 00*.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 +0,0 @@
4b37e1222f06c14c24147de346aa0bad udev-167.tar.bz2

View file

@ -1,82 +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.
# if we run with systemctl, just wait for settle
if [ -x "$(type -P systemctl)" ]; then
systemctl start udev-settle.service &>/dev/null && exit 0
fi
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
/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,208 +0,0 @@
From 51f43b53293c4cc64c2a55598491c6cbf27b6bd5 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay.sievers@vrfy.org>
Date: Fri, 8 Apr 2011 01:03:49 +0200
Subject: [PATCH] selinux: do not label files in runtime dir
Do not label any files in the udev runtime directory, but only nodes,
links and directories below /dev.
In case the runtime directory falls back to /dev/.udev, label this
directory once at udevd startup, but never anything below it.
---
libudev/libudev-private.h | 1 +
libudev/libudev-queue-private.c | 2 --
libudev/libudev-util-private.c | 18 +++++++++++++++---
udev/udev-node.c | 6 +++---
udev/udevd.c | 18 ++++++++----------
5 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/libudev/libudev-private.h b/libudev/libudev-private.h
index 7078b0f..8495f9a 100644
--- a/libudev/libudev-private.h
+++ b/libudev/libudev-private.h
@@ -220,6 +220,7 @@ uint64_t util_string_bloom64(const char *str);
/* libudev-util-private.c */
int util_create_path(struct udev *udev, const char *path);
+int util_create_path_selinux(struct udev *udev, const char *path);
int util_delete_path(struct udev *udev, const char *path);
int util_unlink_secure(struct udev *udev, const char *filename);
uid_t util_lookup_user(struct udev *udev, const char *user);
diff --git a/libudev/libudev-queue-private.c b/libudev/libudev-queue-private.c
index a714572..2f1afec 100644
--- a/libudev/libudev-queue-private.c
+++ b/libudev/libudev-queue-private.c
@@ -409,9 +409,7 @@ static void update_failed(struct udev_queue_export *udev_queue_export,
/* record event in the failed directory */
udev_queue_export->failed_count++;
util_create_path(udev, filename);
- udev_selinux_setfscreatecon(udev, filename, S_IFLNK);
symlink(udev_device_get_devpath(udev_device), filename);
- udev_selinux_resetfscreatecon(udev);
break;
case DEVICE_QUEUED:
diff --git a/libudev/libudev-util-private.c b/libudev/libudev-util-private.c
index 6b68b6a..19f979e 100644
--- a/libudev/libudev-util-private.c
+++ b/libudev/libudev-util-private.c
@@ -25,7 +25,7 @@
#include "libudev.h"
#include "libudev-private.h"
-int util_create_path(struct udev *udev, const char *path)
+static int create_path(struct udev *udev, const char *path, bool selinux)
{
char p[UTIL_PATH_SIZE];
char *pos;
@@ -55,7 +55,8 @@ int util_create_path(struct udev *udev, const char *path)
return err;
dbg(udev, "mkdir '%s'\n", p);
- udev_selinux_setfscreatecon(udev, p, S_IFDIR|0755);
+ if (selinux)
+ udev_selinux_setfscreatecon(udev, p, S_IFDIR|0755);
err = mkdir(p, 0755);
if (err != 0) {
err = -errno;
@@ -66,10 +67,21 @@ int util_create_path(struct udev *udev, const char *path)
err = -ENOTDIR;
}
}
- udev_selinux_resetfscreatecon(udev);
+ if (selinux)
+ udev_selinux_resetfscreatecon(udev);
return err;
}
+int util_create_path(struct udev *udev, const char *path)
+{
+ return create_path(udev, path, false);
+}
+
+int util_create_path_selinux(struct udev *udev, const char *path)
+{
+ return create_path(udev, path, true);
+}
+
int util_delete_path(struct udev *udev, const char *path)
{
char p[UTIL_PATH_SIZE];
diff --git a/udev/udev-node.c b/udev/udev-node.c
index ab4e932..5e791ff 100644
--- a/udev/udev-node.c
+++ b/udev/udev-node.c
@@ -96,7 +96,7 @@ int udev_node_mknod(struct udev_device *dev, const char *file, mode_t mode, uid_
} else {
info(udev, "mknod '%s' %u:%u %#o\n", file, major(devnum), minor(devnum), mode);
do {
- err = util_create_path(udev, file);
+ err = util_create_path_selinux(udev, file);
if (err != 0 && err != -ENOENT)
break;
udev_selinux_setfscreatecon(udev, file, mode);
@@ -184,7 +184,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
} else {
info(udev, "creating symlink '%s' to '%s'\n", slink, target);
do {
- err = util_create_path(udev, slink);
+ err = util_create_path_selinux(udev, slink);
if (err != 0 && err != -ENOENT)
break;
udev_selinux_setfscreatecon(udev, slink, S_IFLNK);
@@ -201,7 +201,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink)
util_strscpyl(slink_tmp, sizeof(slink_tmp), slink, TMP_FILE_EXT, NULL);
unlink(slink_tmp);
do {
- err = util_create_path(udev, slink_tmp);
+ err = util_create_path_selinux(udev, slink_tmp);
if (err != 0 && err != -ENOENT)
break;
udev_selinux_setfscreatecon(udev, slink_tmp, S_IFLNK);
diff --git a/udev/udevd.c b/udev/udevd.c
index a8b339f..df5c199 100644
--- a/udev/udevd.c
+++ b/udev/udevd.c
@@ -822,7 +822,7 @@ static void static_dev_create_from_modules(struct udev *udev)
continue;
util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/", devname, NULL);
- util_create_path(udev, filename);
+ util_create_path_selinux(udev, filename);
udev_selinux_setfscreatecon(udev, filename, mode);
info(udev, "mknod '%s' %c%u:%u\n", filename, type, maj, min);
if (mknod(filename, mode, makedev(maj, min)) < 0 && errno == EEXIST)
@@ -833,7 +833,7 @@ static void static_dev_create_from_modules(struct udev *udev)
fclose(f);
}
-static int copy_dir(struct udev *udev, DIR *dir_from, DIR *dir_to, int maxdepth)
+static int copy_dev_dir(struct udev *udev, DIR *dir_from, DIR *dir_to, int maxdepth)
{
struct dirent *dent;
@@ -886,7 +886,7 @@ static int copy_dir(struct udev *udev, DIR *dir_from, DIR *dir_to, int maxdepth)
continue;
}
- copy_dir(udev, dir2_from, dir2_to, maxdepth-1);
+ copy_dev_dir(udev, dir2_from, dir2_to, maxdepth-1);
closedir(dir2_to);
closedir(dir2_from);
@@ -930,7 +930,7 @@ static void static_dev_create_from_devices(struct udev *udev, DIR *dir)
dir_from = opendir(LIBEXECDIR "/devices");
if (dir_from == NULL)
return;
- copy_dir(udev, dir_from, dir, 8);
+ copy_dev_dir(udev, dir_from, dir, 8);
closedir(dir_from);
}
@@ -985,9 +985,7 @@ static int convert_db(struct udev *udev)
/* make sure we do not get here again */
util_create_path(udev, filename);
- udev_selinux_setfscreatecon(udev, udev_get_run_path(udev), S_IFDIR|0755);
mkdir(filename, 0755);
- udev_selinux_resetfscreatecon(udev);
/* old database */
util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev/db", NULL);
@@ -1097,9 +1095,7 @@ int main(int argc, char *argv[])
/* make sure, that our runtime dir exists and is writable */
if (utimensat(AT_FDCWD, udev_get_run_config_path(udev), NULL, 0) < 0) {
/* try to create our own subdirectory, do not create parent directories */
- udev_selinux_setfscreatecon(udev, udev_get_run_config_path(udev), S_IFDIR|0755);
mkdir(udev_get_run_config_path(udev), 0755);
- udev_selinux_resetfscreatecon(udev);
if (utimensat(AT_FDCWD, udev_get_run_config_path(udev), NULL, 0) >= 0) {
/* directory seems writable now */
@@ -1111,8 +1107,12 @@ int main(int argc, char *argv[])
util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev", NULL);
if (udev_set_run_path(udev, filename) == NULL)
goto exit;
+ mkdir(udev_get_run_path(udev), 0755);
}
}
+ /* relabel runtime dir only if it resides below /dev */
+ if (strncmp(udev_get_run_path(udev), udev_get_dev_path(udev), strlen(udev_get_dev_path(udev))) == 0)
+ udev_selinux_lsetfilecon(udev, udev_get_run_path(udev), 0755);
info(udev, "runtime dir '%s'\n", udev_get_run_path(udev));
for (;;) {
@@ -1281,9 +1281,7 @@ int main(int argc, char *argv[])
util_strscpyl(filename, sizeof(filename), udev_get_run_path(udev), "/rules.d", NULL);
if (stat(filename, &statbuf) != 0) {
util_create_path(udev, filename);
- udev_selinux_setfscreatecon(udev, filename, S_IFDIR|0755);
mkdir(filename, 0755);
- udev_selinux_resetfscreatecon(udev);
}
inotify_add_watch(pfd[FD_INOTIFY].fd, filename,
IN_DELETE | IN_MOVE | IN_CLOSE_WRITE);
--
1.7.4.4

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

1639
udev.spec

File diff suppressed because it is too large Load diff