From 518df5e4108aff8a3723498846d562d8987e6cd2 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: May 15 2013 15:37:19 +0000 Subject: import mcelog-1.0-0.8.d2e13bf0.el7.src.rpm --- diff --git a/.mcelog.metadata b/.mcelog.metadata new file mode 100644 index 0000000..75a35b4 --- /dev/null +++ b/.mcelog.metadata @@ -0,0 +1 @@ +612476dbe00f322208132b4d606bb38c131a24ed SOURCES/mcelog-d2e13bf0.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/mcelog-fix-trigger-path-and-cacheing.patch b/SOURCES/mcelog-fix-trigger-path-and-cacheing.patch new file mode 100644 index 0000000..631a971 --- /dev/null +++ b/SOURCES/mcelog-fix-trigger-path-and-cacheing.patch @@ -0,0 +1,11 @@ +diff --git a/mcelog.cron b/mcelog.cron +index 4335caa..317b699 100755 +--- a/mcelog.cron ++++ b/mcelog.cron +@@ -1,2 +1,5 @@ + #!/bin/bash +-/usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog ++ ++# Disabled by default on Fedora since this is run as daemon ++# using the mcelog.service systemd configuration entries. ++#/usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog diff --git a/SOURCES/mcelog.conf b/SOURCES/mcelog.conf new file mode 100644 index 0000000..e4acbef --- /dev/null +++ b/SOURCES/mcelog.conf @@ -0,0 +1,57 @@ +# +# config file for mcelog +# For further options, see the mcelog manpage and documentation +# + +# Filter out known broken events by default +filter = yes +# don't log memory errors individually +#filter-memory-errors = yes + +# output in undecoded raw format to be easier machine readable +#raw = yes + +[server] +# An upstream bug prevents this from being disabled +# Only allow root to connect by default +client-user = root +# Path to socket client uses to connect +socket-path = /var/run/mcelog-client + +[dimm] +# Enable DIMM-tracking +dimm-tracking-enabled = yes +# Disable DIMM DMI pre-population unless supported on your system +dmi-prepopulate = no + +# execute these triggers when the rate of corrected or uncorrected +# errors per DIMM exceeds the threshold +uc-error-trigger = dimm-error-trigger +uc-error-threshold = 1 / 24h +ce-error-trigger = dimm-error-trigger +ce-error-threshold = 10 / 24h + +[socket] +# Memory error accounting per socket +socket-tracing-enabled = yes +mem-uc-error-threshold = 100 / 24h +mem-ce-error-trigger = socket-memory-error-trigger +mem-ce-error-threshold = 100 / 24h +mem-ce-error-log = yes + +[cache] +# Attempt to off-line CPUs causing cache errors +cache-threshold-trigger = cache-error-trigger +cache-threshold-log = yes + +[page] +# Try to soft-offline a 4K page if it exceeds the threshold +memory-ce-threshold = 10 / 24h +memory-ce-trigger = page-error-trigger +memory-ce-log = yes +memory-ce-action = soft + +[trigger] +# Maximum number of running triggers +children-max = 2 +directory = /etc/mcelog/triggers diff --git a/SOURCES/mcelog.service b/SOURCES/mcelog.service new file mode 100644 index 0000000..62d8cbe --- /dev/null +++ b/SOURCES/mcelog.service @@ -0,0 +1,17 @@ +[Unit] +Description=Machine Check Exception Logging Daemon +After=syslog.target + +# FIXME - due to upstream kernel bug always start the mcelog process +# twice using the following ExecStartPre hack. This needs fixing. +# There is a bug filed against systemd for the ExecStartPre bit +# since it is not possible to specify that the ExecStarPre bit +# is allowed and expected to fail without aborting the daemon. + +[Service] +ExecStartPre=/etc/mcelog/mcelog.setup +ExecStart=/usr/sbin/mcelog --ignorenodev --daemon --foreground +StandardOutput=syslog + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/mcelog.setup b/SOURCES/mcelog.setup new file mode 100644 index 0000000..c1966b8 --- /dev/null +++ b/SOURCES/mcelog.setup @@ -0,0 +1,12 @@ +#!/bin/sh +# +# An upstream kernel bug prevents mcelog from starting normally in +# daemon mode the first time it is run. So, in the systemd service, +# we want to start it twice - one as a ExecStartPre that will fail. +# But systemd will abort the process if the "pre" fails, so we use +# this script - temporarily - to start the first process. +# +# Waiting on Andi Kleen to fix upstream. +# +/usr/sbin/mcelog --ignorenodev --syslog --foreground +exit 0 diff --git a/SPECS/mcelog.spec b/SPECS/mcelog.spec new file mode 100644 index 0000000..99c315f --- /dev/null +++ b/SPECS/mcelog.spec @@ -0,0 +1,176 @@ +%define last_git_commit d2e13bf0 + +Summary: Tool to translate x86-64 CPU Machine Check Exception data +Name: mcelog +Version: 1.0 +Release: 0.8.%{last_git_commit}%{?dist} +Epoch: 2 +Group: System Environment/Base +License: GPLv2 +Source0: mcelog-%{last_git_commit}.tar.bz2 +Source1: mcelog.conf +Source2: mcelog.service +Source10: mcelog.setup +Patch0: mcelog-fix-trigger-path-and-cacheing.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 + +%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_git_commit} +%patch0 -p1 -b .fix-triggers-and-cacheing + +%build +mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir} +mkdir -p $RPM_BUILD_ROOT/%{_sbindir} +mkdir -p $RPM_BUILD_ROOT/%{_mandir} + +make CFLAGS="$RPM_OPT_FLAGS -fpie -pie" + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man{1,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 + +%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 +* 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. +