diff options
-rw-r--r-- | bootstrap.php | 24 | ||||
-rw-r--r-- | php-symfony2-HttpKernel-tests-bootstrap.patch | 24 | ||||
-rw-r--r-- | php-symfony2-HttpKernel.spec | 123 |
3 files changed, 117 insertions, 54 deletions
diff --git a/bootstrap.php b/bootstrap.php deleted file mode 100644 index 329fef2..0000000 --- a/bootstrap.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier <fabien@symfony.com> - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -date_default_timezone_set('UTC'); -spl_autoload_register(function ($class) { - if (0 === strpos(ltrim($class, '/'), 'Symfony\Component')) { - $file = substr(str_replace('\\', '/', $class), strlen('Symfony\Component')).'.php'; - if (file_exists(__DIR__.'/../..'.$file)) { - # Run from source tree - require_once __DIR__.'/../..'.$file; - } else { - # Run from install dir - require_once 'Symfony/Component'.$file; - } - } -}); diff --git a/php-symfony2-HttpKernel-tests-bootstrap.patch b/php-symfony2-HttpKernel-tests-bootstrap.patch new file mode 100644 index 0000000..099c67f --- /dev/null +++ b/php-symfony2-HttpKernel-tests-bootstrap.patch @@ -0,0 +1,24 @@ +--- Symfony/Component/HttpKernel/Tests/bootstrap.php 2012-09-20 03:42:12.000000000 -0400 ++++ Symfony/Component/HttpKernel/Tests/bootstrap.php 2012-10-27 17:02:39.283668836 -0400 +@@ -10,9 +10,18 @@ + */ + + spl_autoload_register(function ($class) { +- if (0 === strpos(ltrim($class, '/'), 'Symfony\Component\HttpKernel')) { +- if (file_exists($file = __DIR__.'/../'.substr(str_replace('\\', '/', $class), strlen('Symfony\Component\HttpKernel')).'.php')) { +- require_once $file; ++ if (0 === strpos(ltrim($class, '/'), 'Symfony\Component')) { ++ $file = substr(str_replace('\\', '/', $class), strlen('Symfony\Component')).'.php'; ++ if (file_exists(__DIR__.'/../..'.$file)) { ++ // Load from source tree ++ require_once __DIR__.'/../..'.$file; ++ } else { ++ try { ++ // Try loading from incude path ++ require_once 'Symfony/Component'.$file; ++ } catch (Exception $e) { ++ // Fail silently so class not found fatal error still raised ++ } + } + } + }); diff --git a/php-symfony2-HttpKernel.spec b/php-symfony2-HttpKernel.spec index e959bc7..d819134 100644 --- a/php-symfony2-HttpKernel.spec +++ b/php-symfony2-HttpKernel.spec @@ -1,11 +1,14 @@ -%{!?pear_metadir: %global pear_metadir %{pear_phpdir}} %{!?__pear: %{expand: %%global __pear %{_bindir}/pear}} +%{!?pear_metadir: %global pear_metadir %{pear_phpdir}} %global pear_channel pear.symfony.com %global pear_name %(echo %{name} | sed -e 's/^php-symfony2-//' -e 's/-/_/g') +%global php_min_ver 5.3.3 +# Broken: require_once(Symfony/Component/HttpKernel/Tests/some_controller_function.php) +%global with_tests %{?_with_tests:1}%{!?_with_tests:0} Name: php-symfony2-HttpKernel -Version: 2.1.2 +Version: 2.1.3 Release: 1%{?dist} Summary: Symfony2 %{pear_name} Component @@ -13,54 +16,96 @@ Group: Development/Libraries License: MIT URL: http://symfony.com/components Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz -Source1: bootstrap.php +Patch0: %{name}-tests-bootstrap.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: php-pear(PEAR) BuildRequires: php-channel(%{pear_channel}) -# For tests +%if %{with_tests} +# Test requires +BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-pear(pear.phpunit.de/PHPUnit) - -Requires: php-common >= 5.3.2 +BuildRequires: php-pear(%{pear_channel}/BrowserKit) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/ClassLoader) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/Config) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/Console) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/DependencyInjection) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/EventDispatcher) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/Finder) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/HttpFoundation) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/Process) >= 2.1.0 +BuildRequires: php-pear(%{pear_channel}/Routing) >= 2.1.0 +# Test requires: phpci +BuildRequires: php-date +BuildRequires: php-json +BuildRequires: php-pcre +BuildRequires: php-pdo +BuildRequires: php-pdo_mysql +BuildRequires: php-pdo_sqlite +BuildRequires: php-reflection +BuildRequires: php-session +BuildRequires: php-spl +BuildRequires: php-tokenizer +%endif + +Requires: php(language) >= %{php_min_ver} Requires: php-pear(PEAR) Requires: php-channel(%{pear_channel}) -Requires: php-pear(%{pear_channel}/HttpFoundation) = %{version} -Requires: php-pear(%{pear_channel}/EventDispatcher) = %{version} +Requires: php-pear(%{pear_channel}/EventDispatcher) >= 2.1.0 +Requires: php-pear(%{pear_channel}/HttpFoundation) >= 2.1.0 Requires(post): %{__pear} Requires(postun): %{__pear} # phpci requires -Requires: php-ctype Requires: php-date +Requires: php-json Requires: php-pcre +Requires: php-pdo +Requires: php-pdo_mysql +Requires: php-pdo_sqlite Requires: php-reflection +Requires: php-session Requires: php-spl Requires: php-tokenizer # Optional requires -Requires: php-pdo -Requires: php-pdo_mysql -Requires: php-pdo_sqlite -Requires: php-pear(%{pear_channel}/BrowserKit) = %{version} -Requires: php-pear(%{pear_channel}/ClassLoader) = %{version} -Requires: php-pear(%{pear_channel}/Config) = %{version} -Requires: php-pear(%{pear_channel}/Console) = %{version} -Requires: php-pear(%{pear_channel}/DependencyInjection) = %{version} -Requires: php-pear(%{pear_channel}/Finder) = %{version} +Requires: php-pear(%{pear_channel}/BrowserKit) >= 2.1.0 +Requires: php-pear(%{pear_channel}/ClassLoader) >= 2.1.0 +Requires: php-pear(%{pear_channel}/Config) >= 2.1.0 +Requires: php-pear(%{pear_channel}/Console) >= 2.1.0 +Requires: php-pear(%{pear_channel}/DependencyInjection) >= 2.1.0 +Requires: php-pear(%{pear_channel}/Finder) >= 2.1.0 Provides: php-pear(%{pear_channel}/%{pear_name}) = %{version} %description -%{summary}. +HttpKernel provides the building blocks to create flexible and fast +HTTP-based frameworks. + +It takes a Request as an input and should return a Response as an output. +Using this interface makes your code compatible with all frameworks using +the Symfony2 components. And this will give you many cool features for free. + +Optional dependencies: memcache, memcached, mongo %prep %setup -q -c -# Hum... -sed -e '/CHANGELOG.md/s/role="php"/role="doc"/' \ +# Patches +cd %{pear_name}-%{version} +%patch0 -p0 +cd .. + +# Modify PEAR package.xml file: +# - Remove .gitignore file +# - Change role from "php" to "doc" for CHANGELOG.md file +# - Change role from "php" to "test" for all test files +# - Remove md5sum from bootsrap.php file since it was patched +sed -e '/.git/d' \ + -e '/CHANGELOG.md/s/role="php"/role="doc"/' \ -e '/phpunit.xml.dist/s/role="php"/role="test"/' \ -e '/Tests/s/role="php"/role="test"/' \ - -e '/.gitignore/d' \ + -e '/bootstrap.php/s/md5sum="[^"]*"\s*//' \ -i package.xml # package.xml is version 2.0 @@ -73,21 +118,23 @@ mv package.xml %{pear_name}-%{version}/%{name}.xml %install cd %{pear_name}-%{version} -%{__pear} install --nodeps --packagingroot $RPM_BUILD_ROOT %{name}.xml +%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml # Clean up unnecessary files -rm -rf $RPM_BUILD_ROOT%{pear_metadir}/.??* +rm -rf %{buildroot}%{pear_metadir}/.??* # Install XML package description -mkdir -p $RPM_BUILD_ROOT%{pear_xmldir} -install -pm 644 %{name}.xml $RPM_BUILD_ROOT%{pear_xmldir} +mkdir -p %{buildroot}%{pear_xmldir} +install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} %check -cd %{pear_name}-%{version}/Symfony/Component/%{pear_name}/Tests -cp %{SOURCE1} bootstrap.php -# Broken: require_once(Symfony/Component/HttpKernel/Tests/some_controller_function.php) -# phpunit --bootstrap bootstrap.php --verbose . +%if %{with_tests} + cd %{pear_name}-%{version}/Symfony/Component/%{pear_name} + %{_bindir}/phpunit +%else +: Tests skipped, missing '--with tests' option +%endif %post @@ -111,9 +158,25 @@ fi %changelog +* Tue Oct 30 2012 Remi Collet <RPMS@FamilleCollet.com> 2.1.3-1 +- sync with rawhide, update to 2.1.3 + * Sat Oct 6 2012 Remi Collet <RPMS@FamilleCollet.com> 2.1.2-1 - update to 2.1.2 +* Fri Sep 21 2012 Shawn Iwinski <shawn.iwinski@gmail.com> 2.1.2-1 +- Updated to upstream version 2.1.2 +- Updated description +- PHP minimum version 5.3.3 instead of 5.3.2 +- Require other components ">= 2.1.0" instead of "= %%{version}" +- Added php-json and php-session requires +- Removed php-ctype require +- Added PEAR package.xml modifications +- Added patch for tests' bootstrap.php +- Added tests (%%check) +- Changed RPM_BUILD_ROOT to %%{buildroot} +- Added %%global pear_metadir + * Sat Sep 15 2012 Remi Collet <RPMS@FamilleCollet.com> 2.0.17-1 - Update to 2.0.17, backport for remi repository |