summaryrefslogtreecommitdiffstats
path: root/php-bartlett-php-compatinfo-db.spec
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2021-01-13 16:26:45 +0100
committerRemi Collet <remi@remirepo.net>2021-01-13 16:26:45 +0100
commit3e48f7848045a708ec61a5914019d028f57ca18c (patch)
treee43d0fea261e307a2c2ec12c13dae6a45d0b67d2 /php-bartlett-php-compatinfo-db.spec
parent09511e9a197f0cf429590871cbc4def6658b35cf (diff)
update to 3.1.0
drop dependency on league/tactician drop dependency on laminas/laminas-diagnostics add dependency on doctrine/orm add dependency on symfony/config add dependency on symfony/dependency-injection add dependency on symfony/event-dispatcher add dependency on symfony/messenger add dependency on symfony/requirements-checker switch to phpunit9
Diffstat (limited to 'php-bartlett-php-compatinfo-db.spec')
-rw-r--r--php-bartlett-php-compatinfo-db.spec204
1 files changed, 109 insertions, 95 deletions
diff --git a/php-bartlett-php-compatinfo-db.spec b/php-bartlett-php-compatinfo-db.spec
index de8629f..b6b2107 100644
--- a/php-bartlett-php-compatinfo-db.spec
+++ b/php-bartlett-php-compatinfo-db.spec
@@ -7,12 +7,12 @@
# Please, preserve the changelog entries
#
# See https://github.com/llaville/php-compatinfo-db/releases
-%global gh_commit 4bc78f3103014c65f598162055838a1abee939fe
+%global gh_commit ad60cc8fad669063527c5754cc535ef509520aeb
%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.19.0
+%global upstream_version 3.1.0
#global upstream_prever RC1
# Namespace
%global ns_vendor Bartlett
@@ -41,91 +41,89 @@ Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit
# Fix autoloader path
# Fix sqlite database path
# Fix version and avoir composer/package-versions-deprecated (relying on composer.lock)
-Patch0: %{name}-2.19-rpm.patch
+Patch0: %{name}-3-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
+BuildRequires: php(language) >= 7.2
+BuildRequires: php-json
+BuildRequires: php-pcre
+BuildRequires: php-pdo
+BuildRequires: php-phar
+BuildRequires: php-spl
+# From composer.json, "require-dev"
+# "composer/composer": "^2.0",
+# "psr/log": "^1.0",
+# "symfony/phpunit-bridge": "^5.1"
# remirepo:1
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
BuildRequires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4)
-BuildRequires: (php-composer(symfony/console) >= 4.4 with php-composer(symfony/console) < 6)
-BuildRequires: (php-composer(league/tactician) >= 1.0 with php-composer(league/tactician) < 2)
-BuildRequires: (php-composer(laminas/laminas-diagnostics) >= 1.3 with php-composer(laminas/laminas-diagnostics) < 2)
+BuildRequires: (php-composer(doctrine/orm) >= 2.7 with php-composer(doctrine/orm) < 4)
+BuildRequires: (php-composer(symfony/requirements-checker) >= 2.0 with php-composer(symfony/requirements-checker) < 3)
# remirepo:8
%else
BuildRequires: php-composer-semver3
-BuildRequires: php-symfony-console4 >= 4.4
-BuildRequires: php-composer(league/tactician) < 2
-BuildRequires: php-composer(league/tactician) >= 1.0
-BuildRequires: php-composer(laminas/laminas-diagnostics) < 2
-BuildRequires: php-composer(laminas/laminas-diagnostics) >= 1.3
+BuildRequires: php-doctrine-orm >= 2.7
+BuildRequires: php-symfony-requirements-checker >= 2.0
%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
+BuildRequires: php-symfony4-config >= 4.4
+BuildRequires: php-symfony4-console >= 4.4
+BuildRequires: php-symfony4-dependency-injection >= 4.4
+BuildRequires: php-symfony4-event-dispatcher >= 4.4
+BuildRequires: php-symfony4-messenger >= 4.4
+BuildRequires: php-symfony4-stopwatch >= 4.4
# For our patch / autoloader
BuildRequires: php-composer(fedora/autoloader)
# From composer.json, "require-dev": {
# "phpunit/php-timer": "^2.0"
BuildRequires: php-cli
%if %{with tests}
-BuildRequires: php-composer(phpunit/phpunit)
+BuildRequires: phpunit9
%endif
# From composer.json, "require"
-# "php": "^7.1",
-# "composer/semver": "^1.0|^2.0|^3.0",
-# "ext-curl": "*",
-# "ext-intl": "*",
-# "ext-libxml": "*",
-# "ext-openssl": "*",
+# "php": "^7.2|^8.0",
+# "ext-json": "*",
# "ext-pcre": "*",
+# "ext-pdo": "*",
+# "ext-phar": "*",
# "ext-spl": "*",
-# "ext-json": "*",
-# "ext-pdo_sqlite": "*",
-# "symfony/console": "^4.4||^5.0",
# "composer/package-versions-deprecated": "^1.8",
-# "league/tactician": "^1.0",
-# "laminas/laminas-diagnostics": "^1.3"
-Requires: php(language) >= 7.1
+# "composer/semver": "^1.0|^2.0|^3.0",
+# "doctrine/orm": "^2.7",
+# "symfony/config": "^4.4|^5.0",
+# "symfony/console": "^4.4|^5.0",
+# "symfony/dependency-injection": "^4.4|^5.0",
+# "symfony/event-dispatcher": "^4.4|^5.0",
+# "symfony/messenger": "^4.4|^5.0",
+# "symfony/requirements-checker": "^2.0",
+# "symfony/stopwatch": "^4.4|^5.0"
+Requires: php(language) >= 7.2
+Requires: php-json
+Requires: php-pcre
+Requires: php-pdo
+Requires: php-phar
+Requires: php-spl
# remirepo:1
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
Requires: (php-composer(composer/semver) >= 3.0 with php-composer(composer/semver) < 4)
-Requires: (php-composer(symfony/console) >= 4.4 with php-composer(symfony/console) < 6)
-Requires: (php-composer(league/tactician) >= 1.0 with php-composer(league/tactician) < 2)
-Requires: (php-composer(laminas/laminas-diagnostics) >= 1.3 with php-composer(laminas/laminas-diagnostics) < 2)
+Requires: (php-composer(doctrine/orm) >= 2.7 with php-composer(doctrine/orm) < 4)
+Requires: (php-composer(symfony/requirements-checker) >= 2.0 with php-composer(symfony/requirements-checker) < 3)
# remirepo:8
%else
-Requires: php-composer-semver3
-Requires: php-symfony-console4 >= 4.4
-Requires: php-composer(league/tactician) < 2
-Requires: php-composer(league/tactician) >= 1.0
-Requires: php-composer(laminas/laminas-diagnostics) < 2
-Requires: php-composer(laminas/laminas-diagnostics) >= 1.3
+Requires: php-composer-semver3 >= 3.0
+Requires: php-doctrine-orm >= 2.7
+Requires: php-symfony-requirements-checker >= 2.0
%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
+Requires: php-symfony4-config >= 4.4
+Requires: php-symfony4-console >= 4.4
+Requires: php-symfony4-dependency-injection >= 4.4
+Requires: php-symfony4-event-dispatcher >= 4.4
+Requires: php-symfony4-messenger >= 4.4
+Requires: php-symfony4-stopwatch >= 4.4
# Required by autoloader
Requires: php-composer(fedora/autoloader)
@@ -144,6 +142,11 @@ Conflicts: php-bartlett-PHP-CompatInfo < 5
%patch0 -p1 -b .rpm
%patch1 -p0 -b .curltls
+sed -e 's/Command::SUCCESS/0/' -i src/Presentation/Console/Command/*.php
+
+: relocate
+mv config src/config
+
cat << 'EOF' | tee src/autoload.php
<?php
/**
@@ -155,20 +158,22 @@ require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php';
\Fedora\Autoloader\Autoload::addPsr4('Bartlett\\CompatInfoDb\\', __DIR__);
\Fedora\Autoloader\Dependencies::required(array(
'%{_datadir}/php/Composer/Semver3/autoload.php',
- [
- '%{_datadir}/php/Symfony5/Component/Console/autoload.php',
- '%{_datadir}/php/Symfony4/Component/Console/autoload.php',
- ],
- '%{_datadir}/php/League/Tactician/autoload.php',
- '%{_datadir}/php/Laminas/Diagnostics/autoload.php',
+ '%{_datadir}/php/Symfony4/Component/Config/autoload.php',
+ '%{_datadir}/php/Symfony4/Component/Console/autoload.php',
+ '%{_datadir}/php/Symfony4/Component/DependencyInjection/autoload.php',
+ '%{_datadir}/php/Symfony4/Component/EventDispatcher/autoload.php',
+ '%{_datadir}/php/Symfony4/Component/Messenger/autoload.php',
+ '%{_datadir}/php/Symfony4/Component/Stopwatch/autoload.php',
+ '%{_datadir}/php/Symfony/Requirements/autoload.php',
+ '%{_datadir}/php/Doctrine/ORM/autoload.php',
));
EOF
# Use package version
-grep "%{version}" src/Presentation/Console/Application.php
+grep "%{version}" src/Presentation/Console/ApplicationInterface.php
# Cleanup patched files
-find src -name \*rpm -delete -print
+# find src -name \*rpm -delete -print
%build
@@ -177,29 +182,17 @@ OPT=$(php -r '
require "src/autoload.php";
switch (PHP_MAJOR_VERSION . PHP_MINOR_VERSION) {
- case "54":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_5_4;
- break;
- case "55":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_5_5;
- break;
- case "56":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_5_6;
- break;
- case "70":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_0;
- break;
- case "71":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_1;
- break;
case "72":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_2;
+ $max = Bartlett\CompatInfoDb\Domain\Factory\ExtensionVersionProviderInterface::LATEST_PHP_7_2;
break;
case "73":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_3;
+ $max = Bartlett\CompatInfoDb\Domain\Factory\ExtensionVersionProviderInterface::LATEST_PHP_7_3;
break;
case "74":
- $max = Bartlett\CompatInfoDb\ExtensionFactory::LATEST_PHP_7_4;
+ $max = Bartlett\CompatInfoDb\Domain\Factory\ExtensionVersionProviderInterface::LATEST_PHP_7_4;
+ break;
+ case "80":
+ $max = Bartlett\CompatInfoDb\Domain\Factory\ExtensionVersionProviderInterface::LATEST_PHP_8_0;
break;
default:
exit(0);
@@ -213,45 +206,51 @@ OPT=$(php -r '
}
')
if [ -n "$OPT" ]; then
- sed -e "$OPT" -i src/ExtensionFactory.php
+ sed -e "$OPT" -i src/Domain/Factory/ExtensionVersionProviderInterface.php
fi
-grep " LATEST" src/ExtensionFactory.php
+grep " LATEST" src/Domain/Factory/ExtensionVersionProviderInterface.php
: Create command using local sources
sed -e "s:%{_datadir}/php/%{ns_vendor}/%{ns_project}:$PWD/src:" \
-e 's:../data:data:' \
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
+export DATABASE_URL=sqlite:///${PWD}/compatinfo.sqlite
+doctrine orm:schema-tool:create
: Generate the references database
-%{_bindir}/php -d date.timezone=Europe/Paris compatinfo-db bartlett:db:init
+%{_bindir}/php -d memory_limit=1G -d date.timezone=Europe/Paris compatinfo-db db:init
+
+: Diag
+%{_bindir}/php -d date.timezone=Europe/Paris compatinfo-db diagnose
+
%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}
+install -D -p -m 644 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
+export DATABASE_URL=sqlite:///%{buildroot}%{_datadir}/%{name}/compatinfo.sqlite
cat << 'EOF' | tee tests/bootstrap.php
<?php
require_once '%{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}/autoload.php';
-\Fedora\Autoloader\Autoload::addPsr4('Bartlett\\Tests\\CompatInfoDb\\', __DIR__);
+\Fedora\Autoloader\Autoload::addPsr4('Bartlett\\CompatInfoDb\\Tests\\', __DIR__);
EOF
+# https://github.com/llaville/php-compatinfo-db/issues/62
+rm -r tests/Reference/Extension/PhpBundle/Oci8
+# https://github.com/llaville/php-compatinfo-db/issues/63
+rm -r tests/Reference/Extension/PhpPecl/Http
+
ret=0
-%{_bindir}/phpunit \
+%{_bindir}/phpunit9 \
--include-path %{buildroot}%{_datadir}/php \
-d memory_limit=1G || ret=1
@@ -271,6 +270,21 @@ exit $ret
%changelog
+* Wed Jan 13 2021 Remi Collet <remi@remirepo.net> - 3.1.0-1
+- update to 3.1.0
+- drop dependency on league/tactician
+- drop dependency on laminas/laminas-diagnostics
+- add dependency on doctrine/orm
+- add dependency on symfony/config
+- add dependency on symfony/dependency-injection
+- add dependency on symfony/event-dispatcher
+- add dependency on symfony/messenger
+- add dependency on symfony/requirements-checker
+- switch to phpunit9
+
+* Thu Jan 7 2021 Remi Collet <remi@remirepo.net> - 3.0.2-1
+- update to 3.0.2
+
* Mon Oct 5 2020 Remi Collet <remi@remirepo.net> - 2.19.0-1
- update to 2.19.0