Blob Blame History Raw
Name:		ipmctl
Version:	01.00.00.3455
Release:	1%{?dist}
Summary:	Utility for managing Intel Optane DC persistent memory modules
License:	BSD
URL:		https://github.com/intel/ipmctl
Source:		https://github.com/intel/ipmctl/archive/v%{version}/%{name}-%{version}.tar.gz
# https://bugzilla.redhat.com/show_bug.cgi?id=1628752
ExclusiveArch:	x86_64

Requires:	libipmctl%{?_isa} = %{version}-%{release}
BuildRequires:	pkgconfig(libndctl)
BuildRequires:	pkgconfig(safec-3.3)
BuildRequires:	cmake
BuildRequires:	python3
BuildRequires:	gcc
BuildRequires:	gcc-c++
BuildRequires:	asciidoctor
Obsoletes:	ixpdimm-cli < 01.00.00.3000

%description
Utility for managing Intel Optane DC persistent memory modules
Supports functionality to:
Discover DCPMMs on the platform.
Provision the platform memory configuration.
View and update the firmware on DCPMMs.
Configure data-at-rest security on DCPMMs.
Monitor DCPMM health.
Track performance of DCPMMs.
Debug and troubleshoot DCPMMs.

%prep
%setup -q -n %{name}-%{version}

%package -n ipmctl-monitor
Summary:	Daemon for monitoring the status of Intel DCPMM
Requires:	libipmctl%{?_isa} = %{version}-%{release}
%{?systemd_requires}
BuildRequires:	systemd
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 libipmctl
Summary:	Library for Intel DCPMM management
Obsoletes:	ixpdimm_sw < 01.00.00.3000
Obsoletes:	libixpdimm-common < 01.00.00.3000
Obsoletes:	libixpdimm-core < 01.00.00.3000
Obsoletes:	libixpdimm-cli < 01.00.00.3000
Obsoletes:	libixpdimm-cim < 01.00.00.3000
Obsoletes:	libixpdimm < 01.00.00.3000
Obsoletes:	ixpdimm-data < 01.00.00.3000

%description -n libipmctl
An Application Programming Interface (API) library for managing Intel Optane DC
persistent memory modules.

%package -n libipmctl-devel
Summary:	Development packages for libipmctl
Requires:	libipmctl%{?_isa} = %{version}-%{release}
Obsoletes:	ixpdimm-devel < 01.00.00.3000
Obsoletes:	ixpdimm_sw-devel < 01.00.00.3000

%description -n libipmctl-devel
API for development of Intel Optane DC persistent memory management utilities.

%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 \
    -DSAFECLIB_SRC_DOWNLOAD_AND_STATIC_LINK=OFF \
    -DRPM_BUILD=ON
%make_build

%install
%{!?_cmake_version: cd build}
%make_install -f Makefile

%post -n ipmctl-monitor
%systemd_post ipmctl-monitor.service

%preun -n ipmctl-monitor
%systemd_preun stop ipmctl-monitor.service

%postun -n ipmctl-monitor
%systemd_postun_with_restart ipmctl-monitor.service

%files -n ipmctl
%{_bindir}/ipmctl
%{_mandir}/man1/ipmctl*

%files -n ipmctl-monitor
%{_bindir}/ipmctl-monitor
%{_unitdir}/ipmctl-monitor.service

%files -n libipmctl
%{_libdir}/libipmctl.so.3*
%dir %{_datadir}/doc/ipmctl
%doc %{_datadir}/doc/ipmctl/ipmctl_default.conf
%dir %{_datadir}/ipmctl
%config(noreplace) %{_datadir}/ipmctl/ipmctl.conf
%dir %{_localstatedir}/log/ipmctl
%config(noreplace) %{_sysconfdir}/logrotate.d/ipmctl.conf

%files -n libipmctl-devel
%{_libdir}/libipmctl.so
%{_includedir}/nvm_types.h
%{_includedir}/nvm_management.h
%{_includedir}/export_api.h
%{_includedir}/NvmSharedDefs.h
%{_libdir}/pkgconfig/libipmctl.pc

%changelog
* Fri Apr 26 2019 Juston Li <juston.li@intel.com> - 01.00.00.3455-1
- Release 01.00.00.3455

* Tue Mar 26 2019 Juston Li <juston.li@intel.com> - 01.00.00.3446-1
- Release 01.00.00.3446

* Fri Mar 1 2019 Juston Li <juston.li@intel.com> - 01.00.00.3429-1
- Release 01.00.00.3429

* Fri Feb 15 2019 Juston Li <juston.li@intel.com> - 01.00.00.3413-1
- Release 01.00.00.3413

* Wed Jan 30 2019 Juston Li <juston.li@intel.com> - 01.00.00.3402-1
- Release 01.00.00.3402

* Thu Jan 03 2019 Juston Li <juston.li@intel.com> - 01.00.00.3382-1
- Release 01.00.00.3382
- static safeclib flag set to off

* Wed May 02 2018 Juston Li <juston.li@intel.com> - 01.00.00.3000-1
- initial spec