From 89bc3e4440e059a9b2178558bcc01a1a77d82a2a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 23 Dec 2017 17:55:05 +0100 Subject: Update to 0.9.2 open https://github.com/cakephp/phinx/pull/1278 fix tests use phpunit6 on Fedora allow Symfony 4 --- composer.json | 19 +++++++++++--- phinx-autoload.php | 3 +++ phinx-tests.patch | 24 ++++++++++++++++++ phinx-version.patch | 13 ++++++++++ phinx.spec | 71 +++++++++++++++++++++++++++++++++-------------------- 5 files changed, 100 insertions(+), 30 deletions(-) create mode 100644 phinx-tests.patch create mode 100644 phinx-version.patch diff --git a/composer.json b/composer.json index 915215d..1c85c43 100644 --- a/composer.json +++ b/composer.json @@ -5,6 +5,7 @@ "keywords": ["phinx", "migrations", "database", "db", "database migrations"], "homepage": "https://phinx.org", "license": "MIT", + "version": "0.9.2", "authors": [{ "name": "Rob Morgan", "email": "robbym@gmail.com", @@ -25,12 +26,13 @@ }], "require": { "php": ">=5.4", - "symfony/console": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" + "symfony/console": "^2.8|^3.0|^4.0", + "symfony/config": "^2.8|^3.0|^4.0", + "symfony/yaml": "^2.8|^3.0|^4.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.26|^5.0" + "phpunit/phpunit": "^4.8.35|^5.7|^6.5", + "cakephp/cakephp-codesniffer": "^3.0" }, "autoload": { "psr-4": { @@ -42,5 +44,14 @@ "Test\\Phinx\\": "tests/Phinx" } }, + "scripts": { + "check": [ + "@test", + "@cs-check" + ], + "cs-check": "phpcs --colors -p --standard=vendor/cakephp/cakephp-codesniffer/CakePHP ./src ./tests ./app", + "cs-fix": "phpcbf --colors --standard=vendor/cakephp/cakephp-codesniffer/CakePHP ./src ./tests ./app", + "test": "phpunit --colors=always" + }, "bin": ["bin/phinx"] } diff --git a/phinx-autoload.php b/phinx-autoload.php index 7f20807..754541a 100644 --- a/phinx-autoload.php +++ b/phinx-autoload.php @@ -6,14 +6,17 @@ require_once '/usr/share/php/Fedora/Autoloader/autoload.php'; \Fedora\Autoloader\Autoload::addPsr4('Phinx\\', __DIR__); \Fedora\Autoloader\Dependencies::required(array( [ + '/usr/share/php/Symfony4/Component/Console/autoload.php', '/usr/share/php/Symfony3/Component/Console/autoload.php', '/usr/share/php/Symfony/Component/Console/autoload.php', ], [ + '/usr/share/php/Symfony4/Component/Config/autoload.php', '/usr/share/php/Symfony3/Component/Config/autoload.php', '/usr/share/php/Symfony/Component/Config/autoload.php', ], [ + '/usr/share/php/Symfony4/Component/Yaml/autoload.php', '/usr/share/php/Symfony3/Component/Yaml/autoload.php', '/usr/share/php/Symfony/Component/Yaml/autoload.php', ], diff --git a/phinx-tests.patch b/phinx-tests.patch new file mode 100644 index 0000000..5db1090 --- /dev/null +++ b/phinx-tests.patch @@ -0,0 +1,24 @@ +diff -up tests/Phinx/Console/Command/CreateTest.php.old tests/Phinx/Console/Command/CreateTest.php +--- tests/Phinx/Console/Command/CreateTest.php.old 2017-12-23 17:43:31.217652943 +0100 ++++ tests/Phinx/Console/Command/CreateTest.php 2017-12-23 17:43:39.896696824 +0100 +@@ -384,7 +384,7 @@ class CreateTest extends TestCase + { + if (method_exists($this, 'expectException')) { + //PHPUnit 5+ +- $this->expectException($exception); ++ $this->expectException($exceptionName); + if ($exceptionMessage !== '') { + $this->expectExceptionMessage($exceptionMessage); + } +diff -up tests/Phinx/Migration/ManagerTest.php.old tests/Phinx/Migration/ManagerTest.php +--- tests/Phinx/Migration/ManagerTest.php.old 2017-12-23 17:43:18.862590475 +0100 ++++ tests/Phinx/Migration/ManagerTest.php 2017-12-23 17:43:34.709670598 +0100 +@@ -5710,7 +5710,7 @@ class ManagerTest extends TestCase + { + if (method_exists($this, 'expectException')) { + //PHPUnit 5+ +- $this->expectException($exception); ++ $this->expectException($exceptionName); + if ($exceptionMessage !== '') { + $this->expectExceptionMessage($exceptionMessage); + } diff --git a/phinx-version.patch b/phinx-version.patch new file mode 100644 index 0000000..ea1290d --- /dev/null +++ b/phinx-version.patch @@ -0,0 +1,13 @@ +diff -up src/Phinx/Console/PhinxApplication.php.rpm src/Phinx/Console/PhinxApplication.php +--- src/Phinx/Console/PhinxApplication.php.rpm 2017-12-23 17:33:14.486694897 +0100 ++++ src/Phinx/Console/PhinxApplication.php 2017-12-23 17:33:39.408810505 +0100 +@@ -49,8 +49,7 @@ class PhinxApplication extends Applicati + */ + public function __construct() + { +- $composerConfig = json_decode(file_get_contents(__DIR__ . '/../../../composer.json')); +- $version = $composerConfig->version; ++ $version = '@VERSION@'; + + parent::__construct('Phinx by CakePHP - https://phinx.org.', $version); + diff --git a/phinx.spec b/phinx.spec index 4b3ded3..a1fe183 100644 --- a/phinx.spec +++ b/phinx.spec @@ -6,21 +6,22 @@ # # Please, preserve the changelog entries # -%global gh_commit c1d51fd065af3aa3fabd684ce561cd9c38281eb8 +%global gh_commit e1698319ad55157c233b658c08f7a10617e797ca %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner robmorgan #global gh_date 20150820 %global gh_project phinx %global psr0 Phinx -%if 0%{?rhel} == 5 -# 3 failures on EL-5 related to sqlite -%global with_tests 0%{?_with_tests:1} -%else %global with_tests 0%{!?_without_tests:1} + +%if 0%{?fedora} >= 27 +%global symfony_max 5 +%else +%global symfony_max 4 %endif Name: %{gh_project} -Version: 0.9.1 +Version: 0.9.2 Release: 1%{?gh_date?%{gh_date}git%{gh_short}}%{?dist} Summary: Manage the database migrations for your PHP app @@ -31,39 +32,45 @@ Source0: %{name}-%{version}-%{?gh_short}.tgz Source1: %{name}-autoload.php Source2: makesrc.sh +# hardcode version instead of read it from composer.json +Patch0: %{name}-version.patch +# https://github.com/cakephp/phinx/pull/1278 +Patch1: %{name}-tests.patch + BuildArch: noarch %if %{with_tests} BuildRequires: php(language) >= 5.4 -BuildRequires: php-composer(symfony/console) < 4 -BuildRequires: php-composer(symfony/console) >= 2.8 -BuildRequires: php-composer(symfony/config) < 4 -BuildRequires: php-composer(symfony/config) >= 2.8 -BuildRequires: php-composer(symfony/yaml) < 4 -BuildRequires: php-composer(symfony/yaml) >= 2.8 +BuildRequires: php-composer(symfony/console) < %{symfony_max} +BuildRequires: php-composer(symfony/config) < %{symfony_max} +BuildRequires: php-composer(symfony/yaml) < %{symfony_max} BuildRequires: php-pdo BuildRequires: php-date BuildRequires: php-json BuildRequires: php-pcre BuildRequires: php-spl # For tests, from composer.json "require-dev": { -# "phpunit/phpunit": "^4.8.26|^5.0" -BuildRequires: php-composer(phpunit/phpunit) >= 4.8.26 +# "phpunit/phpunit": "^4.8.35|^5.7|^6.5" +# "cakephp/cakephp-codesniffer": "^3.0" +%if 0%{?fedora} >= 26 +%global phpunit %{_bindir}/phpunit6 +BuildRequires: phpunit6 +%else +%global phpunit %{_bindir}/phpunit +BuildRequires: php-phpunit-PHPUnit >= 4.8.35 +%endif %endif # For autoloader BuildRequires: php-composer(fedora/autoloader) # From composer.json, "require": { # "php": ">=5.4", -# "symfony/console": "~2.8|~3.0", -# "symfony/config": "~2.8|~3.0", -# "symfony/yaml": "~2.8|~3.0" +# "symfony/console": "~2.8|~3.0|^4.0", +# "symfony/config": "~2.8|~3.0|^4.0", +# "symfony/yaml": "~2.8|~3.0|^4.0" Requires: php(language) >= 5.4 -Requires: php-composer(symfony/console) < 4 -Requires: php-composer(symfony/console) >= 2.8 -Requires: php-composer(symfony/config) < 4 -Requires: php-composer(symfony/config) >= 2.8 -Requires: php-composer(symfony/yaml) < 4 -Requires: php-composer(symfony/yaml) >= 2.8 +Requires: php-composer(symfony/console) < %{symfony_max} +Requires: php-composer(symfony/config) < %{symfony_max} +Requires: php-composer(symfony/yaml) < %{symfony_max} # From phpcompatinfo report for 0.6.4 Requires: php-pdo Requires: php-date @@ -90,6 +97,11 @@ Documentation: http://docs.phinx.org %prep %setup -q -n %{gh_project}-%{gh_commit} +%patch0 -p0 +sed -e 's/@VERSION@/%{version}/' \ + -i src/Phinx/Console/PhinxApplication.php + +%patch1 -p0 -b .old cp %{SOURCE1} src/%{psr0}/autoload.php @@ -135,9 +147,10 @@ sed -e '/_ENABLED/s/true/false/;/SQLITE_ENABLED/s/false/true/' \ : Run upstream test suite ret=0 -for cmd in php php56 php70 php71 php72; do - if which $cmd; then - $cmd %{_bindir}/phpunit --no-coverage --verbose || ret=1 +for cmd in "php %{phpunit}" php70 php71 php72; do + if which $cmd; then + set $cmd + $1 ${2:-%{_bindir}/phpunit6} --no-coverage || ret=1 fi done exit $ret @@ -157,6 +170,12 @@ exit $ret %changelog +* Sat Dec 23 2017 Remi Collet - 0.9.2-1 +- Update to 0.9.2 +- open https://github.com/cakephp/phinx/pull/1278 fix tests +- use phpunit6 on Fedora +- allow Symfony 4 + * Sun Sep 10 2017 Remi Collet - 0.9.1-1 - Update to 0.9.1 -- cgit