summaryrefslogtreecommitdiff
path: root/sys-apps/memtest86+
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/memtest86+')
-rw-r--r--sys-apps/memtest86+/Manifest7
-rw-r--r--sys-apps/memtest86+/files/memtest86+-5.31b-gcc-473.patch13
-rw-r--r--sys-apps/memtest86+/files/memtest86+-5.31b-hardcoded_cc.patch16
-rw-r--r--sys-apps/memtest86+/files/memtest86+-5.31b-no-clean.patch19
-rw-r--r--sys-apps/memtest86+/files/memtest86+-5.31b-objcopy.patch21
-rw-r--r--sys-apps/memtest86+/files/memtest86+-5.31b-test-random-cflags.patch17
-rw-r--r--sys-apps/memtest86+/memtest86+-5.31b.ebuild113
7 files changed, 206 insertions, 0 deletions
diff --git a/sys-apps/memtest86+/Manifest b/sys-apps/memtest86+/Manifest
index 48dba270f972..c889d1c2f6f2 100644
--- a/sys-apps/memtest86+/Manifest
+++ b/sys-apps/memtest86+/Manifest
@@ -11,6 +11,13 @@ AUX memtest86+-5.01-no-scp.patch 388 BLAKE2B a5b195d54c4a9d99c62771430822f87f20f
AUX memtest86+-5.01-objcopy.patch 654 BLAKE2B 34295b2ebb0edbdf007652009de46fef56bb723188fe31f25d19bd965f6b80b18d6bc41edc96e761afa5e7184b63e46e2867e7d84000a37571162337736e192d SHA512 f9c1152ef3bf546bf346a9ff53212fba7cf1ff43bf94f7ea3a3b897336b6ff4516b02e6bbf74dde7acf8adcf6bda5afac9469d09e0fabb32c49ae05483624a16
AUX memtest86+-5.01-reboot-def.patch 326 BLAKE2B a17bcde8563a3f1a8e88c50e981b3d93439a19d0b1186c511826f9836be8efb5bcc2f0031c28887bf0c67ef9e8c9942eca641f923f87c458f070507645007f0a SHA512 2309da17ae7bfd32137b02c0533a9d4f30c95d70dea309a009219457f07f36e0b9192e1ac55485513a23d6364247476886a4720ffe83d33a2c493124a82797a1
AUX memtest86+-5.01-test-random-cflags.patch 679 BLAKE2B 62ccc56c3f127b3e3213d6bb9605094dd8ba2580d2047873583db8b7a3d48db225eb8b7013319903e92ba9c658569470fb6b3de4f4b7f6b3686efdd5f9c132eb SHA512 a000cf28d69396b0707519bb995f086457f8fa5283299164d969dbf02abea86b566016d71fac7e887c6089bc39c58be9e5c885cfb5f8e7eb815ea1741e097bb6
+AUX memtest86+-5.31b-gcc-473.patch 426 BLAKE2B c7ce26466a1d0a083e9da5ce4f1d5430c43c7a1264f9edf533f82905b8dfb290fcf4a67c8cff79277bd26a59003277ef9ea8d321e8c81b0952b2d662369883de SHA512 dde40a97c6ac8aec9b19ace1ab3cedf30146b908d6f9978eb0c6d1b2589242be35e1e4710b2aaa6f2def670d00add92761e4ab763f33724aec334f5b922254c9
+AUX memtest86+-5.31b-hardcoded_cc.patch 316 BLAKE2B 9be278d20cfaeeb01a32628bb433283aa7321f57703c32b4e191e9f6ebfe0659b33f72bbe4d9bde66b64ab62fa6d590b6c57bffc7f0ce59269f4b3a5524ec81f SHA512 6b011df2926b988769da9a257b7558bbb1733d18bcd113d8b04567da23456a6c5c22f0fc72818e43888e96d188cf572673563b123fe2a12750f31633118aaafc
+AUX memtest86+-5.31b-no-clean.patch 570 BLAKE2B 99fcdc691c44b4c116878713e48ec5056f7da80355ce17ba35ca6c3eb4de2f51bb84212bdc48127b870b87bff722be8e21e08b10e1b4f691b9111c374f2a70e4 SHA512 19ef0c4af27a6382729faa6c2b9666006d053cadf3f457e62d4e21fae266e42b54eb5db87d97817a0b3e2d6bd1f41a054bf6e6a85f8acda77816c6bdaf69a59e
+AUX memtest86+-5.31b-objcopy.patch 610 BLAKE2B a7a68cefbca249a2db578fa2d1eac2095ebe35f4fba67b6b44b1a85360fdac86a154585b6776ac95ac2963c773ccfcf4e8d828b2c1736bab2741f483626b61a6 SHA512 ad55e5448e70db93a19801cb6dd7cddfd4bf52d9d11582ba00335e59906cb8ee9165b828e59a1ecd1b0ddb2a52aff7165803d69c2ad3984a18ff07f069d36ea1
+AUX memtest86+-5.31b-test-random-cflags.patch 636 BLAKE2B ab14809232dfdb0475fa8d54daca34ad53a6eee0f7ce2592acfc60a60bf0c8f08adacc82ed67ae8e7ae7faa995d9b6efa0d0ea3cf0df33f5cda1a606a7e0d987 SHA512 98965cfe1ec90f5dee115da406609cd85651e09b9914232b717a3b8755b4c10b05f58ed08c8a470b2bd772f1ef4d93faf63516f902a0b48b9c33974eba4733a1
DIST memtest86+-5.01.tar.gz 214877 BLAKE2B ef63eaabaf6d3d27b85c73618c692dd61cce52f3670a57958d181623888bdc3aa538855da9a82ec2ab70b180938e3df99f0b06f606b2d6f64e8aabbe781b3050 SHA512 d872db35ef733ec8f49094251f2bf6b98cc80eb06d04044be3aecf28d534f24ba293a08b9979b112dbd07cf27368148939a33a32c7010fc9581a3a5b150c94d7
+DIST memtest86+-5.31b.tar.gz 227779 BLAKE2B 14aced912bb84115278a3aff7650a3571918b823335aaf7d09880ef10374c320f64878765d93d2ee5a75e2b33ef6c9c4886a9a168955bd77c668f06f5c86a6ca SHA512 ad5891fd0c430ce7a5d0cde2d10dee20b66ad8060d47c3e70e038461d9cde3a78dfc13442b5b09da7c662741945a670353c72dbc08fd5ee8bae82256001a9541
EBUILD memtest86+-5.01-r5.ebuild 2843 BLAKE2B 6094eb3d890de7f7fd72012104c0b467746a313a5ad04c3546e1932556889b108edc8b6ed44442c0443b2305c335c3bbcd4f178c80564b0da9d7a5e11fc17d6f SHA512 dcea721c0ac1abfe2f4f1ccf0972284025d841caf84d7d439ae1b4d9dd891e46418ab08cd4b0807dab93a132cc29a4ee4cae6f72da7cc5dc356e8ef6d3e40859
+EBUILD memtest86+-5.31b.ebuild 2630 BLAKE2B d97cf738c896fe5b34c59a667f8d94848222d66f00ca111f61562059f8d15f42da679ba416ee8a6d002f7dee622573ee09e08da10cf793ce851560e2be282767 SHA512 29c0051ca9b788f9c6db929ab0b77eafcbb82327a1c5192837840eb76e68a89ea9909ab8334237c6c7395959930b8e8d9479a3be010a80beaffa0d9b10808fd0
MISC metadata.xml 563 BLAKE2B bd4e7ef2022ed705fc3902cd113f20b057b672dd50a9cf9362f56d4ccf1be9bab1fdb45d162cd646deb2acdab6829942da59f6dce0475a2d51c060662a33b9dd SHA512 26d725110c8b6214fce06feae590d1c437b64c9884ee5bc5421b4804b9391d7b928e11a270d84421ffbb5ea7a7b551dd26484565706499bdfbe871aef7ffb61b
diff --git a/sys-apps/memtest86+/files/memtest86+-5.31b-gcc-473.patch b/sys-apps/memtest86+/files/memtest86+-5.31b-gcc-473.patch
new file mode 100644
index 000000000000..76c0761512b4
--- /dev/null
+++ b/sys-apps/memtest86+/files/memtest86+-5.31b-gcc-473.patch
@@ -0,0 +1,13 @@
+http://forum.canardpc.com/threads/110950-fix-controller-loop-error
+
+--- a/Makefile
++++ b/Makefile
+@@ -12,7 +12,7 @@ FDISK=/dev/fd0
+ AS=as -32
+ CC=gcc
+
+-CFLAGS= -Wall -Werror -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin \
++CFLAGS= -Wall -Werror -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \
+ -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector
+
+ SELF_TEST_CFLAGS = -Wall -Werror -march=i486 -m32 -O1 -g
diff --git a/sys-apps/memtest86+/files/memtest86+-5.31b-hardcoded_cc.patch b/sys-apps/memtest86+/files/memtest86+-5.31b-hardcoded_cc.patch
new file mode 100644
index 000000000000..4ee174478b7b
--- /dev/null
+++ b/sys-apps/memtest86+/files/memtest86+-5.31b-hardcoded_cc.patch
@@ -0,0 +1,16 @@
+--- a/Makefile
++++ b/Makefile
+@@ -9,11 +9,10 @@
+ #
+ FDISK=/dev/fd0
+
+-AS=as -32
+-CC=gcc
+-
+ CFLAGS= -Wall -Werror -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \
+ -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector
++CPPFLAGS= -m32
++ASFLAGS= -32
+
+ SELF_TEST_CFLAGS = -Wall -Werror -march=i486 -m32 -O1 -g
+
diff --git a/sys-apps/memtest86+/files/memtest86+-5.31b-no-clean.patch b/sys-apps/memtest86+/files/memtest86+-5.31b-no-clean.patch
new file mode 100644
index 000000000000..dbb560e506b9
--- /dev/null
+++ b/sys-apps/memtest86+/files/memtest86+-5.31b-no-clean.patch
@@ -0,0 +1,19 @@
+http://forum.canardpc.com/threads/110954-PATCH-fix-parallel-build-issues
+
+
+don't run the clean target when building all as we run into parallel races:
+ - memtest kicks off building of a bunch of .o files
+ - clean runs in parallel which runs `rm` and deletes some of the new .o
+ - memtest goes to link and fails because objects are missing
+
+--- a/Makefile
++++ b/Makefile
+@@ -22,7 +22,7 @@
+
+ SELF_TEST_OBJS = test.o self_test.o cpuid.o random.o
+
+-all: clean memtest.bin memtest
++all: memtest.bin memtest
+
+ run_self_test : self_test
+ ./self_test && touch run_self_test
diff --git a/sys-apps/memtest86+/files/memtest86+-5.31b-objcopy.patch b/sys-apps/memtest86+/files/memtest86+-5.31b-objcopy.patch
new file mode 100644
index 000000000000..9398c4163a4d
--- /dev/null
+++ b/sys-apps/memtest86+/files/memtest86+-5.31b-objcopy.patch
@@ -0,0 +1,21 @@
+Allow 'objcopy' override with user's OBJCOPY.
+
+--- a/Makefile
++++ b/Makefile
+@@ -8,6 +8,7 @@
+ # Path for the floppy disk device
+ #
+ FDISK=/dev/fd0
++OBJCOPY=objcopy
+
+ CFLAGS= -Wall -Werror -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \
+ -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector
+@@ -36,7 +37,7 @@
+ $(LD) -shared -Bsymbolic -T memtest_shared.lds -o $@ $(OBJS)
+
+ memtest_shared.bin: memtest_shared
+- objcopy -O binary $< memtest_shared.bin
++ $(OBJCOPY) -O binary $< memtest_shared.bin
+
+ memtest: memtest_shared.bin memtest.lds
+ $(LD) -s -T memtest.lds -b binary memtest_shared.bin -o $@
diff --git a/sys-apps/memtest86+/files/memtest86+-5.31b-test-random-cflags.patch b/sys-apps/memtest86+/files/memtest86+-5.31b-test-random-cflags.patch
new file mode 100644
index 000000000000..f3faf1392b3a
--- /dev/null
+++ b/sys-apps/memtest86+/files/memtest86+-5.31b-test-random-cflags.patch
@@ -0,0 +1,17 @@
+make sure we re-use the existing CFLAGS settings so that we get all the right
+flags (like -fno-stack-protector). just append the few changes we want (the
+optimization levels).
+
+https://bugs.gentoo.org/590974
+
+--- a/Makefile
++++ b/Makefile
+@@ -65,7 +65,7 @@
+ $(CC) -Wall -Werror -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector -c -o memsize.o memsize.c
+
+ random.o: random.c
+- $(CC) -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin -ffreestanding random.c
++random.o: CFLAGS += -O3 -fno-PIC
+
+ clean:
+ rm -f *.o *.s *.iso memtest.bin memtest memtest_shared \
diff --git a/sys-apps/memtest86+/memtest86+-5.31b.ebuild b/sys-apps/memtest86+/memtest86+-5.31b.ebuild
new file mode 100644
index 000000000000..8397e450b0d3
--- /dev/null
+++ b/sys-apps/memtest86+/memtest86+-5.31b.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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="+boot floppy iso serial"
+
+BOOTDIR="/boot/memtest86plus"
+QA_PRESTRIPPED="${BOOTDIR}/memtest /usr/share/${PN}/memtest"
+QA_FLAGS_IGNORED="${BOOTDIR}/memtest /usr/share/${PN}/memtest"
+
+RDEPEND="floppy? ( sys-fs/mtools )"
+DEPEND="${RDEPEND}"
+BDEPEND="iso? ( app-cdr/cdrtools )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gcc-473.patch"
+ "${FILESDIR}/${P}-hardcoded_cc.patch"
+ "${FILESDIR}/${P}-no-clean.patch" #557890
+ "${FILESDIR}/${P}-objcopy.patch"
+ "${FILESDIR}/${P}-test-random-cflags.patch" #590974
+)
+
+pkg_pretend() {
+ use boot && mount-boot_pkg_pretend
+}
+
+src_prepare() {
+ sed -i -e 's,0x10000,0x100000,' memtest.lds || die
+ 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
+ default
+}
+
+src_configure() {
+ tc-ld-disable-gold #580212
+ tc-export AS CC LD
+}
+
+src_compile() {
+ emake OBJCOPY="$(tc-getOBJCOPY)"
+ if use iso ; then
+ ./makeiso.sh || die
+ fi
+}
+
+src_test() { :; }
+
+src_install() {
+ if use boot ; then
+ insinto "${BOOTDIR}"
+ doins memtest memtest.bin
+ fi
+
+ insinto /usr/share/${PN}
+ use iso && newins mt*.iso memtest.iso
+ doins memtest memtest.bin
+
+ exeinto /etc/grub.d
+ newexe "${FILESDIR}"/39_${PN}-r1 39_${PN}
+
+ 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_preinst() {
+ use boot && mount-boot_pkg_preinst
+}
+
+pkg_postinst() {
+ if use boot; then
+ mount-boot_pkg_postinst
+
+ elog "memtest86+ 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'."
+ fi
+}
+
+pkg_prerm() {
+ use boot && mount-boot_pkg_prerm
+}
+
+pkg_postrm() {
+ use boot && mount-boot_pkg_postrm
+}