diff --git a/.gitignore b/.gitignore index d9be001..7d3bdec 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,18 @@ clog /php-bartlett-PHP-CompatInfo-6.3.0-2b7c3f9.tgz /php-bartlett-PHP-CompatInfo-6.4.0-3e23268.tgz /php-bartlett-PHP-CompatInfo-6.4.1-07bb648.tgz +/php-bartlett-PHP-CompatInfo-6.4.2-0413526.tgz +/php-bartlett-PHP-CompatInfo-6.5.2-832e40e.tgz +/php-bartlett-PHP-CompatInfo-6.5.3-e2bc72e.tgz +/php-bartlett-PHP-CompatInfo-6.5.4-d3e9319.tgz +/php-bartlett-PHP-CompatInfo-7.0.0-7b05300.tgz +/php-bartlett-PHP-CompatInfo-7.0.1-c944914.tgz +/php-bartlett-PHP-CompatInfo-7.0.2-cff8a7a.tgz +/php-bartlett-PHP-CompatInfo-7.1.0-26b0219.tgz +/php-bartlett-PHP-CompatInfo-7.1.1-d9504f5.tgz +/php-bartlett-PHP-CompatInfo-7.1.2-072d0f8.tgz +/php-bartlett-PHP-CompatInfo-7.1.3-7a74bd0.tgz +/php-bartlett-PHP-CompatInfo-7.1.4-9875282.tgz +/php-bartlett-PHP-CompatInfo-7.2.3-25777bc.tgz +/php-bartlett-PHP-CompatInfo-7.2.4-165460c.tgz +/php-bartlett-PHP-CompatInfo-7.2.5-56d3215.tgz diff --git a/makesrc.sh b/makesrc.sh index cfb4a17..a2d4c80 100755 --- a/makesrc.sh +++ b/makesrc.sh @@ -1,22 +1,28 @@ #!/bin/bash NAME=$(basename $PWD) +DATE=$(sed -n '/^%global gh_date/{s/.* //;p}' $NAME.spec) OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) VERSION=$(sed -n '/^%global upstream_version/{s/.* //;p}' $NAME.spec) COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) SHORT=${COMMIT:0:7} +DATE=$(date -d "$DATE -4 days" +%Y-%m-%d) + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION, Commit=$COMMIT\n" echo "Cloning..." -git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT +rm -rf $HOME/.cache/bartlett +git clone --shallow-since=$DATE https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT echo "Getting commit..." pushd $PROJECT-$COMMIT git checkout $COMMIT || exit 1 cp composer.json ../ + module load php81 + composer config platform.php 8.1.99 composer install --no-interaction --no-progress --no-dev --optimize-autoloader cp vendor/composer/installed.json ../ @@ -32,6 +38,7 @@ tar czf $NAME-$VERSION-$SHORT.tgz --exclude-vcs $PROJECT-$COMMIT echo "Cleaning..." rm -rf $PROJECT-$COMMIT +rm -rf $HOME/.cache/bartlett echo "Done." diff --git a/php-bartlett-PHP-CompatInfo-6.0.0-rpm.patch b/php-bartlett-PHP-CompatInfo-7.2.3-rpm.patch similarity index 51% rename from php-bartlett-PHP-CompatInfo-6.0.0-rpm.patch rename to php-bartlett-PHP-CompatInfo-7.2.3-rpm.patch index 92cebab..a6a4931 100644 --- a/php-bartlett-PHP-CompatInfo-6.0.0-rpm.patch +++ b/php-bartlett-PHP-CompatInfo-7.2.3-rpm.patch @@ -1,7 +1,7 @@ diff -up ./bin/phpcompatinfo.rpm ./bin/phpcompatinfo ---- ./bin/phpcompatinfo.rpm 2021-12-13 12:09:12.000000000 +0100 -+++ ./bin/phpcompatinfo 2021-12-13 12:12:30.838533965 +0100 -@@ -6,6 +6,10 @@ if (PHP_SAPI !== 'cli') { +--- ./bin/phpcompatinfo.rpm 2025-05-04 07:31:28.259594805 +0200 ++++ ./bin/phpcompatinfo 2025-05-04 07:32:09.736421056 +0200 +@@ -15,6 +15,10 @@ if (PHP_SAPI !== 'cli') { return; } @@ -11,4 +11,4 @@ diff -up ./bin/phpcompatinfo.rpm ./bin/phpcompatinfo + gc_disable(); // performance boost - require_once dirname(__DIR__) . '/config/bootstrap.php'; + require_once dirname(__DIR__) . '/autoload.php'; diff --git a/php-bartlett-PHP-CompatInfo.spec b/php-bartlett-PHP-CompatInfo.spec index 7070813..0e89b83 100644 --- a/php-bartlett-PHP-CompatInfo.spec +++ b/php-bartlett-PHP-CompatInfo.spec @@ -1,31 +1,30 @@ # remirepo/fedora spec file for php-bartlett-PHP-CompatInfo # -# Copyright (c) 2011-2022 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText: Copyright 2011-2025 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt # # Please, preserve the changelog entries # -# For compatibility with SCL -%undefine __brp_mangle_shebangs %{!?php_version: %global php_version %(php -r 'echo PHP_VERSION;' 2>/dev/null)} -%global gh_commit 07bb648c3b0e853bac78e8e4b946a3aafa0271ac +%global gh_commit 56d3215bcf8acb2e822fc9ce21fa934cd6129637 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -#global gh_date 20151005 +%global gh_date 2025-11-23 %global gh_owner llaville %global gh_project php-compatinfo -%global upstream_version 6.4.1 +%global upstream_version 7.2.5 #global upstream_prever RC1 Name: php-bartlett-PHP-CompatInfo Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} -Release: 2%{?dist} +Release: 1%{?dist} Summary: Find out version and the extensions required for a piece of code to run -License: BSD and MIT +# SPDX: see bundled libraries list below +License: BSD-3-Clause and MIT URL: https://github.com/llaville/php-compatinfo Source0: %{name}-%{version}-%{gh_short}.tgz # Script for fedora-review @@ -34,86 +33,24 @@ Source1: fedora-review-check Source9: makesrc.sh # Relocate the database -Patch0: %{name}-6.0.0-rpm.patch +Patch0: %{name}-7.2.3-rpm.patch BuildArch: noarch -BuildRequires: php(language) >= 7.4 +BuildRequires: php(language) >= 8.1 BuildRequires: php-cli -BuildRequires: php-json +BuildRequires: composer-generators -Requires: php(language) >= 7.4 +Requires: php(language) >= 8.1 Requires: php-cli Requires: php-dom -Requires: php-json Requires: php-libxml -Requires: php-pcre Requires: php-phar Requires: php-pdo Requires: php-pdo_sqlite Requires: php-simplexml -Requires: php-spl Requires: php-xmlreader -# Bundled libraries -# License BSD-3-Clause -Provides: bundled(php-bartlett-php-compatinfo-db) = 4.3.0 -Provides: bundled(php-nikic-php-parser) = v4.13.2 -# License MIT -Provides: bundled(php-bartlett-sarif-php-sdk) = 1.0.1 -Provides: bundled(php-brick-math) = 0.9.3 -Provides: bundled(php-composer-semver) = 3.3.2 -Provides: bundled(php-doctrine-annotations) = 1.13.2 -Provides: bundled(php-doctrine-cache) = 2.1.1 -Provides: bundled(php-doctrine-collections) = 1.6.8 -Provides: bundled(php-doctrine-common) = 3.3.0 -Provides: bundled(php-doctrine-dbal) = 3.3.5 -Provides: bundled(php-doctrine-deprecations) = v0.5.3 -Provides: bundled(php-doctrine-event-manager) = 1.1.1 -Provides: bundled(php-doctrine-inflector) = 2.0.4 -Provides: bundled(php-doctrine-instantiator) = 1.4.1 -Provides: bundled(php-doctrine-lexer) = 1.2.3 -Provides: bundled(php-doctrine-orm) = 2.12.0 -Provides: bundled(php-doctrine-persistence) = 3.0.0 -Provides: bundled(php-psr-cache) = 1.0.1 -Provides: bundled(php-psr-container) = 1.1.2 -Provides: bundled(php-psr-event-dispatcher) = 1.0.0 -Provides: bundled(php-psr-log) = 1.1.4 -Provides: bundled(php-ramsey-collection) = 1.2.2 -Provides: bundled(php-ramsey-uuid) = 4.2.3 -Provides: bundled(php-symfony-amqp-messenger) = v5.4.5 -Provides: bundled(php-symfony-cache) = v5.4.7 -Provides: bundled(php-symfony-cache-contracts) = v2.5.1 -Provides: bundled(php-symfony-config) = v5.4.7 -Provides: bundled(php-symfony-console) = v5.4.7 -Provides: bundled(php-symfony-dependency-injection) = v5.4.7 -Provides: bundled(php-symfony-deprecation-contracts) = v2.5.1 -Provides: bundled(php-symfony-doctrine-messenger) = v5.4.7 -Provides: bundled(php-symfony-event-dispatcher) = v5.4.3 -Provides: bundled(php-symfony-event-dispatcher-contracts) = v2.5.1 -Provides: bundled(php-symfony-filesystem) = v5.4.7 -Provides: bundled(php-symfony-finder) = v5.4.3 -Provides: bundled(php-symfony-http-client) = v5.4.7 -Provides: bundled(php-symfony-http-client-contracts) = v2.5.1 -Provides: bundled(php-symfony-messenger) = v5.4.3 -Provides: bundled(php-symfony-polyfill-ctype) = v1.25.0 -Provides: bundled(php-symfony-polyfill-intl-grapheme) = v1.25.0 -Provides: bundled(php-symfony-polyfill-intl-normalizer) = v1.25.0 -Provides: bundled(php-symfony-polyfill-mbstring) = v1.25.0 -Provides: bundled(php-symfony-polyfill-php72) = v1.25.0 -Provides: bundled(php-symfony-polyfill-php73) = v1.25.0 -Provides: bundled(php-symfony-polyfill-php80) = v1.25.0 -Provides: bundled(php-symfony-polyfill-php81) = v1.25.0 -Provides: bundled(php-symfony-process) = v5.4.7 -Provides: bundled(php-symfony-redis-messenger) = v5.4.6 -Provides: bundled(php-symfony-requirements-checker) = v2.0.1 -Provides: bundled(php-symfony-serializer) = v5.4.7 -Provides: bundled(php-symfony-service-contracts) = v2.5.1 -Provides: bundled(php-symfony-stopwatch) = v5.4.5 -Provides: bundled(php-symfony-string) = v5.4.3 -Provides: bundled(php-symfony-var-exporter) = v5.4.7 - Provides: phpcompatinfo = %{version} -Provides: php-composer(bartlett/php-compatinfo) = %{version} %description @@ -125,7 +62,8 @@ show content of dictionary references. %prep %setup -q -n %{gh_project}-%{gh_commit} -%patch0 -p1 -b .rpm +%patch -P0 -p1 -b .rpm +rm bin/*rpm # https://github.com/llaville/php-compatinfo-db/issues/112 sed -e 's/touch/@touch/' -i vendor/bartlett/php-compatinfo-db/config/set/default.php @@ -140,54 +78,40 @@ do [ -f vendor/$vendor/$proj/LICENSE ] && mv vendor/$vendor/$proj/LICENSE ${vendor}_${proj}_LICENSE done done -rm -r tests +rm -r vendor/bartlett/*/.github +rm -r vendor/bartlett/*/.changes -: List bundled libraries and Licenses -php -r ' - $pkgs = file_get_contents("vendor/composer/installed.json"); - $pkgs = json_decode($pkgs, true); - if (!is_array($pkgs) || !isset($pkgs["packages"])) { - echo "cant decode json file\n"; - exit(3); - } - $res = []; - foreach($pkgs["packages"] as $pkg) { - $lic = implode(" and ", $pkg["license"]); - if (!isset($res[$lic])) $res[$lic] = []; - $res[$lic][] = sprintf("Provides: bundled(php-%s) = %s", str_replace(["/", "_"], ["-", "-"], $pkg["name"]), $pkg["version"]); - } - foreach($res as $lic => $lib) { - sort($lib); - printf("# License %s\n%s\n", $lic, implode("\n", $lib)); - } -' %build # Nothing %install -mkdir -p %{buildroot}%{_datadir} -cp -pr . %{buildroot}%{_datadir}/%{name} -rm %{buildroot}%{_datadir}/%{name}/*LICENSE +mkdir -p %{buildroot}%{_datadir}/%{name} +for i in bin config data resources src vendor composer.* autoload.php +do cp -pr $i %{buildroot}%{_datadir}/%{name}/$i +done mkdir -p %{buildroot}%{_bindir} ln -s ../share/%{name}/bin/phpcompatinfo %{buildroot}%{_bindir}/phpcompatinfo mkdir -p %{buildroot}%{_mandir}/man1 mv %{buildroot}%{_datadir}/%{name}/bin/phpcompatinfo.1 \ - %{buildroot}%{_mandir}/man1/phpcompatinfo.1 + %{buildroot}%{_mandir}/man1/phpcompatinfo.1 -install -D -p -m 755 %{SOURCE1} %{buildroot}%{_datadir}/%{name}/fedora-review-check +install -D -p -m 755 %{SOURCE1} \ + %{buildroot}%{_datadir}/%{name}/fedora-review-check %check -%{buildroot}%{_bindir}/phpcompatinfo --version || grep %{version} +%{buildroot}%{_bindir}/phpcompatinfo --version | grep %{version} && exit 0 %files %license *LICENSE -%doc README.* +%doc *md +%doc docs +%doc examples %doc composer.json %doc vendor/composer/installed.json %{_bindir}/phpcompatinfo @@ -196,6 +120,107 @@ install -D -p -m 755 %{SOURCE1} %{buildroot}%{_datadir}/%{name}/fedora- %changelog +* Tue Nov 25 2025 Remi Collet - 7.2.5-1 +- update to 7.2.5 +- update bundled bartlett/php-compatinfo-db to 6.26.0 + +* Thu Oct 9 2025 Remi Collet - 7.2.4-1 +- update to 7.2.4 +- update bundled bartlett/php-compatinfo-db to 6.24.1 + +* Fri Jul 25 2025 Fedora Release Engineering - 7.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon May 5 2025 Remi Collet - 7.2.3-1 +- update to 7.2.3 +- re-license spec file to CECILL-2.1 +- always build with composer-generators +- update bundled bartlett/php-compatinfo-db to 6.16.0 + +* Sat Jan 18 2025 Fedora Release Engineering - 7.1.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Nov 7 2024 Remi Collet - 7.1.4-4 +- hack for PHP 8.4 + +* Thu Nov 7 2024 Remi Collet - 7.1.4-3 +- update bundled bartlett/php-compatinfo-db to 6.12.0 +- update bundled dependencies +- optional support build with composer-generators + +* Fri Jul 19 2024 Fedora Release Engineering - 7.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Apr 24 2024 Remi Collet - 7.1.4-1 +- update to 7.1.4 +- update bundled bartlett/php-compatinfo-db to 6.5.0 + +* Tue Mar 19 2024 Remi Collet - 7.1.3-1 +- update to 7.1.3 +- update bundled bartlett/php-compatinfo-db to 6.4.2 + +* Thu Feb 8 2024 Remi Collet - 7.1.2-1 +- update to 7.1.2 +- update bundled bartlett/php-compatinfo-db to 6.2.1 + +* Thu Jan 25 2024 Fedora Release Engineering - 7.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 7.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 18 2024 Remi Collet - 7.1.1-1 +- update to 7.1.1 +- cleanup installation tree +- move docs and examples in package documentation + +* Tue Jan 2 2024 Remi Collet - 7.1.0-1 +- update to 7.1.0 + +* Wed Dec 6 2023 Remi Collet - 7.0.2-1 +- update to 7.0.2 +- update bundled bartlett/php-compatinfo-db to 6.0.0 +- open https://github.com/llaville/php-compatinfo/issues/365 8.0 compatibility +- raise dependency on PHP 8.1 + +* Tue Nov 14 2023 Remi Collet - 7.0.1-1 +- update to 7.0.1 +- update bundled bartlett/php-compatinfo-db to 5.13.0 + +* Mon Nov 13 2023 Remi Collet - 7.0.0-3 +- update bundled bartlett/php-compatinfo-db to 5.12.0 + +* Fri Jul 21 2023 Fedora Release Engineering - 7.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue May 16 2023 Remi Collet - 7.0.0-1 +- update to 7.0.0 +- raise dependency on PHP 8.0 +- update bundled bartlett/php-compatinfo-db to 5.5.0 + +* Fri Jan 20 2023 Fedora Release Engineering - 6.5.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 10 2023 Remi Collet - 6.5.4-2 +- update bundled bartlett/php-compatinfo-db to 4.11.0 + +* Wed Dec 14 2022 Remi Collet - 6.5.4-1 +- update to 6.5.4 +- update bundled bartlett/php-compatinfo-db to 4.10.0 + +* Mon Nov 7 2022 Remi Collet - 6.5.3-1 +- update to 6.5.3 +- update bundled bartlett/php-compatinfo-db to 4.8.0 + +* Tue Oct 25 2022 Remi Collet - 6.5.2-1 +- update to 6.5.2 + +* Tue Sep 27 2022 Remi Collet - 6.4.2-1 +- update to 6.4.2 + +* Fri Jul 22 2022 Fedora Release Engineering - 6.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Apr 20 2022 Remi Collet - 6.4.1-2 - update bundled bartlett/php-compatinfo-db to 4.2.0 diff --git a/sources b/sources index f8ef389..b1418ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-bartlett-PHP-CompatInfo-6.4.1-07bb648.tgz) = ca1ba8be6c116418bbf1cbb97178877eb4fa62d260688ebab90e69f644d17a3958d2dce3b42984fdbf4014c81e2dfb8dfb568fc49d6e794da800af8cf20745dd +SHA512 (php-bartlett-PHP-CompatInfo-7.2.5-56d3215.tgz) = 51b2715fccc20ab6fafadf9f9e0d60cc8103f2d435e0133f6020b05d7449761042dd4be30d2a0b141664d6e4193692cc9800b35ccc25d4144b03bae603ec26fe