SHA256
1
0
forked from pool/rasdaemon
rasdaemon/rasdaemon.spec

104 lines
3.3 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package rasdaemon
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: rasdaemon
Version: 0.8.0.49.git+f9cb13b
Release: 0
Summary: Utility to receive RAS error tracings
License: GPL-2.0-only
Group: Hardware/Other
URL: http://git.infradead.org/users/mchehab/rasdaemon.git
Source: %{name}-%{version}.tar.xz
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext-devel
BuildRequires: libtool
Accepting request 1062553 from home:malcolmlewis:branches:hardware - Update to version 0.7.0.7.git+24204af: * README: Update instructions about how to contribute. * Makefile.am: enable all options on make distcheck. * configure.ac: get rid of obsolete macros. * ci.yml: add libtraceevent-dev dependency. * Remove the old libtrace. * Adjust indentations. * Convert to use libtraceevent. * on_tag.yml: use a different approach to upload artifact. * Add a release workflow. - Changes from version 0.7.0: * .gitignore: add the auto-generated "compile" file. * INSTALL: update from latest version of it. * configure.ac: fix bashisms. * labels/asus: add ASUS TUF GAMING B450-PLUS II. * rasdaemon: Add four modules supported by HiSilicon common section. * rasdaemon: Fix for a memory out-of-bounds issue and optimized code to remove duplicate function. * rasdaemon: ras-mc-ctl: Updated HiSilicon platform name. * rasdaemon: ras-mc-ctl: Relocate reading and display Kunpeng920 errors to under Kunpeng9xx. * rasdaemon: ras-mc-ctl: Add support to display the HiSilicon vendor errors for a specified module. * rasdaemon: ras-mc-ctl: Add printing usage if necessary parameters are not passed for the vendor-error options. * rasdaemon: ras-mc-ctl: Reformat error info of the HiSilicon Kunpeng920. * rasdaemon: ras-mc-ctl: Modify error statistics for HiSilicon KunPeng9xx common errors. * rasdaemon: Modify recording Hisilicon common error data. * rasdaemon: Support cpu fault isolation for recoverable errors. * rasdaemon: Support cpu fault isolation for corrected errors. * rasdaemon: ras-memory-failure-handler: handle localtime() failure correctly. * rasdaemon: mce-amd-smca: properly limit bank types. * rasdaemon: ras-report: fix possible but unlikely file descriptor leak. * libtrace: Use XSI version of strerror_r on non glibc systems. * rasdaemon: use the new block_rq_error tracepoint. - Add build requires libtraceevent-devel. OBS-URL: https://build.opensuse.org/request/show/1062553 OBS-URL: https://build.opensuse.org/package/show/hardware/rasdaemon?expand=0&rev=42
2023-02-02 09:18:15 +01:00
BuildRequires: libtraceevent-devel
BuildRequires: sqlite3-devel
Requires: perl-DBD-SQLite
Requires(pre): %fillup_prereq
%{?systemd_ordering}
%ifarch %ix86 x86_64
Requires: dmidecode
%else
Recommends: dmidecode
%endif
%description
rasdaemon is a RAS (Reliability, Availability and Serviceability) logging tool.
It currently records memory errors, using the EDAC tracing events.
EDAC is drivers in the Linux kernel that handle detection of ECC errors
from memory controllers for most chipsets on i386 and x86_64 architectures.
EDAC drivers for other architectures like arm also exists.
This userspace component consists of an init script which makes sure
EDAC drivers and DIMM labels are loaded at system startup, as well as
an utility for reporting current error counts from the EDAC sysfs files.
%prep
Accepting request 1062553 from home:malcolmlewis:branches:hardware - Update to version 0.7.0.7.git+24204af: * README: Update instructions about how to contribute. * Makefile.am: enable all options on make distcheck. * configure.ac: get rid of obsolete macros. * ci.yml: add libtraceevent-dev dependency. * Remove the old libtrace. * Adjust indentations. * Convert to use libtraceevent. * on_tag.yml: use a different approach to upload artifact. * Add a release workflow. - Changes from version 0.7.0: * .gitignore: add the auto-generated "compile" file. * INSTALL: update from latest version of it. * configure.ac: fix bashisms. * labels/asus: add ASUS TUF GAMING B450-PLUS II. * rasdaemon: Add four modules supported by HiSilicon common section. * rasdaemon: Fix for a memory out-of-bounds issue and optimized code to remove duplicate function. * rasdaemon: ras-mc-ctl: Updated HiSilicon platform name. * rasdaemon: ras-mc-ctl: Relocate reading and display Kunpeng920 errors to under Kunpeng9xx. * rasdaemon: ras-mc-ctl: Add support to display the HiSilicon vendor errors for a specified module. * rasdaemon: ras-mc-ctl: Add printing usage if necessary parameters are not passed for the vendor-error options. * rasdaemon: ras-mc-ctl: Reformat error info of the HiSilicon Kunpeng920. * rasdaemon: ras-mc-ctl: Modify error statistics for HiSilicon KunPeng9xx common errors. * rasdaemon: Modify recording Hisilicon common error data. * rasdaemon: Support cpu fault isolation for recoverable errors. * rasdaemon: Support cpu fault isolation for corrected errors. * rasdaemon: ras-memory-failure-handler: handle localtime() failure correctly. * rasdaemon: mce-amd-smca: properly limit bank types. * rasdaemon: ras-report: fix possible but unlikely file descriptor leak. * libtrace: Use XSI version of strerror_r on non glibc systems. * rasdaemon: use the new block_rq_error tracepoint. - Add build requires libtraceevent-devel. OBS-URL: https://build.opensuse.org/request/show/1062553 OBS-URL: https://build.opensuse.org/package/show/hardware/rasdaemon?expand=0&rev=42
2023-02-02 09:18:15 +01:00
%autosetup
%build
# Fixes:
# Makefile.am: error: required file './README' not found
# on old autoconf versions
ln -s README.md README
autoreconf -fvi
%configure --enable-all --with-sysconfdefdir=%{_sysconfdir}/sysconfig
CFLAGS="%{optflags}" make %{?_smp_mflags} V=1
%install
%make_install
make install DESTDIR=%{buildroot}
install -D -p -m 0644 misc/rasdaemon.service %{buildroot}%{_unitdir}/rasdaemon.service
install -D -p -m 0644 misc/ras-mc-ctl.service %{buildroot}%{_unitdir}/ras-mc-ctl.service
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcrasdaemon
ln -s %{_sbindir}/service %{buildroot}/%{_sbindir}/rcras-mc-ctl
rm INSTALL %{buildroot}%{_includedir}/*.h
mkdir -p %{buildroot}%{_localstatedir}/lib/rasdaemon
mkdir -p %{buildroot}%{_fillupdir}
mv %{buildroot}%{_sysconfdir}/sysconfig/rasdaemon %{buildroot}/%{_fillupdir}/sysconfig.rasdaemon
%pre
%service_add_pre rasdaemon.service ras-mc-ctl.service
%post
%fillup_only
%service_add_post rasdaemon.service ras-mc-ctl.service
%preun
%service_del_preun rasdaemon.service ras-mc-ctl.service
%postun
%service_del_postun rasdaemon.service ras-mc-ctl.service
%files
%license COPYING
%doc AUTHORS ChangeLog README.md TODO
%{_sbindir}/rasdaemon
%{_sbindir}/ras-mc-ctl
%{_sbindir}/rcrasdaemon
%{_sbindir}/rcras-mc-ctl
%{_mandir}/*/*
%{_unitdir}/*.service
%dir %{_sysconfdir}/ras
%dir %{_localstatedir}/lib/rasdaemon
%ghost %{_localstatedir}/lib/rasdaemon/ras-mc_event.db
%attr (644,root,root) %{_fillupdir}/sysconfig.rasdaemon
%changelog