mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-01 11:18:09 -07:00
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:
@@ -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
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
DIST mbr-gpt_0.0.1.tar.gz 15861 BLAKE2B 00c6741fa5543af435cee97132510126d0301db2fb50712d438703165507125b4981844cb4a841b11bad075af5effb746fd3aa04e6834fb051536b250c01f7ad SHA512 eaabd84fc749ddee8fa40632ad49e15e894bf35a881fb7c35ba22796c2459a886e9bda601595e58d29567ff26959ae2befe6aec5db397d15e1dc5a292dafe165
|
||||
@@ -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."
|
||||
}
|
||||
@@ -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."
|
||||
}
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user