sys-boot/mbr-gpt: treeclean

Closes: https://bugs.gentoo.org/884371
Closes: https://bugs.gentoo.org/832025
Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
This commit is contained in:
Jakov Smolić
2023-01-08 13:21:10 +01:00
parent 570f838f57
commit 00a8f5c02b
5 changed files with 0 additions and 168 deletions

View File

@@ -981,16 +981,6 @@ dev-ruby/iobuffer
# EAPI 6. Removal in 30 days (#884429)
app-editors/elvis
# Robin H. Johnson <robbat2@gentoo.org> (2022-12-04)
# sys-boot/mbr-gpt was a bizzare package extremely sensitive to compiler &
# linker changes. I don't know of any remaining consumers other than one weird
# system I have.
# If you're a consumer: syslinux gptmbr was the successor to this approach,
# you'll need to replace the contents of your BIOS Boot Partition, because it's
# not a direct 1:1 change.
# Only upstream release in 2008. Removal in 30 days.
sys-boot/mbr-gpt
# Sam James <sam@gentoo.org> (2022-12-03)
# Dev channel releases are only for people who
# are developers or want more experimental features

View File

@@ -1 +0,0 @@
DIST mbr-gpt_0.0.1.tar.gz 15861 BLAKE2B 00c6741fa5543af435cee97132510126d0301db2fb50712d438703165507125b4981844cb4a841b11bad075af5effb746fd3aa04e6834fb051536b250c01f7ad SHA512 eaabd84fc749ddee8fa40632ad49e15e894bf35a881fb7c35ba22796c2459a886e9bda601595e58d29567ff26959ae2befe6aec5db397d15e1dc5a292dafe165

View File

@@ -1,72 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="An MBR that can handle BIOS-based boot on GPT"
MY_P="${PN}_${PV}"
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.
# Please don't remove it, robbat2 has a box that depends on it for # booting!
KEYWORDS="~amd64 ~x86"
# 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/lib/${PN}/boot.elf"
QA_PRESTRIPPED="${QA_WX_LOAD}"
QA_FLAGS_IGNORED="${QA_WX_LOAD}"
# 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
# Btw, no CFLAGS are respected, it's ASM!
if use amd64 ; then
sed -i -e 's/-Wall/-Wall -m32/g' "${S}"/Makefile || die
fi
}
src_compile() {
emake CC="$(tc-getCC)"
# validate the size, it MUST fit into an MBR (440 bytes!)
size=$(stat --printf='%s' mbr)
if test $size -gt 440; then
die "Compiled MBR is too large! Must be at most 440 bytes, was $size"
fi
}
src_install() {
# get_libdir is not correct here. We want this to go into a 32-bit library
# location.
insinto /usr/lib/${PN}
doins mbr
exeinto /usr/lib/${PN}
exeopts -m 700
doexe boot.elf
dodoc AUTHORS
}
pkg_postinst() {
einfo "See the instructions on the homepage, and make sure you know what"
einfo "you are doing before touching this. The mbr file does into your"
einfo "MBR, or alternatively you can do a creative reboot utilizing the"
einfo "boot.elf binary."
}

View File

@@ -1,74 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
DESCRIPTION="An MBR that can handle BIOS-based boot on GPT"
MY_P="${PN}_${PV}"
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.
# Please don't remove it, robbat2 has a box that depends on it for # booting!
KEYWORDS="~amd64 ~x86"
# 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/lib/${PN}/boot.elf"
QA_PRESTRIPPED="${QA_WX_LOAD}"
QA_FLAGS_IGNORED="${QA_WX_LOAD}"
# Don't strip it either; this binary reboots your host!
RESTRICT="strip"
src_prepare() {
default
# Messy upstream
emake clean
# Need to build it 32-bit for the MBR
# Btw, no CFLAGS are respected, it's ASM!
#
# This is not meant to be used by a dynamic linker either!
# https://inbox.sourceware.org/binutils/20200222023739.GB5570@bubble.grove.modra.org/T/#u
# Shows the --no-dynamic-linker option to ld
sed -i -e 's/-Wall/-Wall -m32 -Wl,--no-dynamic-linker/g' "${S}"/Makefile || die
}
src_compile() {
emake CC="$(tc-getCC)"
# validate the size, it MUST fit into an MBR (440 bytes!)
size=$(stat --printf='%s' mbr)
if test $size -gt 440; then
die "Compiled MBR is too large! Must be at most 440 bytes, was $size"
fi
}
src_install() {
# get_libdir is not correct here. We want this to go into a 32-bit library
# location.
insinto /usr/lib/${PN}
doins mbr
exeinto /usr/lib/${PN}
exeopts -m 700
doexe boot.elf
dodoc AUTHORS
}
pkg_postinst() {
einfo "See the instructions on the homepage, and make sure you know what"
einfo "you are doing before touching this. The mbr file does into your"
einfo "MBR, or alternatively you can do a creative reboot utilizing the"
einfo "boot.elf binary."
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
</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>