Blob Blame History Raw
%define pre_release pre3

Summary:        Tool to translate x86-64 CPU Machine Check Exception data.
Name:           mcelog
Version:	1.0
Release:	0.3.%{pre_release}%{?dist}
Epoch:		2
Group:          System Environment/Base
License:        GPLv2
Source0:        http://www.kernel.org/pub/linux/utils/cpu/mce/mcelog-%{version}%{pre_release}.tar.bz2
Source1:	mcelog.conf
Source2:	mcelog.service
Source10:	mcelog.setup
Patch0:		mcelog-1.0pre3-fix-trigger-path-and-cacheing.patch
URL:            http://www.kernel.org/pub/linux/utils/cpu/mce/
Buildroot:      %{_tmppath}/%{name}-%{version}-root
ExclusiveArch:	i686 x86_64

%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}-%{version}%{pre_release}
%patch0 -p1 -b .fix-triggers-and-cacheing

%build
rm -rf $RPM_BUILD_ROOT
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
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/lib/systemd/system
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/lib/systemd/system/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
/lib/systemd/system/mcelog.service
%attr(0644,root,root) %{_mandir}/*/*

%changelog
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:1.0-0.3.pre3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Nov 10 2010 Jon Masters <jcm@redhat.com> 2:1.0-0.2.pre3
- Rework mcelog to use daemon mode and systemd.

* Tue Nov 09 2010 Jon Masters <jcm@redhat.com> 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 <davej@redhat.com> 1:1.0pre3-0.1
- Update to upstream mcelog-1.0pre3

* Mon Oct 05 2009 Orion Poplawski <orion@cora.nwra.com> - 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 <ajax@redhat.com> 0.7-5
- Fix %%install for new buildroot cleanout.

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Thu Aug  7 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1:0.7-2
- fix license tag
- clean this package up

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1:0.7-1.22
- Autorebuild for GCC 4.3

* Mon Jul 17 2006 Jesse Keating <jkeating@redhat.com>
- Rebuild.

* Fri Jun 30 2006 Dave Jones <davej@redhat.com>
- Rebuild. (#197385)

* Wed May 17 2006 Dave Jones <davej@redhat.com>
- Update to upstream 0.7
- Change frequency to hourly instead of daily.

* Thu Feb 09 2006 Dave Jones <davej@redhat.com>
- rebuild.

* Wed Feb  8 2006 Dave Jones <davej@redhat.com>
- Update to upstream 0.6

* Mon Dec 19 2005 Dave Jones <davej@redhat.com>
- Update to upstream 0.5

* Fri Dec 16 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt for new gcj

* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt

* Tue Mar  1 2005 Dave Jones <davej@redhat.com>
- Rebuild for gcc4

* Wed Feb  9 2005 Dave Jones <davej@redhat.com>
- Update to upstream 0.4

* Thu Jan 27 2005 Dave Jones <davej@redhat.com>
- Initial packaging.