summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Robbins <drobbins@gentoo.org>2002-02-05 01:31:13 +0000
committerDaniel Robbins <drobbins@gentoo.org>2002-02-05 01:31:13 +0000
commitc9917ed61ec68f5067e64d74a7b110f8e79c465a (patch)
tree3ebf93f4e9b25710720332bf8c151441718fcce8 /sys-apps/grub
parentrephrased some stuff (diff)
downloadgentoo-2-c9917ed61ec68f5067e64d74a7b110f8e79c465a.tar.gz
gentoo-2-c9917ed61ec68f5067e64d74a7b110f8e79c465a.tar.bz2
gentoo-2-c9917ed61ec68f5067e64d74a7b110f8e79c465a.zip
new GRUB release to fix a bunch of problems. See ChangeLog for more info.
Diffstat (limited to 'sys-apps/grub')
-rw-r--r--sys-apps/grub/ChangeLog12
-rw-r--r--sys-apps/grub/files/digest-grub-0.90-r61
-rw-r--r--sys-apps/grub/grub-0.90-r6.ebuild91
-rw-r--r--sys-apps/grub/grub-0.91-r1.ebuild97
4 files changed, 200 insertions, 1 deletions
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 <drobbins@gentoo.org>: 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 <gbevin@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
+# $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 <hallski@gentoo.org>
+# $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
+}
+