diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10a06ff --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +udev-127.tar.bz2 diff --git a/Makefile.git b/Makefile.git new file mode 100644 index 0000000..ea5486a --- /dev/null +++ b/Makefile.git @@ -0,0 +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 + +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 + diff --git a/dead.package b/dead.package deleted file mode 100644 index 401b5da..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -obsolete udev, it is replaced by systemd diff --git a/fw_unit_symlinks.sh b/fw_unit_symlinks.sh new file mode 100644 index 0000000..c4cdd6b --- /dev/null +++ b/fw_unit_symlinks.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +SYSFS=/sys +NAME=$1 +NUM=$2 + +for i in "${SYSFS}${DEVPATH}/${NAME}.*/specifier_id"; do + if [ ! -f "$i" ]; then + continue + fi + SPECID="`cat $i`" + if [ $((SPECID)) -eq $((0x00609e)) ]; then + echo -n "sbp2-${NUM} " + elif [ $((SPECID)) -eq $((0x00a02d)) ]; then + SWVER="`cat ${i%/specifier_id}/version`" + if [ $((SWVER)) -ge $((0x100)) -a $((SWVER)) -lt $((0x110)) ]; then + echo -n "iidc${NUM} " + elif [ $((SWVER)) -eq $((0x10001)) ]; then + echo -n "avc${NUM} " + elif [ $((SWVER)) -ge $((0x14000)) -a $((SWVER)) -le $((0x14001)) ]; then + echo -n "vendorfw${NUM} " + fi + fi +done +echo diff --git a/mirrors b/mirrors new file mode 100644 index 0000000..74b0af6 --- /dev/null +++ b/mirrors @@ -0,0 +1 @@ +ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/ diff --git a/sources b/sources new file mode 100644 index 0000000..94e634e --- /dev/null +++ b/sources @@ -0,0 +1 @@ +59ebde702f1ab557be15ae76d645665b udev-127.tar.bz2 diff --git a/start_udev b/start_udev new file mode 100755 index 0000000..ef72536 --- /dev/null +++ b/start_udev @@ -0,0 +1,293 @@ +#!/bin/bash +# +# start_udev +# +# script to initialize /dev by using udev. +# +# Copyright (C) 2004 Greg Kroah-Hartman +# +# Released under the GPL v2 only. +# +# This needs to be run at the earliest possible point in the boot +# process. +# +# Based on the udev init.d script +# +# Thanks go out to the Gentoo developers for proving +# that this is possible to do. +# +# Yes, it's very verbose, feel free to turn off all of the echo calls, +# they were there to make me feel better that everything was working +# properly during development... +# +# don't use udev if sysfs is not mounted. + +sysfs_dir=/sys + +export TZ=/etc/localtime + +[ -d $sysfs_dir/class ] || exit 1 +[ -r /proc/mounts ] || exit 1 +[ -x /sbin/udevd ] || exit 1 +[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf +udev_root=${udev_root-/dev} + +if [ -f /dev/.in_sysinit ]; then + exec >/dev/console 2>/dev/console "$md5file" + fi + . "$md5file" >/dev/null 2>&1 + else + ( sed -e 's,#.*,,g' "$i" | \ + xargs_simple -n 100 $MAKEDEV -x ) + fi + fi + done + fi + + for devdir in /etc/udev/devices /lib/udev/devices; do + [ -d "$devdir" ] || continue + pushd $devdir &> "$udev_root/null" + set * + 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" + fi + popd &> "$udev_root/null" + done +} + +kill_udevd() { + if [ -x /sbin/pidof ]; then + pid=`/sbin/pidof -x udevd` + [ -n "$pid" ] && kill $pid + fi +} + +findalias () { + local n + for n in "$1"/* ; do + [ -h "$n" ] && continue + [ -d "$n" ] && { findalias "$n" ; continue; } + [ "${n##*/}" == "modalias" ] && echo $(cat $n) + done +} + +wait_for_queue() { + local timeout=${1:-0} + local ret=0 + if [ $timeout -gt 0 ]; then + /sbin/udevsettle --timeout=$timeout + else + /sbin/udevsettle + fi + ret=$? + if [ $ret -ne 0 ]; then + echo -n "Wait timeout. Will continue in the background." + fi + return $ret; +} + +export ACTION=add +prog=udev +ret=0 +STRING=$"Starting $prog: " +# propagate $udev_root from /sys +echo -n "$STRING" + +# mount the tmpfs on ${udev_root%/}, if not already done +LANG=C awk "\$2 == \"${udev_root%/}\" && \$3 == \"tmpfs\" { exit 1 }" /proc/mounts && { + if LANG=C fgrep -q "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 + SHMDIR=$(mktemp -d) + mount --move $udev_root/shm "$SHMDIR" + fi + mount -n -o mode=0755 -t tmpfs none "$udev_root" + mkdir -m 0755 $udev_root/pts + mkdir -m 0755 $udev_root/shm + if [ -n "$PTSDIR" ]; then + mount --move "$PTSDIR" $udev_root/pts + rmdir "$PTSDIR" + fi + if [ -n "$SHMDIR" ]; then + mount --move "$SHMDIR" $udev_root/shm + rmdir "$SHMDIR" + fi + + ret=$[$ret + $?] +} + +# returns OK if $1 contains $2 +strstr() { + [ "${1#*$2*}" = "$1" ] && return 1 + return 0 +} + +getval() { + what=$1 + shift + for arg; do + if strstr "$arg" "$what="; then + val=${arg#${what}=*} + echo $val + return 0 + fi + done + return 1 +} + +make_extra_nodes +cmdline=$(cat /proc/cmdline) +kill_udevd > "$udev_root/null" 2>&1 +rm -fr $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 + + if strstr "$cmdline" udevtrace; then + UDEV_OPTS="$UDEV_OPTS --debug-trace" + fi + /sbin/udevd -d $UDEV_OPTS + ret=$[$ret + $?] + + udevtimeout=$(getval udevtimeout $cmdline) + + if strstr "$cmdline" udevdebug; then + /sbin/udevadm control --log_priority=debug + fi + if strstr "$cmdline" udevinfo; then + /sbin/udevadm control --log_priority=info + fi + if strstr "$cmdline" udevchilds; then + /sbin/udevadm control --max_childs_running=$(getval udevchilds $cmdline) + fi + + if [ "$UDEV_PERSISTENT_STORAGE" == "no" ]; then + /sbin/udevadm control --env=UDEV_NO_PERSISTENT_STORAGE=1 + fi + + if strstr "$cmdline" udevnopersist; then + /sbin/udevadm control --env=UDEV_NO_PERSISTENT_STORAGE=1 + fi + + /sbin/udevadm control --env=STARTUP=1 + + if strstr "$cmdline" modprobedebug; then + /sbin/udevadm control --env=MODPROBE_OPTIONS="-s -v -q" + echo + findalias /sys | while read modules ; do + if [ -n "$modules" ]; then + /sbin/modprobe -a -v -q $modules + wait_for_queue $udevtimeout + fi + done + echo "Triggering Rest" + fi + + /sbin/udevadm trigger + ret=$[$ret + $?] + wait_for_queue $udevtimeout + ret=$[$ret + $?] + wait + /sbin/udevadm control --env=STARTUP= +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 diff --git a/udev-118-sysconf.patch b/udev-118-sysconf.patch new file mode 100644 index 0000000..30de6ab --- /dev/null +++ b/udev-118-sysconf.patch @@ -0,0 +1,24 @@ +diff -up udev-126/rules/rules.d/60-persistent-storage.rules.sysconf udev-126/rules/rules.d/60-persistent-storage.rules +--- udev-126/rules/rules.d/60-persistent-storage.rules.sysconf 2008-07-31 09:40:37.000000000 +0200 ++++ udev-126/rules/rules.d/60-persistent-storage.rules 2008-08-08 15:35:57.000000000 +0200 +@@ -6,6 +6,8 @@ + # forward scsi device event to corresponding block device + ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" + ++ENV{UDEV_NO_PERSISTENT_STORAGE}=="1", GOTO="persistent_storage_end" ++ + ACTION!="add|change", GOTO="persistent_storage_end" + SUBSYSTEM!="block", GOTO="persistent_storage_end" + +diff -up udev-126/rules/rules.d/60-persistent-storage-tape.rules.sysconf udev-126/rules/rules.d/60-persistent-storage-tape.rules +--- udev-126/rules/rules.d/60-persistent-storage-tape.rules.sysconf 2008-07-24 16:55:12.000000000 +0200 ++++ udev-126/rules/rules.d/60-persistent-storage-tape.rules 2008-08-08 15:35:57.000000000 +0200 +@@ -2,6 +2,8 @@ + + # persistent storage links: /dev/tape/{by-id,by-path} + ++ENV{UDEV_NO_PERSISTENT_STORAGE}=="1", GOTO="persistent_storage_tape_end" ++ + ACTION!="add|change", GOTO="persistent_storage_tape_end" + + # type 8 devices are "Medium Changers" diff --git a/udev-127-volid-raid.patch b/udev-127-volid-raid.patch new file mode 100644 index 0000000..e63e667 --- /dev/null +++ b/udev-127-volid-raid.patch @@ -0,0 +1,50 @@ +diff -up udev-127/extras/volume_id/lib/linux_raid.c.p1 udev-127/extras/volume_id/lib/linux_raid.c +--- udev-127/extras/volume_id/lib/linux_raid.c.p1 2008-08-28 23:20:07.000000000 +0200 ++++ udev-127/extras/volume_id/lib/linux_raid.c 2008-10-16 14:23:54.000000000 +0200 +@@ -149,26 +149,31 @@ int volume_id_probe_linux_raid(struct vo + { + uint64_t sboff; + +- /* version 0 at the end of the device */ +- sboff = (size & ~(MD_RESERVED_BYTES - 1)) - MD_RESERVED_BYTES; +- if (volume_id_probe_linux_raid0(id, off + sboff, size) == 0) +- return 0; +- +- /* version 1.0 at the end of the device */ +- sboff = (size & ~(0x1000 - 1)) - 0x2000; +- if (volume_id_probe_linux_raid1(id, off + sboff, size) == 0) +- strcpy(id->type_version, "1.0"); ++ if (size > MD_RESERVED_BYTES) { ++ /* version 0 at the end of the device */ ++ sboff = (size & ~(MD_RESERVED_BYTES - 1)) - MD_RESERVED_BYTES; ++ if (volume_id_probe_linux_raid0(id, off + sboff, size) == 0) ++ return 0; ++ ++ /* version 1.0 at the end of the device */ ++ sboff = (size & ~(0x1000 - 1)) - 0x2000; ++ if (volume_id_probe_linux_raid1(id, off + sboff, size) == 0) { ++ strcpy(id->type_version, "1.0"); ++ return 0; ++ } ++ } + + /* version 1.1 at the start of the device */ +- else if (volume_id_probe_linux_raid1(id, off, size) == 0) ++ if (volume_id_probe_linux_raid1(id, off, size) == 0) { + strcpy(id->type_version, "1.1"); ++ return 0; ++ } + + /* version 1.2 at 4k offset from the start */ +- else if (volume_id_probe_linux_raid1(id, off + 0x1000, size) == 0) ++ if (volume_id_probe_linux_raid1(id, off + 0x1000, size) == 0) { + strcpy(id->type_version, "1.2"); ++ return 0; ++ } + +- else +- return -1; +- +- return 0; ++ return -1; + } diff --git a/udev-127-volume_id-include-config.h.patch b/udev-127-volume_id-include-config.h.patch new file mode 100644 index 0000000..405b446 --- /dev/null +++ b/udev-127-volume_id-include-config.h.patch @@ -0,0 +1,12 @@ +diff -up udev-127/extras/volume_id/lib/util.c.p2 udev-127/extras/volume_id/lib/util.c +--- udev-127/extras/volume_id/lib/util.c.p2 2008-08-28 23:22:03.000000000 +0200 ++++ udev-127/extras/volume_id/lib/util.c 2008-10-16 14:24:17.000000000 +0200 +@@ -16,6 +16,8 @@ + # include + #endif + ++#include ++ + #include + #include + #include diff --git a/udev-127.tar.bz2.sign b/udev-127.tar.bz2.sign new file mode 100644 index 0000000..473f50d --- /dev/null +++ b/udev-127.tar.bz2.sign @@ -0,0 +1,8 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.9 (GNU/Linux) +Comment: See http://www.kernel.org/signature.html for info + +iD8DBQBIuFtayGugalF9Dw4RApeuAJ9+7UghTzMsbLjLshA6+YxwGgM2FgCfbnj8 +ylD6q64gmtAMRzK4pebQbKg= +=41ir +-----END PGP SIGNATURE----- diff --git a/udev-132-memstickrules.patch b/udev-132-memstickrules.patch new file mode 100644 index 0000000..8c618b5 --- /dev/null +++ b/udev-132-memstickrules.patch @@ -0,0 +1,11 @@ +diff -up udev-132/rules/redhat/40-redhat.rules.memstickrules udev-132/rules/redhat/40-redhat.rules +--- udev-132/rules/redhat/40-redhat.rules.memstickrules 2008-10-16 18:03:43.000000000 +0200 ++++ udev-132/rules/redhat/40-redhat.rules 2008-11-10 11:42:31.000000000 +0100 +@@ -25,3 +25,7 @@ KERNEL=="vcsa[0-9]*", OWNER="vc + KERNEL=="vcc/*", OWNER="vcsa", GROUP="tty" + + KERNEL=="event*", ATTRS{idVendor}=="03f0", ATTRS{interface}=="Virtual Mouse", ATTRS{bInterfaceProtocol}=="02", SYMLINK+="input/hp_ilo_mouse" ++ ++KERNEL=="mspblk[0-9]", SUBSYSTEMS=="memstick", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}" ++KERNEL=="mspblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}-part%n" ++ diff --git a/udev-CVE-2009-1185.patch b/udev-CVE-2009-1185.patch new file mode 100644 index 0000000..bf54e17 --- /dev/null +++ b/udev-CVE-2009-1185.patch @@ -0,0 +1,39 @@ +diff -ruNp udev-124~/udevd.c udev-124/udevd.c +--- udev-124~/udev/udevd.c 2008-06-11 22:24:30.000000000 -0700 ++++ udev-124/udev/udevd.c 2009-04-08 16:30:06.000000000 -0700 +@@ -753,16 +753,34 @@ static struct udevd_uevent_msg *get_netl + struct udevd_uevent_msg *msg; + int bufpos; + ssize_t size; ++ struct sockaddr_nl snl; ++ struct msghdr smsg; ++ struct iovec iov; + static char buffer[UEVENT_BUFFER_SIZE+512]; + char *pos; + +- size = recv(uevent_netlink_sock, &buffer, sizeof(buffer), 0); ++ iov.iov_base = buffer; ++ iov.iov_len = sizeof(buffer); ++ ++ memset(&smsg, 0x00, sizeof(struct msghdr)); ++ smsg.msg_name = &snl; ++ smsg.msg_namelen = sizeof(struct sockaddr_nl); ++ smsg.msg_iov = &iov; ++ smsg.msg_iovlen = 1; ++ ++ size = recvmsg(uevent_netlink_sock, &smsg, 0); + if (size < 0) { + if (errno != EINTR) + err("unable to receive kernel netlink message: %s\n", strerror(errno)); + return NULL; + } + ++ if ((snl.nl_groups != 1) || (snl.nl_pid != 0)) { ++ info("ignored netlink message from invalid group/sender %d/%d\n", ++ snl.nl_groups, snl.nl_pid); ++ return NULL; ++ } ++ + if ((size_t)size > sizeof(buffer)-1) + size = sizeof(buffer)-1; + buffer[size] = '\0'; diff --git a/udev-CVE-2009-1186.patch b/udev-CVE-2009-1186.patch new file mode 100644 index 0000000..165956d --- /dev/null +++ b/udev-CVE-2009-1186.patch @@ -0,0 +1,12 @@ +diff -up udev-127/udev/udev_utils_string.c.CVE-2009-1186 udev-127/udev/udev_utils_string.c +--- udev-127/udev/udev_utils_string.c.CVE-2009-1186 2008-08-26 09:21:40.000000000 +0200 ++++ udev-127/udev/udev_utils_string.c 2009-04-16 08:47:13.000000000 +0200 +@@ -53,7 +53,7 @@ void remove_trailing_chars(char *path, c + + size_t path_encode(char *s, size_t len) + { +- char t[(len * 3)+1]; ++ char t[(len * 4)+1]; + size_t i, j; + + t[0] = '\0'; diff --git a/udev-post.init b/udev-post.init new file mode 100644 index 0000000..cfffd3c --- /dev/null +++ b/udev-post.init @@ -0,0 +1,87 @@ +#!/bin/bash +# +# udev-post Post script for udev, after all filesystems are mounted +# +# Authors: Harald Hoyer +# +# chkconfig: 12345 26 75 +# description: Moves the generated persistent udev rules to /etc/udev/rules.d +# +### BEGIN INIT INFO +# Default-Start: 12345 +# Default-Stop: 0 6 +# Required-Start: $local_fs +# Short-Description: Moves the generated persistent udev rules to /etc/udev/rules.d +# Description: Moves the generated persistent udev rules to /etc/udev/rules.d +# Provides: udev-post +### END INIT INFO + +. /etc/rc.d/init.d/functions +. /etc/sysconfig/udev + +# See how we were called. +case "$1" in + start|reload) + STRING=$"Adding udev persistent rules" + + # copy the rules generated before / was mounted read-write + for file in /dev/.udev/tmp-rules--*; do + dest=${file##*tmp-rules--} + # check, if anything is todo + [ "$dest" = '*' ] && exit 0 + echo -n $STRING + cat $file >> /etc/udev/rules.d/$dest + rc=$? + rm -f $file + if [ "$rc" -eq "0" ]; then + success "$STRING" + echo + elif [ "$rc" -eq "1" ]; then + failure "$STRING" + echo + fi + done + + touch /var/lock/subsys/udev-post + exit 0 + ;; + stop) + 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 + for i in /etc/udev/makedev.d/*.nodes; do + if [ -f "$i" ]; then + # use a little caching to speedup things + md5=$(/usr/bin/md5sum "$i"|(read a b; echo $a)) + md5file="/var/lib/udev/makedev.d/${md5}.sh" + + if [ ! -f "$md5file" ]; then + echo -n $STRING + ( sed -e 's,#.*,,g' "$i" | \ + xargs $MAKEDEV -x -a -S ) \ + > "$md5file" + rc=$? + if [ "$rc" -eq "0" ]; then + success "$STRING" + echo + elif [ "$rc" -eq "1" ]; then + failure "$STRING" + echo + fi + fi + fi + done + fi + rm -f /var/lock/subsys/udev-post + exit 0 + ;; + status) + exit 0 + ;; + *) + echo $"Usage: $0 {start|stop|reload}" + exit 1 +esac +exit 0 diff --git a/udev.nodes b/udev.nodes new file mode 100644 index 0000000..ec38d8b --- /dev/null +++ b/udev.nodes @@ -0,0 +1,15 @@ +# These device have to be created manually +loop0 +loop1 +loop2 +loop3 +loop4 +loop5 +loop6 +loop7 +net/tun +ppp +lp0 +lp1 +lp2 +lp3 diff --git a/udev.spec b/udev.spec new file mode 100644 index 0000000..1dbff52 --- /dev/null +++ b/udev.spec @@ -0,0 +1,1320 @@ +%define debug true +%define with_static 1 +%define udev_scriptdir /lib/udev +%define firmwaredir /lib/firmware + +Summary: A userspace implementation of devfs +Name: udev +Version: 127 +Release: 6%{?dist} +License: GPLv2 +Group: System Environment/Base +Provides: udev-persistent = %{version}-%{release} +Obsoletes: udev-persistent < 0:030-5 +Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/%{name}-%{version}.tar.bz2 + +Source1: start_udev +Source2: udev.nodes +Source3: udev-post.init +Source4: fw_unit_symlinks.sh +Source5: udev.sysconfig + +Patch1: udev-127-volid-raid.patch +Patch2: udev-127-volume_id-include-config.h.patch +Patch3: udev-132-memstickrules.patch + +Patch101: udev-118-sysconf.patch +Patch102: udev-CVE-2009-1185.patch +Patch103: udev-CVE-2009-1186.patch + +ExclusiveOS: Linux +URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires(pre): /bin/sh fileutils /sbin/chkconfig /sbin/service +Requires(pre): MAKEDEV >= 0:3.11 +BuildRequires: sed libselinux-devel >= 0:1.17.9-2 flex libsepol-devel +BuildRequires: pam-devel glib2-devel bison +%if %{with_static} +BuildRequires: libselinux-static libsepol-static +%endif +Requires: libselinux >= 0:1.17.9-2 MAKEDEV sed pam +Conflicts: kernel < 0:2.6 mkinitrd <= 0:4.1.11-1 initscripts < 7.84 +Obsoletes: dev <= 0:3.12-1 +Provides: dev = 0:3.12-1 + +%description +The udev package contains an implementation of devfs in +userspace using sysfs and netlink. + +%if %{with_static} +%package static +Summary: Static udev binaries for init environments +Group: System Environment/Base +Requires: udev = %{version}-%{release} + +%description static +This package contains static versions of the udev binaries, +to build e.g. an initramfs. +%endif + +%package -n libvolume_id-devel +Summary: Static libraries and headers for libvolume_id +Group: Development/Libraries +Requires: libvolume_id = %{version}-%{release} + +%description -n libvolume_id-devel +This package contains libraries and include files, +which needed to link against libvolume_id. + +%package -n libvolume_id +Summary: Dynamic libraries to get volume ids +Group: System Environment/Libraries + +%description -n libvolume_id +This package contains the libvolume_id.so dynamic library, +which contains functions to get volume ids. + + +%package -n libudev0 +Summary: Dynamic library to access udev device information +Group: System Environment/Libraries + +%description -n libudev0 +This package contains the dynamic library libudev, which provides access +to udev device information, and an interface to search devices in sysfs. + + +%package -n libudev-devel +Summary: Development files for libudev +Group: Development/Libraries +Requires: udev = %{version}-%{release} +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. + + +%prep +%setup -q +%patch1 -p1 -b .p1 +%patch2 -p1 -b .p2 +%patch3 -p1 -b .p3 +%patch101 -p1 -b .sysconf +%patch102 -p1 -b .CVE-2009-1185 +%patch103 -p1 -b .CVE-2009-1186 + +%build +%configure --with-selinux --prefix=%{_prefix} --exec-prefix="" --sysconfdir=%{_sysconfdir} --with-libdir-name=%{_lib} --sbindir="/sbin" --enable-static +%if %{with_static} +make LDFLAGS=-static %{?_smp_mflags} +for i in udev/udevd \ + udev/udevadm \ + extras/scsi_id/scsi_id \ + extras/ata_id/ata_id \ + extras/edd_id/edd_id \ + extras/usb_id/usb_id \ + extras/cdrom_id/cdrom_id \ + extras/volume_id/vol_id \ + extras/floppy/create_floppy_devices \ + ; do + mv $i $i.static +done +make clean +%endif +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT + +mkdir -p $RPM_BUILD_ROOT%{_sbindir} + +make install DESTDIR=$RPM_BUILD_ROOT + +rm -f $RPM_BUILD_ROOT%{_sysconfdir}/udev/udev.rules +rm -f $RPM_BUILD_ROOT%{_sysconfdir}/init.d/udev +rm -f $RPM_BUILD_ROOT%{_sysconfdir}/hotplug.d/default/10-udev.hotplug + +# Deprecated, but keep the ownership +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/udev/{rules.d,makedev.d,scripts,devices} +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/dev.d +mkdir -p $RPM_BUILD_ROOT%{_bindir} + +# force relative symlinks +ln -sf ..%{udev_scriptdir}/scsi_id $RPM_BUILD_ROOT/sbin/scsi_id +ln -sf ../../%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libvolume_id.so.*.*) \ + $RPM_BUILD_ROOT%{_libdir}/libvolume_id.so + +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 + +%if %{with_static} +for i in extras/scsi_id/scsi_id \ + extras/ata_id/ata_id \ + extras/edd_id/edd_id \ + extras/usb_id/usb_id \ + extras/volume_id/vol_id \ + extras/floppy/create_floppy_devices \ + ; do + install -m 0755 $i.static $RPM_BUILD_ROOT%{udev_scriptdir}/$(basename $i).static +done + +for i in udev/udevd udev/udevadm; do + install -m 0755 $i.static $RPM_BUILD_ROOT/sbin/$(basename $i).static +done +%endif + +for i in \ + rules/redhat/*.rules \ +%ifarch ia64 + rules/packages/40-ia64.rules \ +%endif +%ifarch ppc ppc64 + rules/packages/40-ppc.rules \ +%endif +%ifarch s390 s390x + rules/packages/40-s390.rules \ +%endif + rules/packages/40-alsa.rules \ + 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##*/}" +done + +mkdir -p $RPM_BUILD_ROOT%{udev_scriptdir}/{,devices} + +install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/udev/makedev.d/50-udev.nodes +install -m 0755 %{SOURCE4} $RPM_BUILD_ROOT%{udev_scriptdir}/fw_unit_symlinks.sh + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/udev +install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/sbin/start_udev + +mkdir -p -m 0755 $RPM_BUILD_ROOT%{firmwaredir} + +mkdir -p -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d +cat > $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/floppy-pnp </dev/null 2>&1 + if [ -e /dev/mapper/control -a -x /sbin/lvm ]; then + /sbin/lvm vgmknodes >/dev/null 2>&1 + fi +fi +exit 0 + +%triggerin -- selinux-policy +rm -f /var/lib/udev/makenode.d/* >/dev/null 2>&1 || : + +%triggerin -- MAKEDEV +rm -f /var/lib/udev/makenode.d/* >/dev/null 2>&1 || : + +%post -n libvolume_id -p /sbin/ldconfig +%postun -n libvolume_id -p /sbin/ldconfig + +%post -n libudev0 -p /sbin/ldconfig +%postun -n libudev0 -p /sbin/ldconfig + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc COPYING README TODO ChangeLog docs/* +%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 +%attr(0755,root,root) %{udev_scriptdir}/scsi_id +%attr(0755,root,root) %{udev_scriptdir}/ata_id +%attr(0755,root,root) %{udev_scriptdir}/edd_id +%attr(0755,root,root) %{udev_scriptdir}/usb_id +%attr(0755,root,root) %{udev_scriptdir}/vol_id +%attr(0755,root,root) %{udev_scriptdir}/cdrom_id +%attr(0755,root,root) %{udev_scriptdir}/path_id +%attr(0755,root,root) %{udev_scriptdir}/create_floppy_devices +%attr(0755,root,root) %{udev_scriptdir}/fw_unit_symlinks.sh +%attr(0755,root,root) %{udev_scriptdir}/firmware.sh +%attr(0644,root,root) %{udev_scriptdir}/rule_generator.functions +%attr(0755,root,root) %{udev_scriptdir}/write_cd_rules +%attr(0755,root,root) %{udev_scriptdir}/write_net_rules +%attr(0755,root,root) %{udev_scriptdir}/collect +%attr(0755,root,root) %{udev_scriptdir}/fstab_import + +%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}/ +%attr(0755,root,root) %dir %{udev_scriptdir}/devices/ +%attr(0755,root,root) %dir %{_sysconfdir}/udev/makedev.d/ + +%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/udev + +%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/udev/udev.conf +%config %attr(0644,root,root) %{udev_scriptdir}/rules.d/*.rules +%config %attr(0644,root,root) %dir %{_sysconfdir}/udev/makedev.d/50-udev.nodes + +#%config(missingok) %{_sysconfdir}/hotplug.d/default/10-udev.hotplug +%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/scsi_id.config + +%config %attr(0644,root,root) %{_sysconfdir}/modprobe.d/floppy-pnp + +%dir %attr(0755,root,root) %{firmwaredir} +%attr(0644,root,root) %{_mandir}/man8/udev*.8* +%attr(0644,root,root) %{_mandir}/man7/udev*.7* +%attr(0644,root,root) %{_mandir}/man8/scsi_id*.8* +%attr(0644,root,root) %{_mandir}/man8/ata_id*.8* +%attr(0644,root,root) %{_mandir}/man8/edd_id*.8* +%attr(0644,root,root) %{_mandir}/man8/vol_id*.8* +%attr(0644,root,root) %{_mandir}/man8/path_id*.8* +%attr(0644,root,root) %{_mandir}/man8/cdrom_id*.8* +%attr(0644,root,root) %{_mandir}/man8/create_floppy_devices*.8* + +%dir %attr(0755,root,root) /var/lib/udev +%dir %attr(0755,root,root) /var/lib/udev/makedev.d + +# Deprecated, but keep the ownership +%ghost %dir %{_sysconfdir}/udev/scripts/ +%ghost %dir %{_sysconfdir}/udev/devices/ +%ghost %dir %{_sysconfdir}/dev.d/ + +%if %{with_static} +%files static +%doc COPYING +%attr(0755,root,root) /sbin/udevd.static +%attr(0755,root,root) /sbin/udevadm.static +%attr(755,root,root) %{udev_scriptdir}/scsi_id.static +%attr(755,root,root) %{udev_scriptdir}/ata_id.static +%attr(755,root,root) %{udev_scriptdir}/edd_id.static +%attr(755,root,root) %{udev_scriptdir}/usb_id.static +%attr(755,root,root) %{udev_scriptdir}/vol_id.static +%attr(0755,root,root) %{udev_scriptdir}/create_floppy_devices.static +%endif + +%files -n libvolume_id +%doc COPYING +%attr(0755,root,root) /%{_lib}/libvolume_id.so.* + +%files -n libvolume_id-devel +%doc COPYING +%defattr(0644, root, root, 0755) +%{_includedir}/libvolume_id.h +%{_libdir}/libvolume_id.so +%{_libdir}/libvolume_id.a +%{_libdir}/pkgconfig/libvolume_id.pc + +%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 +%if %{with_static} +%{_libdir}/libudev.a +%endif + + +%changelog +* Tue Jun 09 2009 Harald Hoyer 127-6 +- add isdn capi rules + +* Thu Apr 16 2009 Harald Hoyer 127-5 +- fix for CVE-2009-1186 + +* Wed Apr 15 2009 Harald Hoyer 127-4 +- fix for CVE-2009-1185 + +* Mon Nov 10 2008 Harald Hoyer 127-3 +- added memory stick rules (bug #470096) + +* Thu Oct 16 2008 Harald Hoyer 127-2 +- added 2 patches for md raid vol_id + +* Mon Sep 01 2008 Harald Hoyer 127-1 +- version 127 + +* Fri Aug 08 2008 Harald Hoyer 126-1 +- version 126 +- fixed udevadm syntax in start_udev (credits B.J.W. Polman) +- removed some manually created devices from makedev (bug #457125) + +* Tue Jun 17 2008 Harald Hoyer 124-1.1 +- readded udevcontrol, udevtrigger symlinks for Fedora 9, + which are needed by live-cd-tools + +* Thu Jun 12 2008 Harald Hoyer 124-1 +- version 124 +- removed udevcontrol, udevtrigger symlinks (use udevadm now) + +* Tue Jun 3 2008 Jeremy Katz - 121-2.20080516git +- Add lost F9 change to remove /dev/.udev in start_udev (#442827) + +* Fri May 16 2008 Harald Hoyer 121-1.20080516git +- version 121 + latest git fixes + +* Thu May 07 2008 Harald Hoyer 120-6.20080421git +- added input/hp_ilo_mouse symlink + +* Tue May 06 2008 Harald Hoyer 120-5.20080421git +- remove /dev/.udev in start_udev (bug #442827) + +* Mon Apr 21 2008 Harald Hoyer 120-4.20080421git +- added patches from git: +- persistent device naming: also read unpartitioned media +- scsi_id: initialize serial strings +- logging: add trailing newline to all strings +- path_id: remove subsystem whitelist +- allow setting of MODE="0000" +- selinux: more context settings +- rules_generator: net rules - always add KERNEL== match to generated rules +- cdrom_id: replace with version which also exports media properties +- vol_id: add --offset option +- udevinfo: do not replace chars when printing ATTR== matches +- Resolves: rhbz#440568 + +* Fri Apr 11 2008 Harald Hoyer 120-3 +- fixed pre/preun scriptlets (bug #441941) +- removed fedora specific patch for selinux symlink handling + +* Sat Apr 05 2008 Harald Hoyer 120-2 +- removed warning about deprecated /lib/udev/devices (rhbz#440961) +- replaced /usr/bin/find with shell find function (rhbz#440961) + +* Fri Apr 04 2008 Harald Hoyer 120-1 +- version 120 + +* Mon Mar 17 2008 Harald Hoyer 118-11 +- removed /var/lib/udev/rules.d again + +* Fri Mar 14 2008 Harald Hoyer 118-10 +- turned off MAKEDEV cache, until the generated shell scripts + create new directories + +* Thu Mar 13 2008 Harald Hoyer 118-9 +- added more support for the "modprobedebug" kernel command + line option, to debug hanging kernel modules + +* Thu Mar 13 2008 Harald Hoyer 118-8 +- added /etc/sysconfig/udev to configure some speedups +- added "udevnopersist" as a kernel command line, to disable + persistent storage symlink generation + +* Thu Mar 13 2008 Harald Hoyer 118-7 +- files from /var/lib/udev/rules.d are copied to /dev/.udev/rules.d + at startup and back at shutdown +- persistent cd and net rules generate the files in + /dev/.udev/rules.d now +- added post section to symlink 70-persistent-cd.rules 70-persistent-net.rules + from /etc/udev/rules.d to /dev/.udev/rules.d + +* Thu Mar 13 2008 Harald Hoyer 118-6 +- moved all generated files to /var/lib/udev + (also 70-persistent-cd.rules 70-persistent-net.rules) +- added a caching mechanism for MAKEDEV (saves some seconds on startup) +- added trigger for selinux-policy and MAKEDEV to remove the udev cache files + +* Wed Feb 20 2008 Harald Hoyer 118-4 +- made symlinks relative (rhbz#432878) +- removed the backgrounding of node creation (rhbz#381461) +- do not change sg group ownership to disk for scanners (rhbz#432602) +- attempt to fix selinux symlink bug (rhbz#345071) +- fixed URL +- made rpmlint mostly happy +- disabled static version (no static selinux lib) + +* Mon Feb 18 2008 Fedora Release Engineering - 118-3 +- Autorebuild for GCC 4.3 + +* Wed Jan 09 2008 Harald Hoyer 118-2 +- reenabled static version + +* Tue Jan 08 2008 Harald Hoyer 118-1 +- version 118 +- removed old USB compat rule (rhbz#424331) +- disabled static version + +* Thu Oct 18 2007 Harald Hoyer 116-3 +- fixed preun chkconfig +- added /sbin path to chkconfig in post section +- patch: do not generate net rules for type > 256 +- fixes glitches appearing in bz#323991 + +* Tue Oct 16 2007 Dennis Gilmore 116-2 +- sparc64 requires -fPIE not -fpie + +* Mon Oct 15 2007 Harald Hoyer 116-1 +- version 116 + +* Fri Oct 12 2007 Harald Hoyer 115-5.20071012git +- added upstream patch for rhbz#328691 +- moved floppy module loading to pnp-alias in /etc/modprobe.d/floppy-pnp + +* Wed Oct 10 2007 Harald Hoyer 115-5.20070921git +- better modprobe options for the kernel command line 'modprobedebug' option + +* Fri Sep 21 2007 Harald Hoyer - 115-4 +- more upstream fixes from git + +* Thu Sep 20 2007 Harald Hoyer - 115-3 +- some upstream fixes from git +- removed last_rule for loop rules +- added "udevinfo udevtrace" kernel command line options for better debugging + +* Fri Sep 07 2007 Harald Hoyer - 115-2 +- some upstream fixes from git +- last_rule for loop rules (speedup for live-cds/qemu with 128 loop devices) + +* Thu Aug 24 2007 Harald Hoyer - 115-1 +- version 115 + +* Fri Aug 24 2007 Harald Hoyer - 113-12 +- removed /dev/tape symlink, because it's now a directory + (bug #251755) + +* Thu Aug 23 2007 Harald Hoyer - 114-4 +- added patch to prevent persistent net rules for virtual network interfaces, + like vmware and vlans + +* Thu Aug 23 2007 Harald Hoyer - 114-3 +- changed license tag +- changed to latest upstream rule ordering + +* Thu Aug 16 2007 Harald Hoyer - 113-11 +- readded firmware rule (#252983) + +* Wed Aug 15 2007 Harald Hoyer - 113-10 +- do not run vol_id on non-partition block devices (bug #251401) +- read all multiline pnp modaliases again + +* Mon Aug 13 2007 Harald Hoyer - 114-2 +- fixed isapnp rule (bug #251815) +- fix for nikon cameras (bug #251401) + +* Fri Aug 10 2007 Harald Hoyer - 114-1 +- version 114 +- big rule unification and cleanup +- added persistent names for network and cdrom devices over reboot + +* Wed Aug 08 2007 Harald Hoyer - 113-9 +- added lp* to 50-udev.nodes (#251272) + +* Mon Jul 30 2007 Harald Hoyer - 113-8 +- removed "noreplace" config tag from rules (#250043) + +* Fri Jul 27 2007 Harald Hoyer - 113-7 +- major rule cleanup +- removed persistent rules from 50 and included upstream rules +- removed skip_wait from modprobe + +* Fri Jul 20 2007 Harald Hoyer - 113-6 +- kernel does not provide usb_device anymore, + corrected the rules (#248916) + +* Thu Jul 19 2007 Harald Hoyer - 113-5 +- corrected the rule for usb devices (#248916) + +* Sat Jul 14 2007 Harald Hoyer - 113-4 +- do not collect modprobes (bug #222542), because firmware + loading seems to depend on it. + +* Mon Jul 9 2007 Harald Hoyer - 113-3 +- speedup things a little bit + +* Wed Jun 27 2007 Harald Hoyer - 113-2 +- added more firewire symlinks (#240770) +- minor rule patches + +* Tue Jun 26 2007 Harald Hoyer - 113-1 +- version 113 +- added rule for SD cards in a TI FlashMedia slot (#217070) + +* Tue Jun 26 2007 Harald Hoyer - 106-4.1 +- fixed modprobedebug option +- removed snd-powermac from the default modules (#200585) + +* Wed May 02 2007 Harald Hoyer - 106-4 +- do not skip all events on modprobe (#238385) +- Resolves: rhbz#238385 + +* Fri Apr 27 2007 Harald Hoyer - 106-3 +- modprobe only on modalias (bug #238140) +- make startup messages visible again +- speedup boot process by not executing pam_console_apply while booting +- Resolves: rhbz#238140 + +* Wed Apr 11 2007 Harald Hoyer - 106-2 +- create floppy device nodes with the correct selinux context (bug #235953) +- Resolves: rhbz#235953 + +* Wed Mar 7 2007 Harald Hoyer - 106-1 +- version 106 +- specfile cleanup +- removed pilot rule +- removed dasd_id and dasd_id rule +- provide static versions in a subpackage + +* Wed Feb 21 2007 Harald Hoyer - 105-1 +- version 105 + +* Tue Feb 6 2007 Harald Hoyer - 104-2 +- moved uinput to input subdirectory (rhbz#213854) +- added USB floppy symlinks (rhbz#185171) +- fixed ZIP drive handling (rhbz#223016) +- Resolves: rhbz#213854,rhbz#185171,rhbz#223016 + +* Tue Jan 23 2007 Harald Hoyer - 104-1 +- version 104 +- merged changes from RHEL + +* Wed Dec 6 2006 Harald Hoyer - 103-3 +- changed DRIVER to DRIVERS +- Resolves: rhbz#218160 + +* Fri Nov 10 2006 Harald Hoyer - 103-2 +- changed SYSFS to new ATTR rules +- Resolves: rhbz#214898 + +* Fri Nov 10 2006 Harald Hoyer - 103-1 +- Removed 51-hotplug.rules +- Resolves: rhbz#214277 + +* Wed Oct 11 2006 Harald Hoyer - 095-14 +- skip persistent block for gnbd devices (bug #210227) + +* Wed Oct 4 2006 Harald Hoyer - 095-13 +- fixed path_id script (bug #207139) + +* Tue Oct 3 2006 Jeremy Katz - 095-12 +- autoload mmc_block (#171687) + +* Wed Sep 27 2006 Harald Hoyer - 095-10 +- typo in xpram/slram rule (bug #205563) + +* Mon Sep 25 2006 Harald Hoyer - 095-9 +- improved error msg for firmware_helper (bug #206944) +- added xpram symlink to slram device nodes (bug #205563) +- removed infiniband rules (bug #206224) +- use newest path_id script (bug #207139) + +* Tue Aug 29 2006 Harald Hoyer - 095-8 +- fixed bug #204157 + +* Wed Aug 16 2006 Harald Hoyer - 095-7 +- added udevtimeout= + kernel command line parameters for start_udev + (default is to wait forever) + +* Wed Aug 16 2006 Harald Hoyer - 095-6 +- new speedup patch for selinux (bug #202673) + +* Thu Aug 10 2006 Harald Hoyer - 095-5 +- allow long comments (bug #200244) + +* Mon Aug 7 2006 Harald Hoyer - 095-4 +- fixed CAPI device nodes (bug #139321) +- fixed bug #201422 + +* Wed Jul 12 2006 Harald Hoyer - 095-3 +- more infiniband rules (bug #198501) + +* Wed Jul 12 2006 Jesse Keating - 095-2.1 +- rebuild + +* Thu Jul 6 2006 Harald Hoyer - 095-2 +- added option to debug udev with kernel cmdline option "udevdebug" + +* Wed Jul 5 2006 Harald Hoyer - 095-1 +- version 095 + +* Wed Jun 14 2006 Harald Hoyer - 094-1 +- version 094 + +* Sun May 21 2006 Peter Jones - 092-2 +- Fix typo in pam-console rule + +* Wed May 18 2006 Harald Hoyer - 092-1 +- version 092 +- corrected some rules (bug #192210 #190927) + +* Tue May 09 2006 Harald Hoyer - 091-3 +- corrected some rules (bug #190927) + +* Wed May 03 2006 Harald Hoyer - 091-2 +- added subpackages libvolume_id and libvolume_id-devel + +* Wed May 03 2006 Harald Hoyer - 091-1 +- version 091 + +* Wed Apr 19 2006 Harald Hoyer - 090-1 +- version 090 + +* Thu Apr 13 2006 Harald Hoyer - 089-1 +- version 089 +- do not force loading of parport_pc (bug #186850) +- manually load snd-powermac (bug #176761) +- added usb floppy symlink (bug #185171) +- start_udev uses udevtrigger now instead of udevstart + +* Wed Mar 08 2006 Harald Hoyer - 084-13 +- fixed pam_console rules (#182600) + +* Mon Mar 06 2006 Harald Hoyer - 084-12 +- fixed DRI permissions + +* Sun Mar 05 2006 Bill Nottingham - 084-11 +- use $ENV{MODALIAS}, not $modalias (#181494) + +* Thu Mar 02 2006 Harald Hoyer - 084-10 +- fixed cdrom rule + +* Wed Mar 01 2006 Harald Hoyer - 084-9 +- create non-enum device (cdrom, floppy, scanner, changer) + for compatibility (random device wins) + e.g. /dev/cdrom -> hdd /dev/cdrom-hdc -> hdc /dev/cdrom-hdd -> hdd + +* Wed Mar 01 2006 Harald Hoyer - 084-8 +- fixed ZIP drive thrashing (bz #181041 #182601) +- fixed enumeration (%%e does not work anymore) (bz #183288) + +* Fri Feb 24 2006 Peter Jones - 084-7 +- Don't start udevd in %%post unless it's already running +- Stop udevd before chkconfig --del in %%preun + +* Fri Feb 24 2006 Harald Hoyer - 084-6 +- put back original WAIT_FOR_SYSFS rule + +* Fri Feb 24 2006 Harald Hoyer - 084-5 +- removed WAIT_FOR_SYSFS rule + +* Wed Feb 22 2006 Harald Hoyer - 084-4 +- fixed group issue with vol_id (bz #181432) +- fixed dvb permissions (bz #179993) +- added support for scsi media changer (bz #181911) +- fixed pktcdvd device creation (bz #161268) + +* Tue Feb 21 2006 Florian La Roche - 084-3 +- also output the additional space char as part of the startup message + +* Fri Feb 10 2006 Jesse Keating - 084-1.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Harald Hoyer - 084-1 +- version 084 + +* Mon Feb 06 2006 Harald Hoyer - 078-9 +- closed fd leak (bug #179980) + +* Thu Jan 26 2006 Harald Hoyer - 078-8 +- changed usb device naming + +* Tue Jan 24 2006 Harald Hoyer - 078-7 +- put WAIT_FOR_SYSFS rules in 05-udev-early.rules + +* Mon Jan 23 2006 Harald Hoyer - 078-6 +- added some WAIT_FOR_SYSFS rules +- removed warning message, if udev_db is not available + +* Sun Jan 22 2006 Kristian Høgsberg 078-5 +- Drop udev dependency (#178621). + +* Tue Jan 11 2006 Harald Hoyer - 078-4 +- removed group "video" from the rules +- fixed specfile +- load nvram, floppy, parport and lp modules in + /etc/sysconfig/modules/udev-stw.modules until there + is a better solution +- fixed more floppy module loading + +* Fri Dec 23 2005 Harald Hoyer - 078-3 +- fixed floppy module loading +- added monitor socket +- fixed typo in dvb rule + +* Wed Dec 21 2005 Bill Nottingham - 078-2 +- udevstart change: allow greylisting of certain modaliases (usb, firewire) + +* Wed Dec 21 2005 Harald Hoyer - 078-1 +- version 078 +- fixed symlink to pam_console.dev + +* Thu Dec 15 2005 Harald Hoyer - 077-2 +- switched back to udevstart and use active /dev/.udev/queue waiting + in start_udev +- removed support for old kernels +- refined some udev.rules + +* Mon Dec 13 2005 Harald Hoyer - 077-1 +- version 077 +- patch to include udevstart2 in udevd and delay daemonize until queue is empty + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Dec 06 2005 Harald Hoyer - 076-1 +- speedup udevd with selinux by calling matchpathcon_init_prefix() +- version 076 + +* Mon Nov 21 2005 Harald Hoyer - 075-4 +- speedup udev event replay with udevstart2 + +* Fri Nov 18 2005 Harald Hoyer - 075-3 +- refined start_udev for old kernels + +* Fri Nov 11 2005 Harald Hoyer - 075-2 +- moved /etc/udev/scripts to /lib/udev +- moved /etc/udev/devices to /lib/udev/devices +- added new event replay for kernel >= 2.6.15 +- added usb devices +- renamed cpu device to cpuid (bug #161538) +- changed vendor string "Onstream" to "On[sS]tream" (bug #173043) +- compiled all *_id programs statically + +* Fri Nov 11 2005 Harald Hoyer - 075-1 +- version 075 + +* Tue Oct 25 2005 Harald Hoyer - 071-1 +- version 071 + +* Mon Oct 10 2005 Harald Hoyer - 069-10 +- removed group usb + +* Mon Oct 10 2005 Harald Hoyer - 069-9 +- added libsepol-devel BuildReq +- refined persistent rules + +* Mon Oct 10 2005 Harald Hoyer - 069-8 +- corrected c&p edd_id rule, symlink for js devices +- added -lsepol + +* Thu Oct 06 2005 Harald Hoyer - 069-7 +- added edd_id + +* Fri Sep 30 2005 Harald Hoyer - 069-6 +- special handling of IEEE1394 firewire devices (bug #168093) + +* Fri Sep 23 2005 Harald Hoyer - 069-5 +- added missing path_id + +* Wed Sep 21 2005 Harald Hoyer - 069-4 +- readded volume_id now known as vol_id, bug #168883 + +* Thu Sep 15 2005 Bill Nottingham - 069-3 +- fix firmware loading + +* Wed Sep 14 2005 Bill Nottingham - 069-2 +- own /lib/firmware (#167016) + +* Wed Sep 14 2005 Harald Hoyer - 069-1 +- version 069 + +* Thu Aug 04 2005 Harald Hoyer - 063-6 +- compile with pie .. again... (#158935) +- fixed typo in echo (#138509) + +* Tue Aug 02 2005 Harald Hoyer - 063-5 +- fixed scsi hotplug replay + +* Tue Aug 02 2005 Bill Nottingham - 063-5 +- add rule to allow function id matching for pcmcia after loading + modules (#164665) + +* Tue Aug 02 2005 Harald Hoyer - 063-4 +- fixed typo for tape devices and changed mode to 0660 + +* Thu Jul 28 2005 Harald Hoyer - 063-3 +- changed "SYMLINK=" to "SYMLINK+=" + +* Sun Jul 24 2005 Bill Nottingham - 063-2 +- don't set SEQNUM for scsi replay events (#163729) + +* Tue Jul 19 2005 Bill Nottingham - 063-1 +- update to 063 +- handle the hotplug events for ieee1394, scsi, firmware + +* Fri Jul 08 2005 Bill Nottingham - 062-2 +- update to 062 +- use included ata_id, build usb_id +- load modules for pci, usb, pcmcia +- ship RELEASE-NOTES in %%doc + +* Thu Jul 07 2005 Harald Hoyer - 058-2 +- compile with pie + +* Fri May 20 2005 Bill Nottingham - 058-1 +- update to 058, fixes conflict with newer kernels (#158371) + +* Thu May 12 2005 Harald Hoyer - 057-6 +- polished persistent scripts + +* Thu May 5 2005 Bill Nottingham - 057-5 +- rebuild + +* Thu May 5 2005 Bill Nottingham - 057-4 +- better check for mounted tmpfs on /dev (#156862) + +* Wed Apr 27 2005 Peter Jones - 057-3 +- use udevstart rather than udev for udevstart.static + +* Thu Apr 21 2005 Harald Hoyer - 057-2 +- added Inifiniband devices (bug #147035) +- fixed pam_console.dev (bug #153250) + +* Mon Apr 18 2005 Harald Hoyer - 057-1 +- version 057 + +* Fri Apr 15 2005 Dan Walsh - 056-2 +- Fix SELinux during creation of Symlinks + +* Mon Apr 11 2005 Harald Hoyer - 056-1 +- updated to version 056 +- merged permissions in the rules file +- added udevpermconv.sh to convert old permission files + +* Mon Mar 28 2005 Warren Togami - 050-10 +- own default and net dirs (#151368 Hans de Goede) + +* Mon Mar 07 2005 Warren Togami - 050-9 +- fixed rh#150462 (udev DRI permissions) + +* Wed Mar 02 2005 Harald Hoyer - 050-8 +- fixed rh#144598 + +* Fri Feb 18 2005 Harald Hoyer - 050-6 +- introducing /etc/udev/makedev.d/50-udev.nodes +- glibcstatic patch modified to let gcc4 compile udev + +* Thu Feb 10 2005 Harald Hoyer - 050-5 +- doh, reverted the start_udev devel version, which slipped in + +* Thu Feb 10 2005 Harald Hoyer - 050-3 +- fixed forgotten " in udev.rules + +* Tue Jan 11 2005 Harald Hoyer - 050-2 +- removed /dev/microcode, /dev/cpu/microcode is now the real node +- cleaned up start_udev + +* Tue Jan 11 2005 Harald Hoyer - 050-1 +- version 050 +- /dev/cpu/0/microcode -> /dev/cpu/microcode + +* Tue Dec 21 2004 Dan Walsh - 048-4 +- Call selinux_restore to fix labeling problem in selinux +- Fixes rh#142817 + +* Tue Dec 21 2004 Harald Hoyer - 048-3 +- maybe fixed bug rh#143367 + +* Thu Dec 16 2004 Harald Hoyer - 048-2 +- fixed a case where reading /proc/ide/hd?/media returns EIO + (bug rh#142713) +- changed all device node permissions of group "disk" to 0640 + (bug rh#110197) +- remove $udev_db with -fr in case of a directory (bug rh#142962) + +* Mon Dec 13 2004 Harald Hoyer - 048-1 +- version 048 +- major specfile cleanup + +* Thu Nov 04 2004 Harald Hoyer - 042-1 +- version 042 + +* Thu Nov 04 2004 Harald Hoyer - 039-10 +- speed improvement, scripts in rules are now executed only once, + instead of four times + +* Thu Nov 04 2004 Harald Hoyer - 039-9 +- removed wrong SIG_IGN for SIGCHLD +- moved ide media check to script to wait for the procfs + +* Wed Nov 3 2004 Jeremy Katz - 039-8.FC3 +- recreate lvm device nodes if needed in the trigger (#137807) + +* Wed Nov 03 2004 Harald Hoyer - 039-6.FC3.2 +- replace udev.conf by default +- LANG=C for fgrep in start_udev; turn grep into fgrep + +* Tue Nov 02 2004 Harald Hoyer - 039-6.FC3.1 +- speed up pam_console.dev +- mount pts and shm, in case of the dev trigger +- increased timeout for udevstart +- removed syslog() from signal handler (caused vmware locks) +- turned off logging, which speeds up the boot process + +* Thu Oct 21 2004 Harald Hoyer - 039-6 +- fixed typo + +* Thu Oct 21 2004 Harald Hoyer - 039-5 +- added udev-039-norm.patch, which prevents removal of hd* devices, + because the kernel sends remove/add events, if an IDE removable device + is close(2)ed. mke2fs, e.g. would fail in this case. + +* Wed Oct 20 2004 Harald Hoyer - 039-4 +- do not call dev.d scripts, if network interface hasn't changed + the name +- correct wait for dummy network devices +- removed NONBLOCK from volume-id +- do not log in udev.static, which should fix bug 136005 + +* Mon Oct 18 2004 Harald Hoyer - 039-3 +- refined wait_for_sysfs for udev.static + +* Mon Oct 18 2004 Harald Hoyer - 039-2 +- improved wait_for_sysfs for virtual consoles with Kay Siever's patch +- wait for ppp class +- wait for LVM dm- devices +- integrate wait_for_sys in udev.static for the initrd + +* Mon Oct 18 2004 Harald Hoyer - 039-1 +- version 039, fixes also manpage bug 135996 +- fixed glibc issue for static version (getgrnam, getpwnam) (bug 136005) +- close the syslog in every app + +* Fri Oct 15 2004 Harald Hoyer - 038-2 +- par[0-9] is now a symlink to lp +- MAKEDEV the parport devices +- now conflicts with older initscripts + +* Thu Oct 14 2004 Harald Hoyer - 038-1 +- raw device nodes are now created in directory raw +- version 038 + +* Wed Oct 13 2004 Harald Hoyer - 036-1 +- better wait_for_sysfs warning messages + +* Wed Oct 13 2004 Harald Hoyer - 035-2 +- fixed double bug in start_udev (bug 135405) + +* Tue Oct 12 2004 Harald Hoyer - 035-1 +- version 035, which only improves wait_for_sysfs +- load ide modules in start_udev, until a hotplug script is available + (bug 135260) + +* Mon Oct 11 2004 Harald Hoyer - 034-3 +- removed scary error messages from wait_for_sysfs +- symlink from nst? -> tape? +- kill udevd on update + +* Fri Oct 8 2004 Harald Hoyer - 034-2 +- check for /proc/sys/dev/cdrom/info existence in check-cdrom.sh + +* Fri Oct 8 2004 Harald Hoyer - 034-1 +- new version udev-034 +- removed patches, which went upstream +- pam_console.dev link renamed to 05-pam_console.dev +- MAKEDEV.dev links renamed to 10-MAKEDEV.dev + +* Thu Oct 07 2004 Harald Hoyer - 032-10 +- added floppy madness (bug 134830) +- replay scsi events in start_udev for the devices on the adapter (bug 130746) + +* Wed Oct 06 2004 Harald Hoyer - 032-9 +- obsoleted $UDEV_LOG, use udev_log +- correct SYMLINK handling in pam_console.dev +- specfile cleanup +- added check-cdrom.sh for nice cdrom symlinks + +* Mon Oct 04 2004 Harald Hoyer - 032-8 +- added patches from Féliciano Matias for multiple symlinks (bug 134477 and 134478) +- corrected some permissions with a missing leading 0 +- added z90crypt to the permissions file (bug 134448) +- corrected requires and conflicts tags +- removed /dev/log from MAKEDEV creation + +* Fri Oct 01 2004 Harald Hoyer - 032-7 +- more device nodes for those without initrd + +* Thu Sep 30 2004 Harald Hoyer - 032-6 +- prevent error message from device copying +- use already translated starting strings + +* Wed Sep 29 2004 Harald Hoyer - 032-5 +- add "fi" to start_udev +- do not create floppy devices manually (bug 133838) + +* Tue Sep 28 2004 Harald Hoyer - 032-4 +- made /etc/udev/devices/ for manual device nodes +- refined SELINUX check, if /dev is not yet mounted in start_dev + +* Mon Sep 27 2004 Harald Hoyer - 032-3 +- corrected permissions for /dev/rtc (bug 133636) +- renamed device-mapper to mapper/control (bug 133688) + +* Wed Sep 22 2004 Harald Hoyer - 032-2 +- removed option to turn off udev +- udevstart.static now symling to udev.static + +* Tue Sep 21 2004 Harald Hoyer - 032-1 +- version 032 + +* Mon Sep 20 2004 Harald Hoyer - 030-27 +- simplified udev.conf +- refined close_on_exec patch +- added pam_console supply for symlinks, now gives correct permissions, + for e.g. later plugged in cdroms +- renamed sr? to scd? (see devices.txt; k3b likes that :) + +* Mon Sep 13 2004 Jeremy Katz - 030-26 +- require a 2.6 kernel +- prereq instead of requires MAKEDEV +- obsolete and provide dev +- add a trigger for the removal of /dev so that we set things up + +* Fri Sep 10 2004 Dan Walsh - 030-25 +- Use matchmediacon + +* Fri Sep 10 2004 Harald Hoyer - 030-24 +- check if SELINUX is not disabled before executing setfiles (bug 132099) + +* Wed Sep 8 2004 Harald Hoyer - 030-23 +- mount tmpfs with mode 0755 in start_udev + +* Tue Sep 7 2004 Harald Hoyer - 030-22 +- applied rules from David Zeuthen which read /proc directly without + shellscript + +* Tue Sep 7 2004 Harald Hoyer - 030-21 +- applied enumeration patch from David Zeuthen for cdrom symlinks (bug 131532) +- create /dev/ppp in start_udev (bug 131114) +- removed nvidia devices from start_udev +- check for restorecon presence in start_udev (bug 131904) + +* Fri Sep 3 2004 Harald Hoyer - 030-20 +- due to -x added to MAKEDEV specify the par and lp numbers + +* Fri Sep 3 2004 Harald Hoyer - 030-19 +- added udev-030-rhsec.patch (bug 130351) + +* Thu Sep 2 2004 Jeremy Katz - 030-18 +- make the exact device in start_udev (and thus, require new MAKEDEV) + +* Thu Sep 2 2004 Jeremy Katz - 030-17 +- make sure file contexts of everything in the tmpfs /dev are set right + when start_udev runs + +* Thu Sep 02 2004 Harald Hoyer - 030-16 +- moved %%{_sysconfdir}/hotplug.d/default/udev.hotplug to %%{_sysconfdir}/hotplug.d/default/10-udev.hotplug + +* Thu Sep 02 2004 Harald Hoyer - 030-15 +- added nvidia devices to start_udev +- added UDEV_RAMFS for backwards compat to udev.conf +- changed Group (bug 131488) +- added libselinux-devel to build requirements + +* Wed Sep 1 2004 Jeremy Katz - 030-14 +- require MAKEDEV + +* Wed Sep 1 2004 Dan Walsh - 030-13 +- Change to setfilecon if directory exists. + +* Wed Sep 01 2004 Harald Hoyer - 030-12 +- fixed start_udev + +* Tue Aug 31 2004 Jeremy Katz - 030-11 +- use tmpfs instead of ramfs (it has xattr support now) +- change variables appropriately to TMPFS intead of RAMFS in udev.conf +- create loopN, not just loop in start_udev + +* Fri Aug 27 2004 Dan Walsh - 030-10 +- Fix Patch + +* Thu Aug 26 2004 Dan Walsh - 030-9 +- Cleaned up selinux patch + +* Tue Aug 24 2004 Harald Hoyer - 030-8 +- changed defaults not to remove device nodes +- added rule for net/tun +- extended start_udev to create devices, which can trigger module autoloading +- refined cloexec patch, to redirect stdin,out,err of /dev.d execed apps to /dev/null + +* Mon Aug 23 2004 Harald Hoyer - 030-7 +- removed usage of /usr/bin/seq in start_udev +- set correct permissions in start_udev +- extended the cloexec patch +- removed udev-persistent package (define with_persistent==0) +- check for /var/run/console/console.lock before calling /sbin/pam_console_setowner +- linked pam_console_setowner statically against libglib-2.0.a + +* Fri Aug 20 2004 Harald Hoyer - 030-5 +- use correct console.lock file now in pam_console_setowner + +* Wed Aug 18 2004 Harald Hoyer - 030-4 +- added the selinux patch + +* Fri Jul 23 2004 Harald Hoyer - 030-3 +- extended the cloexec patch + +* Wed Jul 21 2004 Dan Walsh - 030-2 +- Close Database fd in exec processes using FD_CLOSEXEC + +* Wed Jul 14 2004 Harald Hoyer - 030-1 +- version 030 + +* Wed Jul 14 2004 Harald Hoyer - 029-4 +- added udevstart.static + +* Wed Jul 14 2004 Harald Hoyer - 029-3 +- put /etc/sysconfig/udev in /etc/udev/udev.conf and removed it +- made only udev.static static +- make our defaults the default values +- removed /udev + +* Tue Jul 6 2004 Harald Hoyer - 029-1 +- version 029, added udev_remove and udev_owner to udev.conf + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Jun 8 2004 Harald Hoyer - 026-3 +- fixed UDEV_REMOVE=no + +* Tue Jun 8 2004 Harald Hoyer - 026-2 +- udev-026 +- preserve ownership of device nodes, which already exist +- do not remove device nodes if UDEV_REMOVE="no" +- added volume_id +- build with klibc + +* Wed May 26 2004 Harald Hoyer - 025-1 +- udev-025 +- added ata_identify +- build nearly all with dietlibc + +* Mon May 10 2004 Elliot Lee 024-6 +- Turn off udevd by default for FC2 + +* Tue Apr 20 2004 Harald Hoyer - 024-5 +- fixed permission for /dev/tty (FC2) + +* Thu Apr 15 2004 Harald Hoyer - 024-4 +- moved the 00- files to 50-, to let the use place his files in front + +* Thu Apr 15 2004 Harald Hoyer - 024-3 +- set UDEV_SELINUX to yes +- added UDEV_LOG + +* Thu Apr 15 2004 Harald Hoyer - 024-2 +- added /udev to filelist + +* Wed Apr 14 2004 Harald Hoyer - 024-1 +- update to 024 +- added /etc/sysconfig/udev +- added selinux, pam_console, dbus support + +* Fri Mar 26 2004 Harald Hoyer - 023-1 +- update to 023 + +* Wed Mar 24 2004 Bill Nottingham 022-1 +- update to 022 + +* Sun Mar 21 2004 Florian La Roche +- really move initscript + +* Sun Feb 29 2004 Florian La Roche +- move chkconv to preun +- nicer url + +* Wed Feb 25 2004 Harald Hoyer - 018-1 +- changes permissions and rules + +* Mon Feb 23 2004 Dan Walsh +- Add selinux support + +* Thu Feb 19 2004 Greg Kroah-Hartman +- add some more files to the documentation directory +- add ability to build scsi_id and make it the default + +* Mon Feb 16 2004 Greg Kroah-Hartman +- fix up udevd build, as it's no longer needed to be build seperatly +- add udevtest to list of files +- more Red Hat sync ups. + +* Thu Feb 12 2004 Greg Kroah-Hartman +- add some changes from the latest Fedora udev release. + +* Mon Feb 2 2004 Greg Kroah-Hartman +- add udevsend, and udevd to the files +- add ability to build udevd with glibc after the rest is build with klibc + +* Mon Jan 26 2004 Greg Kroah-Hartman +- added udevinfo to rpm +- added URL to spec file +- added udevinfo's man page + +* Mon Jan 05 2004 Rolf Eike Beer +- add defines to choose the init script (Redhat or LSB) + +* Tue Dec 16 2003 Robert Love +- install the initscript and run chkconfig on it + +* Tue Nov 2 2003 Greg Kroah-Hartman +- changes due to config file name changes + +* Fri Oct 17 2003 Robert Love +- Make work without a build root +- Correctly install the right files +- Pass the RPM_OPT_FLAGS to gcc so we can build per the build policy +- Put some prereqs in +- Install the hotplug symlink to udev + +* Mon Jul 28 2003 Paul Mundt +- Initial spec file for udev-0.2. diff --git a/udev.sysconfig b/udev.sysconfig new file mode 100644 index 0000000..e7c13cf --- /dev/null +++ b/udev.sysconfig @@ -0,0 +1,8 @@ +# If set to "yes", generates cache shell files of what MAKEDEV would do. +# May speedup some systems with slow disks. +# EXPERIMENTAL - use at your own risk +UDEV_USE_MAKEDEV_CACHE="no" + +# Generates /dev/disk/by* symlinks. +# Set to "no", if you *really* don't need them and want a speedup at boot time. +UDEV_PERSISTENT_STORAGE="yes" diff --git a/upstream b/upstream new file mode 100644 index 0000000..0a3c741 --- /dev/null +++ b/upstream @@ -0,0 +1 @@ +udev-114.tar.bz2 diff --git a/upstream-key.gpg b/upstream-key.gpg new file mode 100644 index 0000000..81cd947 --- /dev/null +++ b/upstream-key.gpg @@ -0,0 +1,54 @@ +pub 1024D/517D0F0E 2000-10-10 Linux Kernel Archives Verification Key + Key fingerprint = C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E +sub 4096g/E50A8F2A 2000-10-10 + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.0.3 (GNU/Linux) +Comment: For info see http://www.gnupg.org + +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 +=SZZb +-----END PGP PUBLIC KEY BLOCK-----