Hello community, here is the log from the commit of package udev.1210 for openSUSE:12.1:Update checked in at 2013-01-14 15:18:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.1:Update/udev.1210 (Old) and /work/SRC/openSUSE:12.1:Update/.udev.1210.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "udev.1210", Maintainer is "" Changes: -------- New Changes file: --- /dev/null 2013-01-09 19:40:42.352580873 +0100 +++ /work/SRC/openSUSE:12.1:Update/.udev.1210.new/udev.changes 2013-01-14 15:18:08.000000000 +0100 @@ -0,0 +1,2521 @@ +------------------------------------------------------------------- +Tue Jan 8 13:49:46 UTC 2013 - rmila...@suse.com + +- make 'reload' and 'force-reload' LSB compliant (bnc#793936). +- udevd: add missing ':' to getopt_long 'e' + add: udevd-add-missing-to-getopt_long-e.patch + +------------------------------------------------------------------- +Fri Oct 5 13:38:04 UTC 2012 - rmila...@suse.com + +- Don't run mkinitrd while installing/upgrading from Yast + (bnc#782539). + +------------------------------------------------------------------- +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 + +------------------------------------------------------------------- ++++ 2324 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.1:Update/.udev.1210.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 udevd-add-missing-to-getopt_long-e.patch write_dev_root_rule ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ udev.spec ++++++ # # spec file for package udev # # Copyright (c) 2013 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 # PATCH-FIX-UPSTREAM udevd-add-missing-to-getopt_long-e.patch Patch4: udevd-add-missing-to-getopt_long-e.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 %patch4 -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 if [ "${YAST_IS_RUNNING}" != "instsys" ]; then 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 [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : fi fi %postun %insserv_cleanup /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ "${YAST_IS_RUNNING}" != "instsys" ]; then 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 [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup /sbin/mkinitrd || : fi 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" DAEMON="/sbin/udevd" 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: " ${DAEMON} --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 ${DAEMON} rc_status -v ;; restart) echo -n "Restarting udevd: " killproc ${DAEMON} ${DAEMON} --daemon rc_status -v ;; status) echo -n "Checking for udevd: " checkproc ${DAEMON} rc_status -v ;; reload|force-reload) echo -n "Reloading udevd: " killproc -G -HUP ${DAEMON} 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; ++++++ udevd-add-missing-to-getopt_long-e.patch ++++++ >From 5bbbe461fd4d133eac49f41210e2fd4846f577d8 Mon Sep 17 00:00:00 2001 From: Lukas Nykryn <lnyk...@redhat.com> Date: Wed, 19 Dec 2012 13:12:26 +0100 Subject: [PATCH] udevd: add missing ':' to getopt_long 'e' Parameter -e is set without additional argument in getopt and this leads to segfault when calling 'systemd-udevd -e'. Index: udev-173/udev/udevd.c =================================================================== --- udev-173.orig/udev/udevd.c +++ udev-173/udev/udevd.c @@ -1239,7 +1239,7 @@ int main(int argc, char *argv[]) for (;;) { int option; - option = getopt_long(argc, argv, "c:deDtN:hV", options, NULL); + option = getopt_long(argc, argv, "c:de:DtN:hV", options, NULL); if (option == -1) break; ++++++ 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