sys-boot/mbr-gpt: EAPI7, fixups
authorRobin H. Johnson <robbat2@gentoo.org>
Sun, 16 Jun 2019 19:15:35 +0000 (12:15 -0700)
committerRobin H. Johnson <robbat2@gentoo.org>
Sun, 16 Jun 2019 19:17:14 +0000 (12:17 -0700)
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>
sys-boot/mbr-gpt/mbr-gpt-0.0.1-r1.ebuild [moved from sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild with 64% similarity]
sys-boot/mbr-gpt/metadata.xml

similarity index 64%
rename from sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild
rename to sys-boot/mbr-gpt/mbr-gpt-0.0.1-r1.ebuild
index 034062e65135f79e0506ebb76eb78994cffd4e07..915fc0e5dd5daee7b66e66ff24459656a46ad3f9 100644 (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
 }
 
index 9590fe15fc00d04649ef6a3e3f97c4502bdd1af7..92a82843d1a589a9b29a45ab077ca8e01fc55528 100644 (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>