From 68dacf2b5b198dac82f38b09617175b4087f9af1 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 31 May 2016 16:32:29 +0200 Subject: owncloud: 9.0.2 --- owncloud.spec | 262 ++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 152 insertions(+), 110 deletions(-) (limited to 'owncloud.spec') diff --git a/owncloud.spec b/owncloud.spec index b208249..ee56bd6 100644 --- a/owncloud.spec +++ b/owncloud.spec @@ -8,7 +8,7 @@ # Please preserve changelog entries # Name: owncloud -Version: 8.2.5 +Version: 9.0.2 Release: 1%{?dist} Summary: Private file sync and share server Group: Applications/Internet @@ -16,19 +16,16 @@ Group: Applications/Internet License: AGPLv3+ and MIT and BSD and CC-BY and CC-BY-SA and GPLv3 and Public Domain and (MPLv1.1 or GPLv2+ or LGPLv2+) and (MIT or GPL+) and (MIT or GPLv2) and ASL 2.0 and LGPLv3 URL: http://owncloud.org -# Tarball with non-free sources stripped. To generate: -# ./owncloud-delete-nonfree.sh %%{name}-%%{version}.tar.bz2 -Source0: %{name}-%{version}-repack.tar.bz2 -# orig source: https://download.owncloud.org/community/%%{name}-%%{version}.tar.bz2 -# sha256sum: https://download.owncloud.org/community/%%{name}-%%{version}.tar.bz2.sha256 - -# used to repack the source tarball -Source42: %{name}-delete-nonfree.sh - +Source0: https://download.owncloud.org/community/%{name}-%{version}.tar.bz2 Source1: %{name}-httpd.conf Source2: %{name}-access-httpd.conf.avail -Source6: %{name}-nginx.conf + +Source200: %{name}-default-nginx.conf +Source201: %{name}-conf-nginx.conf +Source202: %{name}-php-fpm.conf +Source203: %{name}-el7-php-fpm.conf + # Config snippets Source100: %{name}-auth-any.inc Source101: %{name}-auth-local.inc @@ -45,20 +42,15 @@ Source7: %{name}-config.php # Our autoloader for core Source8: %{name}-fedora-autoloader.php -# Adjust mediaelement not to use its SWF and Silverlight plugins. This -# changes 'plugins:["flash,"silverlight","youtube","vimeo"]' to -# 'plugins:["youtube","vimeo"]' -Patch1: %{name}-8.2.5-videoviewer_noplugins.patch - # Stop OC from trying to do stuff to .htaccess files. Just calm down, OC. # Distributors are on the case. -Patch2: %{name}-8.2.2-dont_update_htacess.patch +Patch2: %{name}-9.0.1-dont_update_htacess.patch # Remove explicit load of dropbox -Patch3: %{name}-8.2.3-dropbox-autoloader.patch +Patch3: %{name}-9.0.1-dropbox-autoloader.patch # Remove explicit load of google -Patch4: %{name}-8.2.3-google-autoloader.patch +Patch4: %{name}-9.0.1-google-autoloader.patch # Remove explicit load of aws Patch5: %{name}-8.2.3-amazon-autoloader.patch @@ -66,9 +58,17 @@ Patch5: %{name}-8.2.3-amazon-autoloader.patch # Display the appropriate upgrade command for fedora/epel users bz#1321417 Patch6: %{name}-8.2.3-correct-cli-upgrade-command.patch -# Backport commit ca6bd5c and cfdf2b9 since icewind/streams added function in 0.3.0+ -# breaking interface from 0.2.0 and OC method spamming logs -Patch7: %{name}-8.2.3-icewind-streams-encryption.patch +# The broken updater repair step gets upset we unbundle +Patch7: %{name}-9.0.2-no_need_for_broken_updater_repair.patch + +# Disable the integrity checking whilst a better way to deal with it is found +Patch8: %{name}-9.0.2-default_integrity_check_disabled.patch + +# Need to work around an NSS issue in el7.2, due to be fix el7.3 bz#1241172 +Patch9: %{name}-8.1.6-work-arround-nss-issue.patch + +# RH provide support for php54 so don't tell users it's EOL +Patch10: %{name}-8.2.3-dont_warn_php54_eol.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -79,39 +79,40 @@ BuildRequires: php-pear # For sanity check BuildRequires: php-cli -BuildRequires: php-composer(sabre/dav) >= 2.1.9 -BuildRequires: php-composer(sabre/dav) < 2.2 -BuildRequires: php-composer(doctrine/dbal) >= 2.5.1 +BuildRequires: php-composer(sabre/dav) >= 3.0.8 +BuildRequires: php-composer(sabre/dav) < 4.0 +BuildRequires: php-composer(doctrine/dbal) >= 2.5.2 BuildRequires: php-composer(doctrine/dbal) < 2.6 -BuildRequires: php-composer(mcnetic/zipstreamer) >= 0.7 +BuildRequires: php-composer(mcnetic/zipstreamer) >= 1.0 +BuildRequires: php-composer(mcnetic/zipstreamer) < 2.0 BuildRequires: php-composer(phpseclib/phpseclib) >= 2.0 BuildRequires: php-composer(phpseclib/phpseclib) < 3.0 BuildRequires: php-opencloud >= 1.9.2 BuildRequires: php-composer(james-heinrich/getid3) >= 1.9.12 -BuildRequires: php-composer(jeremeamia/superclosure) >= 2.0 +BuildRequires: php-composer(jeremeamia/superclosure) >= 2.1.0 BuildRequires: php-composer(ircmaxell/random-lib) >= 1.1 BuildRequires: php-composer(ircmaxell/random-lib) < 2.0 BuildRequires: php-composer(bantu/ini-get-wrapper) >= 1.0.1 BuildRequires: php-composer(natxet/CssMin) >= 3.0.4 -BuildRequires: php-composer(punic/punic) >= 1.1.0 -BuildRequires: php-composer(pear/archive_tar) >= 1.4 +BuildRequires: php-composer(punic/punic) >= 1.6.3 +BuildRequires: php-composer(pear/archive_tar) >= 1.4.1 BuildRequires: php-composer(pear/archive_tar) < 2.0 -BuildRequires: php-composer(patchwork/utf8) >= 1.1 +BuildRequires: php-composer(patchwork/utf8) >= 1.2.6 BuildRequires: php-composer(patchwork/utf8) < 2.0 -BuildRequires: php-composer(symfony/console) >= 2.6.4 -BuildRequires: php-composer(symfony/event-dispatcher) >= 2.6.4 -BuildRequires: php-composer(symfony/routing) >= 2.6.4 -BuildRequires: php-composer(symfony/process) >= 2.6.4 -BuildRequires: php-composer(pimple/pimple) >= 3.0 +BuildRequires: php-composer(symfony/console) >= 2.8.1 +BuildRequires: php-composer(symfony/event-dispatcher) >= 2.8.1 +BuildRequires: php-composer(symfony/routing) >= 2.8.1 +BuildRequires: php-composer(symfony/process) >= 2.8.1 +BuildRequires: php-composer(pimple/pimple) >= 3.0.2 BuildRequires: php-composer(pimple/pimple) < 4.0 BuildRequires: php-composer(ircmaxell/password-compat) >= 1.0.0 -BuildRequires: php-composer(nikic/php-parser) >= 1.0 +BuildRequires: php-composer(nikic/php-parser) >= 1.4.1 BuildRequires: php-composer(nikic/php-parser) < 2.0 -BuildRequires: php-composer(icewind/streams) >= 0.2 +BuildRequires: php-composer(icewind/streams) >= 0.4.0 BuildRequires: php-composer(swiftmailer/swiftmailer) >= 5.4.1 -BuildRequires: php-composer(guzzlehttp/guzzle) >= 5.0 +BuildRequires: php-composer(guzzlehttp/guzzle) >= 5.3.0 BuildRequires: php-composer(guzzlehttp/guzzle) < 6.0 -BuildRequires: php-composer(league/flysystem) >= 1.0.4 +BuildRequires: php-composer(league/flysystem) >= 1.0.16 BuildRequires: php-composer(interfasys/lognormalizer) >= 1.0 BuildRequires: php-composer(owncloud/tarstreamer) >= 0.1 BuildRequires: php-composer(patchwork/jsqueeze) >= 2.0 @@ -127,6 +128,12 @@ BuildRequires: php-aws-sdk >= 2.7.0 BuildRequires: php-composer(symfony/yaml) >= 2.6.0 BuildRequires: php-composer(symfony/yaml) < 3.0.0 BuildRequires: php-pear(pear.dropbox-php.com/Dropbox) +BuildRequires: php-composer(symfony/polyfill-php70) >= 1.0 +BuildRequires: php-composer(symfony/polyfill-php70) < 2.0 +BuildRequires: php-composer(symfony/polyfill-php55) >= 1.0 +BuildRequires: php-composer(symfony/polyfill-php55) < 2.0 +BuildRequires: php-composer(symfony/polyfill-php56) >= 1.0 +BuildRequires: php-composer(symfony/polyfill-php56) < 2.0 Requires: %{name}-webserver = %{version}-%{release} @@ -150,29 +157,22 @@ Requires: php-simplexml Requires: php-xmlwriter Requires: php-spl Requires: php-zip -%if 0%{?fedora} || 0%{?rhel} > 6 Requires: php-filter -%endif ### External PHP libs required by OC core -# Ordering requires to match composer.json - -# "sabre/dav" : "2.1.9" -# pulls in sabre event, http and vobject as strict requires -Requires: php-composer(sabre/dav) >= 2.1.9 -Requires: php-composer(sabre/dav) < 2.2 -# "doctrine/dbal": "2.5.1" +# "doctrine/dbal": "2.5.2" # pulls in doctrine/common as a strict requires # which pulls in doctrine/{annotations,inflector,cache,collections,lexer} as strict requires -Requires: php-composer(doctrine/dbal) >= 2.5.1 +Requires: php-composer(doctrine/dbal) >= 2.5.2 Requires: php-composer(doctrine/dbal) < 2.6 -#"mcnetic/zipstreamer": "v0.7" -Requires: php-composer(mcnetic/zipstreamer) >= 0.7 +#"mcnetic/zipstreamer": "^1.0" +Requires: php-composer(mcnetic/zipstreamer) >= 1.0 +Requires: php-composer(mcnetic/zipstreamer) < 2.0 -# "phpseclib/phpseclib": "~2.0@dev" +# "phpseclib/phpseclib": "2.0.0" Requires: php-composer(phpseclib/phpseclib) >= 2.0 Requires: php-composer(phpseclib/phpseclib) < 3.0 @@ -184,8 +184,8 @@ Requires: php-opencloud >= 1.9.2 #"james-heinrich/getid3": "dev-master" Requires: php-composer(james-heinrich/getid3) >= 1.9.12 -# "jeremeamia/superclosure": "2.0.0" -Requires: php-composer(jeremeamia/superclosure) >= 2.0 +# "jeremeamia/superclosure": "2.1.0" +Requires: php-composer(jeremeamia/superclosure) >= 2.1.0 # "ircmaxell/random-lib": "~1.1" # Also pulls in ircmaxell/security-lib which is a strict requires @@ -198,62 +198,63 @@ Requires: php-composer(bantu/ini-get-wrapper) >= 1.0.1 # "natxet/CssMin": "dev-master" Requires: php-composer(natxet/CssMin) >= 3.0.4 -# "punic/punic": "1.1.0" -Requires: php-composer(punic/punic) >= 1.1.0 +# "punic/punic": "1.6.3" +Requires: php-composer(punic/punic) >= 1.6.3 -# "pear/archive_tar": "~1.4" -Requires: php-composer(pear/archive_tar) >= 1.4 +# "pear/archive_tar": "1.4.1" +Requires: php-composer(pear/archive_tar) >= 1.4.1 Requires: php-composer(pear/archive_tar) < 2.0 -# "patchwork/utf8": "~1.1" -Requires: php-composer(patchwork/utf8) >= 1.1 +# "patchwork/utf8": "1.2.6" +Requires: php-composer(patchwork/utf8) >= 1.2.6 Requires: php-composer(patchwork/utf8) < 2.0 -# "symfony/console": "2.6.4" -Requires: php-composer(symfony/console) >= 2.6.4 -# "symfony/event-dispatcher": "2.6.4" -Requires: php-composer(symfony/event-dispatcher) >= 2.6.4 -# "symfony/routing": "2.6.4" -Requires: php-composer(symfony/routing) >= 2.6.4 -# "symfony/process": "2.6.4" -Requires: php-composer(symfony/process) >= 2.6.4 - -# "pimple/pimple": "~3.0" -Requires: php-composer(pimple/pimple) >= 3.0 +# "symfony/console": "2.8.1" +Requires: php-composer(symfony/console) >= 2.8.1 +# "symfony/event-dispatcher": "2.8.1" +Requires: php-composer(symfony/event-dispatcher) >= 2.8.1 +# "symfony/routing": "2.8.1" +Requires: php-composer(symfony/routing) >= 2.8.1 +# "symfony/process": "2.8.1" +Requires: php-composer(symfony/process) >= 2.8.1 + +# "pimple/pimple": "3.0.2" +Requires: php-composer(pimple/pimple) >= 3.0.2 Requires: php-composer(pimple/pimple) < 4.0 # "ircmaxell/password-compat": "1.0.*" Requires: php-composer(ircmaxell/password-compat) >= 1.0.0 -# "nikic/php-parser": "~1.1" -Requires: php-composer(nikic/php-parser) >= 1.0 +# "nikic/php-parser": "1.4.1" +Requires: php-composer(nikic/php-parser) >= 1.4.1 Requires: php-composer(nikic/php-parser) < 2.0 -# "icewind/Streams": "0.2.0" -Requires: php-composer(icewind/streams) >= 0.2 +# "icewind/Streams": "0.4.0" +Requires: php-composer(icewind/streams) >= 0.4.0 # "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" +# "guzzlehttp/guzzle": "5.3.0" # pulls in guzzlehttp/ringphp as strict requires # ringphp pulls in guzzlehttp/streams and react/promise as strict requires -Requires: php-composer(guzzlehttp/guzzle) >= 5.0 +Requires: php-composer(guzzlehttp/guzzle) >= 5.3.0 Requires: php-composer(guzzlehttp/guzzle) < 6.0 -# "league/flysystem": "1.0.4" -Requires: php-composer(league/flysystem) >= 1.0.4 +# "league/flysystem": "1.0.16" +Requires: php-composer(league/flysystem) >= 1.0.16 -# "pear/pear-core-minimal": "v1.10.0alpha2" + +# "pear/pear-core-minimal": "v1.10.1" # this includes pear/console_getopt and pear/PEAR # which is not listed in composer.json unlike archive_tar -Requires: php-composer(pear/pear-core-minimal) > 1.10 +Requires: php-composer(pear/pear-core-minimal) >= 1.10.1 -# "interfasys/lognormalizer": "dev-master@dev" +# "interfasys/lognormalizer": "v1.0" Requires: php-composer(interfasys/lognormalizer) >= 1.0 -# "deepdiver1975/TarStreamer": "v0.1-beta3" +# "deepdiver1975/TarStreamer": "v0.1.0" # Despite the difference in name this is correct # https://github.com/owncloud/3rdparty/tree/master/deepdiver1975/tarstreamer Requires: php-composer(owncloud/tarstreamer) >= 0.1 @@ -262,20 +263,38 @@ Requires: php-composer(owncloud/tarstreamer) >= 0.1 Requires: php-composer(patchwork/jsqueeze) >= 2.0 Requires: php-composer(patchwork/jsqueeze) < 3.0 -# "kriswallsmith/assetic": "^1.3" -Requires: php-composer(kriswallsmith/assetic) >= 1.3 +# "kriswallsmith/assetic": "1.3.2" +# Need release 3 for the autoloader fix to avoid it spamming the logs +Requires: php-composer(kriswallsmith/assetic) >= 1.3.2-3 Requires: php-composer(kriswallsmith/assetic) < 2.0 - +# "sabre/dav" : "3.0.8" +# pulls in sabre event, http and vobject, xml, uri as strict requires +Requires: php-composer(sabre/dav) >= 3.0.8 +Requires: php-composer(sabre/dav) < 4.0 + +# symfony/polyfill-mbstring is not in composer.json but is in the 3rdparty folder +# we don't need it though as we ship mbstring itself + +# "symfony/polyfill-php70": "^1.0", +# pulls in s strict requires of paragonie/random_compat +Requires: php-composer(symfony/polyfill-php70) >= 1.0 +Requires: php-composer(symfony/polyfill-php70) < 2.0 +# "symfony/polyfill-php55": "^1.0", +Requires: php-composer(symfony/polyfill-php55) >= 1.0 +Requires: php-composer(symfony/polyfill-php55) < 2.0 +# "symfony/polyfill-php56": "^1.0" +Requires: php-composer(symfony/polyfill-php56) >= 1.0 +Requires: php-composer(symfony/polyfill-php56) < 2.0 ### For dependencies of apps/files_external ## SMB/CIFS external storage stuff -#"icewind/smb": "1.0.4" +#"icewind/smb": "1.0.8" # note that streams is a dep but already required by core anyway -Requires: php-composer(icewind/smb) >= 1.0.4 -# This makes smb external storage usable iin performance +Requires: php-composer(icewind/smb) >= 1.0.8 +# This makes smb external storage usable in performance # and doesn't break things like encryption due to timeouts %if 0%{?rhel} != 5 Requires: php-pecl(smbclient) >= 0.8.0 @@ -403,13 +422,17 @@ work with an SQLite 3 database stored on the local system. %prep %setup -q -n %{name} -%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 +%if 0%{?rhel} +%patch9 -p1 +%patch10 -p1 +%endif # prepare package doc cp %{SOURCE3} README.fedora @@ -419,7 +442,6 @@ cp %{SOURCE5} README.postgresql # Explicitly remove the bundled libraries we're aware of pushd 3rdparty -rm -r sabre/{dav,event,http,vobject} rm -r doctrine/{annotations,cache,collections,common,dbal,inflector,lexer} rm -r mcnetic/zipstreamer rm -r phpseclib/phpseclib @@ -448,6 +470,10 @@ rm -r interfasys/lognormalizer rm -r deepdiver1975/tarstreamer rm -r patchwork/jsqueeze rm -r kriswallsmith/assetic +rm -r sabre/{dav,event,http,vobject,uri,xml} +rm -r symfony/polyfill-{php55,php56,php70,mbstring,util} +rm -r paragonie/random_compat +rm README.md # remove composer stuff rm -r composer* @@ -498,19 +524,9 @@ for f in {l10n.pl,init.sh,setup_owncloud.sh,image-optimization.sh,install_depend done find . -size 0 -type f -exec rm {} \; -# Drop pre-compiled binary lumps: Flash and Silverlight -# This means that Flash/Silverlight video/audio fallbacks in the -# 'media' and 'videoviewer' apps are not available. -# To re-introduce these they would have to be built from the -# source as part of this package build, they cannot be shipped -# pre-compiled. - AdamW, 2013/08 -# https://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-built_binaries_or_libraries -rm apps/files_videoviewer/js/flashmediaelement.swf -rm apps/files_videoviewer/js/silverlightmediaelement.xap - -# let's not ship upstream's 'updater' app, which has zero chance of working and +# let's not ship upstream's 'updatenotification' app, which has zero chance of working and # a big chance of blowing things up -rm -r apps/updater +rm -r apps/updatenotification %check @@ -521,8 +537,8 @@ if [ $nb -gt 1 ]; then fi if grep -r 3rdparty %{buildroot}%{_datadir}/%{name}/apps/files_external \ - | grep -v 3rdparty/autoload.php; then - false Patch needs to be adapted + | grep -v 3rdparty/autoload.php | grep -v signature.json; then + false App files_external needs to be adapted fi php %{buildroot}%{_datadir}/%{name}/apps/files_external/3rdparty/autoload.php @@ -543,7 +559,6 @@ fi php %{buildroot}%{_datadir}/%{name}/3rdparty/autoload.php - %build # Nothing to build @@ -587,11 +602,20 @@ install -Dpm 644 %{SOURCE100} %{SOURCE101} %{SOURCE102} %{SOURCE103} \ %{buildroot}%{_sysconfdir}/httpd/conf.d/ # nginx config -install -Dpm 644 %{SOURCE6} \ +install -Dpm 644 %{SOURCE200} \ + %{buildroot}%{_sysconfdir}/nginx/default.d/%{name}.conf +install -Dpm 644 %{SOURCE201} \ %{buildroot}%{_sysconfdir}/nginx/conf.d/%{name}.conf +%if 0%{?rhel} +install -Dpm 644 %{SOURCE203} \ + %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf +%else +install -Dpm 644 %{SOURCE202} \ + %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf +%endif -%if 0%{?rhel} < 7 +%if 0%{?fedora} < 21 && 0%{?rhel} < 7 %post semanage fcontext -a -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}/config.php' 2>/dev/null || : semanage fcontext -a -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}' 2>/dev/null || : @@ -625,6 +649,14 @@ if [ $1 -eq 0 ]; then fi %post nginx +%if 0%{?rhel} + # Work around missing php session directory for php-fpm in el7 bz#1338444 + if [ ! -d /var/lib/php/session ] + then + mkdir /var/lib/php/session + fi + /usr/bin/chown apache /var/lib/php/session +%endif %if 0%{?fedora} || 0%{?rhel} > 6 /usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || : /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : @@ -674,7 +706,9 @@ rm -rf %{buildroot} %files nginx %defattr(-,root,root,-) +%config(noreplace) %{_sysconfdir}/nginx/default.d/%{name}.conf %config(noreplace) %{_sysconfdir}/nginx/conf.d/%{name}.conf +%config(noreplace) %{_sysconfdir}/php-fpm.d/%{name}.conf %files mysql %defattr(-,root,root,-) @@ -689,8 +723,16 @@ rm -rf %{buildroot} %changelog -* Thu May 12 2016 Remi Collet - 8.2.5-1 -- Update to 8.2.5 +* Fri May 06 2016 James Hogarth - 9.0.2-1 +- Update to 9.0.2 +- Need a better way to deal with the integrity checking stuff from upstream + +* Thu May 05 2016 James Hogarth - 9.0.1-1 +- Remove el6 conditionals as it's no longer a supported platform +- Change nginx configuration as per bz#1332900 +- Add php-fpm owncloud dedicated pool +- No longer ships non-free jshint in aceeditor so don't need repack +- Update to 9.0.1 * Thu May 5 2016 Remi Collet - 8.2.4-1 - Update to 8.2.4 -- cgit