diff --git a/.gitignore b/.gitignore index d90d6ea..40575fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,2 @@ -/v0.1.4.tar.gz -/v0.1.5.tar.gz -/v0.1.5-1.tar.gz -/v1.0.0.tar.gz -/v1.0.1.tar.gz -/v1.1.0.tar.gz -/v1.2.0.tar.gz -/v2.0.0.tar.gz -/v2.1.0.tar.gz -/v3.0.0.tar.gz -/v3.0.1.tar.gz -/v3.1.1.tar.gz -/v4.0.0.tar.gz -/v4.1.0.tar.gz -/v4.3.0.tar.gz -/v4.4.1.tar.gz -/v4.5.0.tar.gz +/intel-cmt-cat-*.tar.gz +/v*.tar.gz diff --git a/0001-alter-install-paths.patch b/0001-alter-install-paths.patch new file mode 100644 index 0000000..76257a8 --- /dev/null +++ b/0001-alter-install-paths.patch @@ -0,0 +1,68 @@ +Description: Workaround environment variable settings + Add environment to be set by packaging +Forwarded: not-needed +Author: Colin Ian King + +Index: intel-cmt-cat-4.5.0/lib/Makefile +=================================================================== +--- intel-cmt-cat-4.5.0.orig/lib/Makefile ++++ intel-cmt-cat-4.5.0/lib/Makefile +@@ -124,10 +124,10 @@ endif + + HDR = pqos.h + PREFIX ?= /usr/local +-LIB_INSTALL_DIR ?= $(PREFIX)/lib +-HDR_DIR ?= $(PREFIX)/include ++LIB_INSTALL_DIR ?= $(DESTDIR)/usr/lib64 ++HDR_DIR ?= $(DESTDIR)/usr/include + DEPFILE = $(LIB).dep +-NOLDCONFIG ?= n ++NOLDCONFIG ?= y + + all: $(LIBNAME) + +Index: intel-cmt-cat-4.5.0/pqos/Makefile +=================================================================== +--- intel-cmt-cat-4.5.0.orig/pqos/Makefile ++++ intel-cmt-cat-4.5.0/pqos/Makefile +@@ -98,8 +98,8 @@ MAN = pqos.8 + + # XXX: modify as desired + PREFIX ?= /usr/local +-BIN_DIR = $(PREFIX)/bin +-MAN_DIR = $(PREFIX)/man/man8 ++BIN_DIR = $(DESTDIR)/usr/bin ++MAN_DIR = $(DESTDIR)/usr/share/man/man8 + + SRCS = $(sort $(wildcard *.c)) + OBJS = $(addprefix $(OBJDIR)/,$(SRCS:.c=.o)) +Index: intel-cmt-cat-4.5.0/rdtset/Makefile +=================================================================== +--- intel-cmt-cat-4.5.0.orig/rdtset/Makefile ++++ intel-cmt-cat-4.5.0/rdtset/Makefile +@@ -99,8 +99,8 @@ MAN = rdtset.8 + + # XXX: modify as desired + PREFIX ?= /usr/local +-BIN_DIR = $(PREFIX)/bin +-MAN_DIR = $(PREFIX)/man/man8 ++BIN_DIR = $(DESTDIR)/usr/bin ++MAN_DIR = $(DESTDIR)/usr/share/man/man8 + + SRCS = $(sort $(wildcard *.c)) + OBJS = $(SRCS:.c=.o) +Index: intel-cmt-cat-4.5.0/tools/membw/Makefile +=================================================================== +--- intel-cmt-cat-4.5.0.orig/tools/membw/Makefile ++++ intel-cmt-cat-4.5.0/tools/membw/Makefile +@@ -39,8 +39,8 @@ MAN = membw.8 + + # XXX: modify as desired + PREFIX ?= /usr/local +-BIN_DIR = $(PREFIX)/bin +-MAN_DIR = $(PREFIX)/man/man8 ++BIN_DIR = $(DESTDIR)/usr/bin ++MAN_DIR = $(DESTDIR)/usr/share/man/man8 + + CFLAGS=-W -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes \ + -Wmissing-declarations -Wold-style-definition -Wpointer-arith \ diff --git a/intel-cmt-cat.spec b/intel-cmt-cat.spec index 2d817ae..4c6b62c 100644 --- a/intel-cmt-cat.spec +++ b/intel-cmt-cat.spec @@ -1,174 +1,72 @@ -# Copyright (c) 2016-2020, Intel Corporation -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * 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. -# -# 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. +%global libpqos_ver 4.6.1 +%global desc %{expand: \ +This package provides basic support for Intel Resource Director Technology +including, Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring +(MBM), Cache Allocation Technology (CAT), Code and Data Prioritization +(CDP) and Memory Bandwidth Allocation (MBA).} -%global githubname intel-cmt-cat -%global githubver 4.5.0 +Name: intel-cmt-cat +Version: 23.08 +Release: 1%{?dist} +Summary: Intel cache monitoring and allocation technology config tool -%if %{defined githubsubver} -%global githubfull %{githubname}-%{githubver}.%{githubsubver} -%else -%global githubfull %{githubname}-%{githubver} -%endif +License: BSD-3-Clause +URL: https://github.com/intel/intel-cmt-cat +Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -# disable producing debuginfo for this package -%global debug_package %{nil} +Patch: 0001-alter-install-paths.patch +ExclusiveArch: x86_64 -Summary: Provides command line interface to CMT, MBM, CAT, CDP and MBA technologies -Name: %{githubname} -Release: 2%{?dist} -Version: %{githubver} -License: BSD -ExclusiveArch: x86_64 i686 i586 -%if %{defined githubsubver} -Source: https://github.com/01org/%{githubname}/archive/v%{githubver}.%{githubsubver}.tar.gz -%else -Source: https://github.com/01org/%{githubname}/archive/v%{githubver}.tar.gz -%endif -URL: https://github.com/01org/%{githubname} -BuildRequires: gcc, make +BuildRequires: gcc +BuildRequires: make %description -This software package provides basic support for -Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), -Cache Allocation Technology (CAT), Memory Bandwidth Allocation (MBA), -and Code Data Prioratization (CDP). +%{desc} -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. +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} -%package -n intel-cmt-cat-devel -Summary: Library and sample code to use CMT, MBM, CAT, CDP and MBA technologies -License: BSD -Requires: intel-cmt-cat == %{version} -ExclusiveArch: x86_64 i686 i586 +%description devel %{desc} -%description -n intel-cmt-cat-devel -This software package provides basic support for -Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), -Cache Allocation Technology (CAT), Memory Bandwidth Allocation (MBA), -and Code Data Prioratization (CDP). -The package includes library, header file and sample code. - -For additional information please refer to: -https://github.com/01org/%{githubname} +Development files. %prep -%autosetup -n %{githubfull} +%autosetup -p1 -n %{name}-%{version} + +%build +%make_build + +%install +%make_install %ldconfig_scriptlets -%build -make %{?_smp_mflags} - -%install -# Not doing make install as it strips the symbols. -# Using files from the build directory. -install -d %{buildroot}/%{_bindir} -install -s %{_builddir}/%{githubfull}/pqos/pqos %{buildroot}/%{_bindir} -install %{_builddir}/%{githubfull}/pqos/pqos-os %{buildroot}/%{_bindir} -install %{_builddir}/%{githubfull}/pqos/pqos-msr %{buildroot}/%{_bindir} -sed -i "1s/.*/\#!\/usr\/bin\/bash/" %{buildroot}/%{_bindir}/pqos-* - -install -d %{buildroot}/%{_mandir}/man8 -install -m 0644 %{_builddir}/%{githubfull}/pqos/pqos.8 %{buildroot}/%{_mandir}/man8 -ln -sf %{_mandir}/man8/pqos.8 %{buildroot}/%{_mandir}/man8/pqos-os.8 -ln -sf %{_mandir}/man8/pqos.8 %{buildroot}/%{_mandir}/man8/pqos-msr.8 - -install -d %{buildroot}/%{_bindir} -install -s %{_builddir}/%{githubfull}/rdtset/rdtset %{buildroot}/%{_bindir} - -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} - -# Install the library -install -d %{buildroot}/%{_libdir} -install -s %{_builddir}/%{githubfull}/lib/libpqos.so.* %{buildroot}/%{_libdir} -cp -a %{_builddir}/%{githubfull}/lib/libpqos.so %{buildroot}/%{_libdir} -cp -a %{_builddir}/%{githubfull}/lib/libpqos.so.4 %{buildroot}/%{_libdir} - -# Install the header file -install -d %{buildroot}/%{_includedir} -install -m 0644 %{_builddir}/%{githubfull}/lib/pqos.h %{buildroot}/%{_includedir} - -# Install license and sample code -install -d %{buildroot}/%{_usrsrc}/%{githubfull} -install -m 0644 %{_builddir}/%{githubfull}/LICENSE %{buildroot}/%{_usrsrc}/%{githubfull} - -install -d %{buildroot}/%{_usrsrc}/%{githubfull}/c - -install -d %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT_MBA -install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT_MBA/Makefile %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT_MBA -install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT_MBA/reset_app.c %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT_MBA -install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT_MBA/allocation_app_l2cat.c %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT_MBA -install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT_MBA/allocation_app_l3cat.c %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT_MBA -install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT_MBA/allocation_app_mba.c %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT_MBA -install -m 0644 %{_builddir}/%{githubfull}/examples/c/CAT_MBA/association_app.c %{buildroot}/%{_usrsrc}/%{githubfull}/c/CAT_MBA - -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 - %files -%{_bindir}/pqos -%{_bindir}/pqos-os -%{_bindir}/pqos-msr -%{_mandir}/man8/pqos.8.gz -%{_mandir}/man8/pqos-os.8.gz -%{_mandir}/man8/pqos-msr.8.gz -%{_bindir}/rdtset -%{_mandir}/man8/rdtset.8.gz -%{_libdir}/libpqos.so.* - -%{!?_licensedir:%global license %%doc} -%license %{_licensedir}/%{name}-%{version}/LICENSE +%license LICENSE %doc ChangeLog README.md - -%files -n intel-cmt-cat-devel -%{_libdir}/libpqos.so +%{_bindir}/membw +%{_bindir}/pqos +%{_bindir}/pqos-msr +%{_bindir}/pqos-os +%{_bindir}/rdtset %{_libdir}/libpqos.so.4 +%{_libdir}/libpqos.so.%{libpqos_ver} +%{_mandir}/man8/membw.8* +%{_mandir}/man8/pqos.8* +%{_mandir}/man8/pqos-msr.8* +%{_mandir}/man8/pqos-os.8* +%{_mandir}/man8/rdtset.8* + +%files -n %{name}-devel %{_includedir}/pqos.h -%{_usrsrc}/%{githubfull}/c/CAT_MBA/Makefile -%{_usrsrc}/%{githubfull}/c/CAT_MBA/reset_app.c -%{_usrsrc}/%{githubfull}/c/CAT_MBA/association_app.c -%{_usrsrc}/%{githubfull}/c/CAT_MBA/allocation_app_l2cat.c -%{_usrsrc}/%{githubfull}/c/CAT_MBA/allocation_app_l3cat.c -%{_usrsrc}/%{githubfull}/c/CAT_MBA/allocation_app_mba.c -%{_usrsrc}/%{githubfull}/c/CMT_MBM/Makefile -%{_usrsrc}/%{githubfull}/c/CMT_MBM/monitor_app.c -%doc %{_usrsrc}/%{githubfull}/LICENSE +%{_libdir}/libpqos.so %changelog +* Thu Aug 31 2023 Ali Erdinc Koroglu - 23.08-1 +- Update to 23.08 + * Thu Jul 20 2023 Fedora Release Engineering - 4.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 7d357ac..17edb59 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4.5.0.tar.gz) = e951ca9ee3db2c1f3deaf6f2513578f65361926924692cfbc6b218dc709fa78e394bdaa65de201e45ab981a0594e06ce878ad5fcadd85f732195bf4247e04401 +SHA512 (intel-cmt-cat-23.08.tar.gz) = a9f702bb9b9e997a78ddb847b95fa6b89b6d47bf211b50e353f0af378757fcae89a58fb7536dc810e58a9e479f838ad9b34b4bbc6f5ec49fbdb0cdb97bd78175