# remirepo/fedora spec file for phinx # # Copyright (c) 2016-2018 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # # For compatibility with SCL %undefine __brp_mangle_shebangs %global gh_commit a13ac32fa265d57ad270277514a69e6590866f4d %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 %global with_tests 0%{!?_without_tests:1} Name: %{gh_project} Version: 0.10.5 Release: 1%{?gh_date?%{gh_date}git%{gh_short}}%{?dist} Summary: Manage the database migrations for your PHP app Group: Development/Libraries License: MIT URL: https://phinx.org 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 BuildArch: noarch %if %{with_tests} BuildRequires: php(language) >= 5.6 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 BuildRequires: (php-composer(cakephp/collection) >= 3.6 with php-composer(cakephp/collection) < 4) BuildRequires: (php-composer(cakephp/database) >= 3.6 with php-composer(cakephp/database) < 4) BuildRequires: (php-composer(symfony/console) >= 2.8 with php-composer(symfony/console) < 5) BuildRequires: (php-composer(symfony/config) >= 2.8 with php-composer(symfony/config) < 5) BuildRequires: (php-composer(symfony/yaml) >= 2.8 with php-composer(symfony/yaml) < 5) %else BuildRequires: php-cakephp-collection >= 3.6 BuildRequires: php-cakephp-database >= 3.6 BuildRequires: php-symfony3-console BuildRequires: php-symfony3-config BuildRequires: php-symfony3-yaml %endif BuildRequires: php-pdo BuildRequires: php-date BuildRequires: php-json BuildRequires: php-pcre BuildRequires: php-spl # For tests, from composer.json "require-dev": { # "phpunit/phpunit": ">=5.7", # "sebastian/comparator": ">=1.2.3", %if 0%{?fedora} >= 25 || 0%{?rhel} >= 8 %global phpunit %{_bindir}/phpunit6 BuildRequires: phpunit6 %else %global phpunit %{_bindir}/phpunit BuildRequires: php-phpunit-PHPUnit >= 5.7 %endif %endif # For autoloader BuildRequires: php-composer(fedora/autoloader) # From composer.json, "require": { # "php": ">=5.6", # "cakephp/collection": "^3.6", # "cakephp/database": "^3.6", # "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.6 %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 Requires: (php-composer(cakephp/collection) >= 3.6 with php-composer(cakephp/collection) < 4) Requires: (php-composer(cakephp/database) >= 3.6 with php-composer(cakephp/database) < 4) Requires: (php-composer(symfony/console) >= 2.8 with php-composer(symfony/console) < 5) Requires: (php-composer(symfony/config) >= 2.8 with php-composer(symfony/config) < 5) Requires: (php-composer(symfony/yaml) >= 2.8 with php-composer(symfony/yaml) < 5) %else Requires: php-cakephp-collection >= 3.6 Requires: php-cakephp-database >= 3.6 Requires: php-symfony3-console Requires: php-symfony3-config Requires: php-symfony3-yaml %endif # From phpcompatinfo report for 0.6.4 Requires: php-pdo Requires: php-date Requires: php-json Requires: php-pcre Requires: php-spl # For autoloader Requires: php-composer(fedora/autoloader) # Composer Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version} %description Phinx makes it ridiculously easy to manage the database migrations for your PHP app. In less than 5 minutes you can install Phinx and create your first database migration. Phinx is just about migrations without all the bloat of a database ORM system or framework. 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 cp %{SOURCE1} src/%{psr0}/autoload.php sed -e 's:../data/Phinx:data:' -i src/Phinx/Console/Command/Init.php : Create the launcher cat << 'EOF' | tee phinx #!/usr/bin/env php run(); EOF %build : Nothing to build %install : Library mkdir -p %{buildroot}%{_datadir}/php cp -pr src/%{psr0} %{buildroot}%{_datadir}/php/%{psr0} : Default config files cp -pr src/data/%{psr0} %{buildroot}%{_datadir}/php/%{psr0}/data : The command install -Dpm 755 phinx %{buildroot}%{_bindir}/phinx %check %if %{with_tests} mkdir vendor cat << 'EOF' | tee vendor/autoload.php phpunit.xml %else sed -e '/_ENABLED/s/true/false/;/SQLITE_ENABLED/s/false/true/' \ phpunit.xml.dist >phpunit.xml %endif : Run upstream test suite ret=0 for cmd in "php %{phpunit}" php71 php72 php73; do if which $cmd; then set $cmd $1 ${2:-%{_bindir}/phpunit6} \ %if 0%{?fedora} >= 28 --filter '^((?!(testChangeColumnWithCommasInCommentsOrDefaultValue)).)*$' \ %endif --no-coverage || ret=1 fi done exit $ret %else : Test suite disabled %endif %files %{!?_licensedir:%global license %%doc} %license LICENSE %doc composer.json %doc *.md %doc app/web.php %{_datadir}/php/%{psr0} %{_bindir}/phinx %changelog * Thu Jul 12 2018 Remi Collet - 0.10.5-1 - update to 0.10.5 * Fri Jun 22 2018 Remi Collet - 0.10.3-1 - update to 0.10.3 * Tue Jun 19 2018 Remi Collet - 0.10.2-1 - update to 0.10.2 * Tue Jun 19 2018 Remi Collet - 0.10.1-1 - update to 0.10.1 * Mon Jun 11 2018 Remi Collet - 0.10.0-1 - update to 0.10.0 - drop patch merged upstream - raise dependency on PHP 5.6 - add dependency on cakephp/collection - add dependency on cakephp/database - use range dependencies on F27+ * 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 * Mon Sep 4 2017 Remi Collet - 0.9.0-1 - Update to 0.9.0 * Tue Jun 6 2017 Remi Collet - 0.8.1-1 - Update to 0.8.1 - allow Symfony 3 * Wed Mar 1 2017 Remi Collet - 0.8.0-1 - update to 0.8.0 * Tue Feb 28 2017 Remi Collet - 0.7.2-1 - update to 0.7.2 * Sun Feb 19 2017 Remi Collet - 0.7.1-1 - update to 0.7.1 * Fri Feb 10 2017 Remi Collet - 0.7.0-1 - update to 0.7.0 * Mon Jan 23 2017 Remi Collet - 0.6.6-1 - update to 0.6.6 - use a git snashop to retrieve test suite * Thu Oct 27 2016 Remi Collet - 0.6.5-1 - update to 0.6.5 - switch from symfony/class-loader to fedora/autoloader * Tue Sep 27 2016 Remi Collet - 0.6.4-1 - initial package