diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95c1369 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +memtest86+-4.10.tar.gz +/memtest86+-4.20.tar.gz +/memtest86+-5.01.tar.gz +/memtest86+-5.31b.tar.gz +/memtest86-plus-6.20.tar.gz +/memtest86-plus-7.00.tar.gz diff --git a/README b/README new file mode 100644 index 0000000..5fe7278 --- /dev/null +++ b/README @@ -0,0 +1,16 @@ +# Memtest86+ + +Memtest86+ is a free, open-source, stand-alone memory tester for x86 and +x86-64 architecture computers. It provides a much more thorough memory +check than that provided by BIOS memory tests. + +It is also able to access almost all the computer's memory, not being +restricted by the memory used by the operating system and not depending +on any underlying software like UEFI libraries. + +Memtest86+ can be loaded and run either directly by a PC BIOS (legacy or UEFI) +or via an intermediate bootloader that supports the Linux 16-bit, 32-bit, +64-bit, or EFI handover boot protocol. It should work on any Pentium class or +later 32-bit or 64-bit CPU. + +More information at [memtest.org](https://memtest.org). diff --git a/README.md b/README.md deleted file mode 100644 index 24b9ea2..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Package Not Available -This package is not available on CentOS Stream 10. -It may be available on another branch. \ No newline at end of file diff --git a/changelog b/changelog new file mode 100644 index 0000000..63c0727 --- /dev/null +++ b/changelog @@ -0,0 +1,424 @@ +* Wed Mar 29 2023 Jonathan Steffan - 6.10-1 +- Update to 6.10 +- Simplify 20_memtest86+ + +* Thu Jan 26 2023 Gordon Messmer - 6.01-2 +- Initial package for v6 + +* Thu Jan 19 2023 Fedora Release Engineering - 5.31-0.8.beta +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 5.31-0.7.beta +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 27 2022 Jaroslav Škarvada - 5.31-0.6.beta +- Fixed FTBFS with gcc-12 and -Werror=uninitialized + Resolves: rhbz#2046736 + +* Thu Jan 20 2022 Fedora Release Engineering - 5.31-0.5.beta +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 5.31-0.4.beta +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 5.31-0.3.beta +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 5.31-0.2.beta +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed May 13 2020 Jaroslav Škarvada - 5.31-0.1.beta +- New version + Resolves: rhbz#1758783 +- Dropped no-scp, no-optimization, compile-fix, crash-fix patches (all upstreamed) +- Dropped fgnu89-inline patch (probably not needed) + +* Wed Jan 29 2020 Fedora Release Engineering - 5.01-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Aug 2 2019 Jaroslav Škarvada - 5.01-27 +- No more compat-gcc in rawhide, so switching to distro's gcc + Resolves: rhbz#1736106 + +* Thu Jul 25 2019 Fedora Release Engineering - 5.01-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Apr 5 2019 Jaroslav Škarvada - 5.01-25 +- Fixed serial console + +* Tue Feb 5 2019 Jaroslav Škarvada - 5.01-24 +- Temporally switched to compat-gcc-34 + Resolves: rhbz#1598922 + +* Fri Feb 01 2019 Fedora Release Engineering - 5.01-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 20 2018 Jaroslav Škarvada - 5.01-22 +- Fixed FTBFS by adding gcc-c++ requirement + Resolves: rhbz#1604814 + +* Fri Jul 13 2018 Fedora Release Engineering - 5.01-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jun 28 2018 Jaroslav Škarvada - 5.01-20 +- Dropped grub legacy support + +* Thu Feb 08 2018 Fedora Release Engineering - 5.01-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 5.01-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 5.01-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 5.01-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Apr 5 2016 Jaroslav Škarvada - 5.01-15 +- Various improvements to memtest-setup, e.g. now exits with error if + run by non root user + +* Tue Feb 23 2016 Jaroslav Škarvada - 5.01-14 +- Removed some spec artifacts (like buildroot cleaning) +- Fixed malformed "Loading" banner +- Not relocating memtest86+ above 1 MB + Related: rhbz#1303804 +- Introduced new configuration file (/etc/memtest86+.conf) +- Introduced new memtest-setup switches for selecting ELF/non-ELF versions + Resolves: rhbz#1303804 + +* Fri Feb 12 2016 Jaroslav Škarvada - 5.01-13 +- Updated distribution specific README + +* Thu Feb 04 2016 Fedora Release Engineering - 5.01-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 28 2016 Jaroslav Škarvada - 5.01-11 +- Fixed memtest86+ binary (non-ELF) to run from floppy + +* Fri Jan 8 2016 Jaroslav Škarvada - 5.01-10 +- Fixed memtest86+ to run even if relocated above 1 MB + (by real-mode-reloc patch) +- Relocated memtest86+ above 1 MB (as we always did in Fedora) +- Fixed compilation of inline assembly with new gcc + (by fgnu89-inline patch) + +* Wed Jun 17 2015 Fedora Release Engineering - 5.01-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Oct 21 2014 Jaroslav Škarvada - 5.01-8 +- More crash fixes (by crash-fix patch from David McInnis) + +* Fri Sep 5 2014 Jaroslav Škarvada - 5.01-7 +- Fixed typo in memtest-setup help, added its options to man / help + +* Wed Sep 3 2014 Jaroslav Škarvada - 5.01-6 +- Fixed memtest-setup script + +* Tue Aug 26 2014 Jaroslav Škarvada - 5.01-5 +- Added documentation regarding memtest-setup + +* Sun Aug 17 2014 Fedora Release Engineering - 5.01-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 5.01-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Apr 3 2014 Jaroslav Škarvada - 5.01-2 +- Switched back to latest distro gcc + +* Mon Feb 17 2014 Jaroslav Škarvada - 5.01-1 +- New version + Resolves: rhbz#1013110 +- Switched to the gcc-34 due to upstream non-compatiblity with + the latest gccs (#1013110) +- Removed trailing whitespaces from the description + +* Mon Sep 16 2013 Jaroslav Škarvada - 4.20-11 +- Fixed grubby requirement +- Fixed bogus dates in changelog (best effort) + +* Sat Aug 03 2013 Fedora Release Engineering - 4.20-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 4.20-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 8 2013 Jaroslav Škarvada - 4.20-8 +- Fixed packaging regarding usrmove + +* Fri Jul 20 2012 Fedora Release Engineering - 4.20-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Mar 27 2012 Jaroslav Škarvada - 4.20-6 +- Fixed path in 20_memtest86+ not to generate error on grub2-mkconfig + Resolves: rhbz#805542 +- Temporal fix for 7th test failure + Resolves: rhbz#805813 + +* Fri Jan 13 2012 Fedora Release Engineering - 4.20-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Dec 7 2011 Jaroslav Škarvada - 4.20-4 +- Used ELF format with grub2 + +* Wed Dec 7 2011 Jaroslav Škarvada - 4.20-3 +- Renamed 20_memtest to 20_memtest86+ +- Fixed ghost handling, 20_memtest86+ is properly removed now + +* Mon Dec 5 2011 Jaroslav Škarvada - 4.20-2 +- Added support for grub2, thanks to Michal Ambroz + +* Mon Mar 07 2011 Jaroslav Škarvada - 4.20-1 +- Update to new version (#682425) +- Removed fix-asciimap patch (not needed now) +- Removed make-gcc4-builds-work patch (not used) + +* Mon Feb 21 2011 Jaroslav Škarvada - 4.10-5 +- Deprecated nash replaceed by findfs (#671503) + +* Wed Feb 09 2011 Fedora Release Engineering - 4.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 11 2011 Jaroslav Škarvada - 4.10-3 +- Reduce max-page-size on x86_64 to fit into loader limits (#620846) + +* Tue May 25 2010 Anton Arapov - 4.10-2 +- Fix memory region to load. (#578966) + +* Wed May 05 2010 Anton Arapov - 4.10-1 +- Update to new upstream release, v4.10 + +* Tue Mar 30 2010 Anton Arapov - 4.00-4 +- Fix ascii map of spd.c (#577469) + +* Fri Dec 25 2009 Robert Scheck - 4.00-3 +- Removed obsolete build requirement to compat-gcc-34 (#442285) + +* Tue Oct 13 2009 Jarod Wilson - 4.00-2 +- Fix memtest-setup on systems without a separate /boot + filesystem (#528651) + +* Tue Sep 29 2009 Jarod Wilson - 4.00-1 +- Update to new upstream release, v4.00 +- Drop gcc4.2+ patch, merged upstream + +* Mon Aug 17 2009 Jarod Wilson - 2.11-11 +- Fix runtime operation when built with gcc4.2+ (#442285) + +* Sat Jul 25 2009 Fedora Release Engineering - 2.11-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Apr 24 2009 Warren Togami - 2.11-9 +- Fix uninstall to remove stanza from grub.conf + +* Fri Apr 24 2009 Warren Togami - 2.11-8 +- Bug #494157 rename elf binary so it doesn't accidentally copy the elf binary + during livecd-creator +- Put scripts into CVS + +* Sun Apr 05 2009 Paulo Roma - 2.11-7 +- adapted the spec file for building the elf and + the bin versions #494157 + +* Thu Apr 02 2009 Paulo Roma - 2.11-6 +- grub.conf will not be updated by default. The user + will have to add and/or remove memtest86+ entries. +- No messages printed. + +* Tue Mar 31 2009 Paulo Roma - 2.11-5 +- Changed postun for preun. +- Calling memtest-setup in case of updating grub.conf + +* Wed Mar 11 2009 Paulo Roma - 2.11-4 +- Updated to 2.11 +- Patched for booting from grub. +- Using memtest (ELF) instead of memtest.bin +- Changed memtest-setup for writing the correct grub entry. +- Removed obsolete patch memtest86+-2.10-fixflags.patch +- Created option update grub.conf + +* Wed Feb 25 2009 Fedora Release Engineering - 2.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Nov 12 2008 Warren Togami - 2.10-1 +- 2.10 + +* Thu Apr 03 2008 Warren Togami - 2.01-3 +- Build with gcc34 for F9 (#437701) + +* Tue Mar 04 2008 Peter Jones - 2.01-2 +- Don't install memtest86+ in bootloader configs on EFI platforms. + +* Thu Feb 21 2008 Warren Togami - 2.01-1 +- 2.01 major bugfix release + +* Mon Feb 11 2008 Michal Schmidt - 2.00-2 +- forgot to cvs add the compilation patch. + +* Mon Feb 11 2008 Michal Schmidt - 2.00-1 +- New upstream release: 2.00. +- Dropped boot time console configuration patches (already upstream). +- Fixed compilation on x86_64. + +* Wed Oct 24 2007 Peter Jones - 1.70-4 +- Fix for mactel. + +* Thu Oct 18 2007 Warren Togami - 1.70-3 +- one more patch from mschmidt to allow configuration of parity and bits + +* Wed Oct 17 2007 Warren Togami - 1.70-2 +- mschmidt's boot time configuration of serial console (#319631) + +* Thu Feb 08 2007 Florian La Roche - 1.70-1 +- update to 1.70 + +* Sat Feb 03 2007 Warren Togami - 1.65-6 +- some spec cleanups (#226135) +- remove old Obsoletes + +* Wed Jul 12 2006 Jesse Keating - 1.65-4.1 +- rebuild + +* Tue Jun 27 2006 Florian La Roche - 1.65-4 +- make sure coreutils is installed for the preun script + +* Thu Jun 08 2006 Jesse Keating - 1.65-3 +- rebuilt for new buildsystem + +* Tue Feb 07 2006 Jesse Keating - 1.65-2.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Sat Oct 15 2005 Florian La Roche +- make sure 32bit glibc-devel is installed (#170614) + +* Sat Oct 01 2005 Warren Togami - 1.65-1 +- 1.65 + +* Wed Jun 29 2005 Warren Togami - 1.60-1 +- 1.60 + +* Mon Mar 28 2005 Warren Togami - 1.55.1-1 +- 1.55.1 fixes K8 + +* Sun Mar 27 2005 Warren Togami - 1.55-1 +- 1.55 + +* Wed Mar 16 2005 Elliot Lee +- rebuilt + +* Sat Feb 19 2005 Warren Togami - 1.51-1 +- 1.51 + +* Fri Jan 21 2005 Warren Togami - 1.50-1 +- 1.50 + +* Sun Nov 28 2004 Warren Togami - 1.40-1 +- 1.40 +- remove arch patch, now upstream + +* Tue Oct 26 2004 Warren Togami - 1.27-1 +- 1.27 + +* Mon Oct 25 2004 Jeremy Katz - 1.26-3 +- allow building on all x86 arches +- pass appropriate compiler options to build on x86_64 as well (#136939) + +* Thu Sep 02 2004 Warren Togami 1.26-1 +- update to 1.26 + +* Sat Aug 28 2004 Warren Togami 1.25-1 +- update to 1.25 + +* Mon Jun 28 2004 Warren Togami +- update to 1.20 + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Sun May 16 2004 Warren Togami 1.15-1 +- update to 1.15 + +* Sun Feb 29 2004 Warren Togami 1.11-2 +- switch to memtest86+ 1.11 +- add boot loader setup script + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Oct 21 2003 Mike A. Harris 3.0-3 +- Pedantic spec file cleanups - s/Copyright/License/ and use _libdir instead of + /usr/lib everywhere (even though it's currently x86 only) + +* Tue Oct 21 2003 Jeremy Katz 3.0-2 +- fix perms (#107610) +- doesn't really require dev86 to build + +* Mon Jul 21 2003 Michael Fulbright +- initial integration into distribution. Removed the scripts to install a + entry in the boot loader for memtest for the moment, and relocated to under + /usr/lib. + +* Thu Apr 17 2003 Joe Szep +- rebuilt for Doolittle final + +* Mon Feb 3 2003 Matthew Miller +- rebuild for doolittle +- patches to make build -- new gcc growing pains, I guess + +* Tue Jul 30 2002 Matthew Miller +- added grubby stuff + +* Tue Jul 30 2002 Dave Heistand +- updated source to v 3 + +* Thu Mar 7 2002 Dave Heistand +- updated source to 2.9, also changed setup -n +- to use %%{version}. + +* Thu Nov 1 2001 Matthew Miller +- v 2.8a +- removed lilo-configuring scripts. need to figure out the best way to + work with grub and RH 7.2 / BU Linux 2.5 +- group -> System Environment/Base + +* Mon Aug 20 2001 Matthew Miller +- v 2.7 + +* Wed Feb 14 2001 Matthew Miller +- v 2.5 + +* Fri Oct 06 2000 Matthew Miller +- v 2.4 + +* Thu Mar 23 2000 Matthew Miller +- changed so that lilo.conf isn't written if it already exists. This is + important if you're including memtest86 in a distribution +- GPG key available from http://www.bu.edu/dsgsupport/linux/BULinux-GPG-KEY +- changed name of lilo.conf backup file to something less likely to conflict + with other backups + +* Wed Mar 01 2000 Matthew Miller +- Updated to version 2.2 +- Cosmetic changes to spec file +- updated Source: to reflect actual author's url + +* Fri Dec 25 1998 Peter Soos + +- Corrected the file attributes + +* Mon Aug 17 1998 Peter Soos + +- Moved to 1.4a + +* Mon Jun 22 1998 Peter Soos + +- Moved to 1.4 + +* Wed Dec 31 1997 Peter Soos + +- Initial version diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/dead.package b/dead.package deleted file mode 100644 index d5d3c88..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -memtest86plus package is retired on branch c10s for CS-2551 \ No newline at end of file diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..1b16508 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,25 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional} + +#Rawhide +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional} + +#gating rhel +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional} \ No newline at end of file diff --git a/memtest86+.kernel-install-plugin b/memtest86+.kernel-install-plugin new file mode 100644 index 0000000..c1b634b --- /dev/null +++ b/memtest86+.kernel-install-plugin @@ -0,0 +1,108 @@ +#!/usr/bin/bash +# +# Manage memtest86+ install location and bootloader config. +# Currently only manages GRUB with BLS support enabled. +# + +# Sanity Checks +if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then + exit 0 +fi +if ! [[ $KERNEL_INSTALL_BOOT_ROOT ]]; then + exit 0 +fi + +# Setup variables +[[ -f /etc/default/grub ]] && . /etc/default/grub +[[ -f /etc/os-release ]] && . /etc/os-release + +COMMAND="$1" +MEMTEST_VERSION="$2" +BOOT_DIR_ABS="$3" +MEMTEST_IMAGE="$4" + +MEMTEST_DIR="${MEMTEST_IMAGE%/*}" +BOOT_ROOT="${KERNEL_INSTALL_BOOT_ROOT}" +MACHINE_ID="${KERNEL_INSTALL_MACHINE_ID}" +BLS_DIR="${BOOT_ROOT}/loader/entries" +# Fail back to /boot default if BLS_DIR +# doesn't exist already, matching 20-grub.install +if [[ ! -d "${BLS_DIR}" ]]; then + BOOT_ROOT="/boot" + BLS_DIR="/boot/loader/entries" +fi +BLS_ENTRY="${BLS_DIR}/${MACHINE_ID}-0-memtest86+.conf" + +# Setup functions +mkbls_grub() { + local memtestver=$1 && shift + local memtestimg=$1 && shift + + cat </dev/null && \ + restorecon -R "${BOOT_ROOT}/${i##*/}" + done + fi + + # Generate GRUB BLS, if enabled + if [[ "x${GRUB_ENABLE_BLSCFG}" = "xtrue" ]]; then + [[ -d "$BLS_DIR" ]] || mkdir -m 0700 -p "$BLS_DIR" + mkbls_grub "${MEMTEST_VERSION}" "${MEMTEST_IMAGE##*/}" > "${BLS_ENTRY}" + command -v restorecon &>/dev/null && restorecon -R "${BLS_ENTRY}" + + MEMTEST_LOC="$(grep '^linux[ \t]' "${BLS_ENTRY}" | sed -e 's,^linux[ \t]*,,')" + if [[ "$(grub2-probe --device $(grub2-probe --target=device /) --target=fs)" == "btrfs" && + "${SUSE_BTRFS_SNAPSHOT_BOOTING}" == "true" ]]; then + MEMTEST_RELPATH="$(grub2-mkrelpath -r ${BOOT_ROOT}${MEMTEST_LOC})" + else + MEMTEST_RELPATH="$(grub2-mkrelpath ${BOOT_ROOT}${MEMTEST_LOC})" + fi + + BOOTPREFIX="$(dirname ${MEMTEST_RELPATH})" + + if [[ "${MEMTEST_LOC}" != "${MEMTEST_RELPATH}" ]]; then + sed -i -e "s,^linux.*,linux ${BOOTPREFIX}${MEMTEST_LOC},g" "${BLS_ENTRY}" + fi + + exit 77 + fi + ;; + remove) + # Find MEMTEST_IMAGE location in BLS_ENTRY, delete both MEMTEST_IMAGE and BLS_ENTRY + if [[ "x${GRUB_ENABLE_BLSCFG}" = "xtrue" ]]; then + if [[ -f "${BLS_ENTRY}" ]]; then + MEMTEST_IMAGE="$(grep '^linux[ \t]' "${BLS_ENTRY}" | sed -e 's,^linux[ \t]*,,')" + if [[ -f "${BOOT_ROOT}${MEMTEST_IMAGE}" ]]; then + rm -f "${BOOT_ROOT}${MEMTEST_IMAGE}" + fi + rm -f "${BLS_ENTRY}" + fi + + exit 77 + fi + ;; + *) + ;; +esac diff --git a/memtest86+.spec b/memtest86+.spec new file mode 100644 index 0000000..a2cbfa4 --- /dev/null +++ b/memtest86+.spec @@ -0,0 +1,85 @@ +# Prevent stripping +%global __spec_install_post /usr/lib/rpm/brp-compress +# Turn off debuginfo package +%global debug_package %{nil} +%global common_description %{expand: +Memtest86+ is a thorough stand-alone memory test for x86 and x86-64 +architecture computers. BIOS based memory tests are only a quick +check and often miss many of the failures that are detected by +Memtest86+. +} +%ifarch x86_64 +%global mt_isa x64 +%endif +%ifarch %{ix86} +%global mt_isa ia32 +%endif + +Name: memtest86+ +Version: 7.00 +Release: %autorelease +Summary: Stand-alone memory tester for x86-64 computers +License: GPL-2.0-only +URL: https://www.memtest.org/ +Source0: https://github.com/memtest86plus/memtest86plus/archive/v%{version}/memtest86-plus-%{version}.tar.gz +Source1: memtest86+.kernel-install-plugin + +BuildRequires: gcc, make, xorriso, dosfstools, mtools +Requires(pre): systemd-udev >= 252 +ExclusiveArch: x86_64 %{ix86} + +%description +%wordwrap -v common_description + + +%prep +%autosetup -n memtest86plus-%{version} -p1 + + +%build +pushd build%{__isa_bits} +make +make iso +popd + + +%install +mkdir -p %{buildroot}%{_libdir}/%{name} +mkdir -p %{buildroot}%{_datarootdir}/%{name} + +pushd build%{__isa_bits} +install -m 0644 memtest.efi %{buildroot}%{_libdir}/%{name}/memtest86+%{mt_isa}.efi +install -m 0644 memtest.bin %{buildroot}%{_libdir}/%{name}/memtest86+%{mt_isa}.bin +install -m 0644 memtest.iso %{buildroot}%{_datarootdir}/%{name}/memtest86+%{mt_isa}.iso +install -m 0755 %{SOURCE1} %{buildroot}%{_libdir}/%{name}/memtest86+.kernel-install-plugin +popd + + +%files +%license LICENSE +%doc README.md +%{_libdir}/%{name}/memtest86+%{mt_isa}.* +%{_libdir}/%{name}/memtest86+.kernel-install-plugin +%{_datarootdir}/%{name}/memtest86+%{mt_isa}.iso + + +%posttrans +MEMTEST_IMAGE="memtest86+%{mt_isa}.bin" +if [ -d /sys/firmware/efi/ ]; then +MEMTEST_IMAGE="memtest86+%{mt_isa}.efi" +fi +KERNEL_INSTALL_PLUGINS=%{_libdir}/%{name}/memtest86+.kernel-install-plugin \ +kernel-install add %{version} %{_libdir}/%{name}/${MEMTEST_IMAGE} +exit 0 + + +%preun +if [ $1 -eq 0 ]; then +KERNEL_INSTALL_PLUGINS=%{_libdir}/%{name}/memtest86+.kernel-install-plugin \ +kernel-install remove %{version} +fi +exit 0 + + +%changelog +%autochangelog diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..d669907 --- /dev/null +++ b/plans.fmf @@ -0,0 +1,36 @@ +/tier1-internal: + plan: + import: + url: https://src.fedoraproject.org/tests/memtest86plus.git + name: /plans/tier1/internal + +/tier1-public: + plan: + import: + url: https://src.fedoraproject.org/tests/memtest86plus.git + name: /plans/tier1/public + +/tier2-tier3-internal: + plan: + import: + url: https://src.fedoraproject.org/tests/memtest86plus.git + name: /plans/tier2-tier3/internal + +/tier2-tier3-public: + plan: + import: + url: https://src.fedoraproject.org/tests/memtest86plus.git + name: /plans/tier2-tier3/public + +/others-internal: + plan: + import: + url: https://src.fedoraproject.org/tests/memtest86plus.git + name: /plans/others/internal + +/others-public: + plan: + import: + url: https://src.fedoraproject.org/tests/memtest86plus.git + name: /plans/others/public + diff --git a/sources b/sources new file mode 100644 index 0000000..d37f570 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (memtest86-plus-7.00.tar.gz) = 1325ee08b280404fb47d37b62d65e51de21dd09b96bef29ece193072b09ff3c6eea8657b2e7c98801bf81ba4288c2bff580a91eb45d5a93744b0a273652266c4