Index: Manifest =================================================================== RCS file: /var/cvsroot/gentoo-x86/sys-boot/grub/Manifest,v retrieving revision 1.121 diff -u -b -B -r1.121 Manifest --- Manifest 27 Apr 2006 22:44:34 -0000 1.121 +++ Manifest 12 May 2006 16:28:18 -0000 @@ -31,10 +31,10 @@ MD5 80623fad414fd78bb04b0479b94d76df grub-0.96-r3.ebuild 4577 RMD160 4a1ac26fd3cce98617883b620255761b98cc8deb grub-0.96-r3.ebuild 4577 SHA256 bbd95b515988ee477725067b1778d0c39665bdce66e61f2e7a9e374a425ac53c grub-0.96-r3.ebuild 4577 -EBUILD grub-0.97-r2.ebuild 4388 RMD160 5cae654d28fef5ee64e96b03978bfa75ec24a79d SHA1 855a14e693d56fa9ff39018519de8e94c4b8daed SHA256 3c45354c91ad357b31db984922b7a3b5252786ff0ee1838c5b92b1f9a54ddef4 size 4388 -MD5 183868e62715082372b5732094c25bc0 grub-0.97-r2.ebuild 4388 -RMD160 5cae654d28fef5ee64e96b03978bfa75ec24a79d grub-0.97-r2.ebuild 4388 -SHA256 3c45354c91ad357b31db984922b7a3b5252786ff0ee1838c5b92b1f9a54ddef4 grub-0.97-r2.ebuild 4388 +EBUILD grub-0.97-r2.ebuild 4830 RMD160 7b3a5f5663e0cd9d66410a6d7bdcfecd403eb4b8 SHA1 a7f99543c67b626eca97b0e0b9e31980132f0ace SHA256 5d304bfe0944ae46b892104c3fae60ebe068eeab71c35f5b2f12b3e80761c9ff size 4830 +MD5 19761d8b48db5b2c43fbcbad5a91497f grub-0.97-r2.ebuild 4830 +RMD160 7b3a5f5663e0cd9d66410a6d7bdcfecd403eb4b8 grub-0.97-r2.ebuild 4830 +SHA256 5d304bfe0944ae46b892104c3fae60ebe068eeab71c35f5b2f12b3e80761c9ff grub-0.97-r2.ebuild 4830 EBUILD grub-0.97.ebuild 4518 RMD160 d03dba427b2b040e2b741776a849c4f030793af2 SHA1 07484f2e49a04c267a8f3dec6118b4a2833dbdcd SHA256 7e8e3cd6a5e43507955850ae5d33aaecfb853d8573e54aca5b75b63de7bf48e6 size 4518 MD5 98aac6dc17a7d909ca1de859ef1394a2 grub-0.97.ebuild 4518 RMD160 d03dba427b2b040e2b741776a849c4f030793af2 grub-0.97.ebuild 4518 Index: grub-0.97-r2.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.97-r2.ebuild,v retrieving revision 1.5 diff -u -b -B -r1.5 grub-0.97-r2.ebuild --- grub-0.97-r2.ebuild 22 Mar 2006 03:40:08 -0000 1.5 +++ grub-0.97-r2.ebuild 12 May 2006 16:28:18 -0000 @@ -120,30 +120,51 @@ newdoc docs/menu.lst grub.conf.sample } -pkg_postinst() { - [[ ${ROOT} != "/" ]] && return 0 +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 /boot/grub/grub.conf && -e /boot/grub/menu.lst ]] ; then - mv -f /boot/grub/menu.lst /boot/grub/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" - [[ ! -e /boot/grub/menu.lst ]] && ln -snf grub.conf /boot/grub/menu.lst + ln -snf grub.conf "${dir}/grub/menu.lst" + fi - [[ -e /boot/grub/stage2 ]] && mv /boot/grub/stage2{,.old} + [[ -e "${dir}"/grub/stage2 ]] && mv "${dir}"/grub/stage2{,.old} - einfo "Copying files from /lib/grub and /usr/lib/grub to /boot" + 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} /boot/grub/ + [[ -f ${x} ]] && cp -p ${x} "${dir}"/grub/ done - if [[ -e /boot/grub/grub.conf ]] ; then - egrep -v '^[[:space:]]*(#|$|default|fallback|splashimage|timeout|title)' /boot/grub/grub.conf | \ + if [[ -e "${dir}"/grub/grub.conf ]] ; then + egrep -v '^[[:space:]]*(#|$|default|fallback|splashimage|timeout|title)' "${dir}"/grub/grub.conf | \ /sbin/grub --batch \ - --device-map=/boot/grub/device.map \ + --device-map="${dir}"/grub/device.map \ > /dev/null fi } + +pkg_postinst() { + [[ ${ROOT} != "/" ]] && return 0 + setup_boot_dir /boot + einfo "To install grub files to for example an usb stick you can use:" + einfo "emerge --config =${P}" +} + +pkg_config() { + local dir + einfo "Enter the directory where you want to setup grub:" + read dir + setup_boot_dir ${dir} +}