Compare commits
24 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6432dc01e2 | ||
|
|
43b305ff9c | ||
|
|
92e3355c96 | ||
|
|
b5e470b956 | ||
|
|
43b3a39d3c | ||
|
|
24924749ea | ||
|
|
90c26960fb | ||
|
|
3e4cfcfce0 | ||
|
|
57475b8536 | ||
|
|
f714968249 | ||
|
|
b2bfe88396 | ||
|
|
e4e1196b9f | ||
| c79a4d6abd | |||
|
|
b8ad91fd93 | ||
|
|
e542609413 | ||
|
|
cc9477b6ac | ||
|
|
4041a2a8e4 | ||
|
|
9165231177 | ||
|
|
f693b0743f | ||
|
|
e418dca65a | ||
|
|
164998caba | ||
|
|
cd81212d7e | ||
|
|
e8b3267692 | ||
|
|
66d65ff607 |
28 changed files with 2113 additions and 118 deletions
|
|
@ -1 +0,0 @@
|
|||
udev-151.tar.bz2
|
||||
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
udev-151.tar.bz2
|
||||
udev-153.tar.bz2
|
||||
udev-153.tar.bz2.sign
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
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] 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.3
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
From 939cc18afc49ee8479572c14c7fa777646fd4add Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay.sievers@vrfy.org>
|
||||
Date: Tue, 3 Aug 2010 15:09:46 +0200
|
||||
Subject: [PATCH 17/18] udev-acl: properly handle CK change events for root user
|
||||
|
||||
mschmidt@redhat.com writes:
|
||||
> since root is treated specially, it does not do anything!
|
||||
> udev-acl may want to prevent removing ACLs from root, but
|
||||
> it must not stop the ACLs being granted to the user of the
|
||||
> new session.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=608712
|
||||
---
|
||||
extras/udev-acl/udev-acl.c | 7 +------
|
||||
1 files changed, 1 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/extras/udev-acl/udev-acl.c b/extras/udev-acl/udev-acl.c
|
||||
index ff04ec6..f2b5005 100644
|
||||
--- a/extras/udev-acl/udev-acl.c
|
||||
+++ b/extras/udev-acl/udev-acl.c
|
||||
@@ -224,14 +224,10 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
|
||||
if (s == NULL)
|
||||
return -1;
|
||||
u = strtoul(s, NULL, 10);
|
||||
- if (u == 0)
|
||||
- return 0;
|
||||
s = getenv("CK_SEAT_SESSION_USER_UID");
|
||||
if (s == NULL)
|
||||
return -1;
|
||||
u2 = strtoul(s, NULL, 10);
|
||||
- if (u2 == 0)
|
||||
- return 0;
|
||||
|
||||
s = getenv("CK_SEAT_OLD_SESSION_IS_LOCAL");
|
||||
s2 = getenv("CK_SEAT_SESSION_IS_LOCAL");
|
||||
@@ -263,12 +259,11 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
|
||||
a = ACTION_ADD;
|
||||
u = u2;
|
||||
}
|
||||
-
|
||||
break;
|
||||
case ACTION_NONE:
|
||||
break;
|
||||
default:
|
||||
- g_assert_not_reached ();
|
||||
+ g_assert_not_reached();
|
||||
break;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.2
|
||||
|
||||
125
0018-udev-acl-really-fix-ACL-assignment-in-CK-events.patch
Normal file
125
0018-udev-acl-really-fix-ACL-assignment-in-CK-events.patch
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
From 9ac90ae153accdfcb56c24c5748690933ad219b2 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Schmidt <mschmidt@redhat.com>
|
||||
Date: Wed, 4 Aug 2010 11:53:25 +0200
|
||||
Subject: [PATCH 18/18] udev-acl: really fix ACL assignment in CK events
|
||||
|
||||
The previous fix for udev-acl was incomplete. The ACL were not properly
|
||||
assigned to the new user when switching from root's session because of
|
||||
the test for 'uid != 0'.
|
||||
|
||||
Centralize the special handling of root to a single place (in set_facl).
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=608712
|
||||
---
|
||||
extras/udev-acl/udev-acl.c | 37 +++++++++++++++++++------------------
|
||||
1 files changed, 19 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/extras/udev-acl/udev-acl.c b/extras/udev-acl/udev-acl.c
|
||||
index f2b5005..31e9991 100644
|
||||
--- a/extras/udev-acl/udev-acl.c
|
||||
+++ b/extras/udev-acl/udev-acl.c
|
||||
@@ -12,20 +12,18 @@
|
||||
* General Public License for more details:
|
||||
*/
|
||||
|
||||
-#include <stdio.h>
|
||||
-#include <errno.h>
|
||||
-#include <string.h>
|
||||
-#include <inttypes.h>
|
||||
-#include <unistd.h>
|
||||
-#include <stdlib.h>
|
||||
-#include <stdio.h>
|
||||
-#include <string.h>
|
||||
+#include <acl/libacl.h>
|
||||
+#include <sys/stat.h>
|
||||
#include <errno.h>
|
||||
#include <getopt.h>
|
||||
-#include <sys/stat.h>
|
||||
#include <glib.h>
|
||||
-#include <acl/libacl.h>
|
||||
+#include <inttypes.h>
|
||||
#include <libudev.h>
|
||||
+#include <stdbool.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
static int debug;
|
||||
|
||||
@@ -45,6 +43,10 @@ static int set_facl(const char* filename, uid_t uid, int add)
|
||||
acl_permset_t permset;
|
||||
int ret;
|
||||
|
||||
+ /* don't touch ACLs for root */
|
||||
+ if (uid == 0)
|
||||
+ return 0;
|
||||
+
|
||||
/* read current record */
|
||||
acl = acl_get_file(filename, ACL_TYPE_ACCESS);
|
||||
if (!acl)
|
||||
@@ -190,8 +192,6 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
|
||||
if (s == NULL)
|
||||
return -1;
|
||||
u = strtoul(s, NULL, 10);
|
||||
- if (u == 0)
|
||||
- return 0;
|
||||
|
||||
s = getenv("CK_SEAT_SESSION_IS_LOCAL");
|
||||
if (s == NULL)
|
||||
@@ -205,8 +205,6 @@ static int consolekit_called(const char *ck_action, uid_t *uid, uid_t *uid2, con
|
||||
if (s == NULL)
|
||||
return -1;
|
||||
u = strtoul(s, NULL, 10);
|
||||
- if (u == 0)
|
||||
- return 0;
|
||||
|
||||
s = getenv("CK_SEAT_OLD_SESSION_IS_LOCAL");
|
||||
if (s == NULL)
|
||||
@@ -331,6 +329,7 @@ int main (int argc, char* argv[])
|
||||
};
|
||||
int action = -1;
|
||||
const char *device = NULL;
|
||||
+ bool uid_given = false;
|
||||
uid_t uid = 0;
|
||||
uid_t uid2 = 0;
|
||||
const char* remove_session_id = NULL;
|
||||
@@ -357,6 +356,7 @@ int main (int argc, char* argv[])
|
||||
device = optarg;
|
||||
break;
|
||||
case 'u':
|
||||
+ uid_given = true;
|
||||
uid = strtoul(optarg, NULL, 10);
|
||||
break;
|
||||
case 'd':
|
||||
@@ -369,8 +369,9 @@ int main (int argc, char* argv[])
|
||||
}
|
||||
}
|
||||
|
||||
- if (action < 0 && device == NULL && uid == 0)
|
||||
- consolekit_called(argv[optind], &uid, &uid2, &remove_session_id, &action);
|
||||
+ if (action < 0 && device == NULL && !uid_given)
|
||||
+ if (!consolekit_called(argv[optind], &uid, &uid2, &remove_session_id, &action))
|
||||
+ uid_given = true;
|
||||
|
||||
if (action < 0) {
|
||||
fprintf(stderr, "missing action\n\n");
|
||||
@@ -378,13 +379,13 @@ int main (int argc, char* argv[])
|
||||
goto out;
|
||||
}
|
||||
|
||||
- if (device != NULL && uid != 0) {
|
||||
+ if (device != NULL && uid_given) {
|
||||
fprintf(stderr, "only one option, --device=DEVICEFILE or --user=UID expected\n\n");
|
||||
rc = 3;
|
||||
goto out;
|
||||
}
|
||||
|
||||
- if (uid != 0) {
|
||||
+ if (uid_given) {
|
||||
switch (action) {
|
||||
case ACTION_ADD:
|
||||
/* Add ACL for given uid to all matching devices. */
|
||||
--
|
||||
1.7.2
|
||||
|
||||
1035
0034-add-LGPL-COPYING-to-libudev-and-GUdev.patch
Normal file
1035
0034-add-LGPL-COPYING-to-libudev-and-GUdev.patch
Normal file
File diff suppressed because it is too large
Load diff
26
0110-cdrom_id-only-mark-sr-0-9-as-ID_CDROM.patch
Normal file
26
0110-cdrom_id-only-mark-sr-0-9-as-ID_CDROM.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
From 155e313bfda594b3d8e2a31d48f341765bdfa75d Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 27 Apr 2010 12:22:42 +0200
|
||||
Subject: [PATCH 110/110] cdrom_id: only mark sr[0-9]* as ID_CDROM
|
||||
|
||||
we cannot be sure for xvd*
|
||||
---
|
||||
extras/cdrom_id/60-cdrom_id.rules | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/extras/cdrom_id/60-cdrom_id.rules b/extras/cdrom_id/60-cdrom_id.rules
|
||||
index 16b3af9..b3109f1 100644
|
||||
--- a/extras/cdrom_id/60-cdrom_id.rules
|
||||
+++ b/extras/cdrom_id/60-cdrom_id.rules
|
||||
@@ -5,7 +5,7 @@ SUBSYSTEM!="block", GOTO="cdrom_end"
|
||||
KERNEL!="sr[0-9]*|xvd*", GOTO="cdrom_end"
|
||||
ENV{DEVTYPE}!="disk", GOTO="cdrom_end"
|
||||
|
||||
-ENV{ID_CDROM}="1"
|
||||
+KERNEL=="sr[0-9]*", ENV{ID_CDROM}="1"
|
||||
IMPORT{program}="cdrom_id --export $tempnode"
|
||||
|
||||
LABEL="cdrom_end"
|
||||
--
|
||||
1.7.0.1
|
||||
|
||||
4
40-ia64.rules
Normal file
4
40-ia64.rules
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
KERNEL=="sgi_*", MODE="0666"
|
||||
|
||||
4
40-isdn.rules
Normal file
4
40-isdn.rules
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
SUBSYSTEM=="capi", KERNEL=="capi", NAME="capi20", GROUP="dialout"
|
||||
SUBSYSTEM=="tty", KERNEL=="capi[0-9]*", NAME="capi/%n"
|
||||
6
40-ppc.rules
Normal file
6
40-ppc.rules
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
KERNEL=="iseries/ibmsis*", GROUP="disk"
|
||||
KERNEL=="iseries/nvt*", GROUP="disk"
|
||||
KERNEL=="iseries/vt*", GROUP="disk"
|
||||
KERNEL=="iseries/vtty*, GROUP="dialout"
|
||||
4
40-s390.rules
Normal file
4
40-s390.rules
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
KERNEL=="z90crypt", MODE="0666"
|
||||
|
||||
4
64-device-mapper.rules
Normal file
4
64-device-mapper.rules
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
KERNEL=="device-mapper", NAME="mapper/control"
|
||||
|
||||
36
64-md-raid.rules
Normal file
36
64-md-raid.rules
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
SUBSYSTEM!="block", GOTO="md_end"
|
||||
ACTION!="add|change", GOTO="md_end"
|
||||
|
||||
# import data from a raid member and activate it
|
||||
#ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
|
||||
# import data from a raid set
|
||||
KERNEL!="md*", GOTO="md_end"
|
||||
|
||||
# partitions have no md/{array_state,metadata_version}
|
||||
ENV{DEVTYPE}=="partition", GOTO="md_ignore_state"
|
||||
|
||||
# container devices have a metadata version of e.g. 'external:ddf' and
|
||||
# never leave state 'inactive'
|
||||
ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state"
|
||||
TEST!="md/array_state", GOTO="md_end"
|
||||
ATTR{md/array_state}=="|clear|inactive", GOTO="md_end"
|
||||
LABEL="md_ignore_state"
|
||||
|
||||
IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
|
||||
ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace"
|
||||
ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}"
|
||||
ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}"
|
||||
ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace"
|
||||
ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n"
|
||||
ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n"
|
||||
ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n"
|
||||
|
||||
IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
|
||||
OPTIONS+="link_priority=100"
|
||||
OPTIONS+="watch"
|
||||
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
|
||||
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
|
||||
|
||||
LABEL="md_end"
|
||||
22
Makefile
22
Makefile
|
|
@ -1,22 +0,0 @@
|
|||
# Makefile for source rpm: udev
|
||||
# $Id: Makefile,v 1.3 2007/10/15 19:29:11 notting Exp $
|
||||
NAME := udev
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
UPSTREAM_CHECKS = sign
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
Patch:
|
||||
@for i in 00*.patch; do n=$$[$$(echo $$i|cut -f 1 -d '-'|sed -e 's#^0*##')]; echo "Patch$$n: $$i";done
|
||||
@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 00*.patch; do n=$$[$$(echo $$i|cut -f 1 -d '-'|sed -e 's#^0*##')]; echo "%patch$$n -p1 -b .git$$n";done
|
||||
@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
|
||||
|
||||
|
|
|
|||
3
sources
3
sources
|
|
@ -1 +1,2 @@
|
|||
aeae0e6273dcbec246c3c1b9868ebed1 udev-151.tar.bz2
|
||||
76d12a9d97c3409e9ef60a4288227e8f udev-153.tar.bz2
|
||||
962e6d9b7fcf45432b361e3116923a3a udev-153.tar.bz2.sign
|
||||
|
|
|
|||
45
start_udev
45
start_udev
|
|
@ -55,8 +55,16 @@ if [ -n "$selinuxfs" ] && [ "`cat /proc/self/attr/current`" != "kernel" ]; then
|
|||
SELINUX_STATE=1
|
||||
fi
|
||||
fi
|
||||
[ -c /dev/systty ] && ln -fs tty0 /dev/systty
|
||||
|
||||
|
||||
touch_recursive() {
|
||||
( cd $1;
|
||||
for i in *; do
|
||||
[[ -c "$i" || -b "$i" ]] && touch --no-create "$i"
|
||||
[ -d "$i" ] && touch_recursive "$i"
|
||||
done )
|
||||
return 0
|
||||
}
|
||||
|
||||
xargs_simple () {
|
||||
if [ "$1" = "-n" ]; then
|
||||
|
|
@ -94,10 +102,11 @@ make_extra_nodes () {
|
|||
|
||||
[ -d $udev_root/pts ] || mkdir -m 0755 $udev_root/pts
|
||||
[ -d $udev_root/shm ] || mkdir -m 0755 $udev_root/shm
|
||||
[ -d $udev_root/hugepages ] || mkdir -m 0755 $udev_root/hugepages
|
||||
[ -a /dev/MAKEDEV ] || ln -s $MAKEDEV /dev/MAKEDEV;
|
||||
|
||||
USE_MD5="false"
|
||||
[ -x /usr/bin/md5sum -a "$UDEV_USE_MAKEDEV_CACHE" == "yes" ] && USE_MD5="true"
|
||||
[[ "$UDEV_USE_MAKEDEV_CACHE" == "yes" && -x /usr/bin/md5sum ]] && USE_MD5="true"
|
||||
|
||||
for i in 0 1 2 3 4 5 6 7; do
|
||||
[ -b /dev/loop$i ] || /bin/mknod -m 0640 /dev/loop$i b 7 $i
|
||||
|
|
@ -157,9 +166,11 @@ make_extra_nodes () {
|
|||
if [ "$1" != "*" ]; then
|
||||
#echo "Warning: $devdir is deprecated. Please use /etc/udev/makedev.d/."
|
||||
cp -ar "$@" $udev_root/
|
||||
pushd "$udev_root" &> "$udev_root/null"
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon "$@"
|
||||
popd &> "$udev_root/null"
|
||||
if [ -x /sbin/restorecon ]; then
|
||||
pushd "$udev_root" &> "$udev_root/null"
|
||||
/sbin/restorecon "$@"
|
||||
popd &> "$udev_root/null"
|
||||
fi
|
||||
fi
|
||||
popd &> "$udev_root/null"
|
||||
done
|
||||
|
|
@ -224,11 +235,11 @@ echo -n "$STRING"
|
|||
|
||||
# mount the tmpfs on ${udev_root%/}, if not already done
|
||||
LANG=C awk "\$2 == \"${udev_root%/}\" && ( \$3 == \"devtmpfs\" || \$3 == \"tmpfs\" ) { exit 1 }" /proc/mounts && {
|
||||
if LANG=C fgrep -q "none ${udev_root%/}/pts " /proc/mounts; then
|
||||
if LANG=C grep -Fq "none ${udev_root%/}/pts " /proc/mounts; then
|
||||
PTSDIR=$(mktemp -d)
|
||||
mount --move $udev_root/pts "$PTSDIR"
|
||||
fi
|
||||
if LANG=C fgrep -q "none ${udev_root%/}/shm " /proc/mounts; then
|
||||
if LANG=C grep -Fq "none ${udev_root%/}/shm " /proc/mounts; then
|
||||
SHMDIR=$(mktemp -d)
|
||||
mount --move $udev_root/shm "$SHMDIR"
|
||||
fi
|
||||
|
|
@ -250,15 +261,14 @@ LANG=C awk "\$2 == \"${udev_root%/}\" && ( \$3 == \"devtmpfs\" || \$3 == \"tmpfs
|
|||
}
|
||||
|
||||
make_extra_nodes
|
||||
cmdline=$(cat /proc/cmdline)
|
||||
kill_udevd > "$udev_root/null" 2>&1
|
||||
rm -fr $udev_root/.udev > "$udev_root/null" 2>&1
|
||||
mkdir -p $udev_root/.udev > "$udev_root/null" 2>&1
|
||||
UDEV_OPTS=""
|
||||
if [ -f "/sys/class/tty/console/uevent" ]; then
|
||||
# trigger the sorted events
|
||||
echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
|
||||
|
||||
cmdline=$(cat /proc/cmdline)
|
||||
|
||||
if strstr "$cmdline" udevtrace; then
|
||||
UDEV_OPTS="$UDEV_OPTS --debug-trace"
|
||||
fi
|
||||
|
|
@ -284,6 +294,9 @@ if [ -f "/sys/class/tty/console/uevent" ]; then
|
|||
if strstr "$cmdline" udevchilds; then
|
||||
/sbin/udevadm control --max-childs=$(getval udevchilds $cmdline)
|
||||
fi
|
||||
if strstr "$cmdline" noiswmd; then
|
||||
/sbin/udevadm control --env=rd_NO_MDIMSM=1
|
||||
fi
|
||||
|
||||
/sbin/udevadm control --env=STARTUP=1
|
||||
|
||||
|
|
@ -301,20 +314,26 @@ if [ -f "/sys/class/tty/console/uevent" ]; then
|
|||
echo "Triggering Rest"
|
||||
fi
|
||||
|
||||
/sbin/udevadm trigger
|
||||
/sbin/udevadm trigger --action=add
|
||||
ret=$[$ret + $?]
|
||||
wait_for_queue $udevtimeout
|
||||
ret=$[$ret + $?]
|
||||
wait
|
||||
ret=$[$ret + $?]
|
||||
/sbin/udevadm control --env=STARTUP=
|
||||
# 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 > "$udev_root/null" 2>&1
|
||||
fi
|
||||
else
|
||||
echo -n " kernel too old for this udev version "
|
||||
/sbin/udevd -d $UDEV_OPTS
|
||||
ret=10
|
||||
|
||||
fi
|
||||
|
||||
ret=$[$ret + $?]
|
||||
[ $ret -eq 0 ] && success $"$STRING" || failure $"$STRING"
|
||||
echo
|
||||
exit 0
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.9 (GNU/Linux)
|
||||
Comment: See http://www.kernel.org/signature.html for info
|
||||
|
||||
iD8DBQBKWxhnyGugalF9Dw4RAvvjAJ9ed+RMRi8gXcFyTPxXsHZpbLSROgCfdpCc
|
||||
lr5nSwsGGO9e0+wBbD7WDoc=
|
||||
=5/z0
|
||||
-----END PGP SIGNATURE-----
|
||||
13
udev-151-gperf.patch
Normal file
13
udev-151-gperf.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff -up udev-151/extras/keymap/keys-from-name.gperf udev-151/extras/keymap/keys-from-name
|
||||
diff -up udev-151/Makefile.am.gperf udev-151/Makefile.am
|
||||
--- udev-151/Makefile.am.gperf 2010-03-19 14:04:36.000000000 +0100
|
||||
+++ udev-151/Makefile.am 2010-03-19 14:04:52.000000000 +0100
|
||||
@@ -550,7 +550,7 @@ extras/keymap/keys-from-name.gperf: extr
|
||||
$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
|
||||
|
||||
extras/keymap/keys-from-name.h: extras/keymap/keys-from-name.gperf Makefile
|
||||
- $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
|
||||
+ $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C -D < $< > $@
|
||||
|
||||
extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile
|
||||
$(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
|
||||
30
udev-151-virtio.patch
Normal file
30
udev-151-virtio.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
From 764304885705e51ef3eb1d078eed3cf6604c4684 Mon Sep 17 00:00:00 2001
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Fri, 26 Feb 2010 14:02:51 +0530
|
||||
Subject: [PATCH] Fix virtio-ports rule to use $attr instead of $ATTR
|
||||
|
||||
Newer udev versions don't understand $ATTR.
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
---
|
||||
rules/rules.d/50-udev-default.rules | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
Changed by Harald Hoyer <harald@redhat.com>
|
||||
|
||||
diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules
|
||||
index f8556d1..da1535f 100644
|
||||
--- a/rules/rules.d/50-udev-default.rules
|
||||
+++ b/rules/rules.d/50-udev-default.rules
|
||||
@@ -18,7 +18,7 @@ KERNEL=="mwave", GROUP="dialout"
|
||||
KERNEL=="hvc*|hvsi*", GROUP="dialout"
|
||||
|
||||
# virtio serial / console ports
|
||||
-KERNEL=="vport*", SYMLINK+="virtio-ports/$attr{name}"
|
||||
+KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
|
||||
|
||||
# mem
|
||||
KERNEL=="null|zero|full|random|urandom", MODE="0666"
|
||||
--
|
||||
1.6.2.5
|
||||
|
||||
246
udev-153-cdrom_id-backport.patch
Normal file
246
udev-153-cdrom_id-backport.patch
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
diff -ur udev-153-orig/extras/cdrom_id/cdrom_id.c udev-153/extras/cdrom_id/cdrom_id.c
|
||||
--- udev-153-orig/extras/cdrom_id/cdrom_id.c 2010-04-17 19:29:58.000000000 +0200
|
||||
+++ udev-153/extras/cdrom_id/cdrom_id.c 2010-08-31 10:35:41.000000000 +0200
|
||||
@@ -85,6 +85,8 @@
|
||||
static unsigned int cd_media_dvd_rom = 0;
|
||||
static unsigned int cd_media_dvd_r = 0;
|
||||
static unsigned int cd_media_dvd_rw = 0;
|
||||
+static unsigned int cd_media_dvd_rw_ro = 0; /* restricted overwrite mode */
|
||||
+static unsigned int cd_media_dvd_rw_seq = 0; /* sequential mode */
|
||||
static unsigned int cd_media_dvd_ram = 0;
|
||||
static unsigned int cd_media_dvd_plus_r = 0;
|
||||
static unsigned int cd_media_dvd_plus_rw = 0;
|
||||
@@ -348,6 +350,39 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int cd_profiles_old_mmc(struct udev *udev, int fd)
|
||||
+{
|
||||
+ struct scsi_cmd sc;
|
||||
+ int err;
|
||||
+
|
||||
+ unsigned char header[32];
|
||||
+
|
||||
+ scsi_cmd_init(udev, &sc, header, sizeof(header));
|
||||
+ scsi_cmd_set(udev, &sc, 0, 0x51);
|
||||
+ scsi_cmd_set(udev, &sc, 8, sizeof(header));
|
||||
+ scsi_cmd_set(udev, &sc, 9, 0);
|
||||
+ 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;
|
||||
+ };
|
||||
+
|
||||
+ cd_media = 1;
|
||||
+
|
||||
+ if (header[2] & 16) {
|
||||
+ cd_media_cd_rw = 1;
|
||||
+ info(udev, "profile 0x0a media_cd_rw\n");
|
||||
+ } else if ((header[2] & 3) < 2 && cd_cd_r) {
|
||||
+ cd_media_cd_r = 1;
|
||||
+ info(udev, "profile 0x09 media_cd_r\n");
|
||||
+ } else {
|
||||
+ cd_media_cd_rom = 1;
|
||||
+ info(udev, "profile 0x08 media_cd_rom\n");
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int cd_profiles(struct udev *udev, int fd)
|
||||
{
|
||||
struct scsi_cmd sc;
|
||||
@@ -365,6 +400,12 @@
|
||||
err = scsi_cmd_run(udev, &sc, fd, features, sizeof(features));
|
||||
if ((err != 0)) {
|
||||
info_scsi_cmd_err(udev, "GET CONFIGURATION", err);
|
||||
+ /* handle pre-MMC2 drives which do not support GET CONFIGURATION */
|
||||
+ 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);
|
||||
+ }
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -440,10 +481,16 @@
|
||||
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);
|
||||
@@ -527,12 +574,126 @@
|
||||
|
||||
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)
|
||||
cd_media_state = media_status[header[2] & 3];
|
||||
|
||||
- if ((header[2] & 3) != 2)
|
||||
+ /* fresh DVD-RW in restricted overwite mode reports itself as
|
||||
+ * "appendable"; change it to "blank" to make it consistent with what
|
||||
+ * gets reported after blanking, and what userspace expects */
|
||||
+ if (cd_media_dvd_rw_ro && (header[2] & 3) == 1)
|
||||
+ cd_media_state = media_status[0];
|
||||
+
|
||||
+ /* DVD+RW discs (and DVD-RW in restricted mode) once formatted are
|
||||
+ * 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[32 * 2048];
|
||||
+ unsigned char result, len;
|
||||
+ int block, offset;
|
||||
+
|
||||
+ if (cd_media_dvd_ram) {
|
||||
+ /* a write protected dvd-ram may report "complete" status */
|
||||
+
|
||||
+ unsigned char dvdstruct[8];
|
||||
+ unsigned char format[12];
|
||||
+
|
||||
+ scsi_cmd_init(udev, &sc, dvdstruct, sizeof(dvdstruct));
|
||||
+ scsi_cmd_set(udev, &sc, 0, 0xAD);
|
||||
+ scsi_cmd_set(udev, &sc, 7, 0xC0);
|
||||
+ scsi_cmd_set(udev, &sc, 9, sizeof(dvdstruct));
|
||||
+ scsi_cmd_set(udev, &sc, 11, 0);
|
||||
+ err = scsi_cmd_run(udev, &sc, fd, dvdstruct, sizeof(dvdstruct));
|
||||
+ if ((err != 0)) {
|
||||
+ info_scsi_cmd_err(udev, "READ DVD STRUCTURE", err);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ if (dvdstruct[4] & 0x02) {
|
||||
+ cd_media_state = media_status[2];
|
||||
+ info(udev, "write-protected DVD-RAM media inserted\n");
|
||||
+ goto determined;
|
||||
+ }
|
||||
+
|
||||
+ /* let's make sure we don't try to read unformatted media */
|
||||
+ scsi_cmd_init(udev, &sc, format, sizeof(format));
|
||||
+ scsi_cmd_set(udev, &sc, 0, 0x23);
|
||||
+ scsi_cmd_set(udev, &sc, 8, sizeof(format));
|
||||
+ scsi_cmd_set(udev, &sc, 9, 0);
|
||||
+ err = scsi_cmd_run(udev, &sc, fd, format, sizeof(format));
|
||||
+ if ((err != 0)) {
|
||||
+ info_scsi_cmd_err(udev, "READ DVD FORMAT CAPACITIES", err);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ len = format[3];
|
||||
+ if (len & 7 || len < 16) {
|
||||
+ info(udev, "invalid format capacities length\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ switch(format[8] & 3) {
|
||||
+ case 1:
|
||||
+ info(udev, "unformatted DVD-RAM media inserted\n");
|
||||
+ /* This means that last format was interrupted
|
||||
+ * or failed, blank dvd-ram discs are factory
|
||||
+ * formatted. Take no action here as it takes
|
||||
+ * quite a while to reformat a dvd-ram and it's
|
||||
+ * not automatically started */
|
||||
+ goto determined;
|
||||
+
|
||||
+ case 2:
|
||||
+ info(udev, "formatted DVD-RAM media inserted\n");
|
||||
+ break;
|
||||
+
|
||||
+ case 3:
|
||||
+ cd_media = 0; //return no media
|
||||
+ info(udev, "format capacities returned no media\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* Take a closer look at formatted media (unformatted DVD+RW
|
||||
+ * has "blank" status", DVD-RAM was examined earlier) and check
|
||||
+ * for ISO and UDF PVDs or a fs superblock presence and do it
|
||||
+ * in one ioctl (we need just sectors 0 and 16) */
|
||||
+ 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, 32);
|
||||
+ scsi_cmd_set(udev, &sc, 9, 0);
|
||||
+ err = scsi_cmd_run(udev, &sc, fd, buffer, sizeof(buffer));
|
||||
+ if ((err != 0)) {
|
||||
+ info_scsi_cmd_err(udev, "READ FIRST 32 BLOCKS", err);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ /* if any non-zero data is found in sector 16 (iso and udf) or
|
||||
+ * eventually 0 (fat32 boot sector, ext2 superblock, etc), disc
|
||||
+ * is assumed non-blank */
|
||||
+ result = 0;
|
||||
+
|
||||
+ for (block = 32768; block >= 0 && !result; block -= 32768) {
|
||||
+ offset = block;
|
||||
+ while (offset < (block + 2048) && !result) {
|
||||
+ result = buffer [offset];
|
||||
+ offset++;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!result) {
|
||||
+ cd_media_state = media_status[0];
|
||||
+ info(udev, "no data in blocks 0 or 16, assuming blank\n");
|
||||
+ } else {
|
||||
+ info(udev, "data in blocks 0 or 16, assuming complete\n");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+determined:
|
||||
+ /* "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];
|
||||
@@ -710,13 +871,11 @@
|
||||
if (cd_profiles(udev, fd) < 0)
|
||||
goto print;
|
||||
|
||||
- /* get writable media state */
|
||||
- if (cd_media_info(udev, fd) < 0)
|
||||
- goto print;
|
||||
-
|
||||
/* get session/track info */
|
||||
- if (cd_media_toc(udev, fd) < 0)
|
||||
- goto print;
|
||||
+ cd_media_toc(udev, fd);
|
||||
+
|
||||
+ /* get writable media state */
|
||||
+ cd_media_info(udev, fd);
|
||||
|
||||
print:
|
||||
printf("ID_CDROM=1\n");
|
||||
@@ -810,14 +969,14 @@
|
||||
printf("ID_CDROM_MEDIA_SESSION_NEXT=%d\n", cd_media_session_next);
|
||||
if (cd_media_session_count > 0)
|
||||
printf("ID_CDROM_MEDIA_SESSION_COUNT=%d\n", cd_media_session_count);
|
||||
+ if (cd_media_session_count > 1 && cd_media_session_last_offset > 0)
|
||||
+ printf("ID_CDROM_MEDIA_SESSION_LAST_OFFSET=%llu\n", cd_media_session_last_offset);
|
||||
if (cd_media_track_count > 0)
|
||||
printf("ID_CDROM_MEDIA_TRACK_COUNT=%d\n", cd_media_track_count);
|
||||
if (cd_media_track_count_audio > 0)
|
||||
printf("ID_CDROM_MEDIA_TRACK_COUNT_AUDIO=%d\n", cd_media_track_count_audio);
|
||||
if (cd_media_track_count_data > 0)
|
||||
printf("ID_CDROM_MEDIA_TRACK_COUNT_DATA=%d\n", cd_media_track_count_data);
|
||||
- if (cd_media_session_last_offset > 0)
|
||||
- printf("ID_CDROM_MEDIA_SESSION_LAST_OFFSET=%llu\n", cd_media_session_last_offset);
|
||||
exit:
|
||||
if (fd >= 0)
|
||||
close(fd);
|
||||
25
udev-153-changer.patch
Normal file
25
udev-153-changer.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
diff -up udev-153/rules/redhat/40-redhat.rules.changer udev-153/rules/redhat/40-redhat.rules
|
||||
--- udev-153/rules/redhat/40-redhat.rules.changer 2010-08-04 15:32:00.000000000 +0200
|
||||
+++ udev-153/rules/redhat/40-redhat.rules 2010-08-04 15:35:27.000000000 +0200
|
||||
@@ -5,17 +5,17 @@ KERNEL=="hd*[0-9]", ATTRS{media}=="flopp
|
||||
|
||||
KERNEL=="fw*", PROGRAM="fw_unit_symlinks.sh %k %n", SYMLINK+="$result"
|
||||
|
||||
-ACTION=="add", KERNEL=="sg[0-9]*", SUBSYSTEM=="scsi_device", ATTRS{type}=="3|6", SYMLINK+="scanner scanner-%k", MODE="0660"
|
||||
+ACTION=="add", KERNEL=="sg[0-9]*", SUBSYSTEM=="scsi_generic", ATTRS{type}=="3|6", SYMLINK+="scanner scanner-%k", MODE="0660"
|
||||
|
||||
-ACTION=="add", KERNEL=="sg[0-9]*", SUBSYSTEM=="scsi_device", ATTRS{type}=="8", SYMLINK+="changer changer-%k", MODE="0660", GROUP="disk"
|
||||
+ACTION=="add", KERNEL=="sg[0-9]*", SUBSYSTEM=="scsi_generic", ATTRS{type}=="8", SYMLINK+="changer changer-%k", MODE="0660", GROUP="disk"
|
||||
|
||||
SUBSYSTEM=="usb", KERNEL=="sd*", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", GROUP="floppy", MODE="0660", SYMLINK+="floppy floppy-%k"
|
||||
|
||||
KERNEL=="fd[0-9]*", SYMLINK+="floppy floppy-%k"
|
||||
|
||||
-ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="0|7|14", \
|
||||
+ACTION=="add", SUBSYSTEM=="scsi_generic", ATTRS{type}=="0|7|14", \
|
||||
RUN+="/sbin/modprobe sd_mod"
|
||||
-ACTION=="add", SUBSYSTEM=="scsi_device", ATTRS{type}=="[45]", \
|
||||
+ACTION=="add", SUBSYSTEM=="scsi_generic", ATTRS{type}=="[45]", \
|
||||
RUN+="/sbin/modprobe sr_mod"
|
||||
|
||||
KERNEL=="vcs", OWNER="vcsa", GROUP="tty"
|
||||
194
udev-153-keymap-backport.patch
Normal file
194
udev-153-keymap-backport.patch
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
diff -urN udev-153-orig/extras/keymap/95-keyboard-force-release.rules udev-153/extras/keymap/95-keyboard-force-release.rules
|
||||
--- udev-153-orig/extras/keymap/95-keyboard-force-release.rules 2010-09-21 13:52:31.000000000 +0200
|
||||
+++ udev-153/extras/keymap/95-keyboard-force-release.rules 2010-08-04 14:23:27.000000000 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
ENV{DMI_VENDOR}="$attr{[dmi/id]sys_vendor}"
|
||||
|
||||
|
||||
-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*N128*|*N130*|*N140*|*N210*|*SR70S/SR71S*|*Q210/P210*", RUN+="keyboard-force-release.sh $devpath samsung-other"
|
||||
+ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*E252*|*N120*|*N128*|*N130*|*N140*|*N148/N208*|*N150*|*N150/N210/N220*|*N220*|*N308*|*N310*|*N510*|*NB30*|*NC10/N110*|*ND10*|*Q210/P210*|*R410P*|*R425/R525*|*R428/P428*|*R460*|*R463*|*R468/R418*|*R480/R431/R481*|*R509*|*R518*|*R519/R719*|*R520/R522/R620*|*R528/R728*|*R530/R730*|*R530/R730/P590*|*R560*|*R580*|*R580/R590*|*R59/R60/R61*|*R59P/R60P/R61P*|*R710*|*R720*|*R780/R778*|*SR58P*|*SR700*|*SR70S/SR71S*|*SX22S*|*X118*|*X120*|*X460*", RUN+="keyboard-force-release.sh $devpath samsung-other"
|
||||
|
||||
ENV{DMI_VENDOR}=="Dell Inc.", ATTR{[dmi/id]product_name}=="Studio 1557|Studio 1558", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
|
||||
|
||||
@@ -29,4 +29,10 @@
|
||||
|
||||
ENV{DMI_VENDOR}=="MTC", ATTR{[dmi/id]product_version}=="A0", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
|
||||
|
||||
+ENV{DMI_VENDOR}=="PEGATRON CORP.", ATTR{[dmi/id]product_name}=="Spring Peak", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
|
||||
+
|
||||
+ENV{DMI_VENDOR}=="TOSHIBA", ATTR{[dmi/id]product_name}=="Satellite U300|Satellite Pro U300|Satellite U305", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
|
||||
+
|
||||
+ENV{DMI_VENDOR}=="Viooo Corporation", ATTR{[dmi/id]product_name}=="PT17", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
|
||||
+
|
||||
LABEL="force_release_end"
|
||||
diff -urN udev-153-orig/extras/keymap/95-keymap.rules udev-153/extras/keymap/95-keymap.rules
|
||||
--- udev-153-orig/extras/keymap/95-keymap.rules 2010-09-21 13:52:31.000000000 +0200
|
||||
+++ udev-153/extras/keymap/95-keymap.rules 2010-09-21 12:02:18.000000000 +0200
|
||||
@@ -21,7 +21,11 @@
|
||||
|
||||
ENV{ID_VENDOR}=="Logitech*", ATTRS{name}=="Logitech USB Multimedia Keyboard", RUN+="keymap $name logitech-wave"
|
||||
ENV{ID_VENDOR}=="Logitech*", ATTRS{name}=="Logitech USB Receiver", RUN+="keymap $name logitech-wave-cordless"
|
||||
+# Logitech Cordless Wave Pro looks slightly weird; some hotkeys are coming through the mouse interface
|
||||
+ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c529", ATTRS{name}=="Logitech USB Receiver", RUN+="keymap $name logitech-wave-pro-cordless"
|
||||
+
|
||||
ENV{ID_VENDOR}=="Lite-On_Technology_Corp*", ATTRS{name}=="Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint", RUN+="keymap $name lenovo-thinkpad-usb-keyboard-trackpoint"
|
||||
+ENV{ID_VENDOR_ID}=="04b3", ENV{ID_MODEL_ID}=="301[89]", RUN+="keymap $name ibm-thinkpad-usb-keyboard-trackpoint"
|
||||
|
||||
GOTO="keyboard_end"
|
||||
|
||||
@@ -37,11 +41,12 @@
|
||||
|
||||
ENV{DMI_VENDOR}=="IBM*", KERNELS=="input*", ATTRS{name}=="ThinkPad Extra Buttons", RUN+="keymap $name module-ibm"
|
||||
ENV{DMI_VENDOR}=="LENOVO*", KERNELS=="input*", ATTRS{name}=="ThinkPad Extra Buttons", RUN+="keymap $name module-lenovo"
|
||||
+ENV{DMI_VENDOR}=="LENOVO*", KERNELS=="input*", ATTRS{name}=="Lenovo ThinkPad SL Series extra buttons", RUN+="keymap $name 0x0E bluetooth"
|
||||
ENV{DMI_VENDOR}=="ASUS*", KERNELS=="input*", ATTRS{name}=="Asus Extra Buttons", ATTR{[dmi/id]product_name}=="W3J", RUN+="keymap $name module-asus-w3j"
|
||||
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.
|
||||
@@ -53,19 +58,22 @@
|
||||
LABEL="keyboard_vendorcheck"
|
||||
|
||||
ENV{DMI_VENDOR}=="Dell*", RUN+="keymap $name dell"
|
||||
-ENV{DMI_VENDOR}=="Dell*", ATTR{[dmi/id]product_name}=="Inspiron 1011", RUN+="keymap $name 0x84 wlan"
|
||||
+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}=="Compaq*", ATTR{[dmi/id]product_name}=="*E500*|*Evo N*", RUN+="keymap $name compaq-e_evo"
|
||||
|
||||
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}=="LENOVO", ATTR{[dmi/id]product_version}=="*IdeaPad Y550*", RUN+="keymap $name 0x95 media 0xA3 play"
|
||||
|
||||
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
|
||||
@@ -77,7 +85,8 @@
|
||||
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*|Aspire 1810T*|AO751h|AO531h", RUN+="keymap $name 0xD9 bluetooth"
|
||||
+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"
|
||||
@@ -110,7 +119,7 @@
|
||||
|
||||
ENV{DMI_VENDOR}=="MAXDATA", ATTR{[dmi/id]product_name}=="Pro 7000*", RUN+="keymap $name maxdata-pro_7000"
|
||||
|
||||
-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*NC10*|*NC20*|*N128*|*N130*|*N210*|*SP55S*|*SQ45S70S*|*SX60P*|*SX22S*|*SX30S*|*R59P/R60P/R61P*|*SR70S/SR71S*|*Q210*|*Q310*|*X05*|*P560*|*R560*", RUN+="keymap $name samsung-other"
|
||||
+ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", RUN+="keymap $name samsung-other"
|
||||
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s"
|
||||
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us"
|
||||
|
||||
@@ -120,6 +129,8 @@
|
||||
|
||||
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 -urN udev-153-orig/extras/keymap/findkeyboards udev-153/extras/keymap/findkeyboards
|
||||
--- udev-153-orig/extras/keymap/findkeyboards 2009-12-15 12:49:25.000000000 +0100
|
||||
+++ udev-153/extras/keymap/findkeyboards 2010-07-08 11:37:47.000000000 +0200
|
||||
@@ -34,6 +34,8 @@
|
||||
# modules
|
||||
module=`udevadm trigger --verbose --dry-run --subsystem-match=input --attr-match=name='*Extra Buttons'`
|
||||
module="$module
|
||||
+`udevadm trigger --verbose --dry-run --subsystem-match=input --attr-match=name='*extra buttons'`"
|
||||
+ module="$module
|
||||
`udevadm trigger --verbose --dry-run --subsystem-match=input --attr-match=name='Sony Vaio Keys'`"
|
||||
for m in $module; do
|
||||
evdev=`ls -d $m/event* 2>/dev/null`
|
||||
diff -urN udev-153-orig/extras/keymap/.gitignore udev-153/extras/keymap/.gitignore
|
||||
--- udev-153-orig/extras/keymap/.gitignore 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ udev-153/extras/keymap/.gitignore 2010-03-18 16:44:52.000000000 +0100
|
||||
@@ -0,0 +1,6 @@
|
||||
+keymap
|
||||
+keys-from-name.gperf
|
||||
+keys-from-name.h
|
||||
+keys-to-name.h
|
||||
+keys.txt
|
||||
+
|
||||
diff -urN udev-153-orig/extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint udev-153/extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint
|
||||
--- udev-153-orig/extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ udev-153/extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint 2010-07-07 10:58:29.000000000 +0200
|
||||
@@ -0,0 +1,7 @@
|
||||
+0x900f0 screenlock
|
||||
+0x900f1 wlan
|
||||
+0x900f2 switchvideomode
|
||||
+0x900f3 suspend
|
||||
+0x900f4 brightnessup
|
||||
+0x900f5 brightnessdown
|
||||
+0x900f8 zoom
|
||||
diff -urN udev-153-orig/extras/keymap/keymaps/lenovo-ideapad udev-153/extras/keymap/keymaps/lenovo-ideapad
|
||||
--- udev-153-orig/extras/keymap/keymaps/lenovo-ideapad 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ udev-153/extras/keymap/keymaps/lenovo-ideapad 2010-08-17 16:31:27.000000000 +0200
|
||||
@@ -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)
|
||||
diff -urN udev-153-orig/extras/keymap/keymaps/logitech-wave-pro-cordless udev-153/extras/keymap/keymaps/logitech-wave-pro-cordless
|
||||
--- udev-153-orig/extras/keymap/keymaps/logitech-wave-pro-cordless 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ udev-153/extras/keymap/keymaps/logitech-wave-pro-cordless 2010-07-07 10:58:29.000000000 +0200
|
||||
@@ -0,0 +1,12 @@
|
||||
+0xC01B6 camera
|
||||
+0xC0183 media
|
||||
+0xC0184 wordprocessor
|
||||
+0xC0186 spreadsheet
|
||||
+0xC018E calendar
|
||||
+0xC0223 homepage
|
||||
+0xC01BC messenger
|
||||
+0xC018A mail
|
||||
+0xC0221 search
|
||||
+0xC00B8 ejectcd
|
||||
+0xC022D zoomin
|
||||
+0xC022E zoomout
|
||||
diff -urN udev-153-orig/extras/keymap/keymaps/micro-star udev-153/extras/keymap/keymaps/micro-star
|
||||
--- udev-153-orig/extras/keymap/keymaps/micro-star 2009-12-03 13:45:03.000000000 +0100
|
||||
+++ udev-153/extras/keymap/keymaps/micro-star 2010-06-11 10:52:56.000000000 +0200
|
||||
@@ -6,6 +6,7 @@
|
||||
0xE2 bluetooth # satellite dish2
|
||||
0xE4 f22 # Fn-F3 Touchpad disable
|
||||
0xEC email # envelope button
|
||||
+0xEE camera # Fn-F6 camera disable
|
||||
0xF6 wlan # satellite dish1
|
||||
0xF7 brightnessdown # Fn-F4
|
||||
0xF8 brightnessup # Fn-F5
|
||||
diff -urN udev-153-orig/extras/keymap/keymaps/onkyo udev-153/extras/keymap/keymaps/onkyo
|
||||
--- udev-153-orig/extras/keymap/keymaps/onkyo 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ udev-153/extras/keymap/keymaps/onkyo 2010-08-31 10:35:41.000000000 +0200
|
||||
@@ -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
|
||||
24
udev-153-n210.patch
Normal file
24
udev-153-n210.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
diff -up udev-153/extras/keymap/95-keyboard-force-release.rules.n210 udev-153/extras/keymap/95-keyboard-force-release.rules
|
||||
--- udev-153/extras/keymap/95-keyboard-force-release.rules.n210 2010-08-04 15:55:56.000000000 +0200
|
||||
+++ udev-153/extras/keymap/95-keyboard-force-release.rules 2010-08-04 15:57:54.000000000 +0200
|
||||
@@ -19,7 +19,7 @@ DRIVER!="atkbd", GOTO="force_release_end
|
||||
ENV{DMI_VENDOR}="$attr{[dmi/id]sys_vendor}"
|
||||
|
||||
|
||||
-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*N130*|*N140*|*SR70S/SR71S*|*Q210/P210*", RUN+="keyboard-force-release.sh $devpath samsung-other"
|
||||
+ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*N128*|*N130*|*N140*|*N210*|*SR70S/SR71S*|*Q210/P210*", RUN+="keyboard-force-release.sh $devpath samsung-other"
|
||||
|
||||
ENV{DMI_VENDOR}=="Dell Inc.", ATTR{[dmi/id]product_name}=="Studio 1557|Studio 1558", RUN+="keyboard-force-release.sh $devpath common-volume-keys"
|
||||
|
||||
diff -up udev-153/extras/keymap/95-keymap.rules.n210 udev-153/extras/keymap/95-keymap.rules
|
||||
--- udev-153/extras/keymap/95-keymap.rules.n210 2010-08-04 15:57:23.000000000 +0200
|
||||
+++ udev-153/extras/keymap/95-keymap.rules 2010-08-04 15:57:52.000000000 +0200
|
||||
@@ -110,7 +110,7 @@ ENV{DMI_VENDOR}=="INVENTEC", ATTR{[dmi/i
|
||||
|
||||
ENV{DMI_VENDOR}=="MAXDATA", ATTR{[dmi/id]product_name}=="Pro 7000*", RUN+="keymap $name maxdata-pro_7000"
|
||||
|
||||
-ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*NC10*|*NC20*|*N130*|*SP55S*|*SQ45S70S*|*SX60P*|*SX22S*|*SX30S*|*R59P/R60P/R61P*|*SR70S/SR71S*|*Q210*|*Q310*|*X05*|*P560*|*R560*", RUN+="keymap $name samsung-other"
|
||||
+ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*NC10*|*NC20*|*N128*|*N130*|*N210*|*SP55S*|*SQ45S70S*|*SX60P*|*SX22S*|*SX30S*|*R59P/R60P/R61P*|*SR70S/SR71S*|*Q210*|*Q310*|*X05*|*P560*|*R560*", RUN+="keymap $name samsung-other"
|
||||
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*SX20S*", RUN+="keymap $name samsung-sx20s"
|
||||
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="SQ1US", RUN+="keymap $name samsung-sq1us"
|
||||
|
||||
22
udev-153-trigger.patch
Normal file
22
udev-153-trigger.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
diff --git a/udev/udevadm-trigger.c b/udev/udevadm-trigger.c
|
||||
index 03aa534..dbcaee3 100644
|
||||
--- a/udev/udevadm-trigger.c
|
||||
+++ b/udev/udevadm-trigger.c
|
||||
@@ -110,7 +110,7 @@ int udevadm_trigger(struct udev *udev, int argc, char *argv[])
|
||||
TYPE_SUBSYSTEMS,
|
||||
TYPE_FAILED,
|
||||
} device_type = TYPE_DEVICES;
|
||||
- const char *action = "change";
|
||||
+ const char *action = "add";
|
||||
struct udev_enumerate *udev_enumerate;
|
||||
int rc = 0;
|
||||
|
||||
@@ -184,7 +184,7 @@ int udevadm_trigger(struct udev *udev, int argc, char *argv[])
|
||||
" subsystems sys subsystems and drivers\n"
|
||||
" failed trigger only the events which have been\n"
|
||||
" marked as failed during a previous run\n"
|
||||
- " --action=<action> event action value, default is \"change\"\n"
|
||||
+ " --action=<action> event action value, default is \"add\"\n"
|
||||
" --subsystem-match=<subsystem> trigger devices from a matching subsystem\n"
|
||||
" --subsystem-nomatch=<subsystem> exclude devices from a matching subsystem\n"
|
||||
" --attr-match=<file[=<value>]> trigger devices with a matching attribute\n"
|
||||
27
udev-git484e1b2d11b9b89418589d885a625e647881933b.patch
Normal file
27
udev-git484e1b2d11b9b89418589d885a625e647881933b.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
commit 484e1b2d11b9b89418589d885a625e647881933b
|
||||
Author: Kay Sievers <kay.sievers@vrfy.org>
|
||||
Date: Tue May 25 09:54:14 2010 +0200
|
||||
|
||||
rules: optical drives - use ID_CDROM_MEDIA_TRACK_COUNT_DATA
|
||||
|
||||
We should not access non-data optical media, ans skip things
|
||||
like blkid. It will cause errors for some drives.
|
||||
|
||||
https://bugzilla.kernel.org/show_bug.cgi?id=15757
|
||||
|
||||
diff --git a/rules/rules.d/60-persistent-storage.rules b/rules/rules.d/60-persistent-storage.rules
|
||||
index d9f8003..1f46041 100644
|
||||
--- a/rules/rules.d/60-persistent-storage.rules
|
||||
+++ b/rules/rules.d/60-persistent-storage.rules
|
||||
@@ -52,9 +52,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}=="?*", 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{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}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"
|
||||
+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"
|
||||
|
||||
# probe filesystem metadata of disks
|
||||
KERNEL!="sr*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
|
||||
|
|
@ -26,7 +26,7 @@ case "$1" in
|
|||
[ -w /var/lock/subsys ] || exit 4
|
||||
STRING=$"Retrigger failed udev events"
|
||||
echo -n $STRING
|
||||
/sbin/udevadm trigger --type=failed
|
||||
/sbin/udevadm trigger --type=failed --action=add
|
||||
success "$STRING"
|
||||
echo
|
||||
|
||||
|
|
@ -58,8 +58,8 @@ case "$1" in
|
|||
STRING=$"Generating udev makedev cache file"
|
||||
MAKEDEV="/sbin/MAKEDEV"
|
||||
USE_MD5="false"
|
||||
[ -x /usr/bin/md5sum -a "$UDEV_USE_MAKEDEV_CACHE" == "yes" ] && USE_MD5="true"
|
||||
if [ "$USE_MD5" == "true" -a -x "$MAKEDEV" ]; then
|
||||
[[ "$UDEV_USE_MAKEDEV_CACHE" == "yes" && -x /usr/bin/md5sum ]] && USE_MD5="true"
|
||||
if [[ "$USE_MD5" == "true" && -x "$MAKEDEV" ]]; then
|
||||
for i in /etc/udev/makedev.d/*.nodes; do
|
||||
if [ -f "$i" ]; then
|
||||
# use a little caching to speedup things
|
||||
|
|
|
|||
225
udev.spec
225
udev.spec
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
Summary: A userspace implementation of devfs
|
||||
Name: udev
|
||||
Version: 151
|
||||
Release: 3%{?dist}
|
||||
Version: 153
|
||||
Release: 5%{?dist}
|
||||
License: GPLv2
|
||||
Group: System Environment/Base
|
||||
Provides: udev-persistent = %{version}-%{release}
|
||||
|
|
@ -13,14 +13,33 @@ Obsoletes: udev-persistent < 0:030-5
|
|||
Obsoletes: udev-extras < 20090618
|
||||
Provides: udev-extras = 20090618-1
|
||||
Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/%{name}-%{version}.tar.bz2
|
||||
Patch1: udev-151-rules.patch
|
||||
Patch2: udev-86a7a2f-fix-missing-firmware.patch
|
||||
|
||||
Patch17: 0017-udev-acl-properly-handle-CK-change-events-for-root-u.patch
|
||||
Patch18: 0018-udev-acl-really-fix-ACL-assignment-in-CK-events.patch
|
||||
Patch34: 0034-add-LGPL-COPYING-to-libudev-and-GUdev.patch
|
||||
Patch110: 0110-cdrom_id-only-mark-sr-0-9-as-ID_CDROM.patch
|
||||
Patch101: udev-151-rules.patch
|
||||
Patch102: udev-153-n210.patch
|
||||
Patch103: udev-151-gperf.patch
|
||||
Patch104: udev-git484e1b2d11b9b89418589d885a625e647881933b.patch
|
||||
Patch105: udev-153-changer.patch
|
||||
Patch106: udev-153-trigger.patch
|
||||
Patch200: 0001-set-SELinux-context-on-add-but-not-on-change-events.patch
|
||||
Patch300: udev-153-keymap-backport.patch
|
||||
Patch301: udev-153-cdrom_id-backport.patch
|
||||
|
||||
Source1: start_udev
|
||||
Source3: udev-post.init
|
||||
Source4: fw_unit_symlinks.sh
|
||||
Source5: udev.sysconfig
|
||||
|
||||
Source12: 40-isdn.rules
|
||||
Source13: 64-md-raid.rules
|
||||
Source14: 64-device-mapper.rules
|
||||
Source15: 40-ia64.rules
|
||||
Source16: 40-s390.rules
|
||||
Source17: 40-ppc.rules
|
||||
|
||||
ExclusiveOS: Linux
|
||||
URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
|
@ -110,17 +129,34 @@ glib-based applications using libudev functionality.
|
|||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%patch17 -p1 -b .git17
|
||||
%patch18 -p1 -b .git18
|
||||
%patch34 -p1 -b .git34
|
||||
|
||||
%patch110 -p1 -b .git110
|
||||
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
%patch104 -p1
|
||||
%patch105 -p1
|
||||
%patch106 -p1
|
||||
|
||||
%patch200 -p1
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
|
||||
%build
|
||||
autoreconf -i
|
||||
automake
|
||||
# get rid of rpath
|
||||
libtoolize -f -c
|
||||
%configure --with-selinux --prefix=%{_prefix} --exec-prefix="" \
|
||||
--sysconfdir=%{_sysconfdir} --with-libdir-name=%{_lib} \
|
||||
--sbindir="/sbin" --libexecdir=%{udev_scriptdir} \
|
||||
--with-rootlibdir=/%{_lib} --enable-introspection \
|
||||
--disable-rpath --enable-debug
|
||||
--sysconfdir=%{_sysconfdir} --with-libdir-name=%{_lib} \
|
||||
--sbindir="/sbin" --libexecdir=%{udev_scriptdir} \
|
||||
--with-rootlibdir=/%{_lib} --enable-introspection \
|
||||
--disable-rpath --enable-debug
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
|
@ -143,32 +179,24 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/scsi_id.config
|
|||
# force relative symlinks
|
||||
ln -sf ..%{udev_scriptdir}/scsi_id $RPM_BUILD_ROOT/sbin/scsi_id
|
||||
|
||||
ln -sf ../../sbin/udevadm $RPM_BUILD_ROOT%{_bindir}/udevinfo
|
||||
ln -sf ../../sbin/udevadm $RPM_BUILD_ROOT%{_bindir}/udevtest
|
||||
ln -sf ../../sbin/udevadm $RPM_BUILD_ROOT%{_sbindir}/udevmonitor
|
||||
|
||||
ln -sf ../../sbin/udevadm $RPM_BUILD_ROOT/sbin/udevtrigger
|
||||
ln -sf ../../sbin/udevadm $RPM_BUILD_ROOT/sbin/udevsettle
|
||||
ln -sf ../../sbin/udevadm $RPM_BUILD_ROOT/sbin/udevcontrol
|
||||
|
||||
for i in \
|
||||
rules/redhat/40-redhat.rules \
|
||||
rules/redhat/40-redhat.rules \
|
||||
%ifarch ia64
|
||||
rules/packages/40-ia64.rules \
|
||||
%{SOURCE15} \
|
||||
%endif
|
||||
%ifarch ppc ppc64
|
||||
rules/packages/40-ppc.rules \
|
||||
%{SOURCE17} \
|
||||
%endif
|
||||
%ifarch s390 s390x
|
||||
rules/packages/40-s390.rules \
|
||||
%{SOURCE16} \
|
||||
%endif
|
||||
rules/packages/40-isdn.rules \
|
||||
rules/packages/64-md-raid.rules \
|
||||
rules/packages/64-device-mapper.rules \
|
||||
; do
|
||||
install -m 0644 "$i" "$RPM_BUILD_ROOT%{udev_scriptdir}/rules.d/${i##*/}"
|
||||
%{SOURCE12} \
|
||||
%{SOURCE13} \
|
||||
%{SOURCE14} \
|
||||
; do
|
||||
install -m 0644 "$i" "$RPM_BUILD_ROOT%{udev_scriptdir}/rules.d/${i##*/}"
|
||||
done
|
||||
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{udev_scriptdir}/{,devices}
|
||||
|
||||
install -m 0755 %{SOURCE4} $RPM_BUILD_ROOT%{udev_scriptdir}/fw_unit_symlinks.sh
|
||||
|
|
@ -188,16 +216,16 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/udev/makedev.d
|
|||
|
||||
%preun
|
||||
if [ "$1" -eq 0 -a -f %{_initrddir}/udev ]; then
|
||||
if [ -x /sbin/pidof ]; then
|
||||
pid=$(/sbin/pidof -c udevd)
|
||||
if [ -n "$pid" ]; then
|
||||
kill $pid
|
||||
fi
|
||||
fi
|
||||
/sbin/chkconfig --del udev
|
||||
if [ -x /sbin/pidof ]; then
|
||||
pid=$(/sbin/pidof -c udevd)
|
||||
if [ -n "$pid" ]; then
|
||||
kill $pid
|
||||
fi
|
||||
fi
|
||||
/sbin/chkconfig --del udev
|
||||
fi
|
||||
if [ "$1" -eq 0 ]; then
|
||||
/sbin/chkconfig --del udev-post
|
||||
/sbin/chkconfig --del udev-post
|
||||
fi
|
||||
exit 0
|
||||
|
||||
|
|
@ -212,29 +240,33 @@ getent group dialout >/dev/null || /usr/sbin/groupadd -g 18 dialout || :
|
|||
|
||||
# kill daemon if we are not in a chroot
|
||||
if test -f /proc/1/exe -a -d /proc/1/root; then
|
||||
if test -x /usr/bin/stat -a "$(/usr/bin/stat -Lc '%%D-%%i' /)" = "$(/usr/bin/stat -Lc '%%D-%%i' /proc/1/root)"; then
|
||||
if test -x /sbin/udevd -a -x /sbin/pidof ; then
|
||||
/sbin/udevadm control --stop-exec-queue
|
||||
pid=$(/sbin/pidof -c udevd)
|
||||
while [ -n "$pid" ]; do
|
||||
for p in $pid; do
|
||||
kill $hard $p;
|
||||
done
|
||||
pid=$(/sbin/pidof -c udevd)
|
||||
hard="-9"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if test -x /usr/bin/stat -a "$(/usr/bin/stat -Lc '%%D-%%i' /)" = "$(/usr/bin/stat -Lc '%%D-%%i' /proc/1/root)"; then
|
||||
if test -x /sbin/udevd -a -x /sbin/pidof ; then
|
||||
/sbin/udevadm control --stop-exec-queue
|
||||
pid=$(/sbin/pidof -c udevd)
|
||||
while [ -n "$pid" ]; do
|
||||
for p in $pid; do
|
||||
kill $hard $p;
|
||||
done
|
||||
pid=$(/sbin/pidof -c udevd)
|
||||
hard="-9"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%triggerpostun -- udev < 153-5
|
||||
[ -c /dev/systty ] && ln -fs tty0 /dev/systty
|
||||
:
|
||||
|
||||
%post
|
||||
# start daemon if we are not in a chroot
|
||||
if test -f /proc/1/exe -a -d /proc/1/root; then
|
||||
if test "$(/usr/bin/stat -Lc '%%D-%%i' /)" = "$(/usr/bin/stat -Lc '%%D-%%i' /proc/1/root)"; then
|
||||
/sbin/udevd -d
|
||||
/sbin/udevadm control --start-exec-queue
|
||||
fi
|
||||
if test "$(/usr/bin/stat -Lc '%%D-%%i' /)" = "$(/usr/bin/stat -Lc '%%D-%%i' /proc/1/root)"; then
|
||||
/sbin/udevd -d
|
||||
/sbin/udevadm control --start-exec-queue
|
||||
fi
|
||||
fi
|
||||
/sbin/chkconfig --add udev-post
|
||||
|
||||
|
|
@ -259,9 +291,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%defattr(0644, root, root, 0755)
|
||||
%doc NEWS COPYING README TODO ChangeLog extras/keymap/README.keymap.txt
|
||||
%attr(0755,root,root) /sbin/udevadm
|
||||
%attr(0755,root,root) /sbin/udevsettle
|
||||
%attr(0755,root,root) /sbin/udevtrigger
|
||||
%attr(0755,root,root) /sbin/udevcontrol
|
||||
%attr(0755,root,root) /sbin/udevd
|
||||
%attr(0755,root,root) /sbin/start_udev
|
||||
%attr(0755,root,root) /sbin/scsi_id
|
||||
|
|
@ -286,9 +315,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||
|
||||
%attr(0755,root,root) %dir %{udev_scriptdir}/rules.d/
|
||||
%attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/udev-post
|
||||
%attr(0755,root,root) %{_bindir}/udevtest
|
||||
%attr(0755,root,root) %{_bindir}/udevinfo
|
||||
%attr(0755,root,root) %{_sbindir}/udevmonitor
|
||||
%attr(0755,root,root) %dir %{_sysconfdir}/udev/
|
||||
%attr(0755,root,root) %dir %{_sysconfdir}/udev/rules.d/
|
||||
%attr(0755,root,root) %dir %{udev_scriptdir}/
|
||||
|
|
@ -315,26 +341,26 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%ghost %dir %{_sysconfdir}/udev/devices/
|
||||
%ghost %dir %{_sysconfdir}/dev.d/
|
||||
|
||||
%attr(0755,root,root) %{udev_scriptdir}/modem-modeswitch
|
||||
%attr(0755,root,root) %{udev_scriptdir}/mobile-action-modeswitch
|
||||
%attr(0755,root,root) %{udev_scriptdir}/pci-db
|
||||
%attr(0755,root,root) %{udev_scriptdir}/usb-db
|
||||
%attr(0755,root,root) %{udev_scriptdir}/keymap
|
||||
%attr(0755,root,root) %{udev_scriptdir}/udev-acl
|
||||
%attr(0755,root,root) %{udev_scriptdir}/v4l_id
|
||||
%attr(0755,root,root) %{udev_scriptdir}/findkeyboards
|
||||
%dir %attr(0755,root,root) %{udev_scriptdir}/keymaps
|
||||
%attr(0644,root,root) %{udev_scriptdir}/keymaps/*
|
||||
%dir %{udev_scriptdir}/keymaps
|
||||
%{udev_scriptdir}/keymaps/*
|
||||
%attr(0644,root,root) %{_prefix}/lib/ConsoleKit/run-seat.d/udev-acl.ck
|
||||
|
||||
|
||||
%files -n libudev
|
||||
%defattr(0644, root, root, 0755)
|
||||
%doc COPYING
|
||||
%doc libudev/COPYING
|
||||
%attr(0755,root,root) /%{_lib}/libudev.so.*
|
||||
|
||||
%files -n libudev-devel
|
||||
%defattr(0644, root, root, 0755)
|
||||
%doc COPYING libudev/docs/html/*
|
||||
%doc libudev/COPYING libudev/docs/html/*
|
||||
%{_includedir}/libudev.h
|
||||
%{_libdir}/libudev.so
|
||||
%{_libdir}/pkgconfig/libudev.pc
|
||||
|
|
@ -343,14 +369,16 @@ rm -rf $RPM_BUILD_ROOT
|
|||
|
||||
%files -n libgudev1
|
||||
%defattr(0644, root, root, 0755)
|
||||
%doc COPYING
|
||||
%doc extras/gudev/COPYING
|
||||
%attr(0755,root,root) %{_libdir}/libgudev-1.0.so.*
|
||||
%attr(0644,root,root) %{_libdir}/girepository-1.0/GUdev-1.0.typelib
|
||||
|
||||
%files -n libgudev1-devel
|
||||
%defattr(0644, root, root, 0755)
|
||||
%doc COPYING extras/gudev/docs/html/*
|
||||
%doc extras/gudev/COPYING extras/gudev/docs/html/*
|
||||
%attr(0755,root,root) %{_libdir}/libgudev-1.0.so
|
||||
%dir %attr(0755,root,root) %{_includedir}/gudev-1.0
|
||||
%dir %attr(0755,root,root) %{_includedir}/gudev-1.0/gudev
|
||||
%attr(0644,root,root) %{_includedir}/gudev-1.0/gudev/*.h
|
||||
%attr(0644,root,root) %{_datadir}/gir-1.0/GUdev-1.0.gir
|
||||
%dir %{_datadir}/gtk-doc/html/gudev
|
||||
|
|
@ -358,6 +386,69 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%attr(0644,root,root) %{_libdir}/pkgconfig/gudev-1.0*
|
||||
|
||||
%changelog
|
||||
* Thu Nov 18 2010 Harald Hoyer <harald@redhat.com> 153-5
|
||||
- fix /dev/systty
|
||||
Resolves: rhbz#654935
|
||||
|
||||
* Wed Sep 22 2010 Harald Hoyer <harald@redhat.com> 153-4
|
||||
- fixed SELinux contexts on "add" events
|
||||
- backported keymaps
|
||||
- backported cdrom_id
|
||||
|
||||
* Fri Aug 13 2010 Harald Hoyer <harald@redhat.com> 153-3
|
||||
- revert the default trigger to "add"
|
||||
|
||||
* Wed Aug 04 2010 Harald Hoyer <harald@redhat.com> 153-2
|
||||
- trigger with action==add
|
||||
- add rd_NO_MDIMSM on noiswmd kernel cmdline option
|
||||
Resolves: rhbz#589774
|
||||
- fix console switching and ACLs
|
||||
Resolves: rhbz#608712
|
||||
- fix key mapping for Samsung N210
|
||||
Resolves: rhbz#606302
|
||||
- fix for blank or audio CDs
|
||||
Resolves: rhbz#606285
|
||||
- fix for scsi changer
|
||||
Resolves: rhbz#600983
|
||||
|
||||
* Mon Aug 02 2010 Harald Hoyer <harald@redhat.com> 153-1
|
||||
- version 153, because device-mapper needs IMPORT{db}
|
||||
- do not remove udev database
|
||||
Resolves: rhbz#610925
|
||||
|
||||
* Thu Jun 10 2010 Bastien Nocera <bnocera@redhat.com> 151-10
|
||||
- Revert patch for hid2hci rules, fixes keyboards not going
|
||||
into HCI (Bluetooth) mode after being plugged in (#595178)
|
||||
|
||||
* Tue Apr 27 2010 Harald Hoyer <harald@redhat.com> 151-9
|
||||
- more cdrom_id bugfixes to prevent autoclosing
|
||||
|
||||
* Tue Apr 13 2010 Harald Hoyer <harald@redhat.com> 151-8
|
||||
- more cdrom_id bugfixes for buggy cdroms and CD burning
|
||||
(bug #577659)
|
||||
|
||||
* Mon Mar 22 2010 Harald Hoyer <harald@redhat.com> 151-7
|
||||
- only correct the timestamp, if UTC=="no"
|
||||
|
||||
* Mon Mar 22 2010 Harald Hoyer <harald@redhat.com> 151-6
|
||||
- touch with "--no-create", will not use open()
|
||||
and trigger devs/watchdogs (bug #575417)
|
||||
|
||||
* Mon Mar 22 2010 Harald Hoyer <harald@redhat.com> 151-5
|
||||
- fixed return code of touching the device nodes [FAIL] -> [OK]
|
||||
|
||||
* Fri Mar 19 2010 Harald Hoyer <harald@redhat.com> 151-4
|
||||
- add patch for virtio-ports (#569700)
|
||||
- own libgudev dirs (#561319)
|
||||
- minor udev startup script improvements (#549518)
|
||||
- create /dev/hugepages subdir in start_udev (#541998)
|
||||
- remove GPL COPYING file from LGPL subpackages (#536843)
|
||||
- removed symlinks to udevadm
|
||||
- touch all device nodes after udev settled for the timezone
|
||||
timestamp (#569335)
|
||||
- add some upstream bugfixes
|
||||
- add "-D" to gperf call
|
||||
|
||||
* Sun Feb 07 2010 Kyle McMartin <kyle@redhat.com> 151-3
|
||||
- udev-86a7a2f-fix-missing-firmware.patch: fix hang when loading
|
||||
microcode (since microcode_intel tries to probe firmware which does
|
||||
|
|
@ -445,7 +536,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||
- git fix: rule-generator: cd - skip by-path links if we create by-id links
|
||||
- git fix: fix possible endless loop for GOTO to non-existent LABEL
|
||||
- git fix: cdrom_id: suppress ID_CDROM_MEDIA_STATE=blank for plain non-writable
|
||||
CDROM media
|
||||
CDROM media
|
||||
|
||||
* Thu Jun 08 2009 Harald Hoyer <harald@redhat.com> 142-3
|
||||
- delay device-mapper changes
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue