## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global pypi_name nihtest %global forgeurl https://github.com/nih-at/nihtest %bcond_without tests Name: python-%{pypi_name} Version: 1.4.0 Release: %{autorelease} Summary: A testing tool for command line utilities %forgemeta License: BSD-3-Clause URL: %forgeurl Source: %forgesource Patch: run_tests_using_cmake_and_ctest.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: git-core # For generating manpages BuildRequires: make, mandoc # For running tests using CMake %if %{with tests} BuildRequires: cmake, gcc %endif %global _description %{expand: This is nihtest, a testing tool for command line utilities. Tests are run in a sandbox directory to guarantee a clean separation of the test. It checks that exit code, standard and error outputs are as expected and compares the files in the sandbox after the run with the expected results.} %description %_description %package -n python3-%{pypi_name} Summary: %{summary} Provides: nihtest = %{?epoch:%{epoch}:}%{version}-%{release} %description -n python3-%{pypi_name} %_description %prep %autosetup -p1 -n %{pypi_name}-%{version} -S git # Work around issue with package discovery due to SPECPARTS dir # https://github.com/rpm-software-management/rpm/issues/2532 # Another option seems to be to remove that dir echo -e '\n[tool.setuptools]\npackages = ["nihtest"]\n' >> pyproject.toml %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel # Generate man pages and docs pushd manpages make %{?_smp_mflags} popd %install %pyproject_install %pyproject_save_files %{pypi_name} mkdir -p %{buildroot}/%{_mandir}/man{1,5} mv manpages/nihtest.man manpages/nihtest.1 mv manpages/nihtest-case.man manpages/nihtest-case.5 mv manpages/nihtest.conf.man manpages/nihtest.conf.5 cp -a manpages/*.1 %{buildroot}/%{_mandir}/man1 cp -a manpages/*.5 %{buildroot}/%{_mandir}/man5 %check %pyproject_check_import # Run tests using CMake %if %{with tests} # Solution for running tests provided by Benson Muite touch check.sh echo "PATH=%{buildroot}%{_bindir}:${PATH} PYTHONPATH=%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}:${PYTHONPATH} %{python3} %{buildroot}%{_bindir}/nihtest -v \$1 " >> check.sh sed -i 's|${NIHTEST}|bash %{_builddir}/%{pypi_name}-%{version}/check.sh|g' tests/CMakeLists.txt sed -i 's|ENVIRONMENT "PATH=${path}"|ENVIRONMENT "PYTHONPATH=%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}:$ENV{PYTHONPATH}"|g' tests/CMakeLists.txt echo "PYTHONPATH=%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}" >> tests/nihtest.conf.in %cmake %cmake_build %ctest %endif %files -n python3-%{pypi_name} -f %{pyproject_files} %doc README.* %doc manpages/*.html %{_bindir}/%{pypi_name} %{_mandir}/man1/%{pypi_name}.1* %{_mandir}/man5/%{pypi_name}*.5* %changelog * Wed Jan 03 2024 Packit - 1.4.0-1 - [packit] 1.4.0 upstream release - Resolves rhbz#2255699 * Tue Nov 14 2023 Sandro - 1.2.0-4 - Add Packit config * Fri Jul 21 2023 Fedora Release Engineering - 1.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Wed Jul 19 2023 Sandro - 1.2.0-1 - Update to 1.2.0 (RHBZ#2224038) * Mon Jul 10 2023 Sandro - 1.1.1-1 - Initial release (RHBZ#2217257)