Package: partconf-find-partitions Version: 1.07 Severity: normal Tags: patch
The /dev/discs symlink handling in find-parts.c:get_all_partitions() is partly broken. In particular, it breaks when using udev. On my test system, neither /dev/discs nor /dev/discs/disc0 is a symlink, and /dev/discs/disc0/ looks like this: lrwxrwxrwx 1 root root 39 Feb 14 17:22 disc -> ../../scsi/host0/bus0/target0/lun0/disc lrwxrwxrwx 1 root root 40 Feb 14 17:22 part1 -> ../../scsi/host0/bus0/target0/lun0/part1 lrwxrwxrwx 1 root root 40 Feb 14 17:22 part2 -> ../../scsi/host0/bus0/target0/lun0/part2 lrwxrwxrwx 1 root root 40 Feb 14 17:22 part5 -> ../../scsi/host0/bus0/target0/lun0/part5 lrwxrwxrwx 1 root root 40 Feb 14 17:22 part6 -> ../../scsi/host0/bus0/target0/lun0/part6 lrwxrwxrwx 1 root root 40 Feb 14 17:22 part7 -> ../../scsi/host0/bus0/target0/lun0/part7 get_all_partitions() decides to look at /dev/../../scsi/host0/bus0/target0/lun0/disc/disc for this, which obviously doesn't work too well. I initially started to produce a small patch to fix the existing symlink handling code, but it didn't really seem worth the effort. Instead, noting that find-parts.c is already _GNU_SOURCE, I decided to replace it with use of canonicalize_file_name(), which makes the code a lot more readable. If somebody objects to the GNUism, there's a canonicalize_file_name() implementation in the gnulib package which could be used conditionally. Note that I've only tested this patch in Ubuntu's installer, which uses udev, not in Debian's devfs installer. http://patches.ubuntulinux.org/patches/partconf.canonicalize.diff Cheers, -- Colin Watson [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

