# SPDX-License-Identifier: GPL-2.0-or-later # Copyright (c) 2025 Red Hat, Inc. # Spec file for package ltp %define _lto_cflags %{nil} %global __requires_exclude expect %global debug_package %{nil} Version: 20250530 Release: 2 %if "%{flavor}" != "" Name: ltp%{?flavor:-}%{?flavor} Provides: ltp = %{version}-%{release} %else Name: ltp %endif Summary: The Linux Test Project License: GPL-2.0-or-later Group: System/Benchmark URL: http://linux-test-project.github.io Source: ltp-%{version}.tar.xz # Source1: ltp-rpmlintrc # Source99: baselibs.conf Patch1: 0001-shmat03-ignore-EACCES.patch Patch2: 0001-Disable-btrfs-as-we-don-t-support-it-anymore-new.patch Patch3: 0001-rhel9-support-futex_waitv.patch # Patch2: fix-cpuctl-tests-output-dir.patch #PATCHES BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: kernel-devel BuildRequires: keyutils-libs-devel BuildRequires: libacl-devel BuildRequires: libaio-devel BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libmnl-devel BuildRequires: openssl-devel BuildRequires: perl BuildRequires: perl-macros BuildRequires: pkgconfig BuildRequires: xfsprogs-devel BuildRequires: libtirpc-devel BuildRequires: xz Recommends: acl Recommends: apparmor-parser Recommends: apparmor-utils Recommends: attr Recommends: audit Recommends: bc Recommends: bind Recommends: binutils Recommends: dhcp-client Recommends: dhcp-server Recommends: dnsmasq Recommends: dosfstools Recommends: diffutils Recommends: e2fsprogs Recommends: ethtool Recommends: evmctl Recommends: exfat-utils Recommends: fuse-exfat Recommends: gcc Recommends: gdb Recommends: ibmtss Recommends: iptables Recommends: iputils Recommends: ltrace Recommends: lvm2 Recommends: kernel-modules-extra Recommends: make Recommends: net-tools Recommends: net-tools-deprecated Recommends: nfs-client Recommends: nfs-kernel-server Recommends: ntfsprogs Recommends: numactl Recommends: psmisc Recommends: quota Recommends: rpcbind Recommends: rsync Recommends: squashfs Recommends: sssd-tools Recommends: strace Recommends: sudo Recommends: sysstat Recommends: tcpdump Recommends: telnet Recommends: telnet-server Recommends: tpm-tools Recommends: traceroute Recommends: vsftpd Recommends: wget Recommends: wireguard-tools Recommends: xfsprogs Recommends: xinetd Recommends: expect Recommends: exfatprogs Conflicts: ltp Conflicts: qa_test_ltp BuildRequires: numactl-devel BuildRequires: libuuid-devel %if "%{flavor}" == "64kb" ExclusiveArch: aarch64 %endif %description A collection of test suites to validate the reliability, robustness and stability of Linux. It provides tools for testing the kernel and related features. %prep %autosetup -p1 -n ltp-%{version} %define prefix /mnt/testarea/ltp # override release VERSION with commit based version set by the OBS service echo '%{version}' > VERSION %build make %{?_smp_mflags} autotools %configure \ --prefix=%{prefix} \ --bindir=%{prefix}/bin \ --exec-prefix=%{prefix}/usr \ --with-realtime-testsuite \ --with-open-posix-testsuite make all %{?_smp_mflags} %install %make_install # Deal with openposix test binaries and create runtest file mkdir -p %{buildroot}%{prefix}/testcases/bin/openposix cd testcases/open_posix_testsuite # Exclude tests which are "build only" for i in `find conformance/interfaces/ -name '*.run-test' -a ! -name '*-buildonly*'` ; do # create runtest openposix file echo `basename "$i" .run-test | sed s/-/_/` '${LTPROOT}/testcases/bin/openposix/'$i >> ../../runtest/openposix; # install binaries mkdir -p %{buildroot}%{prefix}/testcases/bin/openposix/`dirname $i`; cp $i %{buildroot}%{prefix}/testcases/bin/openposix/`dirname $i`; done cp ../../runtest/openposix %{buildroot}%{prefix}/runtest/ cd ../.. # Exclude tst_brkm HARDLINKS1="tst_exit tst_fs_has_free tst_brk" HARDLINKS2="tst_res tst_ncpus tst_ncpus_conf tst_ncpus_max tst_resm" cd %{buildroot}%{prefix}/testcases/bin for n in $HARDLINKS1 $HARDLINKS2; do ln -s -f tst_brkm $n done # remove common noarch files which we don't need and prevent installing 64bit # and 32bit packages on the same system rm -rfv %{buildroot}%{_bindir}/execltp %{buildroot}%{_mandir} %files %license COPYING %doc README.rst INSTALL # Explicitly list test data files that require executable permission %attr(0755,root,root) %{prefix}/testcases/data/binfmt_misc02/file.extension %attr(0755,root,root) %{prefix}/testcases/data/binfmt_misc02/file.magic %{prefix} %changelog