# # spec file for package ipmctl # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # Name: ipmctl Version: 01.00.00.3102 Release: 0 Summary: Utility for managing Intel Optane DC persistent memory modules License: BSD-3-Clause Group: System/Management Url: https://github.com/intel/ipmctl Source: https://github.com/intel/ipmctl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: %{name}-rpmlintrc Patch1: ipmctl-fix-SLE12-build.patch Requires: libipmctl2%{?_isa} = %{version}-%{release} %if %{defined pythons} BuildRequires: %{pythons} %else BuildRequires: python2 %endif BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkgconfig BuildRequires: systemd BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(libndctl) Obsoletes: ixpdimm-cli < 01.00.00.3000 ExclusiveArch: x86_64 %description Utility for managing Intel Optane DC persistent memory modules Supports functionality to: * Discover PMMs on the platform. * Provision the platform memory configuration. * View and update the firmware on PMMs. * Configure data-at-rest security on PMMs. * Monitor PMM health. * Track performance of PMMs. * Debug and troubleshoot PMMs. %package -n ipmctl-monitor Summary: Daemon for monitoring the status of Intel PMM Group: System/Monitoring Conflicts: libipmctl2%{?_isa} < %{version}-%{release} %{?systemd_requires} Obsoletes: ixpdimm-monitor < 01.00.00.3000 %description -n ipmctl-monitor A monitor daemon for monitoring the health and status of Intel Optane DC persistent memory modules %package -n libipmctl2 Summary: Library for Intel PMM management Group: System/Libraries Requires: %{name}-data Obsoletes: ixpdimm-data < 01.00.00.3000 Obsoletes: ixpdimm_sw < 01.00.00.3000 Obsoletes: libixpdimm < 01.00.00.3000 Obsoletes: libixpdimm-cim < 01.00.00.3000 Obsoletes: libixpdimm-cli < 01.00.00.3000 Obsoletes: libixpdimm-common < 01.00.00.3000 Obsoletes: libixpdimm-core < 01.00.00.3000 %description -n libipmctl2 An Application Programming Interface (API) library for managing Intel Optane DC persistent memory modules. %package -n %{name}-data Summary: Data files for %{name} Group: System/Libraries %description -n ipmctl-data Non-versioned files for libipmctl2. %package -n ipmctl-devel Summary: Development packages for libipmctl Group: Development/Libraries/C and C++ Requires: libipmctl2 = %{version} Obsoletes: ixpdimm-devel < 01.00.00.3000 Obsoletes: ixpdimm_sw-devel < 01.00.00.3000 %description -n ipmctl-devel API for development of Intel Optane DC persistent memory management utilities. %prep %setup -q -n %{name}-%{version} %patch1 -p1 %build %cmake -DBUILDNUM=%{version} -DCMAKE_INSTALL_PREFIX=/ \ -DLINUX_PRODUCT_NAME=%{name} \ -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ -DCMAKE_INSTALL_BINDIR=%{_bindir} \ -DCMAKE_INSTALL_DATAROOTDIR=%{_datadir} \ -DCMAKE_INSTALL_MANDIR=%{_mandir} \ -DCMAKE_INSTALL_LOCALSTATEDIR=%{_localstatedir} \ -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ -DINSTALL_UNITDIR=%{_unitdir} \ -DRELEASE=ON \ -DRPM_BUILD=ON %make_jobs %install %cmake_install mkdir -p %{buildroot}%{_sbindir} ln -sf service %{buildroot}%{_sbindir}/rcipmctl-monitor %post -n libipmctl2 -p /sbin/ldconfig %postun -n libipmctl2 -p /sbin/ldconfig %pre -n ipmctl-monitor %service_add_pre ipmctl-monitor.service %post -n ipmctl-monitor %service_add_post ipmctl-monitor.service %preun -n ipmctl-monitor %service_del_preun ipmctl-monitor.service %postun -n ipmctl-monitor %service_del_postun ipmctl-monitor.service %files %defattr(-,root,root) %license LICENSE %{_bindir}/ipmctl %files -n ipmctl-monitor %defattr(-,root,root) %license LICENSE %{_bindir}/ipmctl-monitor %{_sbindir}/rcipmctl-monitor %{_unitdir}/ipmctl-monitor.service %files -n libipmctl2 %defattr(-,root,root) %{_libdir}/libipmctl.so.* %files -n %{name}-data %defattr(-,root,root) %dir %{_datadir}/doc/ipmctl %doc %{_datadir}/doc/ipmctl/ipmctl_default.conf %config %{_sysconfdir}/ipmctl.conf %dir %attr(644,root,root) %{_localstatedir}/log/ipmctl %files -n ipmctl-devel %defattr(-,root,root) %doc README.md %{_libdir}/libipmctl.so %attr(644,root,root) %{_includedir}/nvm_types.h %attr(644,root,root) %{_includedir}/nvm_management.h %attr(644,root,root) %{_includedir}/export_api.h %attr(644,root,root) %{_includedir}/NvmStatusValues.h %changelog