Blob Blame History Raw
Name:       phoronix-test-suite
Version:    10.8.4
Release:    %autorelease
Summary:    An Automated, Open-Source Testing Framework

License:    GPLv3+
URL:        http://%{name}.com/
Source0:    http://www.%{name}.com/releases/%{name}-%{version}.tar.gz
Source1:    README.Fedora
# Fix for CVE reported in https://github.com/phoronix-test-suite/phoronix-test-suite/issues/650
Patch0:     https://github.com/phoronix-test-suite/phoronix-test-suite/commit/d3880d9d3ba795138444da83f1153c3c3ac27640.diff#/CVE-2022-40704.diff
BuildArch:  noarch

BuildRequires: desktop-file-utils
BuildRequires: systemd
BuildRequires: libappstream-glib
BuildRequires: appdata-tools

Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd

Requires: php-cli
Requires: php-xml
Requires: php-json
Requires: php-openssl
Requires: php-gd
Requires: php-sqlite3
Requires: php-posix
Requires: php-curl
Requires: hicolor-icon-theme


#These packages are not included anymore
#Packages required by tests. Use the following command to create this list:
#cat phoronix-test-suite/pts-core/external-test-dependencies/xml/fedora-packages.xml phoronix-test-suite/pts-core/external-test-dependencies/xml/generic-packages.xml| grep PackageName |sed -e 's/^.*<PackageName>\([^<]*\)<\/PackageName>.*$/\1/g' |xargs yum info|grep Name|sed -e 's/.*:\s\([^\s]*\)/\1/g'|grep -v devel$|sort|uniq|xargs
#Requires: autoconf automake bison blas cmake curl flex gcc gcc-c++ gcc-gfortran jam libcurl libtool make openmpi p7zip perl python scons tcl tcsh yasm

%description
The Phoronix Test Suite is the most comprehensive testing and benchmarking 
platform available for the Linux operating system. This software is designed to 
effectively carry out both qualitative and quantitative benchmarks in a clean, 
reproducible, and easy-to-use manner. The Phoronix Test Suite consists of a 
lightweight processing core (pts-core) with each benchmark consisting of an 
XML-based profile with related resource scripts. The process from the benchmark 
installation, to the actual benchmarking, to the parsing of important hardware 
and software components is heavily automated and completely repeatable, asking 
users only for confirmation of actions.

%prep
%autosetup -n %{name} -p1
cp -p %{SOURCE1} documentation/

%build
# Nothing needed here

%install
export DESTDIR=%{buildroot}
./install-sh %{_prefix}
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}-launcher.desktop
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml

%post
%systemd_post phoromatic-client.service
%systemd_post phoromatic-server.service
%systemd_post phoronix-result-server.service

%postun
%systemd_postun_with_restart phoromatic-client.service
%systemd_postun_with_restart phoromatic-server.service
%systemd_postun_with_restart phoronix-result-server.service

%preun
%systemd_preun phoromatic-client.service
%systemd_preun phoromatic-server.service
%systemd_preun phoronix-result-server.service

%files
%doc %{_datadir}/doc/%{name} 
%{_datadir}/%{name}
%{_datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png
%{_datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%config(noreplace) %{_sysconfdir}/bash_completion.d
%{_datadir}/applications/*
%{_datadir}/mime/packages/*
%{_datadir}/appdata/%{name}.appdata.xml
%{_unitdir}/phoromatic-client.service
%{_unitdir}/phoromatic-server.service
%{_unitdir}/phoronix-result-server.service

%changelog
%autochangelog