Me again... Sorted it out now with the newly released grub-0.92 and using automake-1.5 and autoconf-2.53.
Here's a spec file to do it plus a patch for the diskonchip patch. grub.spec: ----------------- Name: grub Version: 0.92mtd %define version 0.92 Release: 1 Summary: GRUB - the Grand Unified Boot Loader. Group: System Environment/Base License: GPL URL: http://www.gnu.org/software/%{name}/ Source0: ftp://alpha.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz Patch0: grub-2002-02-19-doc-patch.patch Patch1: grub-2002-02-19-doc.patch ExclusiveArch: i386 BuildRequires: binutils >= 2.9.1.0.23, automake = 1.5, autoconf >= 2.52 PreReq: /sbin/install-info Requires: mktemp BuildRoot: %{_tmppath}/%{name}-%{version}-root %description GRUB (Grand Unified Boot Loader) is an experimental boot loader capable of booting into most free operating systems - Linux, FreeBSD, NetBSD, GNU Mach, and others as well as most commercial operating systems. %prep %setup -q -n %{name}-%{version} # Copy the doc patch into BUILD because we need to patch it cp $RPM_SOURCE_DIR/grub-2002-02-19-doc.patch \ $RPM_BUILD_DIR/%{name}-%{version} # Patch the patch patch -p0 --fuzz=0 -d $RPM_BUILD_DIR/%{name}-%{version} \ < $RPM_SOURCE_DIR/grub-2002-02-19-doc-patch.patch # Apply the patched patch patch -p0 --fuzz=0 -d $RPM_BUILD_DIR/%{name}-%{version} \ < $RPM_BUILD_DIR/%{name}-%{version}/grub-2002-02-19-doc.patch # Need to do this because doc patch has patched the .am files aclocal && automake && autoconf %build %configure \ --disable-fat \ --disable-ffs \ --disable-minix \ --disable-reiserfs \ --disable-vstafs \ --disable-jfs \ --disable-xfs \ --disable-md5-password \ --disable-hercules \ --enable-serial \ --enable-ext2fs \ --enable-diskonchip-2000 make %install rm -fr $RPM_BUILD_ROOT %makeinstall sbindir=${RPM_BUILD_ROOT}/sbin mkdir -p ${RPM_BUILD_ROOT}/boot/grub %clean rm -fr $RPM_BUILD_ROOT %post if [ "$1" = 1 ]; then /sbin/install-info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz fi %preun if [ "$1" = 0 ] ;then /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz fi %files %defattr(-,root,root) %doc AUTHORS ChangeLog NEWS README README_DiskOnChip COPYING TODO docs/menu.lst /boot/grub /sbin/grub /sbin/grub-install /sbin/grub-md5-crypt %{_bindir}/mbchk %{_infodir}/grub* %{_mandir}/man*/* %{_datadir}/grub %changelog * Tue Apr 9 2002 Jeremy Katz <[EMAIL PROTECTED]> 0.91-4 - new splash screen * Fri Mar 8 2002 Jeremy Katz <[EMAIL PROTECTED]> 0.91-3 - include patch from Denis Kitzmen to fix typo causing several options to never be defined (in upstream CVS) - include patch from upstream CVS to make displaymem always use hex for consistency - add patch from GRUB mailing list from Keir Fraser to add a --once flag to savedefault function so that you can have the equivalent of lilo -R functionality (use 'savedefault --default=N --once' from the grub shell) - back to autoconf * Sun Jan 27 2002 Jeremy Katz <[EMAIL PROTECTED]> - change to use $grubdir instead of /boot/grub in the symlink patch (#58771) * Fri Jan 25 2002 Jeremy Katz <[EMAIL PROTECTED]> 0.91-2 - don't ifdef out the auto memory passing, use the configure flag instead - add a patch so that grub respects mem= from the kernel command line when deciding where to place the initrd (#52558) * Mon Jan 21 2002 Jeremy Katz <[EMAIL PROTECTED]> 0.91-1 - update to 0.91 final - add documentation on splashimage param (#51609) * Wed Jan 2 2002 Jeremy Katz <[EMAIL PROTECTED]> 0.91-0.20020102cvs - update to current CVS snapshot to fix some of the hangs on boot related to LBA probing (#57503, #55868, and others) * Fri Dec 21 2001 Erik Troan <[EMAIL PROTECTED]> 0.90-14 - fixed append patch to not require arguments to begin with - changed to autoreconf from autoconf * Wed Oct 31 2001 Jeremy Katz <[EMAIL PROTECTED]> 0.90-13 - include additional patch from Erich to add sync calls in grub-install to work around updated images not being synced to disk - fix segfault in grub shell if 'password --md5' is used without specifying a password (#55008) * Fri Oct 26 2001 Jeremy Katz <[EMAIL PROTECTED]> 0.90-12 - Include Erich Boleyn <[EMAIL PROTECTED]>'s patch to disconnect from the BIOS after APM operations. Should fix #54375 * Wed Sep 12 2001 Erik Troan <[EMAIL PROTECTED]> - added patch for 'a' option in grub boot menu * Wed Sep 5 2001 Jeremy Katz <[EMAIL PROTECTED]> 0.90-11 - grub-install: if /boot/grub/grub.conf doesn't exist but /boot/grub/menu.lst does, create a symlink * Fri Aug 24 2001 Jeremy Katz <[EMAIL PROTECTED]> - pull in patch from upstream CVS to fix md5crypt in grub shell (#52220) - use mktemp in grub-install to avoid tmp races * Fri Aug 3 2001 Jeremy Katz <[EMAIL PROTECTED]> - link curses statically (#49519) * Thu Aug 2 2001 Jeremy Katz <[EMAIL PROTECTED]> - fix segfault with using the serial device before initialization (#50219) * Thu Jul 19 2001 Jeremy Katz <[EMAIL PROTECTED]> - add --copy-only flag to grub-install * Thu Jul 19 2001 Jeremy Katz <[EMAIL PROTECTED]> - copy files in grub-install prior to device probe * Thu Jul 19 2001 Jeremy Katz <[EMAIL PROTECTED]> - original images don't go in /boot and then grub-install does the right thing * Thu Jul 19 2001 Jeremy Katz <[EMAIL PROTECTED]> - fix the previous patch - put the password prompt in the proper location * Thu Jul 19 2001 Jeremy Katz <[EMAIL PROTECTED]> - reset the screen when the countdown is cancelled so text will disappear in vga16 mode * Mon Jul 16 2001 Jeremy Katz <[EMAIL PROTECTED]> - change configfile defaults to grub.conf * Sun Jul 15 2001 Jeremy Katz <[EMAIL PROTECTED]> - updated to grub 0.90 final * Fri Jul 6 2001 Matt Wilson <[EMAIL PROTECTED]> - modifed splash screen to a nice shade of blue * Tue Jul 3 2001 Matt Wilson <[EMAIL PROTECTED]> - added a first cut at a splash screen * Sun Jul 1 2001 Nalin Dahyabhai <[EMAIL PROTECTED]> - fix datadir mismatch between build and install phases * Mon Jun 25 2001 Jeremy Katz <[EMAIL PROTECTED]> - update to current CVS - forward port VGA16 patch from Paulo César Pereira de Andrade <[EMAIL PROTECTED]> - add patch for cciss, ida, and rd raid controllers - don't pass mem= to the kernel * Wed May 23 2001 Erik Troan <[EMAIL PROTECTED]> - initial build for Red Hat ----------------- grub-2002-02-19-doc-patch.patch: ---------------------- JES. OK, this is mad but how else do you do it? The part of the original grub-2002-02-19-doc.patch which patches the ChangeLog won't stick because the ChangeLog has moved on, so the patch command fails so the whole rpm build fails ;-( So, this is a patch to the patch which accomodates the change in the ChangeLog! --- grub-2002-02-19-doc.patch.orig Fri Mar 22 17:38:19 2002 +++ grub-2002-02-19-doc.patch Tue Apr 30 17:05:33 2002 @@ -18,12 +18,12 @@ Index: ChangeLog =================================================================== RCS file: /usr/local/cvsroot/grub/ChangeLog,v -retrieving revision 1.1.1.3 -retrieving revision 1.5 -diff -u -r1.1.1.3 -r1.5 ---- ChangeLog 19 Feb 2002 21:53:36 -0000 1.1.1.3 -+++ ChangeLog 21 Mar 2002 21:48:52 -0000 1.5 -@@ -1,3 +1,66 @@ +--- ChangeLog.orig Tue Apr 30 16:32:51 2002 ++++ ChangeLog Tue Apr 30 16:59:03 2002 +@@ -86,6 +86,69 @@ + * stage2/cmdline.c (run_script): Prompt a user's intervention, + only when FALLBACK_ENTRY is negative. + +2002-03-21 Ilguiz Latypov <[EMAIL PROTECTED]> + + Applied the GRUB patch written by David Woodhouse ---------------------- On Tue, 30 Apr 2002, you wrote: > Hi there > > I've downloaded, built and installed grub-0.91 no problem. Wonderful piece of > work! Bye bye lilo... except that I'm trying to put a boot loader onto an mtd > device. I've succeeded in doing this with lilo but not yet with grub ;-( > > Problem is, I need to patch the grub source, which I've done, but then I need to > run automake and autoconf and this is where the trouble lies. To try to sort > this out I've discarded the mtd patch and am working with the vanilla 0.91 > source, but I cannot get aclocal/autoheader/automake/autoconf/autoreconf (in > all possible permuted orders ;-) to work. > > I've tried automake versions 1.4, 1.4-p5 and 1.6.1 and autoconf 2.13 and 2.53, > again in all possible combinations, and still no luck. > > You can guess how long I've been hacking away at this ;-( > > So, my questions are: > > To work with the 0.91 source, which versions of automake and autoconf are > required? > > In which order should I run the tools: > > aclocal && autoheader && automake && autoconf ? > > TIA > > PS: Here, FWIW and in no particular order, are some snippets of the kind of > grief I've been getting: > > # automake > stage1/Makefile.am:2: invalid variable `nodist_pkgdata_DATA' > stage2/Makefile.am: nbloader_exec_OBJECTS should not be defined > stage2/Makefile.am: variable `LDADD' not defined > > # automake --gnu --add-missing > automake: docs/Makefile.am: Assembler source seen but `CCAS' not defined in >`configure.in' > automake: docs/Makefile.am: Assembler source seen but `CCASFLAGS' not defined in >`configure.in' > > # autoheader > WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' > WARNING: and `config.h.top', to define templates for `config.h.in' > WARNING: is deprecated and discouraged. > > WARNING: Using the third argument of `AC_DEFINE' and > WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without > WARNING: `acconfig.h': > > # make > asm.o: In function `main': > asm.o(.text+0x0): multiple definition of `start' > start.o(.text+0x0): first defined here > asm.o: In function `main': > asm.o(.text+0x0): multiple definition of `_start' > start.o(.text+0x0): first defined here > e2fs_stage1_5_exec-stage1_5.o: In function `cmain': > /usr/src/grub/stage2/stage1_5.c:59: undefined reference to `chain_stage2' > > *************************************************** > John Sutton > SCL Internet > URL http://www.scl.co.uk/ > Tel. +44 (0) 1239 711 888 > *************************************************** -- *************************************************** John Sutton SCL Internet URL http://www.scl.co.uk/ Tel. +44 (0) 1239 711 888 *************************************************** _______________________________________________ Bug-grub mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-grub