diff options
author | Mike Frysinger <vapier@gentoo.org> | 2017-03-14 16:52:49 -0700 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2017-03-14 16:54:28 -0700 |
commit | 08eded4644881cf6de9a4acd78f047ed86d27276 (patch) | |
tree | eb2583c8e1b3c43f8d178dc538772c9940b5d4bf /sys-apps | |
parent | sysa-apps/memtest86+: rework grub shell style (diff) | |
download | gentoo-08eded4644881cf6de9a4acd78f047ed86d27276.tar.gz gentoo-08eded4644881cf6de9a4acd78f047ed86d27276.tar.bz2 gentoo-08eded4644881cf6de9a4acd78f047ed86d27276.zip |
sys-apps/memtest86+: rename installed files to match upstream #382757
We move back to using:
- memtest.bin: bootable image
- memtest: bare metal ELF
We drop the "memtest.netbsd" file since it was never related to NetBSD.
It was simply an ELF file (renamed from "memtest"). It used that name
simply because we used grub's netbsd boot logic to load it (since it
supports booting ELF files).
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/memtest86+/files/39_memtest86+-r1 | 69 | ||||
-rw-r--r-- | sys-apps/memtest86+/memtest86+-5.01-r3.ebuild | 90 |
2 files changed, 159 insertions, 0 deletions
diff --git a/sys-apps/memtest86+/files/39_memtest86+-r1 b/sys-apps/memtest86+/files/39_memtest86+-r1 new file mode 100644 index 000000000000..20422b74d65a --- /dev/null +++ b/sys-apps/memtest86+/files/39_memtest86+-r1 @@ -0,0 +1,69 @@ +#!/bin/sh + +. /usr/share/grub/grub-mkconfig_lib + +memtest=/boot/memtest86plus/memtest.bin + +memtestelf=/boot/memtest86plus/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+-5.01-r3.ebuild b/sys-apps/memtest86+/memtest86+-5.01-r3.ebuild new file mode 100644 index 000000000000..36d52d85693f --- /dev/null +++ b/sys-apps/memtest86+/memtest86+-5.01-r3.ebuild @@ -0,0 +1,90 @@ +# 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="Memory tester based on memtest86" +HOMEPAGE="http://www.memtest.org/" +SRC_URI="http://www.memtest.org/download/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="floppy iso serial" + +BOOTDIR="/boot/memtest86plus" +QA_PRESTRIPPED="${BOOTDIR}/memtest" +QA_FLAGS_IGNORED="${BOOTDIR}/memtest" + +RDEPEND="floppy? ( >=sys-boot/grub-0.95:0 sys-fs/mtools )" +DEPEND="iso? ( app-cdr/cdrtools )" + +src_prepare() { + sed -i -e 's,0x10000,0x100000,' memtest.lds || die + epatch "${FILESDIR}/${P}-gcc-473.patch" \ + "${FILESDIR}/${P}-hardcoded_cc.patch" + epatch "${FILESDIR}"/${P}-no-scp.patch + epatch "${FILESDIR}"/${P}-io-extern-inline.patch #548312 + epatch "${FILESDIR}"/${P}-reboot-def.patch #548312 + epatch "${FILESDIR}"/${P}-no-clean.patch #557890 + epatch "${FILESDIR}"/${P}-no-C-headers.patch #592638 + epatch "${FILESDIR}"/${P}-test-random-cflags.patch #590974 + + sed -i 's:genisoimage:mkisofs:' makeiso.sh || die + if use serial ; then + sed -i \ + -e '/^#define SERIAL_CONSOLE_DEFAULT/s:0:1:' \ + config.h \ + || die "sed failed" + fi +} + +src_configure() { + tc-ld-disable-gold #580212 + tc-export AS CC LD +} + +src_compile() { + emake + if use iso ; then + ./makeiso.sh || die + fi +} + +src_test() { :; } + +src_install() { + insinto "${BOOTDIR}" + use iso && newins mt*.iso memtest.iso + doins memtest memtest.bin + + exeinto /etc/grub.d + doexe "${FILESDIR}"/39_memtest86+ + + dodoc README README.build-process FAQ changelog + + if use floppy ; then + dobin "${FILESDIR}"/make-memtest86+-boot-floppy + doman "${FILESDIR}"/make-memtest86+-boot-floppy.1 + fi +} + +pkg_postinst() { + mount-boot_pkg_postinst + elog + elog "memtest has been installed in ${BOOTDIR}/" + elog "You may wish to update your bootloader configs" + elog "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 +} |