diff options
Diffstat (limited to 'php-opencloud.spec')
-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 |