diff options
| -rw-r--r-- | php-opencloud.spec | 171 | 
1 files changed, 131 insertions, 40 deletions
diff --git a/php-opencloud.spec b/php-opencloud.spec index eb8261a..fd817ec 100644 --- a/php-opencloud.spec +++ b/php-opencloud.spec @@ -1,60 +1,122 @@ -%global vendor OpenCloud -%global commit 7be280fde422651d0966c70b07f6477b37dd4270 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) - -Name:           php-opencloud -Version:        1.6.0 -Release:        5%{?dist} -Summary:        PHP SDK for OpenStack/Rackspace APIs -Group:          Development/Libraries - -License:        ASL 2.0 -URL:            http://php-opencloud.com/ -Source0:        https://github.com/rackspace/php-opencloud/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz - -BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires:  php-phpunit-PHPUnit - -Requires:       php-spl php-curl php-date php-fileinfo php-hash php-json -Requires:       php-pcre +# +# RPM spec file for php-egulias-email-validator +# +# Copyright (c) 2013-2014 Gregor Tätzner <brummbq@fedoraproject.org> +#                         Shawn Iwinski <shawn.iwinski@gmail.com> +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# Please preserve changelog entries +# + +%global github_owner     rackspace +%global github_name      php-opencloud +%global github_version   1.11.0 +%global github_commit    ed22aa68966ee8a6c26779453cf90b5e5b96a922 + +%global composer_vendor  rackspace +%global composer_project php-opencloud + +# "php" : ">=5.3.3" +%global php_min_ver      5.3.3 +# "guzzle/http" : "~3.8" +%global guzzle_min_ver   3.8 +%global guzzle_max_ver   4.0 +# "psr/log": "~1.0" +%global psr_log_min_ver  1.0 +%global psr_log_max_ver  2.0 + +# Build using "--without tests" to disable tests +%global with_tests       %{?_without_tests:0}%{!?_without_tests:1} + +%{!?phpdir:     %global phpdir     %{_datadir}/php} +%{!?__phpunit:  %global __phpunit  %{_bindir}/phpunit} + +Name:          php-opencloud +Version:       %{github_version} +Release:       2%{?github_release}%{?dist} +Summary:       PHP SDK for OpenStack/Rackspace APIs +Group:         Development/Libraries -BuildArch:      noarch +License:       ASL 2.0 +URL:           http://php-opencloud.com/ +Source0:       https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz + +BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch:     noarch +%if %{with_tests} +BuildRequires: php-phpunit-PHPUnit +# composer.json +BuildRequires: php(language)         >= %{php_min_ver} +BuildRequires: php-composer(psr/log) >= %{psr_log_min_ver} +BuildRequires: php-composer(psr/log) <  %{psr_log_max_ver} +BuildRequires: php-guzzle-Guzzle     >= %{guzzle_min_ver} +BuildRequires: php-guzzle-Guzzle     <  %{guzzle_max_ver} +# phpcompatinfo (computed from version 1.11.0) +BuildRequires: php-curl +BuildRequires: php-date +BuildRequires: php-hash +BuildRequires: php-json +BuildRequires: php-pcre +BuildRequires: php-reflection +BuildRequires: php-spl +%endif + +# composer.json +Requires:      php(language)         >= %{php_min_ver} +Requires:      php-composer(psr/log) >= %{psr_log_min_ver} +Requires:      php-composer(psr/log) <  %{psr_log_max_ver} +Requires:      php-guzzle-Guzzle     >= %{guzzle_min_ver} +Requires:      php-guzzle-Guzzle     <  %{guzzle_max_ver} +# phpcompatinfo (computed from version 1.11.0) +Requires:      php-date +Requires:      php-hash +Requires:      php-json +Requires:      php-pcre +Requires:      php-spl  # Obsoletes:      php-cloudfiles  %description -The PHP SDK should work with most OpenStack-based cloud deployments, though it -specifically targets the Rackspace public cloud. In general, whenever a -Rackspace deployment is substantially different than a pure OpenStack one, a -separate Rackspace subclass is provided so that you can still use the SDK with -a pure OpenStack instance (for example, see the OpenStack class (for OpenStack) -and the Rackspace subclass). +The PHP SDK should work with most OpenStack-based cloud deployments, though +it specifically targets the Rackspace public cloud. In general, whenever a +Rackspace deployment is substantially different than a pure OpenStack one, +a separate Rackspace subclass is provided so that you can still use the SDK +with a pure OpenStack instance (for example, see the OpenStack class (for +OpenStack) and the Rackspace subclass). +  %package doc -Summary:       Documentation for OpenStack/Rackspace APIs PHP SDK -Group:         Development/Libraries +Summary: Documentation for PHP SDK for OpenStack/Rackspace APIs +Group:   Development/Libraries +  %description doc -%{summary} +Documentation for PHP SDK for OpenStack/Rackspace APIs.  %prep -%setup -q -n %{name}-%{commit} +%setup -qn %{github_name}-%{github_commit} -# EOL encoding -sed -i 's/\r$//' docs/api/css/jquery.treeview.css +# Fix version +# https://github.com/rackspace/php-opencloud/pull/445 +sed 's/1.10.0/%{github_version}/' -i lib/OpenCloud/Version.php + +# W: spurious-executable-perm +# https://github.com/rackspace/php-opencloud/pull/446 +find docs -type f -name '*.md' -exec chmod a-x "{}" \;  %build -# nothing to build +# Empty build section, nothing required  %install  rm -rf %{buildroot} -INSTALL_DIR=%{buildroot}%{_datadir}/php -mkdir -p $INSTALL_DIR -cp -a lib/%{vendor} $INSTALL_DIR +mkdir -pm 0755 %{buildroot}%{phpdir} +cp -rp lib/OpenCloud %{buildroot}%{phpdir}/  %clean @@ -62,19 +124,48 @@ rm -rf %{buildroot}  %check -phpunit -d date.timezone=UTC . +%if %{with_tests} +# Create autoloader +mkdir vendor +cat > vendor/autoload.php <<'AUTOLOAD' +<?php + +spl_autoload_register(function ($class) { +    $src = str_replace('\\', '/', $class).'.php'; +    @include_once $src; +}); +AUTOLOAD + +# Create PHPUnit config with colors turned off and no coverage-clover logging +sed -e 's/colors="true"/colors="false"/' phpunit.xml.dist \ +    -e '/coverage-clover/d' \ +    > phpunit.xml + +%{__phpunit} --include-path %{buildroot}%{phpdir}:./tests -d date.timezone="UTC" +%else +: Tests skipped +%endif  %files -%defattr(-,root,root,-) -%doc LICENSE README.md TODO.md composer.json CONTRIBUTORS.md TODO.md -%{_datadir}/php/%{vendor} +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc *.md composer.json +%{phpdir}/OpenCloud +  %files doc  %doc samples docs  %changelog +* Sun Nov 02 2014 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.11.0-2 +- No BuildRequires unless with tests + +* Sun Nov 02 2014 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.11.0-1 +- Updated to 1.11.0 (BZ #1159522) +- Spec cleanup +  * Thu Jul 31 2014 Remi Collet <rpms@famillecollet.com> - 1.6.0-5  - don't obsolete php-cloudfiles  | 
