Clean up the /boot update code a bit and generate the "default" file by default so...
authorMike Frysinger <vapier@gentoo.org>
Sun, 9 Mar 2008 23:13:40 +0000 (23:13 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sun, 9 Mar 2008 23:13:40 +0000 (23:13 +0000)
Package-Manager: portage-2.2_pre2

sys-boot/grub/ChangeLog
sys-boot/grub/Manifest
sys-boot/grub/grub-0.97-r4.ebuild

index 0b8d027db86d3045861f91a12d4bd76bdb9a5631..773faa758494e5599ed0a14fc22f0df9b2e26f44 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for sys-boot/grub
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.79 2008/02/25 19:17:58 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/ChangeLog,v 1.80 2008/03/09 23:13:40 vapier Exp $
+
+  09 Mar 2008; Mike Frysinger <vapier@gentoo.org> grub-0.97-r4.ebuild:
+  Clean up the /boot update code a bit and generate the "default" file by
+  default so people dont have to painfully debug this failure themselves.
 
   25 Feb 2008; Steve Dibb <beandog@gentoo.org> grub-0.97-r4.ebuild:
   amd64 stable, bug 211419
index f1ab4e36df24d4bfa196b16a48649c007a6dd6e1..980d8e1972d1bec7f511de7bcee53f1fb0a7fa80 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX grub-0.97-gpt.patch 10682 RMD160 53dd38d52f2b38fb28dfb670d6fd27e47a562bbb SHA1 6057a076110d469fb63e56e57711d281221f9b42 SHA256 5e38046cfb727420e5b4b19d71c7fb4ddff22cbcc356c9f888763b0c1963d389
 AUX grub-1.95-build.patch 522 RMD160 eec01af7250a0883604530f321b154c575b14c41 SHA1 6f93b47a212ed0b3fb807bcf96e04792fa196ba1 SHA256 26d45247376f1e42b4197088161146173ea5bee3800282a707b331c49aed6ccf
 DIST grub-0.92-gentoo-0.2.tar.bz2 21727 RMD160 f420e3352d46fdfb77a1121879382265805bc3ef SHA1 1bb1463067679aab909d1bd96996cfa72556de81 SHA256 f579b49b2d24702905c333ce2b6170a554ce26d0232c65478a21a1fd2eb8b8fe
@@ -22,9 +25,16 @@ EBUILD grub-0.96-r2.ebuild 4349 RMD160 8b59e7b7bcf02f6e6698bf785950988c71907e26
 EBUILD grub-0.96-r3.ebuild 4580 RMD160 f0c3d0697bf808afa9e24c9a0acb007b8473e53b SHA1 2d7dd82a379afd847be5b129a090bb1e954ffd71 SHA256 2278f36b971d091471f39acd68902edf5e54fc88bc2d417e033fbf8128159e13
 EBUILD grub-0.97-r2.ebuild 4854 RMD160 e78aaa77647ba2d658b9a89e1926110997ce4b2b SHA1 a63f69d34080940651bd3cd928cd18a0ac9402ab SHA256 d15e83fdb06d5a9d4cce0a84352ca4a20bc3cc5dd7861a12f1a1a500dea25429
 EBUILD grub-0.97-r3.ebuild 4723 RMD160 0becf2078d55ca28738106765ea54742c2aa209b SHA1 c0ce849f7273c070fed44cc4acddb2fecce6c2e5 SHA256 5f96e99ae205c151ea672842b5fd1708541d4efe16f79c03baf70fac5b1301b9
-EBUILD grub-0.97-r4.ebuild 4765 RMD160 259adddef19cdc74195a5c60cfc4d1c878f88d58 SHA1 1ffaae063b51ceab517ef21feabc2a6bb523d274 SHA256 7b21951b2cc00eb94a83a7d5368aeb182679feb3e2eb0215ca24aff572cf0bba
+EBUILD grub-0.97-r4.ebuild 4967 RMD160 a24281663a2b5ca3452a044f18dcd1a231870812 SHA1 01cecc3f8505585fc28519ead7d524c3ace778b5 SHA256 1c40a3df3ba6b09ecce9f9d4bc934d342e23d19c5fc1c5eccda589e219bf6e8e
 EBUILD grub-0.97.ebuild 4527 RMD160 bc8dec8916cd52bbd0403d3e504f8a407d9e897c SHA1 7fc00e33d980842ed65b242ac53522b51894fa7c SHA256 2c20b9c10a242d15b17b48d73e5136c7f350cd313f77dd177c54a08f663be02a
 EBUILD grub-1.95.ebuild 1031 RMD160 1c23cad81706afa0c26f307728afd0241d4fed4e SHA1 ae977cab016f00866c6e689a9178fe7f58512302 SHA256 42be6335ab4b98d3b35db28f0e984730c7f026c2d54db13f838d4c55db6658f8
 EBUILD grub-1.96.ebuild 951 RMD160 e63c22f701ba3761265472679f081df6dc1ceebc SHA1 e39f533503448573a69ea65b2901c43e122434cf SHA256 c872f1879e32130517ef4a9ab5d920a1cb9980a56eec8dbbfeb13eff10579d9a
-MISC ChangeLog 19478 RMD160 b692ed75c6fb07621f1ca0be365563193fee2f33 SHA1 a225dad113b73fa87961cb89b3059bdca0a397ae SHA256 2bc12c467bc91b666901b2b5e0812bd142da6128e538f2648b29317422e2660d
+MISC ChangeLog 19697 RMD160 28e35737fd28ef219661f6a4106dd480a99e2b0f SHA1 a835fdc438d1bbd98090462a8e1b44adf7fda32a SHA256 623e8b767fccc014f49b0dba9e708e2d3eb0b9de3245157a31f2077eb34a1182
 MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.7 (GNU/Linux)
+
+iD8DBQFH1G8vj9hvisErhMIRAlx6AKC35iipa5VCtG5lzWVequZEhXhETwCgiPK/
+jWrfeAWYgQgqM5Q4IM6fjco=
+=hQ2T
+-----END PGP SIGNATURE-----
index 2a1a269594f9ab2c8179465e931df059e2839631..9e5ceb17f15afb6087f04e09fcf55b15e2329084 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.97-r4.ebuild,v 1.4 2008/02/25 19:17:58 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-0.97-r4.ebuild,v 1.5 2008/03/09 23:13:40 vapier Exp $
 
 inherit mount-boot eutils flag-o-matic toolchain-funcs autotools
 
@@ -113,52 +113,61 @@ src_install() {
 }
 
 setup_boot_dir() {
-       local dir="${1}"
+       local boot_dir=$1
+       local dir=${boot_dir}
 
-       [[ ! -e "${dir}" ]] && die "${dir} does not exist!"
-       [[ ! -e "${dir}"/grub ]] && mkdir "${dir}/grub"
+       [[ ! -e ${dir} ]] && die "${dir} does not exist!"
+       dir="${dir}/grub"
+       if [[ ! -e ${dir} ]] ; then
+               mkdir "${dir}" || die "${dir} does not exist!"
+       fi
 
        # 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
+       if [[ ! -e ${dir}/grub.conf ]] && [[ -e ${dir}/menu.lst ]] ; then
+               mv -f "${dir}"/menu.lst "${dir}"/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
+       if [[ ! -e ${dir}/menu.lst ]]; then
+               einfo "Linking from new grub.conf name to menu.lst"
+               ln -snf grub.conf "${dir}"/menu.lst
        fi
 
-       [[ -e "${dir}"/grub/stage2 ]] && mv "${dir}"/grub/stage2{,.old}
+       [[ -e ${dir}/stage2 ]] && mv "${dir}"/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/
+       for x in "${ROOT}"/lib*/grub/*/* "${ROOT}"/usr/lib*/grub/*/* ; do
+               [[ -f "${x}" ]] && cp -p "${x}" "${dir}"/
        done
 
-       if [[ -e "${dir}"/grub/grub.conf ]] ; then
+       if [[ -e ${dir}/grub.conf ]] ; then
                egrep \
                        -v '^[[:space:]]*(#|$|default|fallback|initrd|password|splashimage|timeout|title)' \
-                       "${dir}"/grub/grub.conf | \
+                       "${dir}"/grub.conf | \
                /sbin/grub --batch \
-                       --device-map="${dir}"/grub/device.map \
+                       --device-map="${dir}"/device.map \
                        > /dev/null
        fi
+
+       # the grub default commands silently piss themselves if
+       # the default file does not exist ahead of time
+       if [[ ! -e ${dir}/default ]] ; then
+               grub-set-default --root-directory="${boot_dir}" default
+       fi
 }
 
 pkg_postinst() {
-       [[ "${ROOT}" != "/" ]] && return 0
        [[ -n ${DONT_MOUNT_BOOT} ]] && return 0
-       setup_boot_dir /boot
+       setup_boot_dir "${ROOT}"/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:"
+       einfo "Enter the directory where you want to setup grub: "
        read dir
        setup_boot_dir "${dir}"
 }