summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2016-09-27 11:58:35 +0200
committerRemi Collet <fedora@famillecollet.com>2016-09-27 11:58:35 +0200
commita8e74ff4a4c39fc813ffcc492a1e57931c6395c5 (patch)
treee9ff12a41a728c875309be0aacb80abe6f0b2b38
phinx: 0.6.4 (new package)
-rw-r--r--Makefile3
-rw-r--r--composer.json43
-rw-r--r--phinx-autoload.php19
-rw-r--r--phinx.spec176
4 files changed, 241 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..cd3c95f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,3 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../common/Makefile
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..eaf7473
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,43 @@
+{
+ "name": "robmorgan/phinx",
+ "type": "library",
+ "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.",
+ "keywords": ["phinx", "migrations", "database", "db", "database migrations"],
+ "homepage": "https://phinx.org",
+ "license": "MIT",
+ "authors": [{
+ "name": "Rob Morgan",
+ "email": "robbym@gmail.com",
+ "homepage": "https://robmorgan.id.au",
+ "role": "Lead Developer"
+ }, {
+ "name": "Woody Gilk",
+ "email": "woody.gilk@gmail.com",
+ "homepage": "http://shadowhand.me",
+ "role": "Developer"
+ }, {
+ "name": "Richard Quadling",
+ "email": "rquadling@gmail.com",
+ "role": "Developer"
+ }],
+ "require": {
+ "php": ">=5.4",
+ "symfony/console": "~2.8|~3.0",
+ "symfony/config": "~2.8|~3.0",
+ "symfony/yaml": "~2.8|~3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.26|^5.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "Phinx\\": "src/Phinx"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Test\\Phinx\\": "tests/Phinx"
+ }
+ },
+ "bin": ["bin/phinx"]
+}
diff --git a/phinx-autoload.php b/phinx-autoload.php
new file mode 100644
index 0000000..b2e2835
--- /dev/null
+++ b/phinx-autoload.php
@@ -0,0 +1,19 @@
+<?php
+/* Autoloader for robmorgan/phinx and its dependencies */
+
+$vendorDir = '/usr/share/php';
+// Use Symfony autoloader
+if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {
+ if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {
+ require_once $vendorDir . '/Symfony/Component/ClassLoader/ClassLoader.php';
+ }
+
+ $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
+ $fedoraClassLoader->register();
+}
+
+$fedoraClassLoader->addPrefixes(array(
+ 'Symfony\\Component\\' => $vendorDir,
+ 'Phinx\\' => dirname(__DIR__)
+));
+
diff --git a/phinx.spec b/phinx.spec
new file mode 100644
index 0000000..6b98d86
--- /dev/null
+++ b/phinx.spec
@@ -0,0 +1,176 @@
+# remirepo/fedora spec file for phinx
+#
+# Copyright (c) 2016 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%global gh_commit 0d9293edb425b2d48ee1fd43cd2571e3ade77314
+%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}
+%endif
+
+Name: %{gh_project}
+Version: 0.6.4
+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: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{?gh_short}.tar.gz
+
+Source1: %{name}-autoload.php
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildArch: noarch
+%if %{with_tests}
+BuildRequires: php(language) >= 5.4
+BuildRequires: php-composer(symfony/console) >= 2.8
+BuildRequires: php-composer(symfony/config) >= 2.8
+BuildRequires: php-composer(symfony/yaml) >= 2.8
+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
+%endif
+# For autoloader
+BuildRequires: php-composer(symfony/class-loader)
+
+# 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"
+Requires: php(language) >= 5.4
+Requires: php-composer(symfony/console) >= 2.8
+Requires: php-composer(symfony/config) >= 2.8
+Requires: php-composer(symfony/yaml) >= 2.8
+# 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(symfony/class-loader)
+
+# 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}
+
+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
+<?php
+require '/usr/share/php/%{psr0}/autoload.php';
+$app = new Phinx\Console\PhinxApplication();
+$app->run();
+EOF
+
+
+%build
+: Nothing to build
+
+
+%install
+rm -rf %{buildroot}
+
+: Library
+mkdir -p %{buildroot}%{_datadir}/php
+cp -pr src/%{psr0} %{buildroot}%{_datadir}/php/%{psr0}
+
+: Default config file
+install -Dpm 644 phinx.yml %{buildroot}%{_datadir}/php/%{psr0}/data/phinx.yml
+
+: The command
+install -Dpm 755 phinx %{buildroot}%{_bindir}/phinx
+
+
+%check
+%if %{with_tests}
+mkdir vendor
+cat << 'EOF' | tee vendor/autoload.php
+<?php
+require '%{buildroot}%{_datadir}/php/%{psr0}/autoload.php';
+
+require_once '/usr/share/php/Symfony/Component/ClassLoader/Psr4ClassLoader.php';
+$psr4 = new \Symfony\Component\ClassLoader\Psr4ClassLoader();
+$psr4->register(true);
+$psr4->addPrefix('Test\\Phinx\\', dirname(__DIR__).'/tests/Phinx');
+EOF
+
+sed -e '/_ENABLED/s/true/false/;/SQLITE_ENABLED/s/false/true/' \
+ phpunit.xml.dist >phpunit.xml
+
+# remirepo:11
+run=0
+ret=0
+if which php56; then
+ php56 %{_bindir}/phpunit --no-coverage tests || ret=1
+ run=1
+fi
+if which php71; then
+ php71 %{_bindir}/phpunit --no-coverage tests || ret=1
+ run=1
+fi
+if [ $run -eq 0 ]; then
+%{_bindir}/phpunit --verbose tests
+# remirepo:2
+fi
+exit $ret
+%else
+: Test suite disabled
+%endif
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%files
+%defattr(-,root,root,-)
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%doc composer.json
+%doc *.md
+%doc app/web.php
+%{_datadir}/php/%{psr0}
+%{_bindir}/phinx
+
+
+%changelog
+* Tue Sep 27 2016 Remi Collet <remi@fedoraproject.org> - 0.6.4-1
+- initial package
+