diff options
| -rw-r--r-- | php-symfony2-HttpFoundation.spec | 87 | 
1 files changed, 73 insertions, 14 deletions
diff --git a/php-symfony2-HttpFoundation.spec b/php-symfony2-HttpFoundation.spec index 1dc003d..b1ea2cc 100644 --- a/php-symfony2-HttpFoundation.spec +++ b/php-symfony2-HttpFoundation.spec @@ -1,10 +1,10 @@  %{!?__pear: %{expand: %%global __pear %{_bindir}/pear}}  %global pear_channel pear.symfony.com -%global pear_name    %(echo %{name} | sed -e 's/^php-symfony2-//' -e 's/-/_/g') +%global pear_name    HttpFoundation  %global php_min_ver  5.3.3 -Name:             php-symfony2-HttpFoundation +Name:             php-symfony2-%{pear_name}  Version:          2.2.0  Release:          1%{?dist}  Summary:          Symfony2 %{pear_name} Component @@ -16,14 +16,16 @@ Source0:          http://%{pear_channel}/get/%{pear_name}-%{version}.tgz  BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)  BuildArch:        noarch +  BuildRequires:    php-pear(PEAR)  BuildRequires:    php-channel(%{pear_channel}) -# Test requires +# For tests  BuildRequires:    php(language) >= %{php_min_ver}  BuildRequires:    php-pear(pear.phpunit.de/PHPUnit) -# Test requires: phpci +# For tests: phpci  BuildRequires:    php-date  BuildRequires:    php-fileinfo +BuildRequires:    php-intl  BuildRequires:    php-json  BuildRequires:    php-pcre  BuildRequires:    php-pdo @@ -38,9 +40,10 @@ Requires:         php-pear(PEAR)  Requires:         php-channel(%{pear_channel})  Requires(post):   %{__pear}  Requires(postun): %{__pear} -# phpci requires +# phpci  Requires:         php-date  Requires:         php-fileinfo +Requires:         php-intl  Requires:         php-json  Requires:         php-pcre  Requires:         php-pdo @@ -69,15 +72,54 @@ Optional dependencies: memcache, memcached, mongo  %prep  %setup -q -c +# Create PHPUnit autoloader +( cat <<'PHPUNIT_AUTOLOADER' +<?php + +# This file was created by RPM packaging and is not part of the original +# Symfony2 %{pear_name} PEAR package. + +set_include_path( +    '%{pear_phpdir}'.PATH_SEPARATOR. +    '%{pear_testdir}/%{pear_name}'.PATH_SEPARATOR. +    get_include_path() +); + +spl_autoload_register(function ($class) { +    if ('\\' == $class[0]) { +        $class = substr($class, 1); +    } + +    $file = str_replace('\\', '/', $class).'.php'; +    @include $file; +}); +PHPUNIT_AUTOLOADER +) > phpunit.autoloader.php + +# Update PHPUnit config +sed -e 's#vendor/autoload.php#./phpunit.autoloader.php#' \ +    -i %{pear_name}-%{version}/Symfony/Component/%{pear_name}/phpunit.xml.dist + +# Modify file test is looking for +sed 's#README.md#%{pear_docdir}/%{pear_name}/Symfony/Component/%{pear_name}/README.md#g' \ +    -i %{pear_name}-%{version}/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php +sed '/README.md.*Content-Disposition/s#".*README.md#"README.md#g' \ +    -i %{pear_name}-%{version}/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php +  # Modify PEAR package.xml file: +# - Remove .gitattributes 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 '/\.gitignore/d' \ +# - Remove md5sum from phpunit.xml.dist file since it was updated +# - Remove md5sum from BinaryFileResponseTest.php file since it was updated +sed -e '/\.gitattributes/d' \ +    -e '/\.gitignore/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 '/phpunit.xml.dist/s/role="php"/role="test"/' \ +    -e '/phpunit.xml.dist/s/md5sum="[^"]*"\s*//' \ +    -e '/BinaryFileResponseTest.php/s/md5sum="[^"]*"\s*//' \      -i package.xml  # package.xml is version 2.0 @@ -99,16 +141,28 @@ rm -rf %{buildroot}%{pear_metadir}/.??*  mkdir -p %{buildroot}%{pear_xmldir}  install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir} -sed -e '/bootstrap/s:vendor/autoload.php:%{pear_phpdir}/Symfony/Component/%{pear_name}/autoloader.php:' \ -      %{buildroot}%{pear_testdir}/%{pear_name}/Symfony/Component/%{pear_name}/phpunit.xml.dist \ -    > %{buildroot}%{pear_testdir}/%{pear_name}/Symfony/Component/%{pear_name}/phpunit.xml +# Install PHPUnit autoloader +install -pm 0644 ../phpunit.autoloader.php \ +    %{buildroot}/%{pear_testdir}/%{pear_name}/Symfony/Component/%{pear_name}/  %check  cd %{pear_name}-%{version}/Symfony/Component/%{pear_name} -sed -e '/bootstrap/s:vendor/autoload.php:autoloader.php:' \ -    phpunit.xml.dist > phpunit.xml -%{_bindir}/phpunit -d date.timezone=UTC \ + +sed 's#./phpunit.autoloader.php#./autoloader.php#' -i phpunit.xml.dist + +# Update test file location +sed 's#%{pear_docdir}#%{buildroot}%{pear_docdir}#g' \ +    -i Tests/BinaryFileResponseTest.php + +# Skip tests requiring write access to /var/lib/php/session (root user) +sed -e 's/testBag/SKIP_testBag/' \ +    -e 's/testGetId/SKIP_testGetId/' \ +    -e 's/testRegenerate/SKIP_testRegenerate/' \ +    -e 's/testRegenerateDestroy/SKIP_testRegenerateDestroy/' \ +    -i Tests/Session/Storage/NativeSessionStorageTest.php + +%{_bindir}/phpunit -d date.timezone="UTC"  %post @@ -134,6 +188,11 @@ fi  %changelog +* Wed Mar 13 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 2.2.0-1 +- Updated to 2.2.0 +- Removed tests' bootstrap patch +- Added php-intl require +  * Wed Mar 06 2013 Remi Collet <remi@fedoraproject.org> - 2.2.0-1  - Update to 2.2.0  | 
