sys-boot/mbr-gpt: EAPI7, fixups

This is a very niche package, but still useful and needed to boot some
old hardware.

Fixes: https://bugs.gentoo.org/429396
Fixes: https://bugs.gentoo.org/371333
Package-Manager: Portage-2.3.67, Repoman-2.3.12
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
This commit is contained in:
Robin H. Johnson
2019-06-16 12:15:35 -07:00
parent 94510344fa
commit c65a1ab094
2 changed files with 24 additions and 12 deletions

View File

@@ -1,30 +1,36 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=0
EAPI=7
inherit eutils flag-o-matic
DESCRIPTION="An MBR that can handle BIOS-based boot on GPT"
MY_P="${PN}_${PV}"
HOMEPAGE="http://aybabtu.com/mbr-gpt/"
SRC_URI="http://aybabtu.com/mbr-gpt/${MY_P}.tar.gz"
LICENSE="GPL-2"
HOMEPAGE="https://web.archive.org/web/20080704173538/http://aybabtu.com/mbr-gpt/"
SRC_URI="https://dev.gentoo.org/~robbat2/distfiles/${MY_P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
# This should probably NEVER go to stable. It's crazy advanced dangerous magic.
# It's also pure ASM, so not suitable for elsewhere anyway.
KEYWORDS="~x86 ~amd64"
# Please don't remove it, robbat2 has a box that depends on it for # booting!
KEYWORDS="~amd64 ~x86"
IUSE=""
# It only depends on binutils/gcc/make, and doesn't link against libc even.
DEPEND=""
RDEPEND=""
# It's a mostly an MBR block and it does use the executable stack.
QA_WX_LOAD="usr/sbin/boot.elf"
QA_WX_LOAD="usr/lib/$PN/boot.elf"
QA_PRESTRIPPED="${QA_WX_LOAD}"
QA_FLAGS_IGNORED="${QA_WX_LOAD}"
src_unpack() {
unpack ${A}
cd "${S}"
# Don't strip it either; this binary reboots your host!
RESTRICT="binchecks strip"
src_prepare() {
default
# Messy upstream
emake clean
# Need to build it 32-bit for the MBR
@@ -39,9 +45,11 @@ src_compile() {
src_install() {
# get_libdir is not correct here. We want this to go into a 32-bit library
# location.
insinto /usr/lib/mbr-gpt/
insinto /usr/lib/$PN
doins mbr
dosbin boot.elf
exeinto /usr/lib/$PN
exeopts -m 700
doexe boot.elf
dodoc AUTHORS
}

View File

@@ -8,4 +8,8 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<longdescription lang="en">
Bootable MBR including fake partition records, for legacy BIOS without any GPT support, and usable without hybrid disk layouts.
Install directly at the start of a disk, create GPT, ensure at least one partition has GUID set to BIOS Boot Partition (21686148-6449-6e6f-744e-656564454649).
</longdescription>
</pkgmetadata>