From: almesber@nessie.cs.id.ethz.ch (Werner Almesberger)
Subject: Patch for LILO 0.8
Followup-To: comp.os.linux
Keywords: LILO, boot loader, patch
Organization: Swiss Federal Institute of Technology (ETH), Zurich, CH
Date: Sat, 9 Jan 1993 14:30:48 GMT

This is a patch for LILO 0.8 that fixes the following problems:

  - added a missing #include <sys/stat.h> to map.c
  - fixed the BIOS_MAX_* parameters in lilo.h
  - added a test for broken regexp in sed, grep and egrep to
    QuickInst.

Thanks to Delman Lee for reporting the first two problems !

- Werner

---------------------------------- cut here -----------------------------------

diff -cr lilo/QuickInst ./QuickInst
*** lilo/QuickInst	Thu Jan  7 01:13:02 1993
--- ./QuickInst	Sat Jan  9 14:57:21 1993
***************
*** 112,117 ****
--- 112,136 ----
      exit 1
  fi
  
+ badlib=""
+ if [ "`echo 'X(Y)' | sed 's/\(X\)(Y)/\1/'`" != "X" ]; then
+     echo "Your sed doesn't behave like sed."
+     badlib=y
+ fi
+ if [ "`echo 'X(Y)' | grep '^X(Y)'`" != "X(Y)" ]; then
+     echo "Your grep doesn't behave like grep."
+     badlib=y
+ fi
+ if [ "`echo 'X(Y)' | egrep '^(X)\(Y\)'`" != "X(Y)" ]; then
+     echo "Your egrep doesn't behave like egrep."
+     badlib=y
+ fi
+ if [ ! -z "$badlib" ]; then
+     echo "Your shared libraries might be broken."
+     echo
+     exit 1
+ fi
+ 
  echo "QuickInst configures LILO and installs it on your hard disk. It should"
  echo "only be used for first-time installations, NOT to update or modify an"
  echo "existing installation of LILO."
diff -cr lilo/lilo.c ./lilo.c
*** lilo/lilo.c	Wed Jan  6 22:19:03 1993
--- ./lilo.c	Sat Jan  9 14:42:22 1993
***************
*** 177,183 ****
      }
      if (atexit(temp_remove)) die("atexit() failed");
      if (verbose > 0)
! 	printf("LILO version 0.8\nWritten 1992,1993 by Werner Almesberger\n\n");
  #if 0
      if (((install || test || boot_device || disktab_file || compact) && !argc)
        || (compact && linear && 0)) usage(name);
--- 177,184 ----
      }
      if (atexit(temp_remove)) die("atexit() failed");
      if (verbose > 0)
! 	printf("LILO version 0.8pl1\nWritten 1992,1993 by Werner Almesberger"
! 	  "\n\n");
  #if 0
      if (((install || test || boot_device || disktab_file || compact) && !argc)
        || (compact && linear && 0)) usage(name);
diff -cr lilo/lilo.h ./lilo.h
*** lilo/lilo.h	Sun Jan  3 02:59:42 1993
--- ./lilo.h	Sat Jan  9 14:38:51 1993
***************
*** 56,64 ****
  #define EX_MAG_L	0x494c	/* magic number at ES:SI, "LI" */
  #define EX_MAG_H	0x4f4c	/* magic number at ES:SI+2, "LO" */
  
! #define BIOS_MAX_HEADS  255	/* 8 bits head number */
! #define BIOS_MAX_CYLS   1023	/* 10 bits cylinder number */
! #define BIOS_MAX_SECS   63	/* 6 bits sector number */
  
  #define OVR_RAMD	1	/* override RAM disk size */
  #define OVR_VGA		2	/* override VGA mode */
--- 56,64 ----
  #define EX_MAG_L	0x494c	/* magic number at ES:SI, "LI" */
  #define EX_MAG_H	0x4f4c	/* magic number at ES:SI+2, "LO" */
  
! #define BIOS_MAX_HEADS  256	/* 8 bits head number */
! #define BIOS_MAX_CYLS   1024	/* 10 bits cylinder number */
! #define BIOS_MAX_SECS   63	/* 6 bits sector number (no, it's not 64) */
  
  #define OVR_RAMD	1	/* override RAM disk size */
  #define OVR_VGA		2	/* override VGA mode */
diff -cr lilo/map.c ./map.c
*** lilo/map.c	Sun Jan  3 02:59:47 1993
--- ./map.c	Sat Jan  9 14:45:29 1993
***************
*** 9,14 ****
--- 9,15 ----
  #include <string.h>
  #include <fcntl.h>
  #include <errno.h>
+ #include <sys/stat.h>
  
  #include "lilo.h"
  #include "common.h"

-- 
   _________________________________________________________________________
  / Werner Almesberger, ETH Zuerich, CH      almesber@nessie.cs.id.ethz.ch /
 /_IFW_A44__Tel._+41_1_254_7213___________________________________________/
Newsgroups: comp.os.linux.announce,comp.os.linux