Update grub

atratsevskiy
parent c3cf5cd4f0
commit f0c3b18636

@ -22,5 +22,6 @@ EBUILD grub-1.99-r4.ebuild 2863 SHA256 61097caa686d4ad465dc7b0f781dfed6ab9d4fa74
EBUILD grub-1.99-r5.ebuild 2935 SHA256 717af30c0305eb0c89fe121528160810efcbadff987172cc34ce2018d5d182c1 SHA512 3866a64c1469056e9180b9362ef3e4c84e97b037cee63056411ccecc0c946556344302493ec08661e581d06b4669892d4b5d40c42da5f7b19a848068daf17fee WHIRLPOOL 2fed2d09041fdb2e987b3965749f9ef13dca95241d083897c10e8f9f420c82e7bba6f329aaf6738696c25ef0273987b55a9f979273849ff51caea2cf246a1f25
EBUILD grub-1.99.ebuild 2797 SHA256 5256e478fc7a50b5df7b98900d7cc72bac82cc46681a235a44012809f7009bf8 SHA512 5a95409fa2839733e612c3bdb2c40104944ef605d5a98b8c7c495f0657de67b964a4f3219117a400a312cdc594d2abb419a265410bd14ce2149b70ea56bb3655 WHIRLPOOL b828fe74524048c60ee707735852d0d2a6ac93655d8db8890e89eeae587056007a65f08eeb61f6d9d1e53db71c29e8aed93d42d471facf1a50c894cac779a588
EBUILD grub-2.00-r3.ebuild 9524 SHA256 5875eb10b124e29a263c7bd6fd57efca427e63d7d0b1d06c376d8863205e4688 SHA512 21a874ba38a6f5908de903eac86b29c92f4596e053f7d91ff58c371ca79ccd9da4a8946ac7cc6837a40848b02cd8886a61c45675cddff889b99f604c3548a233 WHIRLPOOL a7451ce152f61ab0bc21c6344084d5e0171b30220ff73c71c8594874a7f313db3703bf9c317bec3dcc94e3652ad9c59bd19e640ff727070a36387681049d935a
EBUILD grub-2.00-r4.ebuild 9524 SHA256 5875eb10b124e29a263c7bd6fd57efca427e63d7d0b1d06c376d8863205e4688 SHA512 21a874ba38a6f5908de903eac86b29c92f4596e053f7d91ff58c371ca79ccd9da4a8946ac7cc6837a40848b02cd8886a61c45675cddff889b99f604c3548a233 WHIRLPOOL a7451ce152f61ab0bc21c6344084d5e0171b30220ff73c71c8594874a7f313db3703bf9c317bec3dcc94e3652ad9c59bd19e640ff727070a36387681049d935a
MISC ChangeLog 1275 SHA256 72979dcf1b9a759974c31e423b30b72c6c70c31ed0e37cab7bd3bcc7293acff7 SHA512 6464c2e7ea5f8b645cd98b7325cb2ecbbd05ea4afd85909d40d5b1cbcd27fc2983194bee0b95248b6d2261f650e365afe8f888a25171927dd291dd0814043ae6 WHIRLPOOL caaf41d9abc9df6b0fde8a212d0bdae30989b65f74834cc277b542320e48601065878cd2052f61feb9e08d1d4c4d2c2d2da5de0a7aeaf6b5c79c0948a81e6f94
MISC metadata.xml 349 SHA256 fcb983296ee1568339772668bcf236db0a24aabba6c328343d7bdb790978cbb9 SHA512 00ea2ff785a2de7aab609ec1997a397c5dc1dec103a84b0d7768aedb0e06de2ba81d719c0ae603c068d626f2238dd4f518cc8abdd2eb0cb8a0c1c05da28f85fb WHIRLPOOL 11b1eea531604cae84dff299c944b73a3567b112d94413772744865ba4176e20447a94197065912a4c7559791664af3bac2c9ba2ddc790ecda4607fdff5467c6

@ -0,0 +1,368 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-boot/grub/grub-2.00-r2.ebuild,v 1.5 2013/02/18 16:45:17 mr_bones_ Exp $
EAPI=4
if [[ ${PV} == "9999" ]] ; then
EBZR_REPO_URI="http://bzr.savannah.gnu.org/r/grub/trunk/grub/"
LIVE_ECLASS="bzr"
SRC_URI=""
DO_AUTORECONF="true"
else
MY_P=${P/_/\~}
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
else
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
mirror://gentoo/${MY_P}.tar.xz"
fi
KEYWORDS="~amd64 ~x86"
S=${WORKDIR}/${MY_P}
DO_AUTORECONF="true"
fi
inherit eutils flag-o-matic multiprocessing pax-utils toolchain-funcs ${DO_AUTORECONF:+autotools} ${LIVE_ECLASS}
unset LIVE_ECLASS
DESCRIPTION="GNU GRUB boot loader"
HOMEPAGE="http://www.gnu.org/software/grub/"
LICENSE="GPL-3"
SLOT="2"
IUSE="custom-cflags debug device-mapper doc efiemu mount nls static sdl truetype libzfs"
GRUB_PLATFORMS=(
# everywhere:
emu
# mips only:
qemu-mips yeeloong
# amd64, x86, ppc, ppc64:
ieee1275
# amd64, x86:
coreboot multiboot efi-32 pc qemu
# amd64, ia64:
efi-64
)
IUSE+=" ${GRUB_PLATFORMS[@]/#/grub_platforms_}"
REQUIRED_USE="grub_platforms_qemu? ( truetype )
grub_platforms_yeeloong? ( truetype )"
# os-prober: Used on runtime to detect other OSes
# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
RDEPEND="
app-arch/xz-utils
>=sys-libs/ncurses-5.2-r5
debug? (
sdl? ( media-libs/libsdl )
)
device-mapper? ( >=sys-fs/lvm2-2.02.45 )
libzfs? ( sys-fs/zfs )
mount? ( sys-fs/fuse )
truetype? (
media-libs/freetype
media-fonts/dejavu
>=media-fonts/unifont-5
)
ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
"
DEPEND="${RDEPEND}
>=dev-lang/python-2.5.2
sys-devel/flex
sys-devel/bison
sys-apps/help2man
sys-apps/texinfo
static? (
truetype? (
app-arch/bzip2[static-libs(+)]
media-libs/freetype[static-libs(+)]
sys-libs/zlib[static-libs(+)]
)
)
"
RDEPEND+="
kernel_linux? (
grub_platforms_efi-32? ( sys-boot/efibootmgr )
grub_platforms_efi-64? ( sys-boot/efibootmgr )
)
"
if [[ -n ${DO_AUTORECONF} ]] ; then
DEPEND+=" >=sys-devel/autogen-5.10"
fi
if [[ ${PV} != 9999 ]]; then
DEPEND+=" app-arch/xz-utils"
fi
export STRIP_MASK="*/grub/*/*.{mod,img}"
QA_EXECSTACK="
usr/bin/grub*
usr/sbin/grub*
usr/lib*/grub/*/*.mod
usr/lib*/grub/*/kernel.exec
usr/lib*/grub/*/kernel.img
usr/lib*/grub/*/setjmp.module
"
QA_WX_LOAD="
usr/lib*/grub/*/kernel.exec
usr/lib*/grub/*/kernel.img
usr/lib*/grub/*/*.image
"
QA_PRESTRIPPED="
usr/lib.*/grub/.*/kernel.img
"
grub_run_phase() {
local phase=$1
local platform=$2
[[ -z ${phase} || -z ${platform} ]] && die "${FUNCNAME} [phase] [platform]"
[[ -d "${WORKDIR}/build-${platform}" ]] || \
{ mkdir "${WORKDIR}/build-${platform}" || die ; }
pushd "${WORKDIR}/build-${platform}" > /dev/null || die
echo ">>> Running ${phase} for platform \"${platform}\""
echo ">>> Working in: \"${WORKDIR}/build-${platform}\""
grub_${phase} ${platform}
popd > /dev/null || die
}
grub_src_configure() {
local platform=$1
local with_platform=
local enable_efiemu="--disable-efiemu"
[[ -z ${platform} ]] && die "${FUNCNAME} [platform]"
# Used below for efi cross-building
tc-export CC NM OBJCOPY STRIP
estack_push CTARGET "${CTARGET}"
estack_push TARGET_CC "${TARGET_CC}"
estack_push TARGET_CFLAGS "${TARGET_CFLAGS}"
estack_push TARGET_CPPFLAGS "${TARGET_CPPFLAGS}"
case ${platform} in
efi-32)
if [[ ${CHOST} == x86_64* ]]; then
CTARGET="${CTARGET:-i386}"
TARGET_CC="${TARGET_CC:-${CC}}"
export TARGET_CC
fi
with_platform="--with-platform=efi"
;;
efi-64)
if [[ ${CHOST} == i?86* ]]; then
CTARGET="${CTARGET:-x86_64}"
TARGET_CC="${TARGET_CC:-${CC}}"
TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
export TARGET_CC TARGET_CFLAGS TARGET_CPPFLAGS
fi
with_platform="--with-platform=efi"
;;
guessed) ;;
*)
with_platform="--with-platform=${platform}"
case ${CTARGET:-${CHOST}} in
i?86*|x86_64*)
enable_efiemu=$(use_enable efiemu)
;;
esac
;;
esac
ECONF_SOURCE="${S}" \
econf \
--libdir=/usr/lib \
--htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
--disable-werror \
--program-prefix= \
${with_platform} \
$(use_enable debug mm-debug) \
$(use_enable debug grub-emu-usb) \
$(use_enable device-mapper) \
${enable_efiemu} \
$(use_enable mount grub-mount) \
$(use_enable nls) \
$(use_enable truetype grub-mkfont) \
$(use_enable libzfs) \
$(use sdl && use_enable debug grub-emu-sdl)
estack_pop CTARGET CTARGET || die
estack_pop TARGET_CC TARGET_CC || die
estack_pop TARGET_CFLAGS TARGET_CFLAGS || die
estack_pop TARGET_CPPFLAGS TARGET_CPPFLAGS || die
}
grub_src_compile() {
default_src_compile
pax-mark -mpes "${grub_binaries[@]}"
}
grub_build_docs() {
emake -C docs html
}
grub_src_install() {
default_src_install
}
grub_install_docs() {
emake -C docs DESTDIR="${D}" install-html
}
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
# Bug 439082
if $(tc-getLD) --version | grep -q "GNU gold"; then
eerror "GRUB does not function correctly when built with the gold linker."
eerror "Please select the bfd linker with binutils-config."
die "GNU gold detected"
fi
fi
}
src_prepare() {
if [[ ${PV} != 9999 ]]; then
epatch "${FILESDIR}/${P}-parallel-make.patch" #424231
epatch "${FILESDIR}/${P}-no-gets.patch" #424703
epatch "${FILESDIR}/${P}-config-quoting.patch" #426364
epatch "${FILESDIR}/${P}-tftp-endian.patch" # 438612
epatch "${FILESDIR}/${P}-hardcoded-awk.patch" #424137
epatch "${FILESDIR}/${P}-freebsd.patch" #442050
epatch "${FILESDIR}/${P}-compression.patch" #424527
epatch "${FILESDIR}/${P}-zfs-feature-flag-support.patch" #455358
fi
# fix texinfo file name, bug 416035
sed -i \
-e 's/^\* GRUB:/* GRUB2:/' \
-e 's/(grub)/(grub2)/' -- \
"${S}"/docs/grub.texi
epatch_user
# autogen.sh does more than just run autotools
if [[ -n ${DO_AUTORECONF} ]] ; then
sed -i -e '/^autoreconf/s:^:set +e; e:' autogen.sh || die
(
autopoint() { :; }
. ./autogen.sh
) || die
fi
# install into the right dir for eselect #372735
sed -i \
-e '/^bashcompletiondir =/s:=.*:= $(datarootdir)/bash-completion:' \
util/bash-completion.d/Makefile.in || die
# get enabled platforms
GRUB_ENABLED_PLATFORMS=""
local i
for i in ${GRUB_PLATFORMS[@]}; do
use grub_platforms_${i} && GRUB_ENABLED_PLATFORMS+=" ${i}"
done
[[ -z ${GRUB_ENABLED_PLATFORMS} ]] && GRUB_ENABLED_PLATFORMS="guessed"
einfo "Going to build following platforms: ${GRUB_ENABLED_PLATFORMS}"
}
src_configure() {
local i
use custom-cflags || unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
use static && append-ldflags -static
use elibc_FreeBSD && append-cppflags "-isystem /usr/include"
# Sandbox bug 404013.
use libzfs && addpredict /etc/dfs:/dev/zfs
multijob_init
for i in ${GRUB_ENABLED_PLATFORMS}; do
multijob_child_init grub_run_phase ${FUNCNAME} ${i}
done
multijob_finish || die
}
src_compile() {
# Used for pax marking in grub_src_compile
local grub_binaries=(
grub-editenv
grub-fstest
grub-menulst2cfg
grub-mkimage
grub-mklayout
grub-mkpasswd-pbkdf2
grub-mkrelpath
grub-script-check
grub-bios-setup
grub-ofpathname
grub-probe
grub-sparc64-setup
)
use mount && grub_binaries+=( grub-mount )
use truetype && grub_binaries+=( grub-mkfont )
local i
for i in ${GRUB_ENABLED_PLATFORMS}; do
grub_run_phase ${FUNCNAME} ${i}
done
# Just build docs once
use doc && grub_run_phase build_docs ${i}
}
src_install() {
local i
for i in ${GRUB_ENABLED_PLATFORMS}; do
grub_run_phase ${FUNCNAME} ${i}
done
use doc && grub_run_phase install_docs ${i}
mv "${ED}"usr/share/info/grub{,2}.info || die
# can't be in docs array as we use default_src_install in different builddir
dodoc AUTHORS ChangeLog NEWS README THANKS TODO
insinto /etc/default
newins "${FILESDIR}"/grub.default-2 grub
}
pkg_preinst() {
has_version "<sys-boot/grub-2.00-r2:2" && \
[[ "$(df -TP /boot | awk 'NR>1{print $2}')" = 'zfs' ]]
display_zfs_feature_flag_warning=$?
}
pkg_postinst() {
# display the link to guide
elog "For information on how to configure grub-2 please refer to the guide:"
elog " http://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
if ! has_version sys-boot/os-prober; then
elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
fi
if ! has_version dev-libs/libisoburn; then
elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
fi
if has_version sys-boot/grub:0; then
ewarn "If you want to keep GRUB Legacy (grub-0.97) installed, please run"
ewarn "the following to add sys-boot/grub:0 to your world file."
ewarn "emerge --noreplace sys-boot/grub:0"
fi
if [[ $display_zfs_feature_flag_warning -eq 0 ]]; then
zfs_pool=$(df -TP /boot | awk 'NR>1{print $1}')
zfs_pool=${zfs_pool%%/*}
ewarn "The previous version of sys-boot/grub lacked support for ZFS feature flags."
ewarn "Your /boot is on ZFS. Running \"zpool upgrade ${zfs_pool}\" or \"zpool upgrade -a\""
ewarn "to upgrade your pool to support feature flags will prevent your system from booting."
ewarn "You should use grub2-install to reinstall your boot code. This will avoid problems."
fi
}
Loading…
Cancel
Save