diff --git a/.gitignore b/.gitignore index 7d3bdec..938d15f 100644 --- a/.gitignore +++ b/.gitignore @@ -54,14 +54,4 @@ clog /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 +/php-bartlett-PHP-CompatInfo-6.5.5-7852058.tgz diff --git a/makesrc.sh b/makesrc.sh index a2d4c80..124d01a 100755 --- a/makesrc.sh +++ b/makesrc.sh @@ -1,28 +1,23 @@ #!/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..." rm -rf $HOME/.cache/bartlett -git clone --shallow-since=$DATE https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT +git clone 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 ../ 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..4121d17 100644 --- a/php-bartlett-PHP-CompatInfo.spec +++ b/php-bartlett-PHP-CompatInfo.spec @@ -1,21 +1,23 @@ # 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-2023 Remi Collet +# License: CC-BY-SA-4.0 +# http://creativecommons.org/licenses/by-sa/4.0/ # # 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 56d3215bcf8acb2e822fc9ce21fa934cd6129637 +%global gh_commit 7852058ad3011d14021cd83cd108c74fabd7754b %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) -%global gh_date 2025-11-23 +#global gh_date 20151005 %global gh_owner llaville %global gh_project php-compatinfo -%global upstream_version 7.2.5 +%global upstream_version 6.5.5 #global upstream_prever RC1 Name: php-bartlett-PHP-CompatInfo @@ -33,24 +35,86 @@ 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(language) >= 7.4 BuildRequires: php-cli -BuildRequires: composer-generators +BuildRequires: php-json -Requires: php(language) >= 8.1 +Requires: php(language) >= 7.4 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.11.0 +Provides: bundled(php-nikic-php-parser) = v4.15.4 +# 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.14.3 +Provides: bundled(php-doctrine-cache) = 2.2.0 +Provides: bundled(php-doctrine-collections) = 1.8.0 +Provides: bundled(php-doctrine-common) = 3.4.3 +Provides: bundled(php-doctrine-dbal) = 3.6.2 +Provides: bundled(php-doctrine-deprecations) = v1.0.0 +Provides: bundled(php-doctrine-event-manager) = 1.2.0 +Provides: bundled(php-doctrine-inflector) = 2.0.6 +Provides: bundled(php-doctrine-instantiator) = 1.5.0 +Provides: bundled(php-doctrine-lexer) = 2.1.0 +Provides: bundled(php-doctrine-orm) = 2.15.1 +Provides: bundled(php-doctrine-persistence) = 3.1.4 +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.3.0 +Provides: bundled(php-ramsey-uuid) = 4.2.3 +Provides: bundled(php-symfony-amqp-messenger) = v5.4.22 +Provides: bundled(php-symfony-cache) = v5.4.23 +Provides: bundled(php-symfony-cache-contracts) = v2.5.2 +Provides: bundled(php-symfony-config) = v5.4.21 +Provides: bundled(php-symfony-console) = v5.4.23 +Provides: bundled(php-symfony-dependency-injection) = v5.4.23 +Provides: bundled(php-symfony-deprecation-contracts) = v2.5.2 +Provides: bundled(php-symfony-doctrine-messenger) = v5.4.23 +Provides: bundled(php-symfony-event-dispatcher) = v5.4.22 +Provides: bundled(php-symfony-event-dispatcher-contracts) = v2.5.2 +Provides: bundled(php-symfony-filesystem) = v5.4.23 +Provides: bundled(php-symfony-finder) = v5.4.21 +Provides: bundled(php-symfony-http-client) = v5.4.23 +Provides: bundled(php-symfony-http-client-contracts) = v2.5.2 +Provides: bundled(php-symfony-messenger) = v5.4.23 +Provides: bundled(php-symfony-polyfill-ctype) = v1.27.0 +Provides: bundled(php-symfony-polyfill-intl-grapheme) = v1.27.0 +Provides: bundled(php-symfony-polyfill-intl-normalizer) = v1.27.0 +Provides: bundled(php-symfony-polyfill-mbstring) = v1.27.0 +Provides: bundled(php-symfony-polyfill-php72) = v1.27.0 +Provides: bundled(php-symfony-polyfill-php73) = v1.27.0 +Provides: bundled(php-symfony-polyfill-php80) = v1.27.0 +Provides: bundled(php-symfony-polyfill-php81) = v1.27.0 +Provides: bundled(php-symfony-process) = v5.4.23 +Provides: bundled(php-symfony-redis-messenger) = v5.4.23 +Provides: bundled(php-symfony-requirements-checker) = v2.0.1 +Provides: bundled(php-symfony-serializer) = v5.4.23 +Provides: bundled(php-symfony-service-contracts) = v2.5.2 +Provides: bundled(php-symfony-stopwatch) = v5.4.21 +Provides: bundled(php-symfony-string) = v5.4.22 +Provides: bundled(php-symfony-var-exporter) = v5.4.21 + Provides: phpcompatinfo = %{version} +Provides: php-composer(bartlett/php-compatinfo) = %{version} %description @@ -63,7 +127,6 @@ show content of dictionary references. %prep %setup -q -n %{gh_project}-%{gh_commit} %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 @@ -78,40 +141,54 @@ do [ -f vendor/$vendor/$proj/LICENSE ] && mv vendor/$vendor/$proj/LICENSE ${vendor}_${proj}_LICENSE done done -rm -r vendor/bartlett/*/.github -rm -r vendor/bartlett/*/.changes +rm -r tests +: 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}/%{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}%{_datadir} +cp -pr . %{buildroot}%{_datadir}/%{name} +rm %{buildroot}%{_datadir}/%{name}/*LICENSE 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} && exit 0 +%{buildroot}%{_bindir}/phpcompatinfo --version || grep %{version} %files %license *LICENSE -%doc *md -%doc docs -%doc examples +%doc README.* %doc composer.json %doc vendor/composer/installed.json %{_bindir}/phpcompatinfo @@ -120,86 +197,8 @@ 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 - -* 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 May 16 2023 Remi Collet - 6.5.5-1 +- update to 6.5.5 * Tue Jan 10 2023 Remi Collet - 6.5.4-2 - update bundled bartlett/php-compatinfo-db to 4.11.0 diff --git a/sources b/sources index b1418ee..ad44609 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (php-bartlett-PHP-CompatInfo-7.2.5-56d3215.tgz) = 51b2715fccc20ab6fafadf9f9e0d60cc8103f2d435e0133f6020b05d7449761042dd4be30d2a0b141664d6e4193692cc9800b35ccc25d4144b03bae603ec26fe +SHA512 (php-bartlett-PHP-CompatInfo-6.5.5-7852058.tgz) = f2f086e09db803c4b7c8f5f1ee30f5f3efa7e8c11766a489011cb9bc017bbdc2724de823d777f2f2283d70aa5f86d22abd56d4976745b65ab4724b2a5812dd2b