# needed for test content %{?perl_default_filter} %global __provides_exclude_from %{?_provides_exclude_from:%_provides_exclude_from|}%{_datadir}/fedora-review/ %global __requires_exclude_from %{?_requires_exclude_from:%_requires_exclude_from|}%{_datadir}/fedora-review/test/ #invoke with "--with tests" to enable tests %bcond_with tests # See notes in make_release which patches this. ## global git_tag .f03e4e7 # Support jenkins build number if available. %global build_nr %(echo "${BUILD_NUMBER:+.}${BUILD_NUMBER:-%%{nil\\}}") Name: fedora-review Version: 0.7.2 Release: 1%{?build_nr}%{?git_tag}%{?dist} Summary: Review tool for fedora rpm packages License: GPLv2+ URL: https://pagure.io/FedoraReview Source0: https://releases.pagure.org/FedoraReview/%{name}-%{version}%{?git_tag}.tar.gz BuildArch: noarch BuildRequires: python3-beautifulsoup4 BuildRequires: python3-bugzilla BuildRequires: python3-packaging BuildRequires: python3-straight-plugin BuildRequires: python3-devel BuildRequires: python3-rpm BuildRequires: python3-dnf Requires: fedora-packager Requires: python3-beautifulsoup4 Requires: python3-bugzilla Requires: python3-packaging Requires: python3-straight-plugin Requires: python3-rpm Requires: python3-dnf # licensecheck used to be in rpmdevtools, moved to devscripts later # this is compatible with both situations without ifdefs Requires: %{_bindir}/licensecheck # We require DNF and the repoquery command Requires: dnf Requires: dnf-command(repoquery) # Let's be consistent with the name used on pagure.io Provides: FedoraReview = %{version}-%{release} Provides: %{name}-php-phpci = %{version}-%{release} Obsoletes: %{name}-php-phpci < %{version}-%{release} %description This tool automates much of the dirty work when reviewing a package for the Fedora Package Collection like: * Downloading SRPM & SPEC. * Download upstream source * Check md5sums * Build and install package in mock. * Run rpmlint. * Generate a review template, which becomes the starting point for the review work. The tool is composed of plugins, one for each supported language. As of today, there is plugins for C/C++, Ruby, java, R, perl and python. There is also support for external tests that can be written in a simple way in bash. %package plugin-ruby Summary: Enhanced ruby tests for fedora-review Requires: %{name} = %{version}-%{release} %description plugin-ruby fedora-review ruby-specific tests, not installed by default. %package tests Summary: Test and test data files for fedora-review Requires: %{name} = %{version}-%{release} Requires: python3-nose %description tests Tests are packaged separately due to space concerns. %prep %autosetup -p1 %build %py3_build %install %py3_install pkg_dir="%{buildroot}/%{python3_sitelib}/FedoraReview" ln -s %{_datadir}/%{name}/scripts $pkg_dir/scripts ln -s %{_datadir}/%{name}/plugins $pkg_dir/plugins cd test bash < restore-links.sh rm restore-links.sh remember-links cd .. cp -ar test "%{buildroot}%{_datadir}/%{name}" cp -a pycodestyle.conf pylint.conf "%{buildroot}%{_datadir}/%{name}" # Fix shebangs in %%{_bindir}. chmod -c 0755 %{buildroot}%{_bindir}/* pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitelib} %{buildroot}%{_bindir}/* %check %if %{with tests} cd test export REVIEW_LOGLEVEL=warning export MAKE_RELEASE=1 mock --quiet -r fedora-28-i386 --init mock --quiet -r fedora-28-i386 --uniqueext=hugo --init %{__python3} -m unittest discover -f %endif %files %doc README %license COPYING AUTHORS %{python3_sitelib}/FedoraReview %{python3_sitelib}/fedora_review-%{version}-py%{python3_version}.egg-info %{_bindir}/fedora-review %{_bindir}/fedora-create-review %{_bindir}/koji-download-scratch %{_mandir}/man1/%{name}.1.* %{_mandir}/man1/fedora-create-review.1.* %dir %{_datadir}/%{name} %{_datadir}/%{name}/plugins %exclude %{_datadir}/%{name}/plugins/ruby.py %{_datadir}/%{name}/scripts %{_datadir}/%{name}/pycodestyle.conf %{_datadir}/%{name}/pylint.conf %files plugin-ruby %{_datadir}/%{name}/plugins/ruby.py %files tests %doc test/README.test %{_datadir}/%{name}/test %changelog * Tue Apr 09 2019 Neal Gompa - 0.7.2-1 - New upstream release 0.7.2 * Sun Mar 24 2019 Neal Gompa - 0.7.1-2 - Backport fix to add missing logging import * Thu Mar 21 2019 Neal Gompa - 0.7.1-1 - New upstream release 0.7.1 * Sun Mar 17 2019 Neal Gompa - 0.7.0-1 - New upstream release 0.7.0 - Switch to Python 3 * Thu Jan 31 2019 Fedora Release Engineering - 0.6.1-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 0.6.1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Mar 01 2018 Iryna Shcherbina - 0.6.1-9 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) * Wed Feb 07 2018 Fedora Release Engineering - 0.6.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 0.6.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon Jun 05 2017 Björn Esser - 0.6.1-6 - Fix shebangs in %%{_bindir} * Fri Jun 02 2017 Björn Esser - 0.6.1-5 - Add mock-option '--no-bootstrap-chroot' to defaults, if mock >= 1.4.1 - Update spec file to recent guidelines - Change package url and source to Pagure * Fri Feb 10 2017 Fedora Release Engineering - 0.6.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Thu Oct 06 2016 Pierre-Yves Chibon - 0.6.1-3 - Drop requirement to python-argparse now that it has been in python's stdlib for so long * Tue Jul 19 2016 Fedora Release Engineering - 0.6.1-2 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Mon May 02 2016 Alec Leamas - 0.6.1-1.f03e4e7 - New upstream release 0.6.1 * Tue Feb 16 2016 Orion Poplawski - 0.6.0-4 - Exclude test content from perl requires * Wed Feb 03 2016 Fedora Release Engineering - 0.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 0.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed May 20 2015 Alec Leamas - 0.6.0-1.afb5485 - Update to 0.6.0 * Mon May 04 2015 Pierre-Yves Chibon - 0.5.3-1 - Update to 0.5.3 * Wed Apr 22 2015 Adam Miller - 0.5.2-3 - Add conditional for unittest2 for epel7 (thanks mcepl@redhat.com for the fix) * Mon Jan 19 2015 Stanislav Ochotnicky - 0.5.2-2 - Add patch for rhbz#1151943 * Mon Jul 14 2014 Stanislav Ochotnicky - 0.5.2-1 - Update to latest upstream bugfix release * Sat Jun 07 2014 Fedora Release Engineering - 0.5.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon Jan 13 2014 Stanislav Ochotnicky - 0.5.1-2 - Backport fixes for several bugs - Resolves: rhbz#1044580 - Resolves: rhbz#1049042 * Fri Dec 13 2013 Stanislav Ochotnicky - 0.5.1-1 - Update to latest upstream (0.5.1) * Tue Oct 15 2013 Stanislav Ochotnicky - 0.5.0-3 - Really use phpcompatinfo instead of phpci * Mon Oct 14 2013 Stanislav Ochotnicky - 0.5.0-2 - Fix requires for licensecheck (#1016309) - Remove separate php plugin subpackage (#971875) * Fri Aug 30 2013 Stanislav Ochotnicky - 0.5.0-1 - Updating to upstream 0.5.0 * Sat Aug 03 2013 Fedora Release Engineering - 0.4.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Wed Jul 17 2013 Petr Pisar - 0.4.1-3 - Perl 5.18 rebuild * Thu May 30 2013 Stanislav Ochotnicky - 0.4.1-2 - Backport fix for #967571 * Mon Apr 29 2013 Stanislav Ochotnicky - 0.4.1-1 - Update to latest upstream version * Tue Feb 19 2013 Stanislav Ochotnicky - 0.4.0-4 - Fix rhbz912182 - Reorganize patches a bit * Fri Feb 8 2013 Stanislav Ochotnicky - 0.4.0-3 - Fix rhbz908830 and rhbz908830 - Add patch for REVIEW_NO_MOCKGROUP_TEST environment variable - Remove old patch * Mon Feb 04 2013 Pierre-Yves Chibon - 0.4.0-2 - Add Patch0 (0001-Fix-syntax-error.patch) from Ralph Bean fixing fedora-create-review * Mon Jan 28 2013 Stanislav Ochotnicky - 0.4.0-1 - Updating to upstream 0.4.0 * Wed Nov 07 2012 Pierre-Yves Chibon - 0.3.1-3 - Backport from upstream's git fix to RHBZ#874246 (Patch0) * Thu Oct 25 2012 Stanislav Ochotnicky - 0.3.1-2 - Add symlink to scripts directory so they are loaded * Tue Sep 25 2012 Stanislav Ochotnicky - 0.3.1-1 - Update to lastest upstream (0.3.1) - Fix loading of system-wide plugins - Add back suport for EL6 * Mon Sep 24 2012 Stanislav Ochotnicky - 0.3.0-1 - Update to lastest upstream (0.3.0) - Remove no longer needed build workarounds * Thu Aug 9 2012 Stanislav Ochotnicky - 0.2.2-1 - Update to lastest upstream (0.2.2) - Add koji-download-scratch script * Thu Jul 19 2012 Fedora Release Engineering - 0.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed Jul 11 2012 Stanislav Ochotnicky - 0.2.0-1 - Update to latest release (0.2.0) * Fri Feb 24 2012 Stanislav Ochotnicky - 0.1.3-1 - Update to latest bugfix release * Fri Jan 13 2012 Stanislav Ochotnicky - 0.1.2-1 - Update to latest bugfix release - Add fedora-create-review script * Fri Jan 13 2012 Fedora Release Engineering - 0.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Wed Jan 11 2012 Pierre-Yves Chibon - 0.1.1-2 - Add wget as requires * Wed Nov 23 2011 Stanislav Ochotnicky - 0.1.1-1 - New upstream bugfix release * Wed Nov 16 2011 Stanislav Ochotnicky - 0.1.0-2 - Remove things not needed in el6+ * Thu Nov 10 2011 Pierre-Yves Chibon - 0.1.0-1 - Initial packaging work for Fedora