Hello community,

here is the log from the commit of package udev.935 for openSUSE:12.1:Update 
checked in at 2012-09-28 15:01:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update/udev.935 (Old)
 and      /work/SRC/openSUSE:12.1:Update/.udev.935.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "udev.935", Maintainer is ""

Changes:
--------
New Changes file:

--- /dev/null   2012-08-23 02:41:28.555381587 +0200
+++ /work/SRC/openSUSE:12.1:Update/.udev.935.new/udev.changes   2012-09-28 
15:01:49.000000000 +0200
@@ -0,0 +1,2508 @@
+-------------------------------------------------------------------
+Wed Sep 19 07:55:40 UTC 2012 - rmila...@suse.com
+
+- create /dev/root symlink with dynamic rule for systemd (bnc#776882).
+- add update of initrd image file in %post and %postun.
+
+-------------------------------------------------------------------
+Mon Apr  2 13:43:42 UTC 2012 - rmila...@suse.com
+
+- Prevent segfault on slow clocks (bnc#738604) 
+  added: prevent-segfault-in-slow-clocks.patch
+
+-------------------------------------------------------------------
+Tue Nov  8 15:27:02 UTC 2011 - co...@suse.com
+
+- Added upstream patch to avoid deadlocks, bnc#722858
+
+-------------------------------------------------------------------
+Mon Oct 17 21:19:24 UTC 2011 - gre...@suse.com
+
+- fix issue with missmatched versions of libudev and udev installed at
+  the same time.  This recently hit openSUSE:Tumbleweed in a bad way.
+
+-------------------------------------------------------------------
+Sat Sep 17 17:46:34 UTC 2011 - tittiatc...@gmail.com
+
+- Added upstream patch to make bluetooth hid devices working again
+  with Xorg. This patch restores the ID_INPUT=1 and 
+  ID_INPUT_{KEY,MOUSE}=1 properties Xorg relies on these properties 
+  for cold- and hotplugging of input devices. (bnc#716892)
+
+-------------------------------------------------------------------
+Thu Aug 25 16:12:25 UTC 2011 - fcro...@suse.com
+
+- version 173
+  * enable udev-acl extra (we haven't switched to systemd only)
+  * On systemd systems, udev-acl rules prevent it from running,
+    functionnality has been moved to systemd.
+
+-------------------------------------------------------------------
+Thu Jul 14 07:16:36 UTC 2011 - a...@suse.de
+
+- version 172
+  * udev now enables kernel media-presence polling if available.
+  * Libudev enumerate is now able to enumerate a subtree of a given
+    device.
+
+-------------------------------------------------------------------
+Fri May 27 01:46:53 CEST 2011 - kay.siev...@novell.com
+
+- version 171
+  - systemd: run udev.service and udev-trigger.service in
+    parallel
+  - path_id: allow to be asked about usb_devices not only
+    usb_interfaces
+  - rules: support substitutions in TAG=
+  - libudev: enumerate - do not ignore other matches when
+    add_match_tag() is used
+  - rules: implement TAGS== match
+  - configure: allow usb.ids location to be specified
+
+-------------------------------------------------------------------
+Thu May 19 23:16:54 CEST 2011 - kay.siev...@novell.com
+
+- version 170
+  - fix control message handling which could lead to a failing
+    udevadm control --exit
+
+-------------------------------------------------------------------
+Wed May 18 18:40:32 CEST 2011 - kay.siev...@novell.com
+
+- version 169
+  - hid2hci is no longer part of udev, it moved to bluez
+  - mobile-action-modeswitch is disabled, it moved
+    to usb_modeswitch
+  - edd_id is disabled, it depends on disk signatures that
+    might be removed
+  - the event timeout is 60 seconds now
+
+-------------------------------------------------------------------
+Tue Apr 26 21:26:48 CEST 2011 - kay.siev...@novell.com
+
+- the udev package is GPLV2+, only libudev is LGPLv2.1+
+
+-------------------------------------------------------------------
+Fri Apr 22 19:00:52 CEST 2011 - kay.siev...@novell.com
+
+- version 168
+  - systemd: Reqires= -> Wants=udev.socket
+  - path_id: rework SAS device handling
+  - udevd: rules files - accept empty or /dev/null links
+  - udevd: always use udevd[] log prefix
+  - udevd: netif rename - use ifindex for temporary name
+  - rule-generator: net - ignore Hyper-V virtual interfaces
+  - udevd: get netlink socket from systemd
+  - udevd: log warning if /run is not writable
+  - Avoid spinning up CD on pressing eject button
+  - Run ata_id on non-removable USB devices
+  - systemd: bind udev control socket with systemd
+  - cdrom_id: don't ignore profiles when there is no media
+  - use /run/udev/ if available, fall back to /dev/.udev/
+  - convert old udev database format at udevd startup
+  - udev-acl: add /dev/sgX nodes
+  - remove video4linux1 support (dropped from kernel)
+- drop udev_retry init script (no longer supported)
+- systemd: call daemon-reload where neccessary
+- systemd: start and stop service with systemctl
+- conflict with old mkinitrd version (we need /run)
+- conflict with aaa_base < 11.5
+- conflict with filesystem < 11.5
+- conflict with systemd < 25
+
+-------------------------------------------------------------------
+Sat Feb 12 12:33:10 UTC 2011 - sndir...@novell.com
+
+- removed 79-kms.rules (bnc #609607, comment #42)
+
+-------------------------------------------------------------------
+Thu Feb 10 09:02:58 CET 2011 - kay.siev...@novell.com
+
+- version 166
+  - updated keymaps
+  - add qemu usb autosuspend rules
+
+-------------------------------------------------------------------
+Thu Dec 16 13:22:29 CET 2010 - kay.siev...@novell.com
+
+- version 165
+  - the database format changed
+    the old format is converted to the new one during update
+  - libudev supports:
+      udev_device_get_is_initialized()
+      udev_enumerate_add_match_is_initialized()
+  - Gudev supports GUdevEnumerator, TAG and timestamps
+
+-------------------------------------------------------------------
+Thu Nov 11 10:09:07 UTC 2010 - co...@novell.com
+
+- own parent dirs for systemd files
+
+-------------------------------------------------------------------
+Sat Oct 23 15:32:13 CEST 2010 - kay.siev...@novell.com
+
+- version 164
+  - GUdev moved from /usr to /
+  - cdrom_id fixes
+  - new keymaps
+
+-------------------------------------------------------------------
+Thu Oct 7 15:11:23 CEST 2010 - kay.siev...@novell.com
+
+- version 163
+  - cdrom bug fixes
+  - scsi_id ID_TARGET_PORT= export
+  - updated systemd integration
+
+-------------------------------------------------------------------
+Fri Sep 3 13:23:30 CEST 2010 - kay.siev...@novell.com
+
+- version 162
+  - cdrom_id bug fixes for DVD media
+  - unconditionally enable udev on systemd bootups
+  - new/updated keymaps
+  - do not create persistent network rules in qemu/kvm
+
+-------------------------------------------------------------------
+Wed Aug 11 15:45:01 CEST 2010 - kay.siev...@novell.com
+
+- version 161
+  - fixed device rename dabase file handling
+  - fixed keymaps
+  - improved cdrom_id
+
+-------------------------------------------------------------------
+Sat Jul 24 10:12:46 CEST 2010 - kay.siev...@novell.com
+
+- update systemd service installation
+
+-------------------------------------------------------------------
+Wed Jul 14 00:48:53 CEST 2010 - kay.siev...@novell.com
+
+- drop systemd-units
+
+-------------------------------------------------------------------
+Wed Jul 14 00:10:12 CEST 2010 - kay.siev...@novell.com
+
+- conflict with systemd < 3
+
+-------------------------------------------------------------------
+Mon Jul 12 10:39:54 CEST 2010 - kay.siev...@novell.com
+
+- disable boot.udev_retry init script
+
+-------------------------------------------------------------------
+Mon Jul 12 00:01:59 CEST 2010 - kay.siev...@novell.com
+
+- Update to version 160
++++ 2311 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.1:Update/.udev.935.new/udev.changes

New:
----
  baselibs.conf
  boot.udev
  prevent-segfault-in-slow-clocks.patch
  udev-173.tar.bz2
  udev-root-symlink.systemd
  udev-rpmlintrc
  udev.changes
  udev.git-617746e09795575c6258dd075ee7f0a44ce61e1e.patch
  udev.git-7944a13a2b8516d5fa354703789f5988cb4299b6.patch
  udev.spec
  write_dev_root_rule

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ udev.spec ++++++
#
# spec file for package udev
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           udev
Url:            http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
Version:        173
Release:        0
Summary:        A rule-based device node and kernel event manager
License:        GPL-2.0+
Group:          System/Kernel
PreReq:         /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq 
/usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd
Conflicts:      systemd < 28
Conflicts:      aaa_base < 11.5
Conflicts:      filesystem < 11.5
Conflicts:      mkinitrd < 2.7.0
Conflicts:      util-linux < 2.16
Conflicts:      ConsoleKit < 0.4.1
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  glib2-devel
BuildRequires:  gobject-introspection-devel
BuildRequires:  gperf
BuildRequires:  libacl-devel
BuildRequires:  libselinux-devel
BuildRequires:  libsepol-devel
BuildRequires:  libusb-devel
BuildRequires:  pciutils-ids
BuildRequires:  pkg-config
BuildRequires:  usbutils
Source0:        
ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/%{name}-%{version}.tar.bz2
Source1:        udev-rpmlintrc
Source2:        baselibs.conf
Source60:       boot.udev
Source61:       write_dev_root_rule
Source62:       udev-root-symlink.systemd
#Patch from upstream to make bluetooth input devices working again.
Patch1:         udev.git-617746e09795575c6258dd075ee7f0a44ce61e1e.patch
#PATCH-FIX-UPSTREAM bnc#722858
Patch2:         udev.git-7944a13a2b8516d5fa354703789f5988cb4299b6.patch
#PATCH-FIX-UPSTREAM bnc#738604
Patch3:         prevent-segfault-in-slow-clocks.patch

# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
# in the patch. Any patches added here without a very good reason to make
# an exception will be silently removed with the next version update.

%description
Udev creates and removes device nodes in /dev for devices discovered or
removed from the system. It receives events via kernel netlink messages
and dispatches them according to rules in /lib/udev/rules.d/. Matching
rules may name a device node, create additional symlinks to the node,
call tools to initialize a device, or load needed kernel modules.

%package -n libudev0
Summary:        Dynamic library to access udev device information
License:        LGPL-2.1+
Group:          System/Libraries
Requires:       udev = %{version}-%{release}

%description -n libudev0
This package contains the dynamic library libudev, which provides
access to udev device information

%package -n libudev-devel
Summary:        Development files for libudev
License:        LGPL-2.1+
Group:          Development/Libraries/Other
Requires:       libudev0 = %{version}-%{release}

%description -n libudev-devel
This package contains the development files for the library libudev, a
dynamic library, which provides access to udev device information.

%package -n libgudev-1_0-0
Summary:        GObject library, to access udev device information
License:        LGPL-2.1+
Group:          System/Libraries
Requires:       libudev0 = %{version}-%{release}

%description -n libgudev-1_0-0
This package contains the GObject library libgudev, which provides
access to udev device information.

%package -n libgudev-1_0-devel
Summary:        Devel package for libgudev
License:        LGPL-2.1+
Group:          Development/Libraries/Other
Requires:       glib2-devel
Requires:       libgudev-1_0-0 = %{version}-%{release}
Requires:       libudev-devel = %{version}-%{release}

%description -n libgudev-1_0-devel
This is the devel package for the GObject library libgudev, which
provides GObject access to udev device information.

%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1

%build
# prevent man pages from re-building (xmlto)
find . -name "*.[1-8]" -exec touch '{}' \;
export V=1
%configure \
  --sysconfdir=%{_sysconfdir} \
  --sbindir=/sbin \
  --with-rootlibdir=/%{_lib} \
  --libexecdir=/lib/udev \
  --docdir=%{_docdir}/udev \
  --with-selinux \
  --with-systemdsystemunitdir=/lib/systemd/system \
  --enable-floppy \
  --enable-udev_acl \
  CFLAGS="$RPM_OPT_FLAGS"
make %{?_smp_mflags}

%install
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT/%{_libdir}/libudev.la
rm -f $RPM_BUILD_ROOT/%{_libdir}/libgudev-1.0.la
cp -ax README $RPM_BUILD_ROOT%{_docdir}/udev
%ifarch ppc ppc64
cp rules/arch/40-ppc.rules $RPM_BUILD_ROOT/lib/udev/rules.d/
%endif
%ifarch ia64
cp rules/arch/40-ia64.rules $RPM_BUILD_ROOT/lib/udev/rules.d/
%endif
%ifarch s390 s390x
cp rules/arch/40-s390.rules $RPM_BUILD_ROOT/lib/udev/rules.d/
%endif
install -m755 -D %{S:60} $RPM_BUILD_ROOT/etc/init.d/boot.udev
install -m755 -D %{S:61} $RPM_BUILD_ROOT/lib/udev/write_dev_root_rule
install -m644 -D %{S:62} 
$RPM_BUILD_ROOT/lib/systemd/system/udev-root-symlink.service
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants
ln -sf ../udev-root-symlink.service 
$RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants

%pre
/usr/bin/getent group tape > /dev/null 2>&1 || /usr/sbin/groupadd -r tape 2> 
/dev/null
# stop daemon if we are not in a chroot
if test -f /proc/1/exe -a -d /proc/1/root; then
        if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' 
/proc/1/root)"; then
                /bin/systemctl stop udev-control.socket udev-kernel.service 
>/dev/null 2>&1 || :
                /sbin/udevadm control --exit >/dev/null 2>&1 || :
        fi
fi

%post
%{fillup_and_insserv -Y boot.udev}
# add KERNEL name match to existing persistent net rules
sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", 
NAME="\1\2"/}' \
    /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || :
# cleanup old stuff
rm -f /etc/sysconfig/udev
rm -f /etc/udev/rules.d/20-cdrom.rules
rm -f /etc/udev/rules.d/55-cdrom.rules
rm -f /etc/udev/rules.d/65-cdrom.rules
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
# start daemon if we are not in a chroot
if test -f /proc/1/exe -a -d /proc/1/root; then
        if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' 
/proc/1/root)"; then
                /bin/systemctl start udev.service >/dev/null 2>&1 || :
                /sbin/udevd --daemon >/dev/null 2>&1 || :
        fi
fi

[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then
  echo "Skipping recreation of existing initial ramdisks, due"
  echo "to presence of /var/lib/no_initrd_recreation_by_suspend"
elif [ -x /sbin/mkinitrd ]; then
  /sbin/mkinitrd
fi

%postun
%insserv_cleanup
/bin/systemctl daemon-reload >/dev/null 2>&1 || :

[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then
  echo "Skipping recreation of existing initial ramdisks, due"
  echo "to presence of /var/lib/no_initrd_recreation_by_suspend"
elif [ -x /sbin/mkinitrd ]; then
  /sbin/mkinitrd
fi

%post -n libudev0 -p /sbin/ldconfig

%postun -n libudev0 -p /sbin/ldconfig

%post -n libgudev-1_0-0 -p /sbin/ldconfig

%postun -n libgudev-1_0-0 -p /sbin/ldconfig

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
/sbin/udevd
/sbin/udevadm
%dir /lib/udev/
/lib/udev/*
%dir /lib/udev/keymaps
/lib/udev/keymaps/*
/lib/udev/keyboard-force-release.sh
%dir /lib/udev/rules.d/
/lib/udev/rules.d/*.rules
%{_sysconfdir}/init.d/boot.udev
%dir %{_sysconfdir}/udev/
%dir %{_sysconfdir}/udev/rules.d/
%config(noreplace) %{_sysconfdir}/udev/udev.conf
%dir %{_prefix}/lib/ConsoleKit
%dir %{_prefix}/lib/ConsoleKit/run-seat.d
%{_prefix}/lib/ConsoleKit/run-seat.d/udev-acl.ck
%{_mandir}/man?/*.[0-9]*
%{_datadir}/pkgconfig/udev.pc
%doc %{_docdir}/udev
%dir /lib/udev/devices/
%dir /lib/systemd/system
/lib/systemd/system/udev*.service
/lib/systemd/system/udev*.socket
%dir /lib/systemd/system/basic.target.wants
/lib/systemd/system/basic.target.wants/udev*.service
%dir /lib/systemd/system/sockets.target.wants
/lib/systemd/system/sockets.target.wants/udev*.socket

%files -n libudev0
%defattr(-,root,root)
/%{_lib}/libudev.so.*

%files -n libudev-devel
%defattr(-,root,root)
%{_includedir}/libudev.h
%{_libdir}/libudev.so
%{_libdir}/pkgconfig/libudev.pc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%dir %{_datadir}/gtk-doc/html/libudev
%{_datadir}/gtk-doc/html/libudev/*

%files -n libgudev-1_0-0
%defattr(-,root,root)
/%{_lib}/libgudev-1.0.so.*
%{_libdir}/girepository-1.0/GUdev-1.0.typelib

%files -n libgudev-1_0-devel
%defattr(-,root,root)
%dir %{_includedir}/gudev-1.0
%dir %{_includedir}/gudev-1.0/gudev
%{_includedir}/gudev-1.0/gudev/*.h
%{_libdir}/libgudev-1.0.so
%{_libdir}/pkgconfig/gudev-1.0.pc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%dir %{_datadir}/gtk-doc/html/gudev
%{_datadir}/gtk-doc/html/gudev/*
%{_datadir}/gir-1.0/GUdev-1.0.gir

%changelog
++++++ baselibs.conf ++++++
libudev0
libgudev-1_0-0
++++++ boot.udev ++++++
#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          boot.udev
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:     B
# Default-Stop:
# Short-Description: manage /dev and kernel device-events
# Description:       udevd daemon to manage /dev and kernel device events
### END INIT INFO

. /etc/rc.status

PATH="/sbin:/bin"
udev_timeout=180

case "$1" in
        start)
                # create /dev/root symlink with dynamic rule
                if [ -x /lib/udev/write_dev_root_rule ]; then
                     /lib/udev/write_dev_root_rule
                fi

                # start udevd
                echo -n "Starting udevd: "
                /sbin/udevd --daemon
                if [ $? -ne 0 ]; then
                        rc_status -v
                        rc_exit
                fi
                rc_status -v

                # trigger events for all devices
                echo -n "Loading drivers, configuring devices: "
                /sbin/udevadm trigger --type=subsystems --action=add
                /sbin/udevadm trigger --type=devices --action=add

                # wait for events to finish
                /sbin/udevadm settle --timeout=$udev_timeout
                rc_status -v
                ;;
        stop)
                echo -n "Stopping udevd: "
                killproc /sbin/udevd
                rc_status -v
                ;;
        restart)
                echo -n "Restarting udevd: "
                killproc /sbin/udevd
                /sbin/udevd --daemon
                rc_status -v
                ;;
        status)
                echo -n "Checking for udevd: "
                checkproc /sbin/udevd
                rc_status -v
                ;;
        reload)
                echo -n "Reloading udev rules: "
                /sbin/udevadm control --reload-rules
                rc_status -v
                ;;
        force-reload)
                echo -n "Restarting udev and reconfiguring all devices: "
                killproc /sbin/udevd
                rm -rf /dev/.udev /dev/disk
                root_symlink_rule
                /sbin/udevd --daemon
                /sbin/udevadm trigger --action=add
                /sbin/udevadm settle --timeout=$udev_timeout
                rc_status -v
                ;;
        *)
                echo "Usage: $0 {start|stop|restart|status|reload|force-reload}"
                exit 1
                ;;
esac
rc_exit
++++++ prevent-segfault-in-slow-clocks.patch ++++++
Index: udev-173/udev/udevd.c
===================================================================
--- udev-173.orig/udev/udevd.c
+++ udev-173/udev/udevd.c
@@ -624,9 +624,12 @@ static void worker_returned(int fd_worke
                                continue;
 
                        /* worker returned */
-                       worker->event->exitcode = msg.exitcode;
-                       event_queue_delete(worker->event, true);
-                       worker->event = NULL;
+                       /* is some cases this can cause segfault */
+                       if (worker->event) {
+                               worker->event->exitcode = msg.exitcode;
+                               event_queue_delete(worker->event, true);
+                               worker->event = NULL;
+                       }
                        if (worker->state != WORKER_KILLED)
                                worker->state = WORKER_IDLE;
                        worker_unref(worker);
++++++ udev-root-symlink.systemd ++++++
[Unit]
Description=create /dev/root symlink with dynamic rule
Before=udev.service
DefaultDependencies=no

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/udev/write_dev_root_rule
++++++ udev-rpmlintrc ++++++
addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*")
addFilter(".*dangling-symlink /lib/udev/devices/core.*")
addFilter(".*dangling-symlink /lib/udev/devices/fd.*")
addFilter(".init-script-without-%stop_on_removal-preun*.*")
addFilter(".*devel-file-in-non-devel-package.*udev.pc.*")
addFilter(".*libgudev-.*shlib-fixed-dependency.*")
++++++ udev.git-617746e09795575c6258dd075ee7f0a44ce61e1e.patch ++++++
From: Kay Sievers <kay.siev...@vrfy.org>
Date: Thu, 4 Aug 2011 21:25:03 +0000 (+0200)
Subject: rules: move input_id to default rules
X-Git-Url: 
http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=617746e09795575c6258dd075ee7f0a44ce61e1e

rules: move input_id to default rules

On Tue, Aug 2, 2011 at 10:56, Thomas Bächler <tho...@archlinux.org> wrote:
> Commit c49df20758e0f22778cfc93b598f2929f4c86272 prevented udev from
> creating broken symlinks for bluetooth hid devices. Unfortunately,
> it also removed the ID_INPUT=1 and ID_INPUT_{KEY,MOUSE}=1 properties
> from those devices. Xorg relies on these properties for cold- and
> hotplugging of input devices.
---

diff --git a/rules/rules.d/50-udev-default.rules 
b/rules/rules.d/50-udev-default.rules
index f5b181d..30267fe 100644
--- a/rules/rules.d/50-udev-default.rules
+++ b/rules/rules.d/50-udev-default.rules
@@ -20,6 +20,7 @@ KERNEL=="null|zero|full|random|urandom", MODE="0666"
 KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640"
 
 # input
+SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{program}="input_id %p"
 KERNEL=="mouse*|mice|event*",  MODE="0640"
 KERNEL=="ts[0-9]*|uinput",     MODE="0640"
 KERNEL=="js[0-9]*",            MODE="0644"
@@ -50,7 +51,7 @@ SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", 
GROUP="video"
 SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
 SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
 
-# libusb device nodes
+# 'libusb' device nodes
 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", 
IMPORT{program}="usb_id --export %p"
 
diff --git a/rules/rules.d/60-persistent-input.rules 
b/rules/rules.d/60-persistent-input.rules
index 65a6381..e7611f5 100644
--- a/rules/rules.d/60-persistent-input.rules
+++ b/rules/rules.d/60-persistent-input.rules
@@ -4,7 +4,6 @@ ACTION=="remove", GOTO="persistent_input_end"
 SUBSYSTEM!="input", GOTO="persistent_input_end"
 SUBSYSTEMS=="bluetooth", GOTO="persistent_input_end"
 
-ENV{ID_INPUT}=="", IMPORT{program}="input_id %p"
 SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{program}="usb_id --export %p"
 
 # determine class name for persistent symlinks
++++++ udev.git-7944a13a2b8516d5fa354703789f5988cb4299b6.patch ++++++
commit 7944a13a2b8516d5fa354703789f5988cb4299b6
Author: Steve Langasek <steve.langa...@canonical.com>
Date:   Sat Oct 8 02:14:09 2011 -0700

    udevd: exit - process events before signals in worker
    
    When a worker receives both a signal and a udev event in the same epoll_wait
    run, the event must be processed first because the udev parent considers the
    event already dispatched.  If we process the signal first and exit, udevd
    times out after 60 seconds waiting for a response from an already-dead
    worker.
    
    Ref: https://bugs.launchpad.net/bugs/818177
    Signed-off-by: Steve Langasek <steve.langa...@canonical.com>

diff --git a/udev/udevd.c b/udev/udevd.c
index 77aec9d..b65b53f 100644
--- a/udev/udevd.c
+++ b/udev/udevd.c
@@ -347,6 +347,7 @@ static void worker_new(struct event *event)
                                for (i = 0; i < fdcount; i++) {
                                        if (ev[i].data.fd == fd_monitor && 
ev[i].events & EPOLLIN) {
                                                dev = 
udev_monitor_receive_device(worker_monitor);
+                                               break;
                                        } else if (ev[i].data.fd == fd_signal 
&& ev[i].events & EPOLLIN) {
                                                struct signalfd_siginfo fdsi;
                                                ssize_t size;
++++++ write_dev_root_rule ++++++
#!/bin/sh

eval $(/sbin/udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/)

[ "$ROOT_MAJOR" -gt 0 ] || return
mkdir -m 0755 -p /run/udev/rules.d >/dev/null 2>&1
ln -sf /run/udev /dev/.udev 2>/dev/null || :

echo "ACTION==\"add|change\", SUBSYSTEM==\"block\", \
ENV{MAJOR}==\"$ROOT_MAJOR\", ENV{MINOR}==\"$ROOT_MINOR\", \
SYMLINK+=\"root\"" > /run/udev/rules.d/10-root-symlink.rules

exit 0
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to