summaryrefslogtreecommitdiffstats
path: root/owncloud.spec
diff options
context:
space:
mode:
Diffstat (limited to 'owncloud.spec')
-rw-r--r--owncloud.spec93
1 files changed, 69 insertions, 24 deletions
diff --git a/owncloud.spec b/owncloud.spec
index 5ce12f9..973fbfa 100644
--- a/owncloud.spec
+++ b/owncloud.spec
@@ -9,7 +9,7 @@
#
Name: owncloud
Version: 8.2.3
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Private file sync and share server
Group: Applications/Internet
@@ -51,32 +51,34 @@ Patch1: %{name}-8.2.3-videoviewer_noplugins.patch
# Upstream wouldn't likely take this, they probably only care about their
# bundled copies
Patch2: %{name}-8.2.3-composer_include_path.patch
-# Drop use of dropbox's unnecessary autoloader (composer will find the
-# systemwide copy). This is not upstreamable, but see
-# https://github.com/owncloud/core/pull/12113 with similar effect for 8.1+
-Patch3: %{name}-8.2.3-drop-dropbox-autoloader.patch
-# Drop use of aws-sdk's dead autoloader (composer will find the systemwide copy)
-Patch4: %{name}-8.2.2-drop-AWS-autoloader.patch
# Stop OC from trying to do stuff to .htaccess files. Just calm down, OC.
# Distributors are on the case.
-Patch5: %{name}-8.2.2-dont_update_htacess.patch
-# Use Google autoloader instead of including particular files. Upstream
-# no longer has each file include all others it needs, they expect you
-# to use the autoloader. Can't go upstream until upstream bumps to a
-# version of the lib that actually includes the autoloader...
-Patch6: %{name}-8.2.2-google_autoload.patch
+Patch3: %{name}-8.2.2-dont_update_htacess.patch
# Owncloud should use the system libraries with psr
-Patch7: %{name}-8.2.3-use_system_psr_libraries.patch
+Patch4: %{name}-8.2.3-use_system_psr_libraries.patch
-# Owncloud shoudl use the system autoloaded react-promise and nitic-phpParser
-Patch8: %{name}-8.2.3-use_system_phpparser.patch
+# Owncloud should use the system autoloaded react-promise and nitic-phpParser
+Patch5: %{name}-8.2.3-use_system_phpparser.patch
+
+# Unbundle Google, Dropbox and AVS from app/files_external
+Patch6: %{name}-8.2.3-unbundle-files-external.patch
+
+# unbundle php-Assetic to use the system autoloader
+Patch7: %{name}-8.2.3-use_system_assetic.patch
+
+# Display the appropriate upgrade command for fedora/epel users bz#1321417
+Patch8: %{name}-8.2.3-correct-cli-upgrade-command.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
# expand pear macros on install
BuildRequires: php-pear
+# For sanity check
+BuildRequires: php-cli
+BuildRequires: php-composer(icewind/smb) >= 1.0.4
+BuildRequires: php-composer(icewind/streams) >= 0.2
Requires: %{name}-webserver = %{version}-%{release}
Requires: %{name}-database = %{version}-%{release}
@@ -111,6 +113,12 @@ Requires: php-filter
# pulls in sabre event, http and vobject as deps
Requires: php-composer(sabre/dav) >= 2.1.9
Requires: php-composer(sabre/dav) < 2.2
+Requires: php-composer(sabre/vobject) >= 3.3.4
+Requires: php-composer(sabre/vobject) < 4.0.0
+Requires: php-composer(sabre/event) >= 2.0.0
+Requires: php-composer(sabre/event) < 3.0.0
+Requires: php-composer(sabre/http) >= 3.0.0
+Requires: php-composer(sabre/http) < 4.0.0
# "doctrine/dbal": "2.5.1"
Requires: php-composer(doctrine/dbal) >= 2.5.1
@@ -124,8 +132,10 @@ Requires: php-composer(phpseclib/phpseclib) >= 2.0
Requires: php-composer(phpseclib/phpseclib) < 3.0
#Requires: php-composer(rackspace/php-opencloud) >= 1.9.2
-# pulls in guzzle/guzzle as a dep
+# pulls in guzzle/http as a dep
Requires: php-opencloud >= 1.9.2
+Requires: php-composer(guzzle/http) >= 3.8.0
+Requires: php-composer(guzzle/http) < 4.0.0
#"james-heinrich/getid3": "dev-master"
# fedora has 1.9.8 but current release 1.9.12
@@ -139,6 +149,7 @@ Requires: php-composer(jeremeamia/superclosure) >= 2.0
# Also pulls in ircmaxell/security-lib which is a dep
Requires: php-composer(ircmaxell/random-lib) >= 1.1
Requires: php-composer(ircmaxell/random-lib) < 2.0
+Requires: php-composer(ircmaxell/security-lib) >= 1.0
# "bantu/ini-get-wrapper": "v1.0.1"
Requires: php-composer(bantu/ini-get-wrapper) >= 1.0.1
@@ -161,8 +172,10 @@ Requires: php-composer(patchwork/utf8) < 2.0
# "symfony/console": "2.6.4"
# pulls in symfony/event-dispatcher as a dep
-# pulls in symfony/event-process as a dep
+# pulls in symfony/process as a dep
Requires: php-composer(symfony/console) >= 2.6.4
+Requires: php-composer(symfony/event-dispatcher) >= 2.6.4
+Requires: php-composer(symfony/process) >= 2.6.4
# "symfony/routing": "2.6.4"
Requires: php-composer(symfony/routing) >= 2.6.4
@@ -182,6 +195,7 @@ Requires: php-composer(nikic/php-parser) < 2.0
Requires: php-composer(icewind/streams) >= 0.2
# "swiftmailer/swiftmailer": "@stable"
+# Version 5.4.1 for autoloader in /usr/share/php
Requires: php-composer(swiftmailer/swiftmailer) >= 5.4.1
# "guzzlehttp/guzzle": "~5.0"
@@ -189,6 +203,12 @@ Requires: php-composer(swiftmailer/swiftmailer) >= 5.4.1
# ringphp pulls in guzzlehttp/streams and react/promise
Requires: php-composer(guzzlehttp/guzzle) >= 5.0
Requires: php-composer(guzzlehttp/guzzle) < 6.0
+Requires: php-composer(guzzlehttp/ringphp) >= 1.1
+Requires: php-composer(guzzlehttp/ringphp) < 2.0
+Requires: php-composer(guzzlehttp/streams) >= 3.0
+Requires: php-composer(guzzlehttp/streams) < 4.0
+Requires: php-composer(react/promise) >= 2.2
+Requires: php-composer(react/promise) < 3.0
# "league/flysystem": "1.0.4"
Requires: php-composer(league/flysystem) >= 1.0.4
@@ -211,9 +231,7 @@ Requires: php-composer(patchwork/jsqueeze) >= 2.0
Requires: php-composer(patchwork/jsqueeze) < 3.0
# "kriswallsmith/assetic": "^1.3"
-# Only 1.2 is in Fedora right now and testing oC appears to work with that
-# Ticket open for the update is bz#1153986
-Requires: php-composer(kriswallsmith/assetic) >= 1.2
+Requires: php-composer(kriswallsmith/assetic) >= 1.3
Requires: php-composer(kriswallsmith/assetic) < 2.0
@@ -371,7 +389,6 @@ find 3rdparty -mindepth 1 -maxdepth 1 -type d ! -name composer -exec rm -r "{}"
# deps in such a way that they're laid out exactly the same as upstream
# relative to /usr/share/php, then instead of doing this we could patch
# $vendorDir in the composer loader files to be /usr/share/php.
-mkdir -p 3rdparty/kriswallsmith/assetic/src
mkdir -p 3rdparty/natxet/CssMin/src
mkdir -p 3rdparty/james-heinrich/getid3/getid3
mkdir -p 3rdparty/swiftmailer/swiftmailer/lib
@@ -379,7 +396,16 @@ mkdir -p 3rdparty/ircmaxell/password-compat/lib
mkdir -p 3rdparty/react/promise/src
# individual core apps now bundle libs as well - yay
-rm -rf apps/files_external/3rdparty/{icewind,Dropbox,google-api-php-client,aws-sdk-php}
+rm -rf apps/files_external/3rdparty/{icewind,Dropbox,google-api-php-client,aws-sdk-php,composer*}
+
+# create autoloader, from composer.json, "require": {
+# "icewind/smb": "1.0.4",
+# "icewind/streams": "0.2"
+cat << 'EOF' | tee apps/files_external/3rdparty/autoload.php
+<?php
+require_once '%{_datadir}/php/Icewind/Streams/autoload.php';
+require_once '%{_datadir}/php/Icewind/SMB/autoload.php';
+EOF
# clean up content
for f in {l10n.pl,init.sh,setup_owncloud.sh,image-optimization.sh,install_dependencies.sh}; do
@@ -402,6 +428,21 @@ rm apps/files_videoviewer/js/silverlightmediaelement.xap
rm -r apps/updater
+%check
+nb=$(ls %{buildroot}%{_datadir}/%{name}/apps/files_external/3rdparty | wc -l)
+if [ $nb -gt 1 ]; then
+ false apps/files_external/3rdparty must only have autoload.php
+fi
+
+if grep -r 3rdparty %{buildroot}%{_datadir}/%{name}/apps/files_external \
+ | grep -v 3rdparty/autoload.php; then
+ false Patch needs to be adapted
+fi
+
+php %{buildroot}%{_datadir}/%{name}/apps/files_external/3rdparty/autoload.php
+
+
+
%build
# Nothing to build
@@ -450,7 +491,6 @@ install -Dpm 644 %{SOURCE6} \
# symlink 3rdparty libs - if possible
# global
-ln -s %{_datadir}/php/Assetic/functions.php %{buildroot}%{_datadir}/%{name}/3rdparty/kriswallsmith/assetic/src/functions.php
ln -s %{_datadir}/php/natxet/CssMin/src/CssMin.php %{buildroot}%{_datadir}/%{name}/3rdparty/natxet/CssMin/src/
ln -s %{_datadir}/php/getid3/getid3.php %{buildroot}%{_datadir}/%{name}/3rdparty/james-heinrich/getid3/getid3/
ln -s %{_datadir}/php/Swift/swift_required.php %{buildroot}%{_datadir}/%{name}/3rdparty/swiftmailer/swiftmailer/lib/swift_required.php
@@ -556,6 +596,11 @@ rm -rf %{buildroot}
%changelog
+* Fri Apr 01 2016 James Hogarth <james.hogarth@gmail.com> - 8.2.3-4
+- Update to new dependency versions now packaged
+- Add fedora autoloader based external_files
+- Add patch to fix bz#1321417
+
* Thu Mar 24 2016 James Hogarth <james.hogarth@gmail.com> - 8.2.3-3
- Add typical appstore issue to readme
- Clean up spec to make it easier to follow the requires from unbundling