diff --git a/.gitignore b/.gitignore index 713d614..8345dc2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ clog -/php-pear-PHP-CodeSniffer-4.0.0-06113cf.tgz -/php-pear-PHP-CodeSniffer-4.0.1-0525c73.tgz +/PHP_CodeSniffer-3.*tgz +/PHP_CodeSniffer-2.8.0.tgz +/PHP_CodeSniffer-2.8.1.tgz +/PHP_CodeSniffer-2.9.0.tgz +/PHP_CodeSniffer-2.9.1.tgz diff --git a/PHP_CodeSniffer-role.patch b/PHP_CodeSniffer-role.patch new file mode 100644 index 0000000..6a7d5f8 --- /dev/null +++ b/PHP_CodeSniffer-role.patch @@ -0,0 +1,10 @@ +--- package.xml.old 2014-12-05 12:39:59.000000000 +0100 ++++ package.xml 2014-12-05 12:40:45.000000000 +0100 +@@ -1949,6 +1949,7 @@ + + + ++ + + + diff --git a/makesrc.sh b/makesrc.sh deleted file mode 100755 index 1ee3ac8..0000000 --- a/makesrc.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -NAME=$(basename $PWD) -OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) -PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) -VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec) -COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) -SHORT=${COMMIT:0:7} - -if [ -f $NAME-$VERSION-$SHORT.tgz ]; then - echo Skip $NAME-$VERSION-$SHORT.tgz -else - echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" - - echo "Cloning..." - rm -rf $PROJECT-$COMMIT - git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT - - echo "Getting commit..." - pushd $PROJECT-$COMMIT - git checkout $COMMIT || echo exit 1 - cp composer.json ../composer.json - popd - - echo "Archiving..." - tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT - - echo "Cleaning..." - rm -rf $PROJECT-$COMMIT - - echo "Done." -fi diff --git a/php-pear-PHP-CodeSniffer-rpm.patch b/php-pear-PHP-CodeSniffer-rpm.patch deleted file mode 100644 index 1d7032e..0000000 --- a/php-pear-PHP-CodeSniffer-rpm.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -up ./bin/phpcbf.rpm ./bin/phpcbf ---- ./bin/phpcbf.rpm 2025-09-15 14:51:59.780439106 +0200 -+++ ./bin/phpcbf 2025-09-15 14:53:16.065234768 +0200 -@@ -21,10 +21,10 @@ - */ - - // Check if the PHP version and extensions comply with the minimum requirements before anything else. --require_once dirname(__DIR__) . '/requirements.php'; -+require_once '/usr/share/pear/PHP/CodeSniffer/requirements.php'; - PHP_CodeSniffer\checkRequirements(); - --require_once dirname(__DIR__) . '/autoload.php'; -+require_once '/usr/share/pear/PHP/CodeSniffer/autoload.php'; - - $runner = new PHP_CodeSniffer\Runner(); - $exitCode = $runner->runPHPCBF(); -diff -up ./bin/phpcs.rpm ./bin/phpcs ---- ./bin/phpcs.rpm 2025-09-15 14:51:59.780522757 +0200 -+++ ./bin/phpcs 2025-09-15 14:52:52.535306647 +0200 -@@ -21,10 +21,10 @@ - */ - - // Check if the PHP version and extensions comply with the minimum requirements before anything else. --require_once dirname(__DIR__) . '/requirements.php'; -+require_once '/usr/share/pear/PHP/CodeSniffer/requirements.php'; - PHP_CodeSniffer\checkRequirements(); - --require_once dirname(__DIR__) . '/autoload.php'; -+require_once '/usr/share/pear/PHP/CodeSniffer/autoload.php'; - - $runner = new PHP_CodeSniffer\Runner(); - $exitCode = $runner->runPHPCS(); diff --git a/php-pear-PHP-CodeSniffer.spec b/php-pear-PHP-CodeSniffer.spec index 1cc4cf5..e5a382a 100644 --- a/php-pear-PHP-CodeSniffer.spec +++ b/php-pear-PHP-CodeSniffer.spec @@ -1,6 +1,6 @@ # spec file for php-pear-PHP-CodeSniffer # -# Copyright (c) 2013-2025 Remi Collet +# Copyright (c) 2013-2017 Remi Collet # Copyright (c) 2009-2013 Christof Damian # Copyright (c) 2006-2009 Konstantin Ryabitsev # @@ -9,67 +9,43 @@ # # Please, preserve the changelog entries # - - -%bcond_without tests - -%global gh_commit 0525c73950de35ded110cffafb9892946d7771b5 -%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_date 2025-11-10 -%global gh_owner PHPCSStandards -%global gh_project PHP_CodeSniffer -# keep in old PEAR tree -%global pear_phpdir %{_datadir}/pear - -%global upstream_version 4.0.1 -#global upstream_prever rc1 +%{!?__pear: %global __pear %{_bindir}/pear} +%global pear_name PHP_CodeSniffer Name: php-pear-PHP-CodeSniffer -Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} +Version: 2.9.1 Release: 1%{?dist} Summary: PHP coding standards enforcement tool -License: BSD-3-Clause -URL: https://github.com/%{gh_owner}/%{gh_project} -# git snapshot to retrieve test suite -Source0: %{name}-%{upstream_version}%{?upstream_prever}-%{gh_short}.tgz -Source1: makesrc.sh +Group: Development/Tools +License: BSD +URL: http://pear.php.net/package/PHP_CodeSniffer +Source0: http://pear.php.net/get/%{pear_name}-%{version}.tgz -# RPM installation path -Patch0: %{name}-rpm.patch +Patch0: %{pear_name}-role.patch BuildArch: noarch -# 8.1 because of phpunit10 -BuildRequires: php(language) >= 8.1 -BuildRequires: php-tokenizer -BuildRequires: php-xmlwriter -BuildRequires: php-simplexml -BuildRequires: php-dom -BuildRequires: php-iconv -BuildRequires: php-intl -%if %{with tests} -BuildRequires: php-bcmath -# to run test suite, from composer.json "require-dev" -# "phpunit/phpunit": "^8.0 || ^9.3.4 || ^10.5.32 || ^11.3.3" -%global phpunit %{_bindir}/phpunit10 -BuildRequires: phpunit10 >= 10.5.32 -%endif +BuildRequires: php-pear +# to run test suite +BuildRequires: php-phpunit-PHPUnit >= 3.5.0 -# from composer.json "require": { -# "php": ">=7.2.0", -# "ext-tokenizer": "*", -# "ext-xmlwriter": "*", -# "ext-simplexml": "*" -Requires: php(language) >= 7.2 -Requires: php-tokenizer -Requires: php-xmlwriter -Requires: php-simplexml -# From phpcompatinfo report for version 3.8.0 +Requires(post): %{__pear} +Requires(postun): %{__pear} +# From package.xml +Requires: php-pear(PEAR) +# From phpcompatinfo report for version 2.8.0 +Requires: php-ctype +Requires: php-date Requires: php-dom Requires: php-iconv -Requires: php-intl +Requires: php-pcre +Requires: php-reflection +Requires: php-soap +Requires: php-spl +Requires: php-tokenizer +Requires: php-xmlwriter -Provides: php-pear(%{gh_project}) = %{version} +Provides: php-pear(%{pear_name}) = %{version} Provides: php-composer(squizlabs/php_codesniffer) = %{version} Provides: phpcs = %{version} Obsoletes: phpcs < %{version} @@ -81,8 +57,13 @@ certain standards, such as PEAR, or user-defined. %prep -%setup -q -n %{gh_project}-%{gh_commit} -%patch -P0 -p1 -b .rpm +%setup -q -c + +# install scripts/phpcs-svn-pre-commit properly +%patch0 -p0 -b .old + +cd %{pear_name}-%{version} +mv ../package.xml %{pear_name}.xml %build @@ -90,288 +71,63 @@ certain standards, such as PEAR, or user-defined. %install -: Install the library -mkdir -p %{buildroot}%{pear_phpdir}/PHP/CodeSniffer -cp -pr src %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/src/ -cp -pr autoload.php %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ -cp -pr requirements.php %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ -cp -p phpcs.xml.dist %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ -cp -p phpcs.xsd %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ +cd %{pear_name}-%{version} -: Cleanup -find %{buildroot}%{pear_phpdir}/PHP/CodeSniffer -depth -type d -name Tests -exec rm -r {} \; -print +%{__pear} install --nodeps --packagingroot %{buildroot} %{pear_name}.xml -: Install the commands -install -Dpm 755 bin/phpcs %{buildroot}%{_bindir}/phpcs -install -Dpm 755 bin/phpcbf %{buildroot}%{_bindir}/phpcbf +# Clean up unnecessary files +rm -rf %{buildroot}%{pear_metadir}/.??* + +# Install XML package description +mkdir -p %{buildroot}%{pear_xmldir} +install -pm 644 %{pear_name}.xml %{buildroot}%{pear_xmldir} -%if %{with tests} %check -# Fix current date -YEAR=$(date +%Y) -PREV=$(expr $YEAR - 1) -sed -e "/@copyright/s/${PREV}/${YEAR}/" \ - -i src/Standards/Squiz/Tests/Commenting/FileCommentUnitTest.1.*.fixed +cd %{pear_name}-%{version}/tests -# Version 4.0.0beta1: Tests: 3871, Assertions: 23018, PHPUnit Deprecations: 777, Skipped: 16. -# testBrokenRulesetMultiError failing reported as https://github.com/PHPCSStandards/PHP_CodeSniffer/issues/767 +# Version 2.8.0: Tests: 238, Assertions: 92, Skipped: 3. ret=0 -for cmdarg in \ - "php %{phpunit}" \ - "php81 %{_bindir}/phpunit10" \ - "php82 %{_bindir}/phpunit11" \ - "php83 %{_bindir}/phpunit11" \ - "php84 %{_bindir}/phpunit11" \ - "php85 %{_bindir}/phpunit11" - do if which $cmdarg; then - set $cmdarg - $1 -d memory_limit=-1 $2 \ - --filter '^((?!(testBrokenRulesetMultiError)).)*$' \ - --no-coverage || ret=1 - fi +for cmd in php php56 php70 php71; do + if which $cmd; then + $cmd %{_bindir}/phpunit AllTests.php || ret=1 + fi done exit $ret -%endif + + +%post +%{__pear} install --nodeps --soft --force --register-only \ + %{pear_xmldir}/%{pear_name}.xml >/dev/null || : + +%postun +if [ $1 -eq 0 ] ; then + %{__pear} uninstall --nodeps --ignore-errors --register-only \ + %{pear_name} >/dev/null || : +fi %files -%license licence.txt -%doc *.md +%doc %{pear_docdir}/%{pear_name} +%{pear_xmldir}/%{pear_name}.xml +%{pear_testdir}/%{pear_name} +%{pear_datadir}/%{pear_name} %{pear_phpdir}/PHP %{_bindir}/phpcbf %{_bindir}/phpcs +%{_bindir}/phpcs-svn-pre-commit %changelog -* Wed Nov 12 2025 Remi Collet - 4.0.1-1 -- update to 4.0.1 +* Mon May 22 2017 Remi Collet - 2.9.1-1 +- Update to 2.9.1 -* Mon Sep 15 2025 Remi Collet - 4.0.0-1 -- update to 4.0.0 -- raise dependency on PHP 7.2 -- switch to phpunit10 - -* Mon Sep 8 2025 Remi Collet - 3.13.4-1 -- update to 3.13.4 - -* Fri Jul 25 2025 Fedora Release Engineering - 3.13.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jun 18 2025 Remi Collet - 3.13.2-1 -- update to 3.13.2 - -* Thu May 15 2025 Remi Collet - 3.13.0-1 -- update to 3.13.0 - -* Mon Apr 14 2025 Remi Collet - 3.12.2-1 -- update to 3.12.2 - -* Mon Apr 7 2025 Remi Collet - 3.12.1-1 -- update to 3.12.1 - -* Tue Mar 18 2025 Remi Collet - 3.12.0-1 -- update to 3.12.0 - -* Fri Jan 24 2025 Remi Collet - 3.11.3-1 -- update to 3.11.3 - -* Wed Jan 22 2025 Remi Collet - 3.11.2-2 -- fix tests failing because of new year - -* Sat Jan 18 2025 Fedora Release Engineering - 3.11.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Dec 12 2024 Remi Collet - 3.11.2-1 -- update to 3.11.2 - -* Mon Nov 18 2024 Remi Collet - 3.11.1-1 -- update to 3.11.1 - -* Tue Nov 12 2024 Remi Collet - 3.11.0-1 -- update to 3.11.0 - -* Wed Sep 18 2024 Remi Collet - 3.10.3-1 -- update to 3.10.3 - -* Mon Jul 22 2024 Remi Collet - 3.10.2-1 -- update to 3.10.2 - -* Fri Jul 19 2024 Fedora Release Engineering - 3.10.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu May 23 2024 Remi Collet - 3.10.1-1 -- update to 3.10.1 - -* Wed May 22 2024 Remi Collet - 3.10.0-1 -- update to 3.10.0 - -* Wed Apr 24 2024 Remi Collet - 3.9.2-1 -- update to 3.9.2 - -* Tue Apr 2 2024 Remi Collet - 3.9.1-1 -- update to 3.9.1 - -* Sat Feb 17 2024 Remi Collet - 3.9.0-1 -- update to 3.9.0 -- drop patch merged upstream - -* Thu Jan 25 2024 Fedora Release Engineering - 3.8.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 3.8.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 12 2024 Remi Collet - 3.8.1-1 -- update to 3.8.1 -- add patch for test suite from - https://github.com/PHPCSStandards/PHP_CodeSniffer/pull/256 - -* Mon Dec 11 2023 Remi Collet - 3.8.0-1 -- update to 3.8.0 -- sources from github instead or pear channel - -* Fri Jul 21 2023 Fedora Release Engineering - 3.7.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Feb 23 2023 Remi Collet - 3.7.2-1 -- update to 3.7.2 - -* Fri Jan 20 2023 Fedora Release Engineering - 3.7.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jul 22 2022 Fedora Release Engineering - 3.7.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 20 2022 Remi Collet - 3.7.1-1 -- update to 3.7.1 - -* Mon Jun 13 2022 Remi Collet - 3.7.0-1 -- update to 3.7.0 - -* Thu Jan 27 2022 Remi Collet - 3.6.2-2 -- fix new year in test suite, FBTFS #2046828 - -* Fri Jan 21 2022 Fedora Release Engineering - 3.6.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Dec 14 2021 Remi Collet - 3.6.2-1 -- update to 3.6.2 - -* Mon Oct 11 2021 Remi Collet - 3.6.1-1 -- update to 3.6.1 - -* Fri Jul 23 2021 Fedora Release Engineering - 3.6.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Apr 9 2021 Remi Collet - 3.6.0-1 -- update to 3.6.0 - -* Fri Feb 5 2021 Remi Collet - 3.5.8-2 -- fix test relying on current year, fix FTBFS #1923570 - -* Wed Jan 27 2021 Fedora Release Engineering - 3.5.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Oct 23 2020 Remi Collet - 3.5.8-1 -- update to 3.5.8 - -* Tue Aug 11 2020 Remi Collet - 3.5.6-1 -- update to 3.5.6 - -* Tue Jul 28 2020 Fedora Release Engineering - 3.5.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Apr 20 2020 Remi Collet - 3.5.5-1 -- update to 3.5.5 - -* Fri Jan 31 2020 Remi Collet - 3.5.4-1 -- update to 3.5.4 -- fix test suite from - https://github.com/squizlabs/PHP_CodeSniffer/pull/2847 - -* Thu Jan 30 2020 Fedora Release Engineering - 3.5.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Dec 4 2019 Remi Collet - 3.5.3-1 -- update to 3.5.3 - -* Mon Oct 28 2019 Remi Collet - 3.5.2-1 -- update to 3.5.2 - -* Thu Oct 17 2019 Remi Collet - 3.5.1-1 -- update to 3.5.1 - -* Fri Sep 27 2019 Remi Collet - 3.5.0-1 -- update to 3.5.0 - -* Fri Jul 26 2019 Fedora Release Engineering - 3.4.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Apr 11 2019 Remi Collet - 3.4.2-1 -- update to 3.4.2 - -* Tue Mar 19 2019 Remi Collet - 3.4.1-1 -- update to 3.4.1 - -* Sat Feb 02 2019 Fedora Release Engineering - 3.4.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Dec 20 2018 Remi Collet - 3.4.0-1 -- update to 3.4.0 - -* Mon Sep 24 2018 Remi Collet - 3.3.2-1 -- update to 3.3.2 - -* Fri Jul 27 2018 Remi Collet - 3.3.1-1 -- update to 3.3.1 - -* Fri Jul 13 2018 Fedora Release Engineering - 3.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jun 7 2018 Remi Collet - 3.3.0-1 -- update to 3.3.0 - -* Wed Feb 21 2018 Remi Collet - 3.2.3-1 -- Update to 3.2.3 -- use phpunit7 on F28+ - -* Fri Feb 09 2018 Fedora Release Engineering - 3.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Dec 20 2017 Remi Collet - 3.2.2-1 -- Update to 3.2.2 - -* Mon Dec 18 2017 Remi Collet - 3.2.1-1 -- Update to 3.2.1 - -* Wed Dec 13 2017 Remi Collet - 3.2.0-1 -- Update to 3.2.0 - -* Tue Oct 17 2017 Remi Collet - 3.1.1-1 -- Update to 3.1.1 - -* Wed Sep 20 2017 Remi Collet - 3.1.0-1 -- Update to 3.1.0 -- use phpunit6 on F26+ - -* Tue Jul 18 2017 Remi Collet - 3.0.2-1 -- Update to 3.0.2 - -* Wed Jun 14 2017 Remi Collet - 3.0.1-1 -- Update to 3.0.1 - -* Thu May 4 2017 Remi Collet - 3.0.0-1 -- Update to 3.0.0 -- raise dependency on PHP >= 5.4 -- drop phpcs-svn-pre-commit command +* Thu May 4 2017 Remi Collet - 2.9.0-1 +- Update to 2.9.0 * Thu Mar 02 2017 Remi Collet - 2.8.1-1 - Update to 2.8.1 -* Sat Feb 11 2017 Fedora Release Engineering - 2.8.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - * Thu Feb 02 2017 Remi Collet - 2.8.0-1 - Update to 2.8.0 @@ -390,18 +146,12 @@ exit $ret * Mon Apr 04 2016 Remi Collet - 2.6.0-1 - Update to 2.6.0 -* Thu Feb 04 2016 Fedora Release Engineering - 2.5.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - * Wed Jan 20 2016 Remi Collet - 2.5.1-1 - Update to 2.5.1 (stable) * Fri Dec 11 2015 Remi Collet - 2.5.0-1 - Update to 2.5.0 (stable) -* Wed Nov 25 2015 Remi Collet - 2.4.0-1 -- Update to 2.4.0 (stable) - * Wed Sep 9 2015 Remi Collet - 2.3.4-1 - Update to 2.3.4 @@ -416,18 +166,6 @@ exit $ret * Thu Apr 23 2015 Remi Collet - 2.3.1-1 - Update to 2.3.1 (stable) - -* Wed Mar 04 2015 Remi Collet - 2.3.0-1 -- Update to 2.3.0 (stable) - -* Thu Jan 22 2015 Remi Collet - 2.2.0-1 -- Update to 2.2.0 (stable) - -* Thu Dec 18 2014 Remi Collet - 2.1.0-1 -- Update to 2.1.0 (stable) - -* Fri Dec 05 2014 Remi Collet - 2.0.0-1 -- Update to 2.0.0 - add phpcbf and phpcs-svn-pre-commit commands * Thu Oct 9 2014 Remi Collet - 1.5.5 diff --git a/sources b/sources index 9acd652..35e412e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-pear-PHP-CodeSniffer-4.0.1-0525c73.tgz) = 384867fff733de98f3a0cd7105776aa571389e8f11a2d95ba51139a682778650900028722352779bb3b6986f61fa123ceded3d9496de0a05e0872ac21bb1329e +SHA512 (PHP_CodeSniffer-2.9.1.tgz) = bdda0a3cf3dc0b0fbccaf058798520a6a93cb76058977a59c7926945f7a5503750415d515270f4ebc7f3bb2f020f6aaaa88b563899bd7258c71ae4299fa5d634