rpms/udev/F-11 Prioritize-dmraid-formats-over-md-raid.patch, NONE, 1.1 udev.git-055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c.patch, NONE, 1.1 udev.git-0c37798916bc87d72f5f1399d9e050307901db84.patch, NONE, 1.1 udev.git-b4fa1b67f86c9555cbb41c57774761730f6b8939.patch, NONE, 1.1 udev.git-d3c8231e738dd286591c1becc2f327ed55ed89d1.patch, NONE, 1.1 udev.git-f58a9099bb2b18f3f683615324a4382b95446305.patch, NONE, 1.1 udev.spec, 1.273, 1.274

Harald Hoyer harald at fedoraproject.org
Tue Jun 30 11:46:28 UTC 2009


Author: harald

Update of /cvs/pkgs/rpms/udev/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3004

Modified Files:
	udev.spec 
Added Files:
	Prioritize-dmraid-formats-over-md-raid.patch 
	udev.git-055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c.patch 
	udev.git-0c37798916bc87d72f5f1399d9e050307901db84.patch 
	udev.git-b4fa1b67f86c9555cbb41c57774761730f6b8939.patch 
	udev.git-d3c8231e738dd286591c1becc2f327ed55ed89d1.patch 
	udev.git-f58a9099bb2b18f3f683615324a4382b95446305.patch 
Log Message:
* Tue Jun 30 2009 Harald Hoyer <harald at redhat.com> 141-4
- really try to kill udevd in %post (bug #481075)
- show "isw_raid_member" before "linux_raid_member" with vol_id (bug #499246)
- add new ACPI modalias for floppy module autoloading (bug #503308)
- add isdn capi rules (bug #507241)
- backport several bugfixes from git


Prioritize-dmraid-formats-over-md-raid.patch:

--- NEW FILE Prioritize-dmraid-formats-over-md-raid.patch ---
>From 0ee946c41f7fb215c2cca2469e63af9369b2b7e2 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones at redhat.com>
Date: Tue, 5 May 2009 14:52:38 -0400
Subject: [PATCH] Prioritize dmraid formats over md raid.

Since dmraid formats are what BIOS recognizes, they should be recognized
before linux's "md" raid format.
---
 extras/volume_id/lib/volume_id.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/extras/volume_id/lib/volume_id.c b/extras/volume_id/lib/volume_id.c
index 48bfd88..b3793fd 100644
--- a/extras/volume_id/lib/volume_id.c
+++ b/extras/volume_id/lib/volume_id.c
@@ -41,7 +41,6 @@ struct prober {
 };
 
 static const struct prober prober_raid[] = {
-	{ volume_id_probe_linux_raid, { "linux_raid", } },
 	{ volume_id_probe_ddf_raid, { "ddf_raid", } },
 	{ volume_id_probe_intel_software_raid, { "isw_raid", } },
 	{ volume_id_probe_lsi_mega_raid, { "lsi_mega_raid", } },
@@ -55,6 +54,7 @@ static const struct prober prober_raid[] = {
 	{ volume_id_probe_lvm1, { "lvm1", } },
 	{ volume_id_probe_lvm2, { "lvm2", } },
 	{ volume_id_probe_highpoint_37x_raid, { "highpoint_raid", } },
+	{ volume_id_probe_linux_raid, { "linux_raid", } },
 };
 
 static const struct prober prober_filesystem[] = {
-- 
1.6.2.2


udev.git-055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c.patch:

--- NEW FILE udev.git-055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c.patch ---
From: Scott James Remnant <scott at ubuntu.com>
Date: Thu, 14 May 2009 11:42:44 +0000 (+0100)
Subject: OWNER/GROUP: fix if logic
X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c

OWNER/GROUP: fix if logic

The introduction of the --resolve-names=early/never code introduced a
bug to the OWNER/GROUP lookup.  Previously if the name had contained $,
lookup would have been performed later; after the patch, the key ended
up being ignored!
---

diff --git a/udev/udev-rules.c b/udev/udev-rules.c
index b8b7e52..39fe55a 100644
--- a/udev/udev-rules.c
+++ b/udev/udev-rules.c
@@ -1431,7 +1431,7 @@ static int add_rule(struct udev_rules *rules, char *line,
 			} else if ((rules->resolve_names > 0) && strchr("$%", value[0]) == NULL) {
 				uid = add_uid(rules, value);
 				rule_add_key(&rule_tmp, TK_A_OWNER_ID, op, NULL, &uid);
-			} else if (rules->resolve_names == 0) {
+			} else if (rules->resolve_names >= 0) {
 				rule_add_key(&rule_tmp, TK_A_OWNER, op, value, NULL);
 			}
 			rule_tmp.rule.rule.flags = 1;
@@ -1448,7 +1448,7 @@ static int add_rule(struct udev_rules *rules, char *line,
 			} else if ((rules->resolve_names > 0) && strchr("$%", value[0]) == NULL) {
 				gid = add_gid(rules, value);
 				rule_add_key(&rule_tmp, TK_A_GROUP_ID, op, NULL, &gid);
-			} else if (rules->resolve_names == 0) {
+			} else if (rules->resolve_names >= 0) {
 				rule_add_key(&rule_tmp, TK_A_GROUP, op, value, NULL);
 			}
 			rule_tmp.rule.rule.flags = 1;

udev.git-0c37798916bc87d72f5f1399d9e050307901db84.patch:

--- NEW FILE udev.git-0c37798916bc87d72f5f1399d9e050307901db84.patch ---
From: Kay Sievers <kay.sievers at vrfy.org>
Date: Wed, 13 May 2009 16:01:32 +0000 (+0200)
Subject: fix possible endless loop for GOTO to non-existent LABEL
X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=0c37798916bc87d72f5f1399d9e050307901db84

fix possible endless loop for GOTO to non-existent LABEL

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526365
---

diff --git a/udev/udev-rules.c b/udev/udev-rules.c
index fac418e..b8b7e52 100644
--- a/udev/udev-rules.c
+++ b/udev/udev-rules.c
@@ -1610,6 +1610,7 @@ static int parse_file(struct udev_rules *rules, const char *filename, unsigned s
 				if (strcmp(label, &rules->buf[rules->tokens[j].rule.label_off]) != 0)
 					continue;
 				rules->tokens[i].key.rule_goto = j;
+				break;
 			}
 			if (rules->tokens[i].key.rule_goto == 0)
 				err(rules->udev, "GOTO '%s' has no matching label in: '%s'\n", label, filename);
@@ -2504,6 +2505,8 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
 				break;
 			}
 		case TK_A_GOTO:
+			if (cur->key.rule_goto == 0)
+				break;
 			cur = &rules->tokens[cur->key.rule_goto];
 			continue;
 		case TK_A_LAST_RULE:

udev.git-b4fa1b67f86c9555cbb41c57774761730f6b8939.patch:

--- NEW FILE udev.git-b4fa1b67f86c9555cbb41c57774761730f6b8939.patch ---
From: Kay Sievers <kay.sievers at vrfy.org>
Date: Thu, 14 May 2009 10:57:19 +0000 (+0200)
Subject: rule-generator: cd - skip by-path links if we create by-id links
X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=b4fa1b67f86c9555cbb41c57774761730f6b8939

rule-generator: cd - skip by-path links if we create by-id links
---

diff --git a/extras/rule_generator/75-cd-aliases-generator.rules b/extras/rule_generator/75-cd-aliases-generator.rules
index e357a6a..e6da010 100644
--- a/extras/rule_generator/75-cd-aliases-generator.rules
+++ b/extras/rule_generator/75-cd-aliases-generator.rules
@@ -1,6 +1,9 @@
 # these rules generate rules for the /dev/{cdrom,dvd,...} symlinks
 
-# the path of removable devices changes frequently
-ACTION=="add", SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", PROGRAM="write_cd_rules by-id", SYMLINK+="%c"
+# the "path" of usb/ieee1394 devices changes frequently, use "id"
+ACTION=="add", SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", \
+  PROGRAM="write_cd_rules by-id", SYMLINK+="%c", GOTO="persistent_cd_end"
 
 ACTION=="add", SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", PROGRAM="write_cd_rules", SYMLINK+="%c"
+
+LABEL="persistent_cd_end"
diff --git a/extras/rule_generator/write_cd_rules b/extras/rule_generator/write_cd_rules
index 398cd27..0d16fe6 100644
--- a/extras/rule_generator/write_cd_rules
+++ b/extras/rule_generator/write_cd_rules
@@ -97,7 +97,7 @@ choose_rules_file
 
 link_num=$(find_next_available 'cdrom[0-9]*')
 
-match="ENV{ID_CDROM}==\"?*\", $RULE"
+match="SUBSYSTEM==\"block\", ENV{ID_CDROM}==\"?*\", $RULE"
 
 comment="$ID_MODEL ($ID_PATH)"
 
@@ -108,6 +108,7 @@ comment="$ID_MODEL ($ID_PATH)"
 	write_rule "$match" "dvd$link_num"
 [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
 	write_rule "$match" "dvdrw$link_num"
+echo >> $RULES_FILE
 
 unlock_rules_file
 

udev.git-d3c8231e738dd286591c1becc2f327ed55ed89d1.patch:

--- NEW FILE udev.git-d3c8231e738dd286591c1becc2f327ed55ed89d1.patch ---
From: Kay Sievers <kay.sievers at vrfy.org>
Date: Mon, 25 May 2009 22:50:45 +0000 (+0200)
Subject: cdrom_id: suppress ID_CDROM_MEDIA_STATE=blank for plain non-writable CDROM media
X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=d3c8231e738dd286591c1becc2f327ed55ed89d1

cdrom_id: suppress ID_CDROM_MEDIA_STATE=blank for plain non-writable CDROM media

Some broken fake cdrom drives return ID_CDROM_MEDIA_STATE=blank.

  $ /lib/udev/cdrom_id -d /dev/sr1
  main: probing: '/dev/sr1'
  cd_inquiry: INQUIRY: [Nokia   ][S60             ][1.0 ]
  cd_profiles: GET CONFIGURATION: number of profiles 76
  cd_profiles: current profile 0x08
  cd_media_toc: READ TOC: len: 12
  cd_media_toc: last track 1 starts at block 0
  cd_media_info: disk type 00
  ID_CDROM=1
  ID_CDROM_MRW=1
  ID_CDROM_MRW_W=1
  ID_CDROM_MEDIA=1
  ID_CDROM_MEDIA_CD=1
  ID_CDROM_MEDIA_STATE=blank

Others work fine, but ID_CDROM_MEDIA_STATE is not needed for non-writable CDROM media:

  $ /lib/udev/cdrom_id -d /dev/sr1
  main: probing: '/dev/sr1'
  cd_inquiry: INQUIRY: [SanDisk ][U3 Cruzer Micro ][8.02]
  cd_profiles: GET CONFIGURATION: number of profiles 72
  cd_profiles: current profile 0x08
  cd_media_toc: READ TOC: len: 20
  cd_media_toc: track=1 info=0x4(data) start_block=0
  cd_media_toc: last track 1 starts at block 0
  cd_media_info: disk type 00
  ID_CDROM=1
  ID_CDROM_MRW=1
  ID_CDROM_MRW_W=1
  ID_CDROM_MEDIA=1
  ID_CDROM_MEDIA_CD=1
  ID_CDROM_MEDIA_STATE=complete
  ID_CDROM_MEDIA_SESSION_COUNT=1
  ID_CDROM_MEDIA_TRACK_COUNT=1
  ID_CDROM_MEDIA_TRACK_COUNT_DATA=1
---

diff --git a/extras/cdrom_id/cdrom_id.c b/extras/cdrom_id/cdrom_id.c
index 0d873ae..921e534 100644
--- a/extras/cdrom_id/cdrom_id.c
+++ b/extras/cdrom_id/cdrom_id.c
@@ -426,8 +426,10 @@ static int cd_media_info(struct udev *udev, int fd)
 
 	info(udev, "disk type %02x\n", header[8]);
 
-	if ((header[2] & 3) < 4)
+	/* exclude plain CDROM, some fake cdroms return 0 for "blank" media here */
+	if (!cd_media_cd_rom && (header[2] & 3) < 4)
 		cd_media_state = media_status[header[2] & 3];
+
 	if ((header[2] & 3) != 2)
 		cd_media_session_next = header[10] << 8 | header[5];
 	cd_media_session_count = header[9] << 8 | header[4];

udev.git-f58a9099bb2b18f3f683615324a4382b95446305.patch:

--- NEW FILE udev.git-f58a9099bb2b18f3f683615324a4382b95446305.patch ---
From: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
Date: Wed, 20 May 2009 14:12:22 +0000 (+0200)
Subject: udevadm: settle - fix timeout
X-Git-Url: http://git.kernel.org/?p=linux%2Fhotplug%2Fudev.git;a=commitdiff_plain;h=f58a9099bb2b18f3f683615324a4382b95446305

udevadm: settle - fix timeout

The timeout wasn't working when settle was run as root:
  # udevadm control --stop-exec-queue
  # udevadm trigger
  # udevadm settle --timeout=1
  ... (hangs)

Signed-off-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
---

diff --git a/udev/udevadm-settle.c b/udev/udevadm-settle.c
index 3b26f10..52d9c0b 100644
--- a/udev/udevadm-settle.c
+++ b/udev/udevadm-settle.c
@@ -167,6 +167,7 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[])
 			sigprocmask(SIG_BLOCK, &mask, &oldmask);
 			if (udev_ctrl_send_settle(uctrl) > 0)
 				sigsuspend(&oldmask);
+			sigprocmask(SIG_SETMASK, &oldmask, NULL);
 			udev_ctrl_unref(uctrl);
 		}
 	}


Index: udev.spec
===================================================================
RCS file: /cvs/pkgs/rpms/udev/F-11/udev.spec,v
retrieving revision 1.273
retrieving revision 1.274
diff -u -p -r1.273 -r1.274
--- udev.spec	24 Apr 2009 10:35:16 -0000	1.273
+++ udev.spec	30 Jun 2009 11:46:28 -0000	1.274
@@ -6,7 +6,7 @@
 Summary: A userspace implementation of devfs
 Name: udev
 Version: 141
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: GPLv2
 Group: System Environment/Base
 Provides: udev-persistent = %{version}-%{release}
@@ -18,7 +18,13 @@ Source3: udev-post.init
 Source4: fw_unit_symlinks.sh
 Source5: udev.sysconfig
 
-Patch1: udev.git-f907449eee.patch
+Patch0: udev.git-f907449eee.patch
+Patch1: udev.git-055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c.patch
+Patch2: udev.git-0c37798916bc87d72f5f1399d9e050307901db84.patch
+Patch3: udev.git-b4fa1b67f86c9555cbb41c57774761730f6b8939.patch
+Patch4: udev.git-d3c8231e738dd286591c1becc2f327ed55ed89d1.patch
+Patch5: udev.git-f58a9099bb2b18f3f683615324a4382b95446305.patch
+Patch6: Prioritize-dmraid-formats-over-md-raid.patch
 
 Patch102: udev-118-sysconf.patch
 
@@ -93,7 +99,13 @@ dynamic library, which provides access t
 %prep
 %setup -q  
 
-%patch1 -p1 -b .git1
+%patch0 -p1 -b .git1
+%patch1 -p1 
+%patch2 -p1 
+%patch3 -p1 
+%patch4 -p1 
+%patch5 -p1 
+%patch6 -p1 
 
 %patch102 -p1 -b .sysconf
 
@@ -178,6 +190,7 @@ for i in \
 	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
@@ -196,6 +209,7 @@ mkdir -p -m 0755 $RPM_BUILD_ROOT%{firmwa
 mkdir -p -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d
 cat > $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/floppy-pnp.conf <<EOF
 alias pnp:dPNP0700 floppy
+alias acpi:PNP0700: floppy
 EOF
 
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
@@ -209,10 +223,15 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/udev/ma
 %preun
 if [ "$1" -eq 0 -a -f %{_initrddir}/udev ]; then
 	if [ -x /sbin/pidof ]; then
+		udevadm control --stop-exec-queue
 		pid=$(/sbin/pidof -c udevd)
-		if [ -n "$pid" ]; then
-			kill $pid
-		fi
+		while [ -n "$pid" ]; do
+			for p in $pid; do
+				kill $hard $p;
+			done
+			pid=$(/sbin/pidof -c udevd)
+			hard="-9"
+		done
 	fi
 	/sbin/chkconfig --del udev
 fi
@@ -232,11 +251,17 @@ getent group dialout >/dev/null || /usr/
 
 %post
 if [ "$1" -gt 1 -a -x /sbin/pidof ]; then
+	udevadm control --stop-exec-queue
 	pid=$(/sbin/pidof -c udevd)
-	if [ -n "$pid" ]; then
-		kill $pid
-		/sbin/udevd -d
-	fi
+	while [ -n "$pid" ]; do
+		for p in $pid; do
+			kill $hard $p;
+		done
+		pid=$(/sbin/pidof -c udevd)
+		hard="-9"
+	done
+	/sbin/udevd -d
+        udevadm control --start-exec-queue
 fi
 
 /sbin/chkconfig --add udev-post
@@ -383,6 +408,13 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Tue Jun 30 2009 Harald Hoyer <harald at redhat.com> 141-4
+- really try to kill udevd in %post (bug #481075)
+- show "isw_raid_member" before "linux_raid_member" with vol_id (bug #499246)
+- add new ACPI modalias for floppy module autoloading (bug #503308)
+- add isdn capi rules (bug #507241)
+- backport several bugfixes from git
+
 * Fri Apr 24 2009 Harald Hoyer <harald at redhat.com> 141-3
 - cdrom_id: add and use ID_CDROM_MEDIA to decide if we run vol_id
   (bug #496298)




More information about the fedora-extras-commits mailing list