# remirepo/fedora spec file for php-bartlett-php-compatinfo-db # # Copyright (c) 2015-2020 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # # See https://github.com/llaville/php-compatinfo-db/releases %global gh_commit bcd0fa30b6d85e12ee8d22f3d7708004453b5205 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) #global gh_date 20151031 %global gh_owner llaville %global gh_project php-compatinfo-db %global upstream_version 2.10.0 #global upstream_prever RC1 # Namespace %global ns_vendor Bartlett %global ns_project CompatInfoDb # Composer %global c_vendor bartlett %global c_project php-compatinfo-db %global with_tests 0%{!?_without_tests:1} Name: php-%{c_vendor}-%{c_project} Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} %global specrel 1 Release: %{?gh_date:1%{specrel}.%{?prever}%{!?prever:%{gh_date}git%{gh_short}}}%{!?gh_date:%{specrel}}%{?dist} Summary: Reference Database to be used with php-compatinfo library License: BSD URL: https://github.com/%{gh_owner}/%{gh_project} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{upstream_version}%{?upstream_prever}-%{gh_short}.tar.gz # Fix autoloader path # Fix sqlite database path # Fix version and avoir jean85/pretty-package-versions (relying on composer.lock) Patch0: %{name}-2.0-rpm.patch # CURL_SSLVERSION constants have been backported Patch1: %{name}-curltls.patch # upstream patches BuildArch: noarch # Needed to build the database from sources BuildRequires: php(language) >= 7.1 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(composer/semver) >= 1.0 with php-composer(composer/semver) < 2) BuildRequires: (php-composer(symfony/console) >= 3.0 with php-composer(symfony/console) < 5) BuildRequires: (php-composer(league/tactician) >= 1.0 with php-composer(league/tactician) < 2) BuildRequires: (php-composer(zendframework/zenddiagnostics) >= 1.3 with php-composer(zendframework/zenddiagnostics) < 2) # remirepo:10 %else BuildRequires: php-composer(composer/semver) < 2 BuildRequires: php-composer(composer/semver) >= 1.0 BuildRequires: php-composer(symfony/console) < 5 BuildRequires: php-composer(symfony/console) >= 3.0 BuildRequires: php-composer(league/tactician) < 2 BuildRequires: php-composer(league/tactician) >= 1.0 BuildRequires: php-composer(zendframework/zenddiagnostics) < 2 BuildRequires: php-composer(zendframework/zenddiagnostics) >= 1.3 %endif BuildRequires: php-pdo BuildRequires: php-reflection BuildRequires: php-curl BuildRequires: php-intl BuildRequires: php-libxml BuildRequires: php-openssl BuildRequires: php-pcre BuildRequires: php-spl BuildRequires: php-json BuildRequires: php-pdo_sqlite # For our patch / autoloader BuildRequires: php-composer(fedora/autoloader) # From composer.json, "require-dev": { # "psr/log": "^1.0", # "monolog/monolog": "^1.10", # "bartlett/phpunit-loggertestlistener": "^2.0", # "phpunit/php-timer": "^2.0" BuildRequires: php-cli %if %{with_tests} BuildRequires: php-composer(phpunit/phpunit) %endif # From composer.json, "require" # "php": "^7.1", # "composer/semver": "^1.0", # "ext-curl": "*", # "ext-intl": "*", # "ext-libxml": "*", # "ext-openssl": "*", # "ext-pcre": "*", # "ext-spl": "*", # "ext-json": "*", # "ext-pdo_sqlite": "*", # "symfony/console": "^3.0||^4.0", # "jean85/pretty-package-versions": "^1.2", # "league/tactician": "^1.0", # "zendframework/zenddiagnostics": "^1.3" Requires: php(language) >= 7.1 # remirepo:1 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(composer/semver) >= 1.0 with php-composer(composer/semver) < 2) Requires: (php-composer(symfony/console) >= 3.0 with php-composer(symfony/console) < 5) Requires: (php-composer(league/tactician) >= 1.0 with php-composer(league/tactician) < 2) Requires: (php-composer(zendframework/zenddiagnostics) >= 1.3 with php-composer(zendframework/zenddiagnostics) < 2) # remirepo:10 %else Requires: php-composer(composer/semver) < 2 Requires: php-composer(composer/semver) >= 1.0 Requires: php-composer(symfony/console) < 5 Requires: php-composer(symfony/console) >= 3.0 Requires: php-composer(league/tactician) < 2 Requires: php-composer(league/tactician) >= 1.0 Requires: php-composer(zendframework/zenddiagnostics) < 2 Requires: php-composer(zendframework/zenddiagnostics) >= 1.3 %endif Requires: php-pdo Requires: php-reflection Requires: php-curl Requires: php-date Requires: php-intl Requires: php-json Requires: php-libxml Requires: php-openssl Requires: php-pcre Requires: php-spl Requires: php-pdo_sqlite # Required by autoloader Requires: php-composer(fedora/autoloader) Provides: php-composer(%{c_vendor}/%{c_project}) = %{version} # Extracted from bartlett/php-compatinfo 4 Conflicts: php-bartlett-PHP-CompatInfo < 5 %description %{summary}. %prep %setup -q -n %{gh_project}-%{gh_commit} %patch0 -p1 -b .rpm %patch1 -p0 -b .curltls cat << 'EOF' | tee src/autoload.php ")) { fputs(STDERR, "Current: " . PHP_VERSION . " > Known: $max\n\n"); echo "/LATEST_PHP_" . PHP_MAJOR_VERSION . "_" . PHP_MINOR_VERSION . "/s/" . PHP_MAJOR_VERSION . "\." .PHP_MINOR_VERSION . "\.[0-9]*/" . PHP_VERSION . "/"; } else { fputs(STDERR, "Current: " . PHP_VERSION . " = Known: $max\n\n"); } ') if [ -n "$OPT" ]; then sed -e "$OPT" -i src/ExtensionFactory.php fi grep " LATEST" src/ExtensionFactory.php : Create command using local sources sed -e "s:%{_datadir}/php/%{ns_vendor}/%{ns_project}:$PWD/src:" bin/compatinfo-db >compatinfo-db : Diag %{_bindir}/php -d date.timezone=Europe/Paris compatinfo-db bartlett:diagnose : Fix references database %{_bindir}/php -d date.timezone=Europe/Paris compatinfo-db bartlett:db:release:php : Generate the references database %{_bindir}/php -d date.timezone=Europe/Paris compatinfo-db bartlett:db:init %install mkdir -p %{buildroot}%{_datadir}/php/%{ns_vendor} cp -pr src %{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project} install -D -p -m 644 data/compatinfo.sqlite %{buildroot}%{_datadir}/%{name}/compatinfo.sqlite install -D -p -m 755 bin/compatinfo-db %{buildroot}%{_bindir}/%{name} %if %{with_tests} %check export BARTLETT_COMPATINFO_DB=%{buildroot}%{_datadir}/%{name}/compatinfo.sqlite cat << 'EOF' | tee tests/bootstrap.php - 2.10.0-1 - update to 2.10.0 * Wed Jan 22 2020 Remi Collet - 2.9.0-1 - update to 2.9.0 - open https://github.com/llaville/php-compatinfo-db/issues/38 redis - open https://github.com/llaville/php-compatinfo-db/issues/39 svn * Thu Jan 2 2020 Remi Collet - 2.8.0-1 - update to 2.8.0 - open https://github.com/llaville/php-compatinfo-db/issues/34 memcache - open https://github.com/llaville/php-compatinfo-db/issues/35 redis - open https://github.com/llaville/php-compatinfo-db/issues/36 varnish - open https://github.com/llaville/php-compatinfo-db/issues/37 opcache * Tue Dec 3 2019 Remi Collet - 2.7.0-1 - update to 2.7.0 - ignore test results with 7.4, reported as https://github.com/llaville/php-compatinfo-db/issues/32 * Fri Jul 26 2019 Remi Collet - 2.6.0-1 - update to 2.6.0 * Sun Jun 16 2019 Remi Collet - 2.5.0-1 - update to 2.5.0 * Tue Jun 4 2019 Remi Collet - 2.4.0-2 - add upstream patches for sqlite3 and imagick - open https://github.com/llaville/php-compatinfo-db/issues/30 test failure related to sqlite3.defensive - open https://github.com/llaville/php-compatinfo-db/issues/31 test failure for mbstring since PHP 7.3.5 * Mon May 20 2019 Remi Collet - 2.4.0-1 - update to 2.4.0 - open https://github.com/llaville/php-compatinfo-db/issues/29 test failure related to imagick * Thu Apr 11 2019 Remi Collet - 2.3.0-1 - update to 2.3.0 * Mon Mar 11 2019 Remi Collet - 2.2.0-1 - update to 2.2.0 * Mon Feb 25 2019 Remi Collet - 2.1.1-1 - update to 2.1.1 * Mon Jan 21 2019 Remi Collet - 2.0.0-1 - update to 2.0.0 * Thu Jan 3 2019 Remi Collet - 2.0.0~RC1-1 - update to 2.0.0RC1 - bump dependency on PHP 7.1 - add dependency on symfony/console 3 or 4 - add dependency on league/tactician - add dependency on zendframework/zenddiagnostics - add php-bartlett-php-compatinfo-db command * Tue Dec 18 2018 Remi Collet - 1.39.0-1 - update to 1.39.0 * Mon Nov 19 2018 Remi Collet - 1.38.1-1 - update to 1.38.1 (no change) * Tue Nov 13 2018 Remi Collet - 1.38.0-1 - update to 1.38.0 * Fri Oct 12 2018 Remi Collet - 1.37.0-1 - update to 1.37.0 - use symfony3 - ignore test failing because of symfony/polyfill * Sun Oct 7 2018 Remi Collet - 1.36.0-2 - update to 1.36.0 - raise dependency on PHP 5.5 - open https://github.com/llaville/php-compatinfo-db/issues/14 zip - open https://github.com/llaville/php-compatinfo-db/issues/15 http - open https://github.com/llaville/php-compatinfo-db/issues/16 redis - open https://github.com/llaville/php-compatinfo-db/issues/17 uopz - open https://github.com/llaville/php-compatinfo-db/issues/18 varnish * Wed Aug 29 2018 Remi Collet - 1.35.0-2 - update to 1.35.0 * Mon Jul 23 2018 Remi Collet - 1.34.0-1 - update to 1.34.0 * Fri Jul 6 2018 Remi Collet - 1.33.0-1 - update to 1.33.0 * Fri Apr 27 2018 Remi Collet - 1.32.0-1 - update to 1.32.0 * Thu Apr 5 2018 Remi Collet - 1.31.0-1 - update to 1.31.0 * Fri Mar 2 2018 Remi Collet - 1.30.0-1 - Update to 1.30.0 * Fri Feb 2 2018 Remi Collet - 1.29.0-1 - Update to 1.29.0 - use range dependency on F27+ * Tue Jan 9 2018 Remi Collet - 1.28.0-1 - Update to 1.28.0 * Fri Jan 5 2018 Remi Collet - 1.27.0-2 - enable test suite with 7.1 * Fri Jan 5 2018 Remi Collet - 1.27.0-1 - Update to 1.27.0 * Fri Nov 24 2017 Remi Collet - 1.26.0-1 - Update to 1.26.0 * Tue Oct 31 2017 Remi Collet - 1.25.0-1 - Update to 1.25.0 * Tue Oct 3 2017 Remi Collet - 1.24.0-1 - Update to 1.24.0 * Thu Sep 28 2017 Remi Collet - 1.24.0~RC1-1 - Update to 1.24.0RC1 * Mon Jul 17 2017 Remi Collet - 1.23.0-1 - Update to 1.23.0 * Sat Jun 10 2017 Remi Collet - 1.22.0-1 - Update to 1.22.0 * Fri Jun 9 2017 Remi Collet - 1.21.0-1 - Update to 1.21.0 * Fri Apr 14 2017 Remi Collet - 1.20.0-1 - Update to 1.20.0 * Fri Mar 17 2017 Remi Collet - 1.19.0-1 - Update to 1.19.0 - adapt patch fixing DB location * Fri Feb 24 2017 Remi Collet - 1.18.0-1 - update to 1.18.0 * Tue Jan 24 2017 Remi Collet - 1.17.0-1 - update to 1.17.0 * Fri Dec 16 2016 Remi Collet - 1.16.0-1 - update to 1.16.0 * Wed Nov 23 2016 Remi Collet - 1.15.0-1 - update to 1.15.0 - disable test suite with PHP 7.1, not yet supported https://github.com/llaville/php-compatinfo-db/issues/8 * Mon Oct 31 2016 Remi Collet - 1.14.0-2 - switch to fedora/autoloader * Sat Oct 15 2016 Remi Collet - 1.14.0-1 - update to 1.14.0 * Tue Oct 4 2016 Remi Collet - 1.13.0-1 - update to 1.13.0 * Tue Sep 27 2016 Remi Collet - 1.12.0-1 - update to 1.12.0 * Tue Jul 26 2016 Remi Collet - 1.11.0-1 - update to 1.11.0 * Tue Jul 5 2016 Remi Collet - 1.10.0-1 - update to 1.10.0 * Sat May 28 2016 Remi Collet - 1.9.0-1 - update to 1.9.0 * Tue May 3 2016 Remi Collet - 1.8.1-1 - update to 1.8.1 * Tue May 3 2016 Remi Collet - 1.8.0-1 - update to 1.8.0 - fix broken imagick references https://github.com/llaville/php-compatinfo-db/issues/4 * Tue Apr 12 2016 Remi Collet - 1.7.0-1 - update to 1.7.0 * Sat Mar 5 2016 Remi Collet - 1.6.0-1 - update to 1.6.0 - use package version as version in database instead of date * Sat Feb 6 2016 Remi Collet - 1.5.0-1 - update to 1.5.0 * Sat Jan 9 2016 Remi Collet - 1.4.0-1 - update to 1.4.0 * Tue Dec 29 2015 Remi Collet - 1.3.0-1 - update to 1.3.0 * Thu Dec 10 2015 Remi Collet - 1.2.0-2 - fix reference to ensure current version is known as we usually build RC version in rawhide. * Sat Dec 5 2015 Remi Collet - 1.2.0-1 - update to 1.2.0 - add dependency on composer/semver * Wed Nov 4 2015 Remi Collet - 1.0.0-0.1.alpha1 - Initial package