File geopm-runtime.spec of Package geopm-service
# Copyright (c) 2015 - 2024 Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause
#
Summary: Global Extensible Open Power Manager Runtime
Name: geopm-runtime
Version: 3.1.0
Release: 1
License: BSD-3-Clause
Group: System Environment/Libraries
Vendor: Intel Corporation
URL: https://geopm.github.io
Source0: geopm-runtime-%{version}.tar.gz
BuildRoot: %{_tmppath}/geopm-runtime-%{version}-%{release}-root
Prefix: %{_prefix}
BuildRequires: gcc-c++
BuildRequires: unzip
BuildRequires: libtool
BuildRequires: geopm-service-devel
%if 0%{?suse_version}
BuildRequires: libelf-devel
%else
BuildRequires: elfutils-libelf-devel
%endif
%if 0%{?rhel} >= 8
# Needed to generate debuginfo packages
BuildRequires: gdb-headless
%endif
%if 0%{?suse_version}
BuildRequires: systemd-rpm-macros
%endif
Recommends: geopm-runtime-doc
%if %{defined suse_version}
%define docdir %{_defaultdocdir}/geopm
%else
%define docdir %{_defaultdocdir}/geopm-%{version}
%endif
Requires: libgeopm2 = %{version}
%description
The GEOPM Runtime is software designed to enhance energy efficiency of
applications through active hardware configuration. The architecture is
designed to provide a secure infrastructure to support a wide range of tuning
algorithms.
%prep
%setup -n geopm-runtime-%{version}
%package devel
Summary: Global Extensible Open Power Manager - development
Group: Development/Libraries
Requires: geopm-runtime
%description devel
Development package for GEOPM.
%package -n libgeopm2
Summary: Provides libgeopm shared object library
%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?rocky_ver} || 0%{?fedora}
# Deprecated for RHEL and CentOS
Group: System Environment/Libraries
%else
Group: System/Libraries
%endif
Recommends: libgeopm-doc
%description -n libgeopm2
Library supportingthe GEOPM Runtime. This provides the libgeopm
library which provides C and C++ interfaces.
%build
test -f configure || ./autogen.sh
./configure --prefix=%{_prefix} --libdir=%{_libdir} --libexecdir=%{_libexecdir} \
--includedir=%{_includedir} --sbindir=%{_sbindir} \
--docdir=%{docdir} \
--disable-mpi --disable-openmp \
--disable-fortran \
--disable-geopmd-local \
--disable-static \
|| ( cat config.log && false )
%{__make} %{?_smp_mflags}
%install
%{__make} DESTDIR=%{buildroot} install
rm -f $(find %{buildroot}/%{_libdir} -name '*.a'; \
find %{buildroot}/%{_libdir} -name '*.la')
%clean
%files
%defattr(-,root,root,-)
%{_bindir}/geopmadmin
%{_bindir}/geopmagent
%{_bindir}/geopmctl
%files -n libgeopm2
%defattr(-,root,root,-)
%{_libdir}/libgeopm.so.2.1.0
%{_libdir}/libgeopm.so.2
%files devel
%defattr(-,root,root,-)
%dir %{_includedir}/geopm
%{_includedir}/geopm/Agent.hpp
%{_includedir}/geopm/Environment.hpp
%{_includedir}/geopm/FrequencyGovernor.hpp
%{_includedir}/geopm/ModelRegion.hpp
%{_includedir}/geopm/PlatformIOProf.hpp
%{_includedir}/geopm/PowerBalancer.hpp
%{_includedir}/geopm/PowerGovernor.hpp
%{_includedir}/geopm/Profile.hpp
%{_includedir}/geopm/SampleAggregator.hpp
%{_includedir}/geopm/Waiter.hpp
%{_includedir}/geopm_agent.h
%{_includedir}/geopm_imbalancer.h
%{_includedir}/geopm_prof.h
%{_libdir}/libgeopm.so
%dir %{docdir}
%doc %{docdir}/LICENSE-BSD-3-Clause
%doc %{docdir}/README.md
%doc %{docdir}/VERSION