Blame rpm/intel-cmt-cat.spec

Packit bcb633
# Copyright (c) 2016-2017, Intel Corporation
Packit bcb633
#
Packit bcb633
# Redistribution and use in source and binary forms, with or without
Packit bcb633
# modification, are permitted provided that the following conditions are met:
Packit bcb633
#
Packit bcb633
#     * Redistributions of source code must retain the above copyright notice,
Packit bcb633
#       this list of conditions and the following disclaimer.
Packit bcb633
#     * Redistributions in binary form must reproduce the above copyright
Packit bcb633
#       notice, this list of conditions and the following disclaimer in the
Packit bcb633
#       documentation and/or other materials provided with the distribution.
Packit bcb633
#     * Neither the name of Intel Corporation nor the names of its contributors
Packit bcb633
#       may be used to endorse or promote products derived from this software
Packit bcb633
#       without specific prior written permission.
Packit bcb633
#
Packit bcb633
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Packit bcb633
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Packit bcb633
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Packit bcb633
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
Packit bcb633
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit bcb633
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Packit bcb633
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Packit bcb633
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Packit bcb633
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Packit bcb633
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Packit bcb633
Packit bcb633
%global githubname   intel-cmt-cat
Packit bcb633
%global githubver    2.0.0
Packit bcb633
Packit bcb633
%if %{defined githubsubver}
Packit bcb633
%global githubfull   %{githubname}-%{githubver}.%{githubsubver}
Packit bcb633
%else
Packit bcb633
%global githubfull   %{githubname}-%{githubver}
Packit bcb633
%endif
Packit bcb633
Packit bcb633
# disable producing debuginfo for this package
Packit bcb633
%global debug_package %{nil}
Packit bcb633
Packit bcb633
Packit bcb633
Summary:            Provides command line interface to CMT, MBM, CAT, CDP and MBA technologies
Packit bcb633
Name:               %{githubname}
Packit bcb633
Release:            2%{?dist}
Packit bcb633
Version:            %{githubver}
Packit bcb633
License:            BSD
Packit bcb633
Group:              Development/Tools
Packit bcb633
ExclusiveArch:      x86_64 i686 i586
Packit bcb633
%if %{defined githubsubver}
Packit bcb633
Source:             https://github.com/01org/%{githubname}/archive/v%{githubver}.%{githubsubver}.tar.gz
Packit bcb633
%else
Packit bcb633
Source:             https://github.com/01org/%{githubname}/archive/v%{githubver}.tar.gz
Packit bcb633
%endif
Packit bcb633
URL:                https://github.com/01org/%{githubname}
Packit bcb633
BuildRequires:      gcc, make
Packit bcb633
Packit bcb633
%description
Packit bcb633
This software package provides basic support for
Packit bcb633
Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM),
Packit bcb633
Cache Allocation Technology (CAT), Memory Bandwidth Allocation (MBA),
Packit bcb633
and Code Data Prioratization (CDP).
Packit bcb633
Packit bcb633
CMT, MBM and CAT are configured using Model Specific Registers (MSRs)
Packit bcb633
to measure last level cache occupancy, set up the class of service masks and
Packit bcb633
manage the association of the cores/logical threads to a class of service.
Packit bcb633
The software executes in user space, and access to the MSRs is
Packit bcb633
obtained through a standard Linux* interface. The virtual file system
Packit bcb633
provides an interface to read and write the MSR registers but
Packit bcb633
it requires root privileges.
Packit bcb633
Packit bcb633
%package -n intel-cmt-cat-devel
Packit bcb633
Summary:            Library and sample code to use CMT, MBM, CAT, CDP and MBA technologies
Packit bcb633
License:            BSD
Packit bcb633
Requires:           intel-cmt-cat == %{version}
Packit bcb633
Group:              Development/Tools
Packit bcb633
ExclusiveArch:      x86_64 i686 i586
Packit bcb633
Packit bcb633
%description -n intel-cmt-cat-devel
Packit bcb633
This software package provides basic support for
Packit bcb633
Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM),
Packit bcb633
Cache Allocation Technology (CAT), Memory Bandwidth Allocation (MBA),
Packit bcb633
and Code Data Prioratization (CDP).
Packit bcb633
The package includes library, header file and sample code.
Packit bcb633
Packit bcb633
For additional information please refer to:
Packit bcb633
https://github.com/01org/%{githubname}
Packit bcb633
Packit bcb633
%prep
Packit bcb633
%autosetup -n %{githubfull}
Packit bcb633
Packit bcb633
%post -p /sbin/ldconfig
Packit bcb633
Packit bcb633
%postun -p /sbin/ldconfig
Packit bcb633
Packit bcb633
%build
Packit bcb633
make %{?_smp_mflags}
Packit bcb633
Packit bcb633
%install
Packit bcb633
# Not doing make install as it strips the symbols.
Packit bcb633
# Using files from the build directory.
Packit bcb633
install -d %{buildroot}/%{_bindir}
Packit bcb633
install -s %{_builddir}/%{githubfull}/pqos/pqos %{buildroot}/%{_bindir}
Packit bcb633
install %{_builddir}/%{githubfull}/pqos/pqos-os %{buildroot}/%{_bindir}
Packit bcb633
install %{_builddir}/%{githubfull}/pqos/pqos-msr %{buildroot}/%{_bindir}
Packit bcb633
sed -i "1s/.*/\#!\/usr\/bin\/bash/" %{buildroot}/%{_bindir}/pqos-*
Packit bcb633
Packit bcb633
install -d %{buildroot}/%{_mandir}/man8
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/pqos/pqos.8  %{buildroot}/%{_mandir}/man8
Packit bcb633
ln -sf %{_mandir}/man8/pqos.8 %{buildroot}/%{_mandir}/man8/pqos-os.8
Packit bcb633
ln -sf %{_mandir}/man8/pqos.8 %{buildroot}/%{_mandir}/man8/pqos-msr.8
Packit bcb633
Packit bcb633
install -d %{buildroot}/%{_bindir}
Packit bcb633
install -s %{_builddir}/%{githubfull}/rdtset/rdtset %{buildroot}/%{_bindir}
Packit bcb633
Packit bcb633
install -d %{buildroot}/%{_mandir}/man8
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/rdtset/rdtset.8  %{buildroot}/%{_mandir}/man8
Packit bcb633
Packit bcb633
install -d %{buildroot}/%{_licensedir}/%{name}-%{version}
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/LICENSE %{buildroot}/%{_licensedir}/%{name}-%{version}
Packit bcb633
Packit bcb633
# Install the library
Packit bcb633
install -d %{buildroot}/%{_libdir}
Packit bcb633
install -s %{_builddir}/%{githubfull}/lib/libpqos.so.* %{buildroot}/%{_libdir}
Packit bcb633
cp -a %{_builddir}/%{githubfull}/lib/libpqos.so %{buildroot}/%{_libdir}
Packit bcb633
cp -a %{_builddir}/%{githubfull}/lib/libpqos.so.2 %{buildroot}/%{_libdir}
Packit bcb633
Packit bcb633
# Install the header file
Packit bcb633
install -d %{buildroot}/%{_includedir}
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/lib/pqos.h %{buildroot}/%{_includedir}
Packit bcb633
Packit bcb633
# Install license and sample code
Packit bcb633
install -d %{buildroot}/%{_usrsrc}/%{githubfull}
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/LICENSE %{buildroot}/%{_usrsrc}/%{githubfull}
Packit bcb633
Packit bcb633
install -d %{buildroot}/%{_usrsrc}/%{githubfull}/c
Packit bcb633
Packit bcb633
install -d %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT/Makefile          %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT/reset_app.c       %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT/allocation_app.c  %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT/association_app.c %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT
Packit bcb633
Packit bcb633
install -d %{buildroot}/%{_usrsrc}/%{githubfull}/c/CMT_MBM
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/examples/c/CMT_MBM/Makefile      %{buildroot}/%{_usrsrc}/%{githubfull}/c/CMT_MBM
Packit bcb633
install -m 0644 %{_builddir}/%{githubfull}/examples/c/CMT_MBM/monitor_app.c %{buildroot}/%{_usrsrc}/%{githubfull}/c/CMT_MBM
Packit bcb633
Packit bcb633
%files
Packit bcb633
%{_bindir}/pqos
Packit bcb633
%{_bindir}/pqos-os
Packit bcb633
%{_bindir}/pqos-msr
Packit bcb633
%{_mandir}/man8/pqos.8.gz
Packit bcb633
%{_mandir}/man8/pqos-os.8.gz
Packit bcb633
%{_mandir}/man8/pqos-msr.8.gz
Packit bcb633
%{_bindir}/rdtset
Packit bcb633
%{_mandir}/man8/rdtset.8.gz
Packit bcb633
%{_libdir}/libpqos.so.*
Packit bcb633
Packit bcb633
%{!?_licensedir:%global license %%doc}
Packit bcb633
%license %{_licensedir}/%{name}-%{version}/LICENSE
Packit bcb633
%doc ChangeLog README
Packit bcb633
Packit bcb633
%files -n intel-cmt-cat-devel
Packit bcb633
%{_libdir}/libpqos.so
Packit bcb633
%{_libdir}/libpqos.so.2
Packit bcb633
%{_includedir}/pqos.h
Packit bcb633
%{_usrsrc}/%{githubfull}/c/CAT/Makefile
Packit bcb633
%{_usrsrc}/%{githubfull}/c/CAT/reset_app.c
Packit bcb633
%{_usrsrc}/%{githubfull}/c/CAT/association_app.c
Packit bcb633
%{_usrsrc}/%{githubfull}/c/CAT/allocation_app.c
Packit bcb633
%{_usrsrc}/%{githubfull}/c/CMT_MBM/Makefile
Packit bcb633
%{_usrsrc}/%{githubfull}/c/CMT_MBM/monitor_app.c
Packit bcb633
%doc %{_usrsrc}/%{githubfull}/LICENSE
Packit bcb633
Packit bcb633
%changelog
Packit bcb633
* Mon Jun 18 2018 Michal Aleksinski <michalx.aleksinski@intel.com> 2.0.0-1
Packit bcb633
- New release 2.0.0
Packit bcb633
Packit bcb633
* Wed Mar 7 2018 Michal Aleksinski <michalx.aleksinski@intel.com> 1.2.0-2
Packit bcb633
- Updated package build requirements
Packit bcb633
Packit bcb633
* Wed Nov 29 2017 Marcel Cornu <marcel.d.cornu@intel.com>, Wojciech Andralojc <wojciechx.andralojc@intel.com> 1.2.0-1
Packit bcb633
- New release 1.2.0
Packit bcb633
Packit bcb633
* Thu Aug 3 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Marcel Cornu <marcel.d.cornu@intel.com> 1.1.0-1
Packit bcb633
- New release 1.1.0
Packit bcb633
Packit bcb633
* Wed Jun 21 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Marcel Cornu <marcel.d.cornu@intel.com> 1.0.1-1
Packit bcb633
- Spec file bug fixes
Packit bcb633
Packit bcb633
* Wed Jun 07 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Marcel Cornu <marcel.d.cornu@intel.com> 1.0.1-1
Packit bcb633
- new release
Packit bcb633
- bug fixes
Packit bcb633
Packit bcb633
* Fri May 19 2017 Aaron Hetherington <aaron.hetherington@intel.com>, Michal Aleksinski <michalx.aleksinski@intel.com> 1.0.0-1
Packit bcb633
- new release
Packit bcb633
Packit bcb633
* Tue Feb 14 2017 Aaron Hetherington <aaron.hetherington@intel.com> 0.1.5-1
Packit bcb633
- new release
Packit bcb633
Packit bcb633
* Mon Oct 17 2016 Aaron Hetherington <aaron.hetherington@intel.com> 0.1.5
Packit bcb633
- new release
Packit bcb633
Packit bcb633
* Tue Apr 19 2016 Tomasz Kantecki <tomasz.kantecki@intel.com> 0.1.4-3
Packit bcb633
- global typo fix
Packit bcb633
- small edits in the description
Packit bcb633
Packit bcb633
* Mon Apr 18 2016 Tomasz Kantecki <tomasz.kantecki@intel.com> 0.1.4-2
Packit bcb633
- LICENSE file added to the package
Packit bcb633
Packit bcb633
* Thu Apr 7 2016 Tomasz Kantecki <tomasz.kantecki@intel.com> 0.1.4-1
Packit bcb633
- initial version of the package