Hello community,
here is the log from the commit of package udev
checked in at Mon Oct 6 19:12:17 CEST 2008.
--------
--- udev/udev.changes 2008-09-11 17:35:28.000000000 +0200
+++ /mounts/work_src_done/STABLE/udev/udev.changes 2008-10-02 16:03:43.120781000 +0200
@@ -1,0 +2,8 @@
+Wed Oct 1 22:02:11 CEST 2008 - kay.sievers@novell.com
+
+- fix bug which prevented large-file compilation, which made vol_id
+ not recognize raid signatures at the end of volumes (bnc#428660)
+- create both by-id/ieee-* and by-id/scsi-* links (bnc#422330)
+- read hpfs label/uuid (bnc#420526)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
udev-ieee1394-rules.patch
volume_id-hpfs.patch
volume_id-include-config.h.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ udev.spec ++++++
--- /var/tmp/diff_new_pack.oP2088/_old 2008-10-06 19:11:24.000000000 +0200
+++ /var/tmp/diff_new_pack.oP2088/_new 2008-10-06 19:11:24.000000000 +0200
@@ -21,7 +21,7 @@
Name: udev
Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
Version: 128
-Release: 1
+Release: 4
License: GPL v2 or later
Group: System/Kernel
Summary: A Rule-Based Device Node and Kernel Event Manager
@@ -34,7 +34,9 @@
Source60: boot.udev
Source61: boot.udev_retry
Source62: pnp-aliases
-#Patch0: udev-git-HEAD.patch
+Patch10: udev-ieee1394-rules.patch
+Patch11: volume_id-include-config.h.patch
+Patch12: volume_id-hpfs.patch
%description
udev's main task is to create and remove device nodes in /dev when a
@@ -118,7 +120,9 @@
%prep
%setup -q
-#%patch0 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
%build
# prevent man pages from re-building (xmlto)
@@ -302,6 +306,11 @@
/%{_lib}/libvolume_id.so.*
%changelog
+* Thu Oct 02 2008 kay.sievers@novell.com
+- fix bug which prevented large-file compilation, which made vol_id
+ not recognize raid signatures at the end of volumes (bnc#428660)
+- create both by-id/ieee-* and by-id/scsi-* links (bnc#422330)
+- read hpfs label/uuid (bnc#420526)
* Thu Sep 11 2008 kay.sievers@novell.com
- new upstream release 128
libudev work
++++++ boot.udev ++++++
--- udev/boot.udev 2008-08-16 04:55:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/udev/boot.udev 2008-10-02 14:29:16.588592000 +0200
@@ -48,8 +48,10 @@
rc_status -v
rc_exit
fi
+ rc_status -v
# trigger events for all devices
+ echo -n "Loading drivers, configuring devices: "
/sbin/udevadm trigger
# wait for events to finish
@@ -79,7 +81,7 @@
rc_status -v
;;
force-reload)
- echo -n "Restarting udev and updating all device nodes: "
+ echo -n "Restarting udev and reconfiguring all devices: "
killproc $DAEMON
rm -rf /dev/.udev /dev/disk
cp --preserve=all --recursive --update /lib/udev/devices/* /dev
++++++ udev-ieee1394-rules.patch ++++++
diff --git a/rules/rules.d/60-persistent-storage.rules b/rules/rules.d/60-persistent-storage.rules
index 5218b2c..dec83cf 100644
--- a/rules/rules.d/60-persistent-storage.rules
+++ b/rules/rules.d/60-persistent-storage.rules
@@ -31,13 +31,16 @@ KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode"
KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"
-KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="scsi"
KERNEL=="cciss?c[0-9]d[0-9]*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="cciss"
KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="sd*[0-9]|cciss*p[0-9]*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
+# firewire
+KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
+KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"
+
# libata compat (ata-* links, like old hd* devices did create)
KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
++++++ volume_id-hpfs.patch ++++++
--- a/extras/volume_id/lib/hpfs.c
+++ b/extras/volume_id/lib/hpfs.c
@@ -31,31 +31,84 @@
#include "libvolume_id.h"
#include "libvolume_id-private.h"
+struct hpfs_boot_block
+{
+ uint8_t jmp[3];
+ uint8_t oem_id[8];
+ uint8_t bytes_per_sector[2];
+ uint8_t sectors_per_cluster;
+ uint8_t n_reserved_sectors[2];
+ uint8_t n_fats;
+ uint8_t n_rootdir_entries[2];
+ uint8_t n_sectors_s[2];
+ uint8_t media_byte;
+ uint16_t sectors_per_fat;
+ uint16_t sectors_per_track;
+ uint16_t heads_per_cyl;
+ uint32_t n_hidden_sectors;
+ uint32_t n_sectors_l;
+ uint8_t drive_number;
+ uint8_t mbz;
+ uint8_t sig_28h;
+ uint8_t vol_serno[4];
+ uint8_t vol_label[11];
+ uint8_t sig_hpfs[8];
+ uint8_t pad[448];
+ uint8_t magic[2];
+} PACKED;
+
struct hpfs_super
{
uint8_t magic[4];
+ uint8_t magic1[4];
uint8_t version;
} PACKED;
+
+struct hpfs_spare_super
+{
+ uint8_t magic[4];
+ uint8_t magic1[4];
+} PACKED;
+
#define HPFS_SUPERBLOCK_OFFSET 0x2000
+#define HPFS_SUPERBLOCK_SPARE_OFFSET 0x2200
int volume_id_probe_hpfs(struct volume_id *id, uint64_t off, uint64_t size)
{
struct hpfs_super *hs;
+ struct hpfs_spare_super *hss;
+ struct hpfs_boot_block *hbb;
info("probing at offset 0x%llx\n", (unsigned long long) off);
- hs = (struct hpfs_super *) volume_id_get_buffer(id, off + HPFS_SUPERBLOCK_OFFSET, 0x200);
+ hs = (struct hpfs_super *) volume_id_get_buffer(id, off + HPFS_SUPERBLOCK_OFFSET, 0x400);
if (hs == NULL)
return -1;
+ if (memcmp(hs->magic, "\x49\xe8\x95\xf9", 4) != 0)
+ return -1;
- if (memcmp(hs->magic, "\x49\xe8\x95\xf9", 4) == 0) {
- sprintf(id->type_version, "%u", hs->version);
+ hss = (struct hpfs_spare_super *) volume_id_get_buffer(id, off + HPFS_SUPERBLOCK_SPARE_OFFSET, 0x200);
+ if (hss == NULL)
+ return -1;
+ if (memcmp(hss->magic, "\x49\x18\x91\xf9", 4) != 0)
+ return -1;
- volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
- id->type = "hpfs";
- return 0;
+ sprintf(id->type_version, "%u", hs->version);
+ volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
+ id->type = "hpfs";
+
+ /* if boot block looks valid, read label and uuid from there */
+ hbb = (struct hpfs_boot_block *) volume_id_get_buffer(id, off, 0x200);
+ if (hs == NULL)
+ return -1;
+ if (memcmp(hbb->magic, "\x55\xaa", 2) == 0 &&
+ memcmp(hbb->sig_hpfs, "HPFS", 4) == 0 &&
+ hbb->sig_28h == 0x28) {
+ volume_id_set_label_raw(id, hbb->vol_label, 11);
+ volume_id_set_label_string(id, hbb->vol_label, 11);
+ volume_id_set_uuid(id, hbb->vol_serno, 0, UUID_DOS);
}
- return -1;
+ return 0;
}
++++++ volume_id-include-config.h.patch ++++++
diff --git a/extras/volume_id/lib/util.c b/extras/volume_id/lib/util.c
index 0fb8937..4d118a4 100644
--- a/extras/volume_id/lib/util.c
+++ b/extras/volume_id/lib/util.c
@@ -21,6 +21,8 @@
#define _GNU_SOURCE 1
#endif
+#include
participants (1)
-
root@Hilbert.suse.de