From fa577e67db0b7c0af084143be9bbf12fee3eb5e0 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 24 Jun 2021 14:14:10 +0200 Subject: update to 3.7.0 open https://github.com/llaville/php-compatinfo-db/issues/79 imagick open https://github.com/llaville/php-compatinfo-db/issues/78 zip add dependency on symfony/cache for doctrine/cache v2 --- php-bartlett-php-compatinfo-db-3.4-rpm.patch | 152 -------------------------- php-bartlett-php-compatinfo-db-3.7-rpm.patch | 153 +++++++++++++++++++++++++++ php-bartlett-php-compatinfo-db.spec | 18 +++- 3 files changed, 168 insertions(+), 155 deletions(-) delete mode 100644 php-bartlett-php-compatinfo-db-3.4-rpm.patch create mode 100644 php-bartlett-php-compatinfo-db-3.7-rpm.patch diff --git a/php-bartlett-php-compatinfo-db-3.4-rpm.patch b/php-bartlett-php-compatinfo-db-3.4-rpm.patch deleted file mode 100644 index b6553ad..0000000 --- a/php-bartlett-php-compatinfo-db-3.4-rpm.patch +++ /dev/null @@ -1,152 +0,0 @@ -diff -up ./bin/compatinfo-db.rpm ./bin/compatinfo-db ---- ./bin/compatinfo-db.rpm 2021-03-13 11:06:38.000000000 +0100 -+++ ./bin/compatinfo-db 2021-03-15 08:10:44.740722798 +0100 -@@ -4,7 +4,7 @@ - - gc_disable(); // performance boost - --require_once dirname(__DIR__) . '/config/bootstrap.php'; -+require_once '/usr/share/php/Bartlett/CompatInfoDb/config/bootstrap.php'; - - use Bartlett\CompatInfoDb\Presentation\Console\ApplicationInterface; - -@@ -12,7 +12,7 @@ use Symfony\Component\Console\CommandLoa - use Symfony\Component\DependencyInjection\ContainerBuilder; - - /** @var ContainerBuilder $container */ --$container = require dirname(__DIR__) . '/config/container.php'; -+$container = require '/usr/share/php/Bartlett/CompatInfoDb/config/container.php'; - - /** @var ApplicationInterface $app */ - $app = $container->get(ApplicationInterface::class); -diff -up ./cli-config.php.rpm ./cli-config.php ---- ./cli-config.php.rpm 2021-03-13 11:06:38.000000000 +0100 -+++ ./cli-config.php 2021-03-15 08:09:31.260112531 +0100 -@@ -3,9 +3,9 @@ - use Doctrine\ORM\EntityManagerInterface; - use Doctrine\ORM\Tools\Console\ConsoleRunner; - --require_once __DIR__ . '/config/bootstrap.php'; -+require_once __DIR__ . '/src/config/bootstrap.php'; - --$container = require __DIR__ . '/config/container.php'; -+$container = require __DIR__ . '/src/config/container.php'; - - $entityManager = $container->get(EntityManagerInterface::class); - -diff -up ./config/bootstrap.php.rpm ./config/bootstrap.php ---- ./config/bootstrap.php.rpm 2021-03-13 11:06:38.000000000 +0100 -+++ ./config/bootstrap.php 2021-03-15 08:09:31.260112531 +0100 -@@ -6,6 +6,8 @@ if (\Phar::running()) { - ]; - } else { - $possibleAutoloadPaths = [ -+ // RPM -+ __DIR__ . '/../autoload.php', - // local dev repository - __DIR__ . '/../vendor/autoload.php', - // dependency -diff -up ./src/config/container.php.rpm ./config/container.php ---- ./config/container.php.rpm 2021-03-13 11:06:38.000000000 +0100 -+++ ./config/container.php 2021-03-15 08:09:31.260112531 +0100 -@@ -16,7 +16,7 @@ use Symfony\Component\Messenger\Dependen - $containerBuilder = new ContainerBuilder(); - $containerBuilder->addCompilerPass(new MessengerPass()); - --$loader = new PhpFileLoader($containerBuilder, new FileLocator('config/set')); -+$loader = new PhpFileLoader($containerBuilder, new FileLocator(__DIR__ . '/set')); - $loader->load('default.php'); - - $containerBuilder->compile(); -diff -up ./config/set/default.php.rpm ./config/set/default.php ---- ./config/set/default.php.rpm 2021-03-13 11:06:38.000000000 +0100 -+++ ./config/set/default.php 2021-03-15 08:09:31.260112531 +0100 -@@ -75,7 +75,10 @@ return static function (ContainerConfigu - ; - } - -- $services->load('Bartlett\CompatInfoDb\\', __DIR__ . '/../../src'); -+ $services->load('Bartlett\CompatInfoDb\\Application\\', __DIR__ . '/../../Application'); -+ $services->load('Bartlett\CompatInfoDb\\Domain\\', __DIR__ . '/../../Domain'); -+ $services->load('Bartlett\CompatInfoDb\\Infrastructure\\', __DIR__ . '/../../Infrastructure'); -+ $services->load('Bartlett\CompatInfoDb\\Presentation\\', __DIR__ . '/../../Presentation'); - - $services->set(JsonFileHandler::class); - $services->set(VersionParser::class); -@@ -97,7 +100,7 @@ return static function (ContainerConfigu - - $dbUrl = getenv('DATABASE_URL'); - if (false === $dbUrl) { -- $dbUrl = 'sqlite:///${HOME}/.cache/bartlett/compatinfo-db.sqlite'; -+ $dbUrl = 'sqlite:////usr/share/php-bartlett-php-compatinfo-db/compatinfo.sqlite'; - putenv('DATABASE_URL=' . $dbUrl); - } - $connectionParams = ['url' => $dbUrl]; -diff -up ./src/Presentation/Console/Application.php.rpm ./src/Presentation/Console/Application.php ---- ./src/Presentation/Console/Application.php.rpm 2021-03-13 11:06:38.000000000 +0100 -+++ ./src/Presentation/Console/Application.php 2021-03-15 08:09:31.260112531 +0100 -@@ -14,8 +14,6 @@ - - namespace Bartlett\CompatInfoDb\Presentation\Console; - --use PackageVersions\Versions; -- - use Symfony\Component\Config\Exception\FileLocatorFileNotFoundException; - use Symfony\Component\Config\FileLocator; - use Symfony\Component\Console\Application as SymfonyApplication; -@@ -53,20 +51,7 @@ class Application extends SymfonyApplica - */ - public function __construct(string $version = 'UNKNOWN') - { -- if ('UNKNOWN' === $version) { -- // composer or git outside world strategy -- $version = self::VERSION; -- } elseif (substr_count($version, '.') === 2) { -- // release is in X.Y.Z format -- } else { -- // composer or git strategy -- $version = Versions::getVersion('bartlett/php-compatinfo-db'); -- list($ver, ) = explode('@', $version); -- -- if (strpos($ver, 'dev') === false) { -- $version = $ver; -- } -- } -+ $version = self::VERSION; - parent::__construct(self::NAME, $version); - } - -diff -up ./tests/Reference/GenericTest.php.rpm ./tests/Reference/GenericTest.php ---- ./tests/Reference/GenericTest.php.rpm 2021-03-13 11:06:38.000000000 +0100 -+++ ./tests/Reference/GenericTest.php 2021-03-15 08:09:31.260112531 +0100 -@@ -103,7 +103,7 @@ abstract class GenericTest extends TestC - */ - public static function setUpBeforeClass(): void - { -- $container = require implode(DIRECTORY_SEPARATOR, [dirname(__DIR__, 2), 'config', 'container.php']); -+ $container = require implode(DIRECTORY_SEPARATOR, [dirname(__DIR__, 2), 'src', 'config', 'container.php']); - - self::$optionalreleases = []; - -diff -up ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php.rpm ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php ---- ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php.rpm 2021-03-17 08:18:49.451918156 +0100 -+++ ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php 2021-03-17 08:20:26.733494710 +0100 -@@ -31,6 +31,9 @@ final class EntityManagerFactory - public static function create(array $connection, bool $isDevMode, string $proxyDir, Cache $cache = null): EntityManagerInterface - { - $paths = [implode(DIRECTORY_SEPARATOR, [__DIR__, 'Entity'])]; -+ // Static files in RPM mode -+ $isDevMode = false; -+ $proxyDir = dirname(__DIR__, 3) . '/proxies'; - $config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode, $proxyDir, $cache); - if ($isDevMode) { - // suggested for DEV mode: see Doctrine ORM documentation -@@ -38,7 +41,7 @@ final class EntityManagerFactory - $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_ALWAYS); - } else { - // lazy generation on PROD or TEST modes (i.e: CI) -- $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS); -+ $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_NEVER); - } - - return EntityManager::create(self::connection($connection), $config); diff --git a/php-bartlett-php-compatinfo-db-3.7-rpm.patch b/php-bartlett-php-compatinfo-db-3.7-rpm.patch new file mode 100644 index 0000000..23997f3 --- /dev/null +++ b/php-bartlett-php-compatinfo-db-3.7-rpm.patch @@ -0,0 +1,153 @@ +diff -up ./bin/compatinfo-db.rpm ./bin/compatinfo-db +--- ./bin/compatinfo-db.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./bin/compatinfo-db 2021-06-24 13:55:02.768658550 +0200 +@@ -4,7 +4,7 @@ + + gc_disable(); // performance boost + +-require_once dirname(__DIR__) . '/config/bootstrap.php'; ++require_once '/usr/share/php/Bartlett/CompatInfoDb/config/bootstrap.php'; + + use Bartlett\CompatInfoDb\Presentation\Console\ApplicationInterface; + +@@ -12,7 +12,7 @@ use Symfony\Component\Console\CommandLoa + use Symfony\Component\DependencyInjection\ContainerBuilder; + + /** @var ContainerBuilder $container */ +-$container = require dirname(__DIR__) . '/config/container.php'; ++$container = require '/usr/share/php/Bartlett/CompatInfoDb/config/container.php'; + + /** @var ApplicationInterface $app */ + $app = $container->get(ApplicationInterface::class); +diff -up ./cli-config.php.rpm ./cli-config.php +--- ./cli-config.php.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./cli-config.php 2021-06-24 13:55:02.768658550 +0200 +@@ -3,9 +3,9 @@ + use Doctrine\ORM\EntityManagerInterface; + use Doctrine\ORM\Tools\Console\ConsoleRunner; + +-require_once __DIR__ . '/config/bootstrap.php'; ++require_once __DIR__ . '/src/config/bootstrap.php'; + +-$container = require __DIR__ . '/config/container.php'; ++$container = require __DIR__ . '/src/config/container.php'; + + $entityManager = $container->get(EntityManagerInterface::class); + +diff -up ./config/bootstrap.php.rpm ./config/bootstrap.php +--- ./config/bootstrap.php.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./config/bootstrap.php 2021-06-24 13:55:02.768658550 +0200 +@@ -6,6 +6,8 @@ if (\Phar::running()) { + ]; + } else { + $possibleAutoloadPaths = [ ++ // RPM ++ __DIR__ . '/../autoload.php', + // local dev repository + __DIR__ . '/../vendor/autoload.php', + // dependency +diff -up ./config/container.php.rpm ./config/container.php +--- ./config/container.php.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./config/container.php 2021-06-24 13:55:02.768658550 +0200 +@@ -16,7 +16,7 @@ use Symfony\Component\Messenger\Dependen + $containerBuilder = new ContainerBuilder(); + $containerBuilder->addCompilerPass(new MessengerPass()); + +-$loader = new PhpFileLoader($containerBuilder, new FileLocator('config/set')); ++$loader = new PhpFileLoader($containerBuilder, new FileLocator(__DIR__ . '/set')); + $loader->load('default.php'); + + $containerBuilder->compile(); +diff -up ./config/set/default.php.rpm ./config/set/default.php +--- ./config/set/default.php.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./config/set/default.php 2021-06-24 13:55:02.768658550 +0200 +@@ -73,7 +73,10 @@ return static function (ContainerConfigu + ; + } + +- $services->load('Bartlett\CompatInfoDb\\', __DIR__ . '/../../src'); ++ $services->load('Bartlett\CompatInfoDb\\Application\\', __DIR__ . '/../../Application'); ++ $services->load('Bartlett\CompatInfoDb\\Domain\\', __DIR__ . '/../../Domain'); ++ $services->load('Bartlett\CompatInfoDb\\Infrastructure\\', __DIR__ . '/../../Infrastructure'); ++ $services->load('Bartlett\CompatInfoDb\\Presentation\\', __DIR__ . '/../../Presentation'); + + $services->set(JsonFileHandler::class); + $services->set(VersionParser::class); +@@ -91,7 +94,7 @@ return static function (ContainerConfigu + + $dbUrl = getenv('DATABASE_URL'); + if (false === $dbUrl) { +- $dbUrl = 'sqlite:///${HOME}/.cache/bartlett/compatinfo-db.sqlite'; ++ $dbUrl = 'sqlite:////usr/share/php-bartlett-php-compatinfo-db/compatinfo.sqlite'; + putenv('DATABASE_URL=' . $dbUrl); + } + $connectionParams = ['url' => $dbUrl]; +diff -up ./src/Presentation/Console/Application.php.rpm ./src/Presentation/Console/Application.php +--- ./src/Presentation/Console/Application.php.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./src/Presentation/Console/Application.php 2021-06-24 13:55:02.768658550 +0200 +@@ -14,8 +14,6 @@ + + namespace Bartlett\CompatInfoDb\Presentation\Console; + +-use PackageVersions\Versions; +- + use Symfony\Component\Config\Exception\FileLocatorFileNotFoundException; + use Symfony\Component\Config\FileLocator; + use Symfony\Component\Console\Application as SymfonyApplication; +@@ -53,20 +51,7 @@ class Application extends SymfonyApplica + */ + public function __construct(string $version = 'UNKNOWN') + { +- if ('UNKNOWN' === $version) { +- // composer or git outside world strategy +- $version = self::VERSION; +- } elseif (substr_count($version, '.') === 2) { +- // release is in X.Y.Z format +- } else { +- // composer or git strategy +- $version = Versions::getVersion('bartlett/php-compatinfo-db'); +- list($ver, ) = explode('@', $version); +- +- if (strpos($ver, 'dev') === false) { +- $version = $ver; +- } +- } ++ $version = self::VERSION; + parent::__construct(self::NAME, $version); + } + +diff -up ./tests/Reference/GenericTest.php.rpm ./tests/Reference/GenericTest.php +--- ./tests/Reference/GenericTest.php.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./tests/Reference/GenericTest.php 2021-06-24 13:55:02.768658550 +0200 +@@ -104,7 +104,7 @@ abstract class GenericTest extends TestC + */ + public static function setUpBeforeClass(): void + { +- $container = require implode(DIRECTORY_SEPARATOR, [dirname(__DIR__, 2), 'config', 'container.php']); ++ $container = require implode(DIRECTORY_SEPARATOR, [dirname(__DIR__, 2), 'src', 'config', 'container.php']); + + self::$optionalreleases = []; + +diff -up ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php.rpm ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php +--- ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php.rpm 2021-06-24 12:31:36.000000000 +0200 ++++ ./src/Infrastructure/Persistence/Doctrine/EntityManagerFactory.php 2021-06-24 13:56:40.350353276 +0200 +@@ -31,6 +31,9 @@ final class EntityManagerFactory + public static function create(array $connection, bool $isDevMode, string $proxyDir, ?Cache $cache = null): EntityManagerInterface + { + $paths = [implode(DIRECTORY_SEPARATOR, [__DIR__, 'Entity'])]; ++ // Static files in RPM mode ++ $isDevMode = false; ++ $proxyDir = dirname(__DIR__, 3) . '/proxies'; + $config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode, $proxyDir, $cache); + if ($isDevMode) { + // suggested for DEV mode: see Doctrine ORM documentation +@@ -38,7 +41,7 @@ final class EntityManagerFactory + $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_ALWAYS); + } else { + // lazy generation on PROD or TEST modes (i.e: CI) +- $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS); ++ $config->setAutogenerateProxyClasses(AbstractProxyFactory::AUTOGENERATE_NEVER); + } + + return EntityManager::create(self::connection($connection), $config); + diff --git a/php-bartlett-php-compatinfo-db.spec b/php-bartlett-php-compatinfo-db.spec index 1d20348..0e4c4f1 100644 --- a/php-bartlett-php-compatinfo-db.spec +++ b/php-bartlett-php-compatinfo-db.spec @@ -7,7 +7,7 @@ # Please, preserve the changelog entries # # See https://github.com/llaville/php-compatinfo-db/releases -%global gh_commit 275f5b7a463194ebf22c733c786c0f40e50e6a00 +%global gh_commit 75fb80424afece3a251c1af845a6bfe4750bec19 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) #global gh_date 20151031 %global gh_owner llaville @@ -26,7 +26,7 @@ %bcond_with tests %endif -%global upstream_version 3.6.0 +%global upstream_version 3.7.0 #global upstream_prever RC1 Name: php-%{c_vendor}-%{c_project} @@ -42,7 +42,7 @@ Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit # Fix sqlite database path # Fix version and avoir composer/package-versions-deprecated (relying on composer.lock) # Set proxy files as static -Patch0: %{name}-3.4-rpm.patch +Patch0: %{name}-3.7-rpm.patch # CURL_SSLVERSION constants have been backported Patch1: %{name}-curltls.patch @@ -68,6 +68,7 @@ BuildRequires: php-composer-semver3 BuildRequires: php-doctrine-orm >= 2.7 BuildRequires: php-symfony-requirements-checker >= 2.0 %endif +BuildRequires: php-symfony4-cache >= 4.4 BuildRequires: php-symfony4-config >= 4.4 BuildRequires: php-symfony4-console >= 4.4 BuildRequires: php-symfony4-dependency-injection >= 4.4 @@ -117,6 +118,7 @@ Requires: php-composer-semver3 >= 3.0 Requires: php-doctrine-orm >= 2.7 Requires: php-symfony-requirements-checker >= 2.0 %endif +Requires: php-symfony4-cache >= 4.4 Requires: php-symfony4-config >= 4.4 Requires: php-symfony4-console >= 4.4 Requires: php-symfony4-dependency-injection >= 4.4 @@ -156,6 +158,7 @@ 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/Symfony4/Component/Cache/autoload.php', '%{_datadir}/php/Symfony4/Component/Config/autoload.php', '%{_datadir}/php/Symfony4/Component/Console/autoload.php', '%{_datadir}/php/Symfony4/Component/DependencyInjection/autoload.php', @@ -246,6 +249,9 @@ require_once '%{buildroot}%{_datadir}/php/%{ns_vendor}/%{ns_project}/config/boot \Fedora\Autoloader\Autoload::addPsr4('Bartlett\\CompatInfoDb\\Tests\\', dirname(__DIR__) . '/tests'); EOF +# https://github.com/llaville/php-compatinfo-db/issues/78 +rm -r tests/Reference/Extension/PhpBundle/Zip + ret=0 %{_bindir}/phpunit9 \ --include-path %{buildroot}%{_datadir}/php \ @@ -268,6 +274,12 @@ exit $ret %changelog +* Thu Jun 24 2021 Remi Collet - 3.7.0-1 +- update to 3.7.0 +- open https://github.com/llaville/php-compatinfo-db/issues/79 imagick +- open https://github.com/llaville/php-compatinfo-db/issues/78 zip +- add dependency on symfony/cache for doctrine/cache v2 + * Fri May 14 2021 Remi Collet - 3.6.0-1 - update to 3.6.0 -- cgit