ac32bf
%define _hardened_build 1
ac32bf
ac32bf
Name:			rasdaemon
ac32bf
Version:		0.4.1
aa8144
Release:		37%{?dist}
ac32bf
Summary:		Utility to receive RAS error tracings
ac32bf
Group:			Applications/System
ac32bf
License:		GPLv2
ac32bf
URL:			https://pagure.io/rasdaemon
ac32bf
Source0:		http://mchehab.fedorapeople.org/%{name}-%{version}.tar.bz2
ac32bf
ac32bf
ExclusiveArch:		%{ix86} x86_64 aarch64 %{power64}
ac32bf
BuildRoot:		%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 
ac32bf
BuildRequires:		autoconf, automake, gettext-devel, libtool, sqlite-devel
ac32bf
Requires:		hwdata, perl-DBD-SQLite
ac32bf
%ifnarch %{arm}
ac32bf
%ifnarch %{power64}
ac32bf
Requires:		dmidecode
ac32bf
%endif
ac32bf
%endif
ac32bf
ac32bf
Requires(post):		systemd-units
ac32bf
Requires(preun):	systemd-units
ac32bf
Requires(postun):	systemd-units
ac32bf
ac32bf
Patch1: 0001-ras-mc-ctl-Improve-error-summary-to-show-label-and-m.patch
ac32bf
Patch2: 0002-ras-record-make-the-code-more-generic.patch
ac32bf
Patch3: 0003-ras-record-rename-stmt-to-stmt_mc_event.patch
ac32bf
Patch4: 0004-ras-record-reorder-functions.patch
ac32bf
Patch5: 0005-ras-record-Make-the-code-easier-to-add-support-for-o.patch
ac32bf
Patch6: 0006-Add-support-to-record-AER-events.patch
ac32bf
Patch7: 0007-Add-support-to-store-MCE-events-at-the-database.patch
ac32bf
Patch8: 0008-ras-mc-ctl-add-summary-for-MCE-and-PCIe-AER-errors.patch
ac32bf
Patch9: 0009-ras-mc-ctl-report-errors-also-for-PCIe-AER-and-MCE.patch
ac32bf
Patch10: 0010-ras-mc-ctl-Fix-the-name-of-the-error-table-data.patch
ac32bf
Patch11: 0013-ras-mc-ctl-Improve-parser.patch
ac32bf
Patch12: 0014-ras-mc-ctl-Fix-label-register-with-2-layers.patch
ac32bf
Patch13: 0015-Add-an-example-of-labels-file.patch
ac32bf
Patch14: 0017-ras-mc-ctl-Fix-the-DIMM-layout-display.patch
ac32bf
Patch15: 0019-ras-mc-ctl-remove-completely-use-of-modprobe.patch
ac32bf
Patch16: 0022-mce-amd-k8.c-fix-a-warning.patch
ac32bf
Patch17: 0023-add-abrt-suppport-for-rasdaemon.patch
ac32bf
Patch18: 0026-rasdaemon-Add-record-option-to-rasdaemon-man-page.patch
ac32bf
Patch19: 0027-ras-mc-ctl-Print-useful-message-when-run-without-ras.patch
ac32bf
Patch20: 0028-Make-paths-in-the-systemd-services-configurable.patch
ac32bf
Patch21: 0031-Correct-ABRT-report-data.patch
ac32bf
Patch22: 0032-rasdaemon-handle-failures-of-snprintf.patch
ac32bf
Patch23: 0033-rasdaemon-correct-range-while-parsing-top-middle-and.patch
ac32bf
Patch24: 0034-rasdaemon-enable-recording-by-default.patch
ac32bf
Patch25: 0035-eMCA-support.patch
ac32bf
Patch26: 0036-rasdaemon-fix-some-errors-in-sqlite.patch
ac32bf
Patch27: 0037-rasdaemon-sqlite-truncates-some-MCE-fields-to-32-bit.patch
ac32bf
Patch28: 0038-rasdaemon-fix-mce-numfield-decoded-error.patch
ac32bf
Patch29: 0039-rasdaemon-do-not-assume-dimmX-directories-will-be-pr.patch
ac32bf
Patch30: 0040-rasdaemon-add-more-dell-labels.patch
ac32bf
Patch31: 0041-rasdaemon-add-support-for-Haswell.patch
ac32bf
Patch32: 0042-rasdaemon-decode-new-simple-error-code-number-6.patch
ac32bf
Patch33: 0043-rasdaemon-Add-missing-entry-to-Ivy-Bridge-memory-con.patch
ac32bf
Patch34: 0044-rasdaemon-Identify-Ivy-Bridge-properly.patch
ac32bf
Patch35: 0045-rasdaemon-add-support-for-Broadwell.patch
ac32bf
Patch36: 0046-rasdaemon-add-support-for-Knights-Landing.patch
ac32bf
Patch37: 0047-rasdaemon-properly-pring-message-strings-in-decode_b.patch
ac32bf
Patch38: 0048-rasdaemon-add-missing-semicolon-in-hsw_decode_model.patch
ac32bf
Patch39: 0049-rasdaemon-enable-IMC-status-usage-for-Haswell-E.patch
ac32bf
Patch40: 0050-rasdaemon-make-sure-the-error-is-valid-before-handli.patch
ac32bf
Patch41: 0051-rasdaemon-add-support-to-match-the-machine-by-system.patch
ac32bf
Patch42: 0052-rasdaemon-add-internal-errors-of-IA32_MC4_STATUS-for.patch
ac32bf
Patch43: 0053-rasdaemon-remove-a-space-from-mcgstatus_msg.patch
ac32bf
Patch44: 0054-rasdaemon-unnecessary-comma-for-empty-mc_location-st.patch
ac32bf
Patch45: 0055-rasdaemon-use-MCA-error-msg-as-error_msg.patch
ac32bf
Patch46: 0056-x86-rasdaemon-Add-support-to-log-Local-Machine-Check.patch
ac32bf
Patch47: 0057-rasdaemon-add-support-for-haswell-ex.patch
ac32bf
Patch48: 0058-rasdaemon-fix-typos-on-ras-mc-ctl-man-page.patch
ac32bf
Patch49: 0059-rasdaemon-Add-support-for-Knights-Landing-processor.patch
ac32bf
Patch50: 0060-mce-intel-knl-Fix-CodingStyle.patch
ac32bf
Patch51: 0061-Add-Broadwell-DE-MSCOD-values.patch
ac32bf
Patch52: 0062-Add-Broadwell-EP-EX-MSCOD-values.patch
ac32bf
# Patch53 was submitted upstream but not merged yet
ac32bf
Patch53: rasdaemon-dont_use_memerror_log_enable_on_knl.patch
ac32bf
Patch54: 0063-add_support_for_knights_mill.patch
ac32bf
Patch55: 0064-add_support_for_skylake.patch
ac32bf
Patch56: 0065-rasdaemon-Update-DIMM-labels-for-Dell-Servers.patch
ac32bf
Patch57: 0066-rasdaemon-Update-DIMM-labels-for-Intel-Skylake-serve.patch
ac32bf
Patch58: 0067-rasdaemon-add-support-for-non-standard-CPER-section-.patch
ac32bf
Patch59: 0068-rasdaemon-add-support-for-non-standard-error-decoder.patch
ac32bf
Patch60: 0069-rasdaemon-add-support-for-ARM-events.patch
ac32bf
Patch61: 0070-rasdaemon-ARM-fully-initialize-ras_arm_event.patch
ac32bf
Patch62: 0071-rasdaemon-ras-mc-ctl-add-option-to-show-error-counts.patch
aa8144
Patch63: 9baae41e14b825b487c80a743a21bfdf6175bd19.patch
aa8144
Patch64: 008125849f94a5c7d8ccbd56ed1156f49169d273.patch
aa8144
Patch65: 3dca35f17effa102b7140d5554401ef2292425b7.patch
ac32bf
ac32bf
%description
ac32bf
%{name} is a RAS (Reliability, Availability and Serviceability) logging tool.
ac32bf
It currently records memory errors, using the EDAC tracing events.
ac32bf
EDAC is drivers in the Linux kernel that handle detection of ECC errors
ac32bf
from memory controllers for most chipsets on i386 and x86_64 architectures.
ac32bf
EDAC drivers for other architectures like arm also exists.
ac32bf
This userspace component consists of an init script which makes sure
ac32bf
EDAC drivers and DIMM labels are loaded at system startup, as well as
ac32bf
an utility for reporting current error counts from the EDAC sysfs files.
ac32bf
ac32bf
%prep
ac32bf
%setup -q
ac32bf
%patch1 -p1
ac32bf
%patch2 -p1
ac32bf
%patch3 -p1
ac32bf
%patch4 -p1
ac32bf
%patch5 -p1
ac32bf
%patch6 -p1
ac32bf
%patch7 -p1
ac32bf
%patch8 -p1
ac32bf
%patch9 -p1
ac32bf
%patch10 -p1
ac32bf
%patch11 -p1
ac32bf
%patch12 -p1
ac32bf
%patch13 -p1
ac32bf
%patch14 -p1
ac32bf
%patch15 -p1
ac32bf
%patch16 -p1
ac32bf
%patch17 -p1
ac32bf
%patch18 -p1
ac32bf
%patch19 -p1
ac32bf
%patch20 -p1
ac32bf
%patch21 -p1
ac32bf
%patch22 -p1
ac32bf
%patch23 -p1
ac32bf
%patch24 -p1
ac32bf
%patch25 -p1
ac32bf
%patch26 -p1
ac32bf
%patch27 -p1
ac32bf
%patch28 -p1
ac32bf
%patch29 -p1
ac32bf
%patch30 -p1
ac32bf
%patch31 -p1
ac32bf
%patch32 -p1
ac32bf
%patch33 -p1
ac32bf
%patch34 -p1
ac32bf
%patch35 -p1
ac32bf
%patch36 -p1
ac32bf
%patch37 -p1
ac32bf
%patch38 -p1
ac32bf
%patch39 -p1
ac32bf
%patch40 -p1
ac32bf
%patch41 -p1
ac32bf
%patch42 -p1
ac32bf
%patch43 -p1
ac32bf
%patch44 -p1
ac32bf
%patch45 -p1
ac32bf
%patch46 -p1
ac32bf
%patch47 -p1
ac32bf
%patch48 -p1
ac32bf
%patch49 -p1
ac32bf
%patch50 -p1
ac32bf
%patch51 -p1
ac32bf
%patch52 -p1
ac32bf
%patch53 -p1
ac32bf
%patch54 -p1
ac32bf
%patch55 -p1
ac32bf
%patch56 -p1
ac32bf
%patch57 -p1
ac32bf
%patch58 -p1
ac32bf
%patch59 -p1
ac32bf
%patch60 -p1
ac32bf
%patch61 -p1
ac32bf
%patch62 -p1
aa8144
%patch63 -p1
aa8144
%patch64 -p1
aa8144
%patch65 -p1
ac32bf
ac32bf
%build
ac32bf
autoreconf -vfi
ac32bf
%configure --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \
ac32bf
	--enable-arm --enable-non-standard
ac32bf
make %{?_smp_mflags}
ac32bf
ac32bf
%install
ac32bf
make install DESTDIR=%{buildroot}
ac32bf
install -D -p -m 0644 misc/rasdaemon.service %{buildroot}/%{_unitdir}/rasdaemon.service
ac32bf
install -D -p -m 0644 misc/ras-mc-ctl.service %{buildroot}%{_unitdir}/ras-mc-ctl.service
ac32bf
install -D -p -m 0655 labels/* %{buildroot}%{_sysconfdir}/ras/dimm_labels.d
ac32bf
rm INSTALL %{buildroot}/usr/include/*.h
ac32bf
ac32bf
%clean
ac32bf
rm -rf %{buildroot}
ac32bf
ac32bf
%files
ac32bf
%defattr(-,root,root) 
ac32bf
%doc AUTHORS ChangeLog COPYING README TODO
ac32bf
%{_sbindir}/rasdaemon
ac32bf
%{_sbindir}/ras-mc-ctl
ac32bf
%{_mandir}/*/*
ac32bf
%{_unitdir}/*.service
ac32bf
%{_sharedstatedir}/rasdaemon
ac32bf
%{_sysconfdir}/ras/dimm_labels.d
ac32bf
ac32bf
%changelog
aa8144
* Wed Mar 18 2020 Aristeu Rozanski <aris@redhat.com> 0.4.1-37.el7
aa8144
- rasdaemon: fix error handling in ras_mc_event_opendb [1694748]
aa8144
aa8144
* Fri Jan 10 2020 Aristeu Rozanski <aris@redhat.com> 0.4.1-36.el7
aa8144
- ras-mce-handler: fix mcgstatus message print [1525210]
aa8144
ac32bf
* Fri Jan 25 2019 Aristeu Rozanski <aris@redhat.com> 0.4.1-35.el7
ac32bf
- Add support to show error counts only [1573686]
ac32bf
ac32bf
* Wed Jul 11 2018 Aristeu Rozanski <aris@redhat.com> 0.4.1-34.el7
ac32bf
- Rebuilt [1558575]
ac32bf
ac32bf
* Mon Mar 19 2018 Aristeu Rozanski <aris@redhat.com> 0.4.1-33.el7
ac32bf
- Enabled not standard errors [1520602]
ac32bf
ac32bf
* Fri Feb 02 2018 Aristeu Rozanski <aris@redhat.com> 0.4.1-32.el7
ac32bf
- Fixed covscan error [1520602]
ac32bf
ac32bf
* Wed Jan 24 2018 Aristeu Rozanski <aris@redhat.com> 0.4.1-31.el7
ac32bf
- Added ARM support [1520602]
ac32bf
ac32bf
* Thu Oct 19 2017 Aristeu Rozanski <aris@redhat.com> 0.4.1-30.el7
ac32bf
- Updated project url [1502400]
ac32bf
ac32bf
* Wed Aug 23 2017 Aristeu Rozanski <aris@redhat.com> 0.4.1-29.el7
ac32bf
- Updating Dell labels [1458938]
ac32bf
ac32bf
* Tue May 30 2017 Aristeu Rozanski <aris@redhat.com> 0.4.1-28.el7
ac32bf
- Bump release [1448113]
ac32bf
ac32bf
* Tue May 30 2017 Aristeu Rozanski <aris@redhat.com> 0.4.1-28.el7
ac32bf
- Identify as Knights Mill systems as such [1448113]
ac32bf
ac32bf
* Mon May 8 2017 Aristeu Rozanski <aris@redhat.com> 0.4.1-27.el7
ac32bf
- Fixed error found by covscan in the last patch [1377467]
ac32bf
ac32bf
* Tue Apr 11 2017 Aristeu Rozanski <aris@redhat.com> 0.4.1-26.el7
ac32bf
- add support for Skylake client and server [1377467]
ac32bf
ac32bf
* Wed Mar 22 2017 Aristeu Rozanski <aris@redhat.com> 0.4.1-25.el7
ac32bf
- add support for Knights Mill [1433862]
ac32bf
ac32bf
* Wed Aug 24 2016 Aristeu Rozanski <aris@redaht.com> 0.4.1-24.el7
ac32bf
- don't use MemError Log Enable on Knights Landing [1273326]
ac32bf
ac32bf
* Fri Apr 15 2016 Aristeu Rozanski <aris@redhat.com> 0.4.1-23.el7
ac32bf
- add Broadwell DE/EP/EX MSCOD values [1299512]
ac32bf
ac32bf
* Mon Feb 08 2016 Aristeu Rozanski <aris@redhat.com> 0.4.1-22.el7
ac32bf
- add missing upstream patches for Knights Landing [1273326]
ac32bf
- fix documentation typos [1247562]
ac32bf
ac32bf
* Thu Dec 03 2015 Aristeu Rozanski <aris@redhat.com> 0.4.1-21.el7
ac32bf
- add support for Knights Landing [1273326]
ac32bf
ac32bf
* Wed Sep 30 2015 Aristeu Rozanski <aris@redhat.com> 0.4.1-20.el7
ac32bf
- add support for Haswell EP/EX [1267137]
ac32bf
ac32bf
* Mon Jul 27 2015 Aristeu Rozanski <aris@redhat.com> 0.4.1-19.el7
ac32bf
- pull latest fixes by Seiichi Ikarashi from upstream [1243941]
ac32bf
ac32bf
* Mon Jul 27 2015 Aristeu Rozanski <aris@redhat.com> 0.4.1-18.el7
ac32bf
- don't depend on dmidecode on ppc64, fix typo [1244593]
ac32bf
ac32bf
* Wed Jul 22 2015 Aristeu Rozanski <aris@redhat.com> 0.4.1-17.el7
ac32bf
- don't depend on dmidecode on ppc64 [1244593]
ac32bf
ac32bf
* Wed Jul 08 2015 Aristeu Rozanski <aris@redhat.com> 0.4.1-16.el7
ac32bf
- allow label files to specify by system product name [1168340]
ac32bf
ac32bf
* Wed Jun 03 2015 Aristeu Rozanski <aris@redhat.com> 0.4.1-15.el7
ac32bf
- add support to Haswell and newer processors [1221912]
ac32bf
ac32bf
* Tue Dec 16 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-14.el7
ac32bf
- properly install the labels so it can be packaged [1073090]
ac32bf
ac32bf
* Tue Dec 02 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-13.el7
ac32bf
- updated labels patch to the new version submitted upstream [1073090]
ac32bf
ac32bf
* Tue Nov 25 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-12.el7
ac32bf
- fix on how sysfs tree is parsed for DIMMs [1073090]
ac32bf
- include new Dell labels [1073090]
ac32bf
ac32bf
* Fri Oct 10 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-11.el7
ac32bf
- don't require dmidecode for ppc64le [1151385]
ac32bf
ac32bf
* Fri Aug 22 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-10.el7
ac32bf
- use power64 macro instead, we have a driver enabled on ppc64 [1125663]
ac32bf
ac32bf
* Mon Aug 18 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-9.el7
ac32bf
- eMCA support [1085519]
ac32bf
- enable ppc64le [1125663]
ac32bf
ac32bf
* Mon Jun 09 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-8.el7
ac32bf
- Revert patch in 0.4.1-7.el7, replaced by a better patch
ac32bf
- Fix sizeof() usage on pointer [1035742]
ac32bf
- Added macro to build the package with stack protector [1092558]
ac32bf
- Handle failures of snprintf() [1035741]
ac32bf
- Fix range checking on signed char variables [1035746]
ac32bf
- Added aarch64 as architecture [1070973]
ac32bf
- Start recording by default [1117366] [1117367]
ac32bf
ac32bf
* Fri Jan 17 2014 Aristeu Rozanski <aris@redhat.com> 0.4.1-7.el7
ac32bf
- Fixed rasdaemon.service executable path [1043478]
ac32bf
 
ac32bf
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.4.1-6
ac32bf
- Mass rebuild 2013-12-27
ac32bf
ac32bf
* Tue Aug 20 2013 Aristeu Rozanski <aris@redhat.com> 0.4.1-5.el7
ac32bf
- Applied Jarod Wilson fixes required to pass rpmlint tests
ac32bf
ac32bf
* Thu Aug 15 2013 Aristeu Rozanski <aris@redhat.com> 0.4.1-4.el7
ac32bf
- Rebuild
ac32bf
ac32bf
* Sun Jun  2 2013 Peter Robinson <pbrobinson@fedoraproject.org> 0.4.1-3
ac32bf
- ARM has EDMA drivers (currently supported in Calxeda highbank)
ac32bf
ac32bf
* Tue May 28 2013 Mauro Carvalho Chehab <mchehab@redhat.com> 0.4.1-2
ac32bf
- Fix the name of perl-DBD-SQLite package
ac32bf
ac32bf
* Tue May 28 2013 Mauro Carvalho Chehab <mchehab@redhat.com> 0.4.1-1
ac32bf
- Updated to version 0.4.1 with contains some bug fixes
ac32bf
ac32bf
* Mon May 27 2013 Mauro Carvalho Chehab <mchehab@redhat.com> 0.4.0-1
ac32bf
- Updated to version 0.4.0 and added support for mce, aer and sqlite3 storage
ac32bf
ac32bf
* Mon May 20 2013 Mauro Carvalho Chehab <mchehab@redhat.com> 0.3.0-1
ac32bf
- Package created
ac32bf