diff --git a/.gitignore b/.gitignore index 713d614..6bcab39 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,56 @@ clog -/php-pear-PHP-CodeSniffer-4.0.0-06113cf.tgz -/php-pear-PHP-CodeSniffer-4.0.1-0525c73.tgz +/PHP_CodeSniffer-2.2.0.tgz +/PHP_CodeSniffer-2.3.0.tgz +/PHP_CodeSniffer-2.3.1.tgz +/PHP_CodeSniffer-2.3.2.tgz +/PHP_CodeSniffer-2.3.3.tgz +/PHP_CodeSniffer-2.3.4.tgz +/PHP_CodeSniffer-2.4.0.tgz +/PHP_CodeSniffer-2.5.0.tgz +/PHP_CodeSniffer-2.5.1.tgz +/PHP_CodeSniffer-2.6.0.tgz +/PHP_CodeSniffer-2.6.1.tgz +/PHP_CodeSniffer-2.6.2.tgz +/PHP_CodeSniffer-2.7.0.tgz +/PHP_CodeSniffer-2.7.1.tgz +/PHP_CodeSniffer-2.8.0.tgz +/PHP_CodeSniffer-2.8.1.tgz +/PHP_CodeSniffer-3.0.0.tgz +/PHP_CodeSniffer-3.0.1.tgz +/PHP_CodeSniffer-3.0.2.tgz +/PHP_CodeSniffer-3.1.0.tgz +/PHP_CodeSniffer-3.1.1.tgz +/PHP_CodeSniffer-3.2.0.tgz +/PHP_CodeSniffer-3.2.1.tgz +/PHP_CodeSniffer-3.2.2.tgz +/PHP_CodeSniffer-3.2.3.tgz +/PHP_CodeSniffer-3.3.0.tgz +/PHP_CodeSniffer-3.3.1.tgz +/PHP_CodeSniffer-3.3.2.tgz +/PHP_CodeSniffer-3.4.0.tgz +/PHP_CodeSniffer-3.4.1.tgz +/PHP_CodeSniffer-3.4.2.tgz +/PHP_CodeSniffer-3.5.0.tgz +/PHP_CodeSniffer-3.5.1.tgz +/PHP_CodeSniffer-3.5.2.tgz +/PHP_CodeSniffer-3.5.3.tgz +/PHP_CodeSniffer-3.5.4.tgz +/PHP_CodeSniffer-3.5.5.tgz +/PHP_CodeSniffer-3.5.6.tgz +/PHP_CodeSniffer-3.5.8.tgz +/PHP_CodeSniffer-3.6.0.tgz +/PHP_CodeSniffer-3.6.1.tgz +/PHP_CodeSniffer-3.6.2.tgz +/PHP_CodeSniffer-3.7.0.tgz +/PHP_CodeSniffer-3.7.1.tgz +/PHP_CodeSniffer-3.7.2.tgz +/php-pear-PHP-CodeSniffer-3.8.0-5805f7a.tgz +/php-pear-PHP-CodeSniffer-3.8.1-14f5fff.tgz +/php-pear-PHP-CodeSniffer-3.9.0-d63cee4.tgz +/php-pear-PHP-CodeSniffer-3.9.1-267a440.tgz +/php-pear-PHP-CodeSniffer-3.9.2-aac1f6f.tgz +/php-pear-PHP-CodeSniffer-3.10.0-57e0980.tgz +/roundcubemail-1.5.7-complete.tar.gz +/php-pear-PHP-CodeSniffer-3.10.1-8f90f7a.tgz +/php-pear-PHP-CodeSniffer-3.10.2-86e5f5d.tgz +/php-pear-PHP-CodeSniffer-3.10.3-62d3299.tgz diff --git a/0001-skip-tests-requiring-git-repository.patch b/0001-skip-tests-requiring-git-repository.patch new file mode 100644 index 0000000..d79dbd5 --- /dev/null +++ b/0001-skip-tests-requiring-git-repository.patch @@ -0,0 +1,41 @@ +From 472b4f7c56dd95ca4469ed5aad6d6620aa13e03e Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Fri, 12 Jan 2024 08:25:58 +0100 +Subject: [PATCH] skip tests requiring git repository + +--- + tests/Core/Filters/GitModifiedTest.php | 3 +++ + tests/Core/Filters/GitStagedTest.php | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/tests/Core/Filters/GitModifiedTest.php b/tests/Core/Filters/GitModifiedTest.php +index 626fb6531..ca068e144 100644 +--- a/tests/Core/Filters/GitModifiedTest.php ++++ b/tests/Core/Filters/GitModifiedTest.php +@@ -211,6 +211,9 @@ final class GitModifiedTest extends AbstractFilterTestCase + */ + public function testExecAlwaysReturnsArray($cmd, $expected) + { ++ if (!is_dir(__DIR__ . '/../../../.git')) { ++ $this->markTestSkipped('Not a git repository'); ++ } + $fakeDI = new RecursiveArrayIterator(self::getFakeFileList()); + $filter = new GitModified($fakeDI, '/', self::$config, self::$ruleset); + +diff --git a/tests/Core/Filters/GitStagedTest.php b/tests/Core/Filters/GitStagedTest.php +index 0009aefa7..cf5f69765 100644 +--- a/tests/Core/Filters/GitStagedTest.php ++++ b/tests/Core/Filters/GitStagedTest.php +@@ -211,6 +211,9 @@ final class GitStagedTest extends AbstractFilterTestCase + */ + public function testExecAlwaysReturnsArray($cmd, $expected) + { ++ if (!is_dir(__DIR__ . '/../../../.git')) { ++ $this->markTestSkipped('Not a git repository'); ++ } + $fakeDI = new RecursiveArrayIterator(self::getFakeFileList()); + $filter = new GitStaged($fakeDI, '/', self::$config, self::$ruleset); + +-- +2.43.0 + diff --git a/php-pear-PHP-CodeSniffer-rpm.patch b/php-pear-PHP-CodeSniffer-rpm.patch index 1d7032e..082cf2d 100644 --- a/php-pear-PHP-CodeSniffer-rpm.patch +++ b/php-pear-PHP-CodeSniffer-rpm.patch @@ -1,32 +1,24 @@ 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 @@ +--- ./bin/phpcbf.rpm 2024-04-02 07:58:25.996735959 +0200 ++++ ./bin/phpcbf 2024-04-02 07:59:09.906379098 +0200 +@@ -8,7 +8,7 @@ + * @license https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/licence.txt BSD Licence */ - // 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'; +-require_once __DIR__.'/../autoload.php'; ++include_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 @@ +--- ./bin/phpcs.rpm 2024-04-02 07:58:25.996735959 +0200 ++++ ./bin/phpcs 2024-04-02 07:59:18.295693037 +0200 +@@ -8,7 +8,7 @@ + * @license https://github.com/PHPCSStandards/PHP_CodeSniffer/blob/master/licence.txt BSD Licence */ - // 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'; +-require_once __DIR__.'/../autoload.php'; ++include_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..9a1ac51 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-2024 Remi Collet # Copyright (c) 2009-2013 Christof Damian # Copyright (c) 2006-2009 Konstantin Ryabitsev # @@ -13,34 +13,31 @@ %bcond_without tests -%global gh_commit 0525c73950de35ded110cffafb9892946d7771b5 +%global gh_commit 62d32998e820bddc40f99f8251958aed187a5c9c %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_date 2025-11-10 +%global gh_date 2024-09-18 %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 Name: php-pear-PHP-CodeSniffer -Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} +Version: 3.10.3 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 +Source0: %{gh_commit}/%{name}-%{version}-%{gh_short}.tgz Source1: makesrc.sh # RPM installation path Patch0: %{name}-rpm.patch BuildArch: noarch -# 8.1 because of phpunit10 -BuildRequires: php(language) >= 8.1 +BuildRequires: php(language) >= 5.4 BuildRequires: php-tokenizer BuildRequires: php-xmlwriter BuildRequires: php-simplexml @@ -48,19 +45,18 @@ 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 +# "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" +%global phpunit %{_bindir}/phpunit9 +BuildRequires: phpunit9 >= 9.3.4 %endif # from composer.json "require": { -# "php": ">=7.2.0", +# "php": ">=5.4.0", # "ext-tokenizer": "*", # "ext-xmlwriter": "*", # "ext-simplexml": "*" -Requires: php(language) >= 7.2 +Requires: php(language) >= 5.4 Requires: php-tokenizer Requires: php-xmlwriter Requires: php-simplexml @@ -91,12 +87,11 @@ 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/ +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 -p phpcs.xml.dist %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ +cp -p phpcs.xsd %{buildroot}%{pear_phpdir}/PHP/CodeSniffer/ : Cleanup find %{buildroot}%{pear_phpdir}/PHP/CodeSniffer -depth -type d -name Tests -exec rm -r {} \; -print @@ -108,34 +103,36 @@ install -Dpm 755 bin/phpcbf %{buildroot}%{_bindir}/phpcbf %if %{with tests} %check +# fails with js: Couldn't read source file +rm src/Standards/Generic/Tests/Debug/JSHintUnitTest.* + # Fix current date YEAR=$(date +%Y) -PREV=$(expr $YEAR - 1) -sed -e "/@copyright/s/${PREV}/${YEAR}/" \ +sed -e "/@copyright/s/2021/${YEAR}/" \ -i src/Standards/Squiz/Tests/Commenting/FileCommentUnitTest.1.*.fixed -# 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 3.9.0: Tests: 2276, Assertions: 10969, Warnings: 4, Skipped: 12. 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 +for cmdarg in "php %{phpunit}" php81 php82 php83; do + if which $cmdarg; then set $cmdarg - $1 -d memory_limit=-1 $2 \ - --filter '^((?!(testBrokenRulesetMultiError)).)*$' \ - --no-coverage || ret=1 + $1 -d memory_limit=-1 ${2:-%{_bindir}/phpunit9} \ + || ret=1 fi done exit $ret %endif +%post +# no more from pear channel +if [ -x %{_bindir}/pear ]; then + %{_bindir}/pear uninstall --nodeps --ignore-errors --register-only %{gh_project} >/dev/null || : +fi + + %files +%{!?_licensedir:%global license %%doc} %license licence.txt %doc *.md %{pear_phpdir}/PHP @@ -144,62 +141,12 @@ exit $ret %changelog -* Wed Nov 12 2025 Remi Collet - 4.0.1-1 -- update to 4.0.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 @@ -216,12 +163,6 @@ exit $ret - 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 diff --git a/sources b/sources index 9acd652..d8709a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-pear-PHP-CodeSniffer-4.0.1-0525c73.tgz) = 384867fff733de98f3a0cd7105776aa571389e8f11a2d95ba51139a682778650900028722352779bb3b6986f61fa123ceded3d9496de0a05e0872ac21bb1329e +SHA512 (php-pear-PHP-CodeSniffer-3.10.3-62d3299.tgz) = 5d3ad84e8a67cdc9b30ff807232923a022cd5e4149a770c02ff36d54fca4959d1cae7bd00cf11b948b4d2df0f7a345b36cfc950d15258dab966472554ca0557d