diff options
Diffstat (limited to 'sys-apps/memtest86+')
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 +} |