summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Crête <tester@gentoo.org>2006-11-03 19:49:44 +0000
committerOlivier Crête <tester@gentoo.org>2006-11-03 19:49:44 +0000
commitd1003e96c944928349206f66f6eda2caa7f70e9b (patch)
treefba7de4c7c84c0ce4ec37e306db6c08e16794ccc /sys-boot
parentHandling gettext PIC issue is not needed since external gettext package will ... (diff)
downloadgentoo-2-d1003e96c944928349206f66f6eda2caa7f70e9b.tar.gz
gentoo-2-d1003e96c944928349206f66f6eda2caa7f70e9b.tar.bz2
gentoo-2-d1003e96c944928349206f66f6eda2caa7f70e9b.zip
Added code to install into /boot in pkg_postinst from grub ebuild, see bug #153956
(Portage version: 2.1.1-r1)
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/grub-static/ChangeLog6
-rw-r--r--sys-boot/grub-static/grub-static-0.97.ebuild57
2 files changed, 61 insertions, 2 deletions
diff --git a/sys-boot/grub-static/ChangeLog b/sys-boot/grub-static/ChangeLog
index ebda1b9aad3b..a9357bd92be0 100644
--- a/sys-boot/grub-static/ChangeLog
+++ b/sys-boot/grub-static/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-boot/grub-static
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub-static/ChangeLog,v 1.10 2006/10/23 23:11:36 dsd Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub-static/ChangeLog,v 1.11 2006/11/03 19:49:44 tester Exp $
+
+ 03 Nov 2006; Olivier Crête <tester@gentoo.org> grub-static-0.97.ebuild:
+ Added code to install into /boot in pkg_postinst from grub ebuild, see bug
+ #153956
*grub-static-0.97 (23 Oct 2006)
diff --git a/sys-boot/grub-static/grub-static-0.97.ebuild b/sys-boot/grub-static/grub-static-0.97.ebuild
index cd90f2dc5ffc..25a7f4ee3a44 100644
--- a/sys-boot/grub-static/grub-static-0.97.ebuild
+++ b/sys-boot/grub-static/grub-static-0.97.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub-static/grub-static-0.97.ebuild,v 1.1 2006/10/23 23:11:36 dsd Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub-static/grub-static-0.97.ebuild,v 1.2 2006/11/03 19:49:44 tester Exp $
DESCRIPTION="Static GNU GRUB boot loader"
@@ -16,3 +16,58 @@ PROVIDE="virtual/bootloader"
src_install() {
cp -a ${WORKDIR}/* ${D}/
}
+
+#
+# Everything below is directly copied from the grub ebuild
+# please try to keep it in sync
+#
+
+setup_boot_dir() {
+ local dir="${1}"
+
+ [[ ! -e ${dir} ]] && die "${dir} does not exist!"
+ [[ ! -e ${dir}/grub ]] && mkdir "${dir}/grub"
+
+ # change menu.lst to grub.conf
+ if [[ ! -e ${dir}/grub/grub.conf ]] && [[ -e ${dir}/grub/menu.lst ]] ; then
+ mv -f "${dir}"/grub/menu.lst "${dir}"/grub/grub.conf
+ ewarn
+ ewarn "*** IMPORTANT NOTE: menu.lst has been renamed to grub.conf"
+ ewarn
+ fi
+
+ if [[ ! -e ${dir}/grub/menu.lst ]]; then
+ einfo "Linking from new grub.conf name to menu.lst"
+ ln -snf grub.conf "${dir}"/grub/menu.lst
+ fi
+
+ [[ -e ${dir}/grub/stage2 ]] && mv "${dir}"/grub/stage2{,.old}
+
+ einfo "Copying files from /lib/grub and /usr/lib/grub to "${dir}""
+ for x in /lib*/grub/*/* /usr/lib*/grub/*/* ; do
+ [[ -f ${x} ]] && cp -p ${x} "${dir}"/grub/
+ done
+
+ if [[ -e ${dir}/grub/grub.conf ]] ; then
+ egrep \
+ -v '^[[:space:]]*(#|$|default|fallback|initrd|password|splashimage|timeout|title)' \
+ "${dir}"/grub/grub.conf | \
+ /sbin/grub --batch \
+ --device-map="${dir}"/grub/device.map \
+ > /dev/null
+ fi
+}
+
+pkg_postinst() {
+ [[ ${ROOT} != "/" ]] && return 0
+ setup_boot_dir /boot
+ einfo "To install grub files to another device (like a usb stick), just run:"
+ einfo " emerge --config =${PF}"
+}
+
+pkg_config() {
+ local dir
+ einfo "Enter the directory where you want to setup grub:"
+ read dir
+ setup_boot_dir ${dir}
+}