diff options
author | Olivier Crête <tester@gentoo.org> | 2006-11-03 19:49:44 +0000 |
---|---|---|
committer | Olivier Crête <tester@gentoo.org> | 2006-11-03 19:49:44 +0000 |
commit | d1003e96c944928349206f66f6eda2caa7f70e9b (patch) | |
tree | fba7de4c7c84c0ce4ec37e306db6c08e16794ccc /sys-boot | |
parent | Handling gettext PIC issue is not needed since external gettext package will ... (diff) | |
download | gentoo-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/ChangeLog | 6 | ||||
-rw-r--r-- | sys-boot/grub-static/grub-static-0.97.ebuild | 57 |
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} +} |