%define last_tar_git_commit d2e13bf0 %define last_git_commit e7e0ac1 Summary: Tool to translate x86-64 CPU Machine Check Exception data Name: mcelog Version: 120 Release: 3.%{last_git_commit}%{?dist} Epoch: 3 Group: System Environment/Base License: GPLv2 Source0: mcelog-%{last_tar_git_commit}.tar.bz2 # note that this source OVERRIDES the one on the tarball above! Source1: mcelog.conf Source2: mcelog.service Source10: mcelog.setup Patch0: mcelog-fix-trigger-path-and-cacheing.patch # BZ 1039183: Add Haswell and correct Ivy Bridge Patch1: mcelog-update-2577aeb.patch Patch2: mcelog-update-f30da3d.patch # BZ 1138319: Add additional Haswell support (see patch for additional info) Patch3: mcelog-haswell-support.patch Patch4: mcelog-update-9de4924.patch Patch5: mcelog-update-e7e0ac1.patch Patch6: mcelog-patch-1bd2984.patch URL: https://github.com/andikleen/mcelog.git Buildroot: %{_tmppath}/%{name}-%{version}-root ExclusiveArch: i686 x86_64 Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units BuildRequires: systemd %description mcelog is a utility that collects and decodes Machine Check Exception data on x86-32 and x86-64 systems. It can be run either as a daemon, or by cron. %prep %setup -q -n %{name}-%{last_tar_git_commit} %patch0 -p1 -b .fix-triggers-and-cacheing %patch1 -p1 -b .mcelog-update-2577aeb %patch2 -p1 -b .mcelog-update-f30da3d %patch3 -p1 -b .mcelog-haswell-support %patch4 -p1 -b .mcelog-update-9de4924 %patch5 -p1 -b .mcelog-update-e7e0ac1 %patch6 -p1 -b .mcelog-patch-1bd2984 %build mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir} mkdir -p $RPM_BUILD_ROOT/%{_sbindir} mkdir -p $RPM_BUILD_ROOT/%{_mandir} make CFLAGS="$RPM_OPT_FLAGS -Wl,-z,relro,-z,now -fpie" LDFLAGS="-Wl,-z,relro,-z,now -fpie -pie" %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man{1,5,8} mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/triggers mkdir -p $RPM_BUILD_ROOT/%{_unitdir} mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/cron.hourly mkdir -p $RPM_BUILD_ROOT/%{_sbindir} install -p -m755 mcelog $RPM_BUILD_ROOT/%{_sbindir}/mcelog install -p -m644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/mcelog.conf install -p -m755 %{SOURCE10} $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/mcelog.setup install -p -m755 triggers/cache-error-trigger $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/triggers/cache-error-trigger install -p -m755 triggers/dimm-error-trigger $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/triggers/dimm-error-trigger install -p -m755 triggers/page-error-trigger $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/triggers/page-error-trigger install -p -m755 triggers/socket-memory-error-trigger $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/triggers/socket-memory-error-trigger install -p -m755 mcelog.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.hourly/mcelog.cron install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/mcelog.service install -p -m644 mcelog.8 $RPM_BUILD_ROOT/%{_mandir}/man8 install -p -m644 mcelog.conf.5 $RPM_BUILD_ROOT/%{_mandir}/man5 install -p -m644 mcelog.triggers.5 $RPM_BUILD_ROOT/%{_mandir}/man5 %clean rm -rf $RPM_BUILD_ROOT %post systemctl enable mcelog.service &> /dev/null || systemctl daemon-reload &> /dev/null %preun # Handle removing mcelog if [ "$1" -eq 0 ]; then systemctl disable mcelog.service &> /dev/null systemctl stop mcelog.service &> /dev/null fi %postun # Handle upgrading mcelog if [ "$1" -ge 1 ]; then systemctl try-restart mcelog.service &> /dev/null fi %files %defattr(-,root,root,-) %doc README CHANGES %{_sbindir}/mcelog %dir %{_sysconfdir}/mcelog %{_sysconfdir}/mcelog/triggers %config(noreplace) %{_sysconfdir}/mcelog/mcelog.conf %{_sysconfdir}/mcelog/mcelog.setup %{_sysconfdir}/cron.hourly/mcelog.cron %{_unitdir}/mcelog.service %attr(0644,root,root) %{_mandir}/*/* %changelog * Mon Sep 21 2015 Prarit Bhargava - 3:120-3.e7e0ac1 - Fix server restart when /var/run/mcelog-client socket exists [1256714] * Fri Jun 12 2015 Prarit Bhargava - 3:120-2.e7e0ac1 - add RELRO and PIE [1092567] * Fri Jun 12 2015 Prarit Bhargava - 3:120-1.e7e0ac1 - Add Broadwell-U, Broadwell-DE, and Knights Landing/Xeon Phi Support - additional general fixes - add mcelog.conf and mcelog.triggers man pages - update NVR to 120 to match upstream * Mon Oct 27 2014 Prarit Bhargava - 3:101-3.9de4924 - Update with latest minor fixes, no new support [1157683] * Mon Sep 8 2014 Prarit Bhargava - 3:101-2.f30da3d - Additional Haswell Support [1138319] * Thu Sep 4 2014 Prarit Bhargava - 3:101-1.f30da3d - Update to upstream NVR (101) [1136989] * Wed Sep 3 2014 Prarit Bhargava - 2:1.0-0.13.f30da3d - Update to upstream commit f30da3d, minor fixes, no features [1085134] - Add /var/log/mcelog file [1098864] - remove .src.rpm file [1038755] * Wed Jan 22 2014 Prarit Bhargava - 2:1.0-0.12.2577aeb - Add Haswell client cpuids, identify Ivy Bridge properly, and fix issues on Ivy Bridge * Fri Dec 27 2013 Daniel Mach - 2:1.0-0.11.d2e13bf0 - Mass rebuild 2013-12-27 * Tue Dec 3 2013 Prarit Bhargava 2:1.0-0.10.d2e13bf0 - Fix prebuilt binaries issue in tarball [1037730] * Thu Nov 21 2013 Prarit Bhargava 2:1.0-0.9.d2e13bf0 - disable extended logging suppport [1028645] * Wed May 15 2013 Prarit Bhargava 2:1.0-0.8.d2e13bf0 - update to commit d2e13bf0 [963287] * Thu Feb 14 2013 Fedora Release Engineering - 2:1.0-0.7.6e4e2a00 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Thu Jul 19 2012 Fedora Release Engineering - 2:1.0-0.6.6e4e2a00 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Apr 26 2012 Jon Ciesla - 2:1.0-0.5.6e4e2a00 - Merge review fixes, BZ 226132. * Fri Jan 13 2012 Fedora Release Engineering - 2:1.0-0.4.6e4e2a00 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu Nov 17 2011 Prarit Bhargava 2:1.0-0.3.6e4e2a00 - Updated sources to deal with various warning issues [701083] [704302] - Update URL for new location of Andi's mcelog tree - Update n-v-r to include latest git hash * Tue Feb 08 2011 Fedora Release Engineering - 2:1.0-0.3.pre3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Nov 10 2010 Jon Masters 2:1.0-0.2.pre3 - Rework mcelog to use daemon mode and systemd. * Tue Nov 09 2010 Jon Masters 2:1.0-0.1.pre3 - Bump epoch and use standard Fedora Packaging Guidelines for NVR. - Switch to using signed bz2 source and remove dead patch. * Fri Sep 17 2010 Dave Jones 1:1.0pre3-0.1 - Update to upstream mcelog-1.0pre3 * Mon Oct 05 2009 Orion Poplawski - 1:0.9pre1-0.1 - Update to 0.9pre1 - Update URL - Add patch to update mcelog kernel record length (bug #507026) * Tue Aug 04 2009 Adam Jackson 0.7-5 - Fix %%install for new buildroot cleanout. * Sat Jul 25 2009 Fedora Release Engineering - 1:0.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Feb 25 2009 Fedora Release Engineering - 1:0.7-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Aug 7 2008 Tom "spot" Callaway - 1:0.7-2 - fix license tag - clean this package up * Tue Feb 19 2008 Fedora Release Engineering - 1:0.7-1.22 - Autorebuild for GCC 4.3 * Mon Jul 17 2006 Jesse Keating - Rebuild. * Fri Jun 30 2006 Dave Jones - Rebuild. (#197385) * Wed May 17 2006 Dave Jones - Update to upstream 0.7 - Change frequency to hourly instead of daily. * Thu Feb 09 2006 Dave Jones - rebuild. * Wed Feb 8 2006 Dave Jones - Update to upstream 0.6 * Mon Dec 19 2005 Dave Jones - Update to upstream 0.5 * Fri Dec 16 2005 Jesse Keating - rebuilt for new gcj * Fri Dec 09 2005 Jesse Keating - rebuilt * Tue Mar 1 2005 Dave Jones - Rebuild for gcc4 * Wed Feb 9 2005 Dave Jones - Update to upstream 0.4 * Thu Jan 27 2005 Dave Jones - Initial packaging.