commit: c65a1ab094bb97a6403ad018d8ce0c8b253e5006 Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> AuthorDate: Sun Jun 16 19:15:35 2019 +0000 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> CommitDate: Sun Jun 16 19:17:14 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c65a1ab0
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 <AT> gentoo.org> ...br-gpt-0.0.1.ebuild => mbr-gpt-0.0.1-r1.ebuild} | 32 ++++++++++++++-------- sys-boot/mbr-gpt/metadata.xml | 4 +++ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild b/sys-boot/mbr-gpt/mbr-gpt-0.0.1-r1.ebuild 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 034062e6513..915fc0e5dd5 100644 --- a/sys-boot/mbr-gpt/mbr-gpt-0.0.1.ebuild +++ b/sys-boot/mbr-gpt/mbr-gpt-0.0.1-r1.ebuild @@ -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 } diff --git a/sys-boot/mbr-gpt/metadata.xml b/sys-boot/mbr-gpt/metadata.xml index 9590fe15fc0..92a82843d1a 100644 --- a/sys-boot/mbr-gpt/metadata.xml +++ b/sys-boot/mbr-gpt/metadata.xml @@ -8,4 +8,8 @@ <email>base-sys...@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>