diff options
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | php-bartlett-php-compatinfo-db-1.0.0-rpm.patch | 41 | ||||
| -rw-r--r-- | php-bartlett-php-compatinfo-db-autoload.php | 17 | ||||
| -rw-r--r-- | php-bartlett-php-compatinfo-db.spec | 141 | 
4 files changed, 203 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13af741 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../../common/Makefile + diff --git a/php-bartlett-php-compatinfo-db-1.0.0-rpm.patch b/php-bartlett-php-compatinfo-db-1.0.0-rpm.patch new file mode 100644 index 0000000..23f300c --- /dev/null +++ b/php-bartlett-php-compatinfo-db-1.0.0-rpm.patch @@ -0,0 +1,41 @@ +diff -up ./data/handleDB.php.rpm ./data/handleDB.php +--- ./data/handleDB.php.rpm	2015-11-04 09:31:27.320112762 +0100 ++++ ./data/handleDB.php	2015-11-04 09:32:05.209285133 +0100 +@@ -12,7 +12,8 @@ +  * @since    Release 1.0.0alpha1 of PHP_CompatInfo_Db +  */ +  +-require_once dirname(__DIR__) . '/vendor/autoload.php'; ++require_once '/usr/share/php/Symfony/autoload.php'; ++require_once dirname(__DIR__) . '/src/Bartlett/CompatInfoDb/autoload.php'; + require_once __DIR__ . '/ReferenceCollection.php'; +  + use Bartlett\CompatInfoDb\ExtensionFactory; +diff -up ./src/Bartlett/CompatInfoDb/Environment.php.rpm ./src/Bartlett/CompatInfoDb/Environment.php +--- ./src/Bartlett/CompatInfoDb/Environment.php.rpm	2015-11-04 09:38:03.048913082 +0100 ++++ ./src/Bartlett/CompatInfoDb/Environment.php	2015-11-04 09:39:39.974354034 +0100 +@@ -37,6 +37,12 @@ class Environment +      */ +     public static function initRefDb() +     { ++        if (($database = getenv('BARTLETT_COMPATINFO_DB')) && file_exists($database)) { ++            return new \PDO('sqlite:' . $database); ++        } else if (file_exists($database = '/usr/share/php-bartlett-php-compatinfo-db/compatinfo.sqlite')) { ++            return new \PDO('sqlite:' . $database); ++        } ++ +         $database = 'compatinfo.sqlite'; +         $tempDir  = sys_get_temp_dir() . '/bartlett'; +  +diff -up ./tests/bootstrap.php.rpm ./tests/bootstrap.php +--- ./tests/bootstrap.php.rpm	2015-11-04 09:34:12.089862363 +0100 ++++ ./tests/bootstrap.php	2015-11-04 09:34:49.361031923 +0100 +@@ -1,7 +1,7 @@ + <?php +  + $baseDir   = dirname(__DIR__); +-$vendorDir = $baseDir . '/vendor'; ++$vendorDir = 'Bartlett/CompatInfoDb'; // tests use include_path +  + require_once $vendorDir . '/autoload.php'; +  diff --git a/php-bartlett-php-compatinfo-db-autoload.php b/php-bartlett-php-compatinfo-db-autoload.php new file mode 100644 index 0000000..05f0921 --- /dev/null +++ b/php-bartlett-php-compatinfo-db-autoload.php @@ -0,0 +1,17 @@ +<?php +/** + * Autoloader php-bartlett/php-compatinfo-db/php-compatinfo 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->addPrefix('Bartlett\\CompatInfoDb\\', dirname(dirname(__DIR__))); diff --git a/php-bartlett-php-compatinfo-db.spec b/php-bartlett-php-compatinfo-db.spec new file mode 100644 index 0000000..55a8bbd --- /dev/null +++ b/php-bartlett-php-compatinfo-db.spec @@ -0,0 +1,141 @@ +# remirepo/fedora spec file for php-bartlett-php-compatinfo-db +# +# Copyright (c) 2015 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +# Github +%global gh_commit    b65b06ba30abba8e85c6afc40c8c9ea7921dc434 +%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 prever       alpha1 +# Namespace +%global ns_vendor    Bartlett +%global ns_project   CompatInfoDb +# Composer +%global c_vendor     bartlett +%global c_project    php-compatinfo-db + +%global with_tests   0%{!?_without_tests:1} + +Name:           php-%{c_vendor}-%{c_project} +Version:        1.0.0 +%global specrel 1 +Release:        %{?gh_date:0.%{specrel}.%{?prever}%{!?prever:%{gh_date}git%{gh_short}}}%{!?gh_date:%{specrel}}%{?dist} +Summary:        Reference Database to be used with php-compatinfo library + +Group:          Development/Libraries +License:        BSD +URL:            https://github.com/%{gh_owner}/%{gh_project} +Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}%{?prever}-%{gh_short}.tar.gz + +# Autoloader for RPM +Source1:        %{name}-autoload.php + +# Autoload and sqlite database path +Patch0:         %{name}-1.0.0-rpm.patch + +BuildArch:      noarch +# Needed to build the database from sources +BuildRequires:  php(language) >= 5.4.0 +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 +# For our patch / autoloader +BuildRequires:  php-composer(symfony/class-loader) +# From composer.json, "require-dev": { +#        "symfony/console": "~2.5", +#        "psr/log": "~1.0", +#        "monolog/monolog": "~1.10", +#        "bartlett/phpunit-loggertestlistener": "~1.5" +BuildRequires:  php-cli +BuildRequires:  php-composer(symfony/console) >= 2.5 +%if %{with_tests} +BuildRequires:  php-composer(phpunit/phpunit) +%endif + +# From composer.json, "require" +#        "php": ">=5.4.0", +#        "ext-curl": "*", +#        "ext-intl": "*", +#        "ext-libxml": "*", +#        "ext-openssl": "*", +#        "ext-pcre": "*", +#        "ext-spl": "*", +#        "ext-json": "*", +#        "ext-pdo_sqlite": "*" +Requires:       php(language) >= 5.4.0 +Requires:       php-curl +Requires:       php-intl +Requires:       php-libxml +Requires:       php-openssl +Requires:       php-pcre +Requires:       php-spl +Requires:       php-json +Requires:       php-pdo_sqlite +# Required by autoloader +Requires:       php-composer(symfony/class-loader) + +Provides:       php-composer(%{c_vendor}/%{c_project}) = %{version} +# Extracted from bartlett/php-compatinfo 4 +Conflicts:      php-bartlett-PHP-CompatInfo < 5 + + +%description +%{summary}. + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} + +%patch0 -p1 -b .rpm +cp %{SOURCE1} src/%{ns_vendor}/%{ns_project}/autoload.php + +# Cleanup patched files +find src -name \*rpm -delete -print + + +%build +: Generate the references database +%{_bindir}/php -d date.timezone=Europe/Paris data/handleDB.php db:init + + +%install +mkdir -p %{buildroot}%{_datadir}/php +cp -pr src/%{ns_vendor} %{buildroot}%{_datadir}/php/%{ns_vendor} + +install -D -p -m 644 data/compatinfo.sqlite      %{buildroot}%{_datadir}/%{name}/compatinfo.sqlite + + +%if %{with_tests} +%check +export BARTLETT_COMPATINFO_DB=%{buildroot}%{_datadir}/%{name}/compatinfo.sqlite + +%{_bindir}/phpunit \ +    --include-path %{buildroot}%{_datadir}/php \ +    -d memory_limit=1G +%endif + + +%files +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc composer.json +%doc *.md +%dir %{_datadir}/php/%{ns_vendor} +     %{_datadir}/php/%{ns_vendor}/%{ns_project} +     %{_datadir}/%{name} + + +%changelog +* Wed Nov  4 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.1.alpha1 +- Initial package
\ No newline at end of file  | 
