+2006-08-19 Robert Millan <rmh@aybabtu.com>
+
+ * util/i386/pc/grub-install.in: Skip menu.lst when removing
+ /boot/grub/*.lst.
+ * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
+ * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
+ before adding it to device.map.
+
2006-08-15 Johan Rydberg <jrydberg@gnu.org>
* genmk.rb: Let GCC generate dependenceies the first time it
/* Don't follow symbolic links. */
continue;
- if (S_ISDIR (st.st_mode))
+ if (S_ISDIR (st.st_mode) && ent->d_name[0] != '.')
{
- /* Find it recursively. */
+ /* Find it recursively, but avoid dotdirs (like ".static") since they
+ could contain duplicates, which would later break the
+ pathname-based check */
char *res;
res = find_root_device (ent->d_name, dev);
# Copy the GRUB images to the GRUB directory.
for file in ${grubdir}/*.mod ${grubdir}/*.lst ${grubdir}/*.img; do
- if test -f $file; then
+ if test -f $file && [ "`basename $file`" != menu.lst ]; then
rm -f $file || exit 1
fi
done
cp -f $file ${grubdir} || exit 1
done
-# Create the core image. First, auto-detect the filesystme module.
+# Create the core image. First, auto-detect the filesystem module.
fs_module=`$grub_probefs --device-map=${device_map} ${grubdir}`
if test "x$fs_module" = x -a "x$modules" = x; then
echo "Auto-detection of a filesystem module failed." 1>&2
for (i = 0; i < floppy_disks; i++)
{
char name[16];
+ struct stat st;
get_floppy_disk_name (name, i);
+ if (stat (name, &st) < 0)
+ break;
/* In floppies, write the map, whether check_device succeeds
or not, because the user just may not insert floppies. */
if (fp)