public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/memtest86/files/, sys-apps/memtest86/
@ 2017-03-20  7:21 Mike Frysinger
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Frysinger @ 2017-03-20  7:21 UTC (permalink / raw
  To: gentoo-commits

commit:     b2f095cc8a812ca6b9e57dafc2825b7041c41aec
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 20 07:19:42 2017 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Mar 20 07:19:42 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2f095cc

sys-apps/memtest86: install memtest & memtest.bin #613228

This installs files as upstream names them:
- memtest.bin: bootable image
- memtest: bare metal ELF

 sys-apps/memtest86/files/39_memtest86-r1     | 69 +++++++++++++++++++++++++++
 sys-apps/memtest86/memtest86-4.3.7-r1.ebuild | 71 ++++++++++++++++++++++++++++
 2 files changed, 140 insertions(+)

diff --git a/sys-apps/memtest86/files/39_memtest86-r1 b/sys-apps/memtest86/files/39_memtest86-r1
new file mode 100644
index 00000000000..596a676cceb
--- /dev/null
+++ b/sys-apps/memtest86/files/39_memtest86-r1
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+. /usr/share/grub/grub-mkconfig_lib
+
+memtest=/boot/memtest86/memtest.bin
+
+memtestelf=/boot/memtest86/memtest
+
+if [ -f "${memtest}" ] && [ -f "${memtestelf}" ]; then
+	multiple_memtest=true
+fi
+
+submenu_indentation=""
+if [ "${multiple_memtest}" = "true" ] && [ "${GRUB_DISABLE_SUBMENU}" != "y" ]; then
+	submenu_indentation="${grub_tab}"
+	cat <<EOF
+submenu 'Memtest86' {
+EOF
+fi
+
+if [ -f "${memtest}" ]; then
+	gettext_printf "Found memtest image: %s\n" "${memtest}" >&2
+
+	device="$("${grub_probe}" --target=device "${memtest}")"
+	path="$(make_system_path_relative_to_its_root "${memtest}")"
+	cat <<EOF
+${submenu_indentation}menuentry 'Memtest86' {
+EOF
+
+	if [ -n "{submenu_indentation}" ]; then
+		prepare_grub_to_access_device "${device}" | grub_add_tab | grub_add_tab
+	else
+		prepare_grub_to_access_device "${device}" | grub_add_tab
+	fi
+
+	cat <<EOF
+	${submenu_indentation}linux16 "${path}"
+${submenu_indentation}}
+EOF
+fi
+
+if [ -f "${memtestelf}" ]; then
+	gettext_printf "Found memtest image: %s\n" "${memtestelf}" >&2
+
+	device="$("${grub_probe}" --target=device "${memtestelf}")"
+	path="$(make_system_path_relative_to_its_root "${memtestelf}")"
+	cat <<EOF
+${submenu_indentation}menuentry 'Memtest86 (ELF)' {
+EOF
+
+	if [ -n "${submenu_indentation}" ]; then
+		prepare_grub_to_access_device "${device}" | grub_add_tab | grub_add_tab
+	else
+		prepare_grub_to_access_device "${device}" | grub_add_tab
+	fi
+
+	# We use knetbsd as a lazy way of booting an ELF.
+	# It's not actually related to NetBSD at all.
+	cat <<EOF
+	${submenu_indentation}knetbsd "${path}"
+${submenu_indentation}}
+EOF
+fi
+
+if [ "${multiple_memtest}" = "true" ] && [ "${GRUB_DISABLE_SUBMENU}" != "y" ]; then
+	cat <<EOF
+}
+EOF
+fi

diff --git a/sys-apps/memtest86/memtest86-4.3.7-r1.ebuild b/sys-apps/memtest86/memtest86-4.3.7-r1.ebuild
new file mode 100644
index 00000000000..73cf407c548
--- /dev/null
+++ b/sys-apps/memtest86/memtest86-4.3.7-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit mount-boot eutils toolchain-funcs
+
+DESCRIPTION="A stand alone memory test for x86 computers"
+HOMEPAGE="http://www.memtest86.com/"
+SRC_URI="http://www.memtest86.com/downloads/${P}-src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="serial"
+
+S="${WORKDIR}/src"
+
+BOOTDIR="/boot/memtest86"
+QA_PRESTRIPPED="${BOOTDIR}/memtest"
+QA_FLAGS_IGNORED="${BOOTDIR}/memtest"
+
+src_prepare() {
+	epatch "${FILESDIR}"/${PN}-4.3.3-build-nopie.patch #66630 + #206726
+	epatch "${FILESDIR}"/${PN}-4.3.7-io-extern-inline.patch #548312 #568292
+	epatch "${FILESDIR}"/${PN}-4.3.7-reboot-def.patch #548312 #568292
+	epatch "${FILESDIR}"/${PN}-4.3.7-no-clean.patch #557890
+
+	sed -i -e 's,0x10000,0x100000,' memtest.lds || die
+
+	if use serial ; then
+		sed -i \
+			-e '/^#define SERIAL_CONSOLE_DEFAULT/s:0:1:' \
+			config.h \
+			|| die "sed failed"
+	fi
+}
+
+src_configure() {
+	tc-export AS CC LD
+}
+
+src_test() { :; }
+
+src_install() {
+	insinto "${BOOTDIR}"
+	doins memtest memtest.bin
+
+	exeinto /etc/grub.d
+	newexe "${FILESDIR}"/39_${PN}-r1 39_${PN}
+
+	dodoc README README.build-process README.background
+}
+
+pkg_postinst() {
+	mount-boot_pkg_postinst
+
+	elog "${PN} has been installed in ${BOOTDIR}/"
+	elog "You may wish to update your bootloader configs by adding these lines:"
+	elog " - For grub2 just run grub-mkconfig, a configuration file is installed"
+	elog "   as /etc/grub.d/39_${PN}"
+	elog " - For grub legacy: (replace '?' with correct numbers for your boot partition)"
+	elog "    > title=${PN}"
+	elog "    > root (hd?,?)"
+	elog "    > kernel ${BOOTDIR}/memtest.bin"
+	elog " - For lilo:"
+	elog "    > image  = ${BOOTDIR}/memtest.bin"
+	elog "    > label  = ${PN}"
+	elog ""
+	elog "Note: For older configs, you might have to change from 'memtest' to 'memtest.bin'."
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-apps/memtest86/files/, sys-apps/memtest86/
@ 2023-08-28 19:32 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2023-08-28 19:32 UTC (permalink / raw
  To: gentoo-commits

commit:     abce894dde2ad1b4babeaa1f4fc86e76e22e0c45
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 28 19:14:35 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 28 19:32:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abce894d

sys-apps/memtest86: fix build w/ binutils-2.41[hardened]

Closes: https://bugs.gentoo.org/912343
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../memtest86-4.3.7-binutils-2.41-textrels.patch   | 31 ++++++++++++++++++++++
 sys-apps/memtest86/memtest86-4.3.7-r3.ebuild       |  3 ++-
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/sys-apps/memtest86/files/memtest86-4.3.7-binutils-2.41-textrels.patch b/sys-apps/memtest86/files/memtest86-4.3.7-binutils-2.41-textrels.patch
new file mode 100644
index 000000000000..d95b96402be7
--- /dev/null
+++ b/sys-apps/memtest86/files/memtest86-4.3.7-binutils-2.41-textrels.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/912343
+--- a/Makefile
++++ b/Makefile
+@@ -21,15 +21,15 @@ all: memtest.bin memtest
+ # symbols and then link it dynamically so I have full
+ # relocation information
+ memtest_shared: $(OBJS) memtest_shared.lds Makefile
+-	$(LD) --warn-constructors --warn-common -static -T memtest_shared.lds -m elf_i386 \
++	$(LD) --warn-constructors --warn-common -static -z notext --no-warn-rwx-segments -T memtest_shared.lds -m elf_i386 \
+ 	-o $@ $(OBJS) && \
+-	$(LD) -shared -Bsymbolic -T memtest_shared.lds -o $@ $(OBJS)
++	$(LD) -shared -Bsymbolic -z notext --no-warn-rwx-segments -T memtest_shared.lds -o $@ $(OBJS)
+ 
+ memtest_shared.bin: memtest_shared
+ 	objcopy -O binary $< memtest_shared.bin
+ 
+ memtest: memtest_shared.bin memtest.lds
+-	$(LD) -s -T memtest.lds -b binary memtest_shared.bin -o $@
++	$(LD) -s -z notext --no-warn-rwx-segments -T memtest.lds -b binary memtest_shared.bin -o $@
+ 
+ head.s: head.S config.h defs.h test.h
+ 	$(CC) -E -traditional $< -o $@
+@@ -41,7 +41,7 @@ setup.s: setup.S config.h defs.h
+ 	$(CC) -E -traditional $< -o $@
+ 
+ memtest.bin: memtest_shared.bin bootsect.o setup.o memtest.bin.lds
+-	$(LD) -T memtest.bin.lds bootsect.o setup.o -b binary \
++	$(LD) -z notext --no-warn-rwx-segments -T memtest.bin.lds bootsect.o setup.o -b binary \
+ 	memtest_shared.bin -o memtest.bin
+ 
+ reloc.o: reloc.c

diff --git a/sys-apps/memtest86/memtest86-4.3.7-r3.ebuild b/sys-apps/memtest86/memtest86-4.3.7-r3.ebuild
index 70ce741c82d1..58740a968ccc 100644
--- a/sys-apps/memtest86/memtest86-4.3.7-r3.ebuild
+++ b/sys-apps/memtest86/memtest86-4.3.7-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="7"
@@ -19,6 +19,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-4.3.7-io-extern-inline.patch #548312 #568292
 	"${FILESDIR}"/${PN}-4.3.7-reboot-def.patch #548312 #568292
 	"${FILESDIR}"/${PN}-4.3.7-no-clean.patch #557890
+	"${FILESDIR}"/${PN}-4.3.7-binutils-2.41-textrels.patch #912343
 )
 
 S="${WORKDIR}/src"


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-08-28 19:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-28 19:32 [gentoo-commits] repo/gentoo:master commit in: sys-apps/memtest86/files/, sys-apps/memtest86/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2017-03-20  7:21 Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox