From c9917ed61ec68f5067e64d74a7b110f8e79c465a Mon Sep 17 00:00:00 2001 From: Daniel Robbins Date: Tue, 5 Feb 2002 01:31:13 +0000 Subject: new GRUB release to fix a bunch of problems. See ChangeLog for more info. --- sys-apps/grub/ChangeLog | 12 +++- sys-apps/grub/files/digest-grub-0.90-r6 | 1 + sys-apps/grub/grub-0.90-r6.ebuild | 91 +++++++++++++++++++++++++++++++ sys-apps/grub/grub-0.91-r1.ebuild | 97 +++++++++++++++++++++++++++++++++ 4 files changed, 200 insertions(+), 1 deletion(-) create mode 100644 sys-apps/grub/files/digest-grub-0.90-r6 create mode 100644 sys-apps/grub/grub-0.90-r6.ebuild create mode 100644 sys-apps/grub/grub-0.91-r1.ebuild (limited to 'sys-apps/grub') diff --git a/sys-apps/grub/ChangeLog b/sys-apps/grub/ChangeLog index bab781ed332e..9409fcebe791 100644 --- a/sys-apps/grub/ChangeLog +++ b/sys-apps/grub/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-apps/grub # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/sys-apps/grub/ChangeLog,v 1.2 2002/02/04 12:52:58 gbevin Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/grub/ChangeLog,v 1.3 2002/02/05 01:31:13 drobbins Exp $ + +*grub-0.90-r6 (4 Feb 2002) +*grub-0.91-r1 (4 Feb 2002) + + 4 Feb 2002; Daniel Robbins : grub-0.90-r6.ebuild, + grub-0.91-r1.ebuild: unset CFLAGS to ensure that GRUB code is i486-compatible, + a good thing for a boot loader. Upgraded /boot mounting code to be compatible + with systems without a dedicated /boot filesystem. Tweaked GRUB installation + so that the /boot/grub/*stage* files don't get overwritten, since this could + mess up the currently-in-the-MBR GRUB. These fixes also close bug #527. *grub-0.90-r5 (4 Feb 2002) diff --git a/sys-apps/grub/files/digest-grub-0.90-r6 b/sys-apps/grub/files/digest-grub-0.90-r6 new file mode 100644 index 000000000000..ac01f8c63fea --- /dev/null +++ b/sys-apps/grub/files/digest-grub-0.90-r6 @@ -0,0 +1 @@ +MD5 e435d871e5d06b3106342d880380605e grub-0.90.tar.gz 741583 diff --git a/sys-apps/grub/grub-0.90-r6.ebuild b/sys-apps/grub/grub-0.90-r6.ebuild new file mode 100644 index 000000000000..7d8c5874e8d0 --- /dev/null +++ b/sys-apps/grub/grub-0.90-r6.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Maintainer: Geert Bevin , Daniel Robbins +# $Header: /var/cvsroot/gentoo-x86/sys-apps/grub/grub-0.90-r6.ebuild,v 1.1 2002/02/05 01:31:13 drobbins Exp $ + +S=${WORKDIR}/${P} +DESCRIPTION="GNU GRUB boot loader" +SRC_URI="ftp://alpha.gnu.org/gnu/grub/${P}.tar.gz" +HOMEPAGE="http://www.gnu.org/software/grub" + +DEPEND="virtual/glibc >=sys-devel/binutils-2.9.1.0.23 >=sys-libs/ncurses-5.2-r2 sys-apps/grep sys-apps/sed" +RDEPEND="virtual/glibc >=sys-libs/ncurses-5.2-r2" + +pkg_setup() { + [ "$ROOT" != "/" ] && return 0 + #If the user doesn't have a /boot or /mnt/boot filesystem, skip. + [ -z "`grep /boot /etc/fstab`" ] && return 0 + local myboot + myboot=`cat /etc/fstab | grep -v ^# | grep /boot | sed -e 's/^[^[:space:]]*[[:space:]]*\([^[:space:]]*\).*$/\1/'` + [ `cat /proc/mounts | cut -f2 -d" " | grep $myboot` ] && return 0 + mount $myboot + if [ $? -ne 0 ] + then + eerror "GRUB installation requires that $myboot is mounted or mountable." + eerror "Unable to mount $myboot automatically; exiting." + die "Please mount your $myboot filesystema and remerge this ebuild." + fi +} +src_unpack() { + + unpack ${A} + cd ${S} + patch -p1 < ${FILESDIR}/${P}/grub-0.5.97-vga16.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.5.96.1-special-raid-devices.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.5.96.1-dont-give-mem-to-kernel.patch || die +# patch -p1 < ${FILESDIR}/${P}/grub-0.90-configfile.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-vga16-keypressclear.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-passwordprompt.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-jfs+xfs-1.0-core.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-jfs+xfs-1.0-build.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-install.in.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-installcopyonly.patch || die + cp -a ${FILESDIR}/${P}/configure . +} + +src_compile() { + #i686-specific code in the boot loader is a bad idea; disabling to ensure + #at least some compatibility if the hard drive is moved to an older or + #incompatible system. + unset CFLAGS + ./configure --prefix=/usr \ + --sbindir=/sbin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --host=${CHOST} || die "Configuration of package failed." + + # Have to do this since the configure-script seems a little brooken + echo "#define VGA16 1" >> config.h + + emake -e CPPFLAGS="-Wall -Wmissing-prototypes -Wunused \ + -Wshadow -malign-jumps=1 -malign-loops=1 \ + -malign-functions=1 -Wundef" || die "Building failed." +} + +src_install() { + make prefix=${D}/usr \ + sbindir=${D}/sbin \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + install || die "Installation failed." + + dodir /boot/grub + cd ${D}/usr/share/grub/i386-pc + cp ${FILESDIR}/${P}/splash.xpm.gz ${D}/boot/grub + cd ${S} + dodoc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO +} + +pkg_postinst() { + [ "$ROOT" != "/" ] && return 0 + if [ ! -e /boot/grub/stage1 ] + then + #if the boot loader files aren't in place, copy them over. + cd /usr/share/grub/i386-pc + cp stage1 stage2 *stage1_5 /boot/grub + else + einfo '*** A new GRUB has been installed. If you need to reinstall GRUB to a' + einfo '*** boot record on your drive, please remember to' + einfo '*** "cp /usr/share/grub/i386-pc/*stage* /boot/grub" first.' + fi +} diff --git a/sys-apps/grub/grub-0.91-r1.ebuild b/sys-apps/grub/grub-0.91-r1.ebuild new file mode 100644 index 000000000000..96408dd463ff --- /dev/null +++ b/sys-apps/grub/grub-0.91-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Maintainer: Mikael Hallendal +# $Header: /var/cvsroot/gentoo-x86/sys-apps/grub/grub-0.91-r1.ebuild,v 1.1 2002/02/05 01:31:13 drobbins Exp $ + + +S=${WORKDIR}/${P} +DESCRIPTION="GNU GRUB boot loader" +SRC_URI="ftp://alpha.gnu.org/gnu/grub/${P}.tar.gz" +HOMEPAGE="http://www.gnu.org/software/grub" + +DEPEND="virtual/glibc >=sys-devel/binutils-2.9.1.0.23 >=sys-libs/ncurses-5.2-r2 sys-apps/grep sys-apps/sed" +RDEPEND="virtual/glibc >=sys-libs/ncurses-5.2-r2" + +pkg_setup() { + [ "$ROOT" != "/" ] && return 0 + #If the user doesn't have a /boot or /mnt/boot filesystem, skip. + [ -z "`grep /boot /etc/fstab`" ] && return 0 + local myboot + myboot=`cat /etc/fstab | grep -v ^# | grep /boot | sed -e 's/^[^[:space:]]*[[:space:]]*\([^[:space:]]*\).*$/\1/'` + [ `cat /proc/mounts | cut -f2 -d" " | grep $myboot` ] && return 0 + mount $myboot + if [ $? -ne 0 ] + then + eerror "GRUB installation requires that $myboot is mounted or mountable." + eerror "Unable to mount $myboot automatically; exiting." + die "Please mount your $myboot filesystema and remerge this ebuild." + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + patch -p1 < ${FILESDIR}/${P}/grub-0.91-vga16.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.5.96.1-dont-give-mem-to-kernel.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-vga16-keypressclear.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-passwordprompt.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-install.in.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-installcopyonly.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-symlinkmenulst.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-append.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.90-addsyncs.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.5.96.1-special-raid-devices.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.91-splashimagehelp.patch || die + patch -p1 < ${FILESDIR}/${P}/grub-0.91-initrdusemem.patch || die +} + +src_compile() { + #i686-specific code in the boot loader is a bad idea; disabling to ensure + #at least some compatibility if the hard drive is moved to an older or + #incompatible system. + unset CFLAGS + ./configure --prefix=/usr \ + --sbindir=/sbin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --host=${CHOST} || die "Configuration of package failed." + + # Have to do this since the configure-script seems a little brooken + echo "#define VGA16 1" >> config.h + mv Makefile Makefile_orig + sed -e "s#config.h: stamp-h#config.h:#" Makefile_orig > Makefile + + emake -e CPPFLAGS="-Wall -Wmissing-prototypes -Wunused \ + -Wshadow -malign-jumps=1 -malign-loops=1 \ + -malign-functions=1 -Wundef" || die "Building failed." +} + +src_install() { + + make prefix=${D}/usr \ + sbindir=${D}/sbin \ + mandir=${D}/usr/share/man \ + infodir=${D}/usr/share/info \ + install || die "Installation failed." + + dodir /boot/grub + cd ${D}/usr/share/grub/i386-pc + cp ${FILESDIR}/${P}/splash.xpm.gz ${D}/boot/grub + cd ${S} + dodoc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO +} + +pkg_postinst() { + [ "$ROOT" != "/" ] && return 0 + if [ ! -e /boot/grub/stage1 ] + then + #if the boot loader files aren't in place, copy them over. + cd /usr/share/grub/i386-pc + cp stage1 stage2 *stage1_5 /boot/grub + else + einfo '*** A new GRUB has been installed. If you need to reinstall GRUB to a' + einfo '*** boot record on your drive, please remember to' + einfo '*** "cp /usr/share/grub/i386-pc/*stage* /boot/grub" first.' + fi +} + -- cgit v1.2.3-65-gdbad