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.
This commit is contained in:
robertmh 2006-09-14 18:52:50 +00:00
parent 01b82a64e2
commit 2952da5dda
4 changed files with 17 additions and 4 deletions

View file

@ -1,3 +1,11 @@
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

View file

@ -160,9 +160,11 @@ find_root_device (const char *dir, dev_t dev)
/* 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);

View file

@ -198,7 +198,7 @@ fi
# 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
@ -206,7 +206,7 @@ for file in ${pkglibdir}/*.mod ${pkglibdir}/*.lst ${pkglibdir}/*.img; do
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

View file

@ -378,8 +378,11 @@ make_device_map (const char *device_map, int floppy_disks)
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)