intel-cmt-cat/intel-cmt-cat.spec

197 lines
8.0 KiB
RPMSpec
Raw Normal View History

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