diff --git a/.gitignore b/.gitignore index 7d3bdec..7626a63 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,3 @@ clog /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/php-bartlett-PHP-CompatInfo-7.2.3-rpm.patch b/php-bartlett-PHP-CompatInfo-6.0.0-rpm.patch similarity index 51% rename from php-bartlett-PHP-CompatInfo-7.2.3-rpm.patch rename to php-bartlett-PHP-CompatInfo-6.0.0-rpm.patch index a6a4931..92cebab 100644 --- a/php-bartlett-PHP-CompatInfo-7.2.3-rpm.patch +++ b/php-bartlett-PHP-CompatInfo-6.0.0-rpm.patch @@ -1,7 +1,7 @@ diff -up ./bin/phpcompatinfo.rpm ./bin/phpcompatinfo ---- ./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') { +--- ./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') { return; } @@ -11,4 +11,4 @@ diff -up ./bin/phpcompatinfo.rpm ./bin/phpcompatinfo + gc_disable(); // performance boost - require_once dirname(__DIR__) . '/autoload.php'; + require_once dirname(__DIR__) . '/config/bootstrap.php'; diff --git a/php-bartlett-PHP-CompatInfo.spec b/php-bartlett-PHP-CompatInfo.spec index 0e89b83..cfaff04 100644 --- a/php-bartlett-PHP-CompatInfo.spec +++ b/php-bartlett-PHP-CompatInfo.spec @@ -1,26 +1,28 @@ # remirepo/fedora spec file for php-bartlett-PHP-CompatInfo # -# SPDX-FileCopyrightText: Copyright 2011-2025 Remi Collet -# SPDX-License-Identifier: CECILL-2.1 -# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +# Copyright (c) 2011-2024 Remi Collet +# License: CC-BY-SA-4.0 +# http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # +%bcond_with generators + %{!?php_version: %global php_version %(php -r 'echo PHP_VERSION;' 2>/dev/null)} -%global gh_commit 56d3215bcf8acb2e822fc9ce21fa934cd6129637 +%global gh_commit 9875282a35266aa2b66416303c06edcd70fc50a1 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_date 2025-11-23 +%global gh_date 2024-04-24 %global gh_owner llaville %global gh_project php-compatinfo -%global upstream_version 7.2.5 +%global upstream_version 7.1.4 #global upstream_prever RC1 Name: php-bartlett-PHP-CompatInfo Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} -Release: 1%{?dist} +Release: 3%{?dist} Summary: Find out version and the extensions required for a piece of code to run # SPDX: see bundled libraries list below @@ -33,23 +35,88 @@ Source1: fedora-review-check Source9: makesrc.sh # Relocate the database -Patch0: %{name}-7.2.3-rpm.patch +Patch0: %{name}-6.0.0-rpm.patch BuildArch: noarch BuildRequires: php(language) >= 8.1 BuildRequires: php-cli +BuildRequires: php-json +%if %{with generators} BuildRequires: composer-generators +%endif 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 +%if %{without generators} +# Bundled libraries +# License BSD-3-Clause +Provides: bundled(php-composer(bartlett/php-compatinfo-db)) = 6.12.0 +Provides: bundled(php-composer(nikic/php-parser)) = v5.3.1 +# License MIT +Provides: bundled(php-composer(bartlett/sarif-php-sdk)) = 1.5.0 +Provides: bundled(php-composer(brick/math)) = 0.12.1 +Provides: bundled(php-composer(composer/semver)) = 3.4.3 +Provides: bundled(php-composer(doctrine/cache)) = 2.2.0 +Provides: bundled(php-composer(doctrine/collections)) = 1.8.0 +Provides: bundled(php-composer(doctrine/common)) = 3.4.5 +Provides: bundled(php-composer(doctrine/dbal)) = 3.9.3 +Provides: bundled(php-composer(doctrine/deprecations)) = 1.1.3 +Provides: bundled(php-composer(doctrine/event-manager)) = 2.0.1 +Provides: bundled(php-composer(doctrine/inflector)) = 2.0.10 +Provides: bundled(php-composer(doctrine/instantiator)) = 2.0.0 +Provides: bundled(php-composer(doctrine/lexer)) = 3.0.1 +Provides: bundled(php-composer(doctrine/orm)) = 2.20.0 +Provides: bundled(php-composer(doctrine/persistence)) = 3.4.0 +Provides: bundled(php-composer(psr/cache)) = 3.0.0 +Provides: bundled(php-composer(psr/clock)) = 1.0.0 +Provides: bundled(php-composer(psr/container)) = 2.0.2 +Provides: bundled(php-composer(psr/event-dispatcher)) = 1.0.0 +Provides: bundled(php-composer(psr/log)) = 3.0.2 +Provides: bundled(php-composer(ramsey/collection)) = 2.0.0 +Provides: bundled(php-composer(ramsey/uuid)) = 4.7.6 +Provides: bundled(php-composer(symfony/cache)) = v6.4.14 +Provides: bundled(php-composer(symfony/cache-contracts)) = v3.5.0 +Provides: bundled(php-composer(symfony/clock)) = v6.4.13 +Provides: bundled(php-composer(symfony/config)) = v6.4.14 +Provides: bundled(php-composer(symfony/console)) = v6.4.14 +Provides: bundled(php-composer(symfony/dependency-injection)) = v6.4.13 +Provides: bundled(php-composer(symfony/deprecation-contracts)) = v3.5.0 +Provides: bundled(php-composer(symfony/event-dispatcher)) = v6.4.13 +Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = v3.5.0 +Provides: bundled(php-composer(symfony/filesystem)) = v6.4.13 +Provides: bundled(php-composer(symfony/finder)) = v6.4.13 +Provides: bundled(php-composer(symfony/http-client)) = v6.4.14 +Provides: bundled(php-composer(symfony/http-client-contracts)) = v3.5.0 +Provides: bundled(php-composer(symfony/messenger)) = v6.4.13 +Provides: bundled(php-composer(symfony/polyfill-ctype)) = v1.31.0 +Provides: bundled(php-composer(symfony/polyfill-intl-grapheme)) = v1.31.0 +Provides: bundled(php-composer(symfony/polyfill-intl-normalizer)) = v1.31.0 +Provides: bundled(php-composer(symfony/polyfill-mbstring)) = v1.31.0 +Provides: bundled(php-composer(symfony/polyfill-php72)) = v1.31.0 +Provides: bundled(php-composer(symfony/polyfill-php80)) = v1.31.0 +Provides: bundled(php-composer(symfony/polyfill-php83)) = v1.31.0 +Provides: bundled(php-composer(symfony/polyfill-php84)) = v1.31.0 +Provides: bundled(php-composer(symfony/process)) = v6.4.14 +Provides: bundled(php-composer(symfony/requirements-checker)) = v2.0.1 +Provides: bundled(php-composer(symfony/serializer)) = v6.4.13 +Provides: bundled(php-composer(symfony/service-contracts)) = v3.5.0 +Provides: bundled(php-composer(symfony/stopwatch)) = v6.4.13 +Provides: bundled(php-composer(symfony/string)) = v6.4.13 +Provides: bundled(php-composer(symfony/var-exporter)) = v6.4.13 + +Provides: php-composer(bartlett/php-compatinfo) = %{version} +%endif Provides: phpcompatinfo = %{version} @@ -81,6 +148,28 @@ done rm -r vendor/bartlett/*/.github rm -r vendor/bartlett/*/.changes +%if %{without generators} +: 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-composer(%s)) = %s", $pkg["name"], $pkg["version"]); + } + foreach($res as $lic => $lib) { + sort($lib); + printf("# License %s\n%s\n", $lic, implode("\n", $lib)); + } +' +%endif + %build # Nothing @@ -88,7 +177,7 @@ rm -r vendor/bartlett/*/.changes %install mkdir -p %{buildroot}%{_datadir}/%{name} -for i in bin config data resources src vendor composer.* autoload.php +for i in bin config data resources src vendor composer.* do cp -pr $i %{buildroot}%{_datadir}/%{name}/$i done @@ -120,37 +209,11 @@ install -D -p -m 755 %{SOURCE1} \ %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 @@ -163,12 +226,6 @@ install -D -p -m 755 %{SOURCE1} \ - 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 diff --git a/sources b/sources index b1418ee..003e67e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-bartlett-PHP-CompatInfo-7.2.5-56d3215.tgz) = 51b2715fccc20ab6fafadf9f9e0d60cc8103f2d435e0133f6020b05d7449761042dd4be30d2a0b141664d6e4193692cc9800b35ccc25d4144b03bae603ec26fe +SHA512 (php-bartlett-PHP-CompatInfo-7.1.4-9875282.tgz) = fda8cebf9471cb7c49b91137a89e8b051e447d13dad14b1b8b19854f83ab049b53cb21dd965febb21832135dc7f4e79197efe68fe11fdb48e2d8387fe8a22c19