[owncloud/oc8: 3/3] final 8.0.0, revised http conf handling, dep tweaks

Adam Williamson adamwill at fedoraproject.org
Sun Feb 22 18:44:44 UTC 2015


commit b25fa2026f23950d8cafd8f051de0d8bd899b8c5
Author: Adam Williamson <awilliam at redhat.com>
Date:   Sun Feb 22 10:43:06 2015 -0800

    final 8.0.0, revised http conf handling, dep tweaks
    
    This is final 8.0.0 with various fixes and improvements to
    Apache configuration, JSMin removed and disabled, and a
    patch to stop OC trying to do stuff to .htaccess files.

 ...s-asset-directory-to-be-relocated-assetdi.patch | 123 -----------
 ...tup-allow-disabling-all-htaccess-fiddling.patch |  46 ++++
 owncloud-7.0.2-composer_3rdparty_autoloader.patch  |  90 --------
 owncloud-7.0.3-3rdparty_includes.patch             | 168 ---------------
 owncloud-7.0.4-google1.patch                       | 234 ---------------------
 owncloud-8.0.0-disable_minify.patch                |  18 ++
 owncloud-8.0.0-version.patch                       |  29 ---
 owncloud-auth-any.inc                              |  12 ++
 owncloud-auth-local.inc                            |  14 ++
 owncloud-auth-none.inc                             |  12 ++
 owncloud-config.php                                |   3 +
 owncloud-defaults.inc                              |  54 +++++
 ...-delete-jslint.sh => owncloud-delete-nonfree.sh |   8 +-
 owncloud-httpd-access.conf                         |  17 ++
 owncloud-httpd.conf                                |  73 ++++---
 owncloud-nginx.conf                                |   8 +
 owncloud.spec                                      | 129 +++++++-----
 17 files changed, 303 insertions(+), 735 deletions(-)
---
diff --git a/0001-setup-allow-disabling-all-htaccess-fiddling.patch b/0001-setup-allow-disabling-all-htaccess-fiddling.patch
new file mode 100644
index 0000000..7dc3adb
--- /dev/null
+++ b/0001-setup-allow-disabling-all-htaccess-fiddling.patch
@@ -0,0 +1,46 @@
+From 4675a32fd8f7189a0aec875004c5ffed831adec2 Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam at redhat.com>
+Date: Sat, 21 Feb 2015 16:53:03 -0800
+Subject: [PATCH] setup: allow disabling all htaccess fiddling
+
+Distribution-packaged ownCloud, and other deployments where
+the admin/deployer has sufficient control over the system, can
+do this stuff much better. For instance, a sensible packaged
+OC will use a directory that is not accessible via the web
+server *at all* as the data directory (rendering it unnecessary
+to attempt to 'protect' it with a .htaccess file) and will
+include the 403/404 ErrorDocument directives, along with other
+appropriate Apache configuration directives, in a config file
+stored (again) outside the web-served locations.
+
+This makes both of setup's attempts to fiddle about with
+.htaccess stuff optional - they won't happen if the config
+directive check_for_working_htaccess is set to false. We
+could maybe keep that directive with its current meaning and
+add a new one for 'don't mess with htaccess files at all',
+but I think anyone who's setting it to false probably wants
+this behaviour.
+---
+ lib/private/setup.php | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/private/setup.php b/lib/private/setup.php
+index e8a2cce..7aa0146 100644
+--- a/lib/private/setup.php
++++ b/lib/private/setup.php
+@@ -233,7 +233,11 @@ class OC_Setup {
+ 			file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.ocdata', '');
+ 
+ 			// Update htaccess files for apache hosts
+-			if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
++			if (
++				isset($_SERVER['SERVER_SOFTWARE']) &&
++				strstr($_SERVER['SERVER_SOFTWARE'], 'Apache') &&
++				OC::$server->getConfig()->getSystemValue('check_for_working_htaccess', true)
++			) {
+ 				self::updateHtaccess();
+ 				self::protectDataDirectory();
+ 			}
+-- 
+2.3.0
+
diff --git a/owncloud-8.0.0-disable_minify.patch b/owncloud-8.0.0-disable_minify.patch
new file mode 100644
index 0000000..f1673a7
--- /dev/null
+++ b/owncloud-8.0.0-disable_minify.patch
@@ -0,0 +1,18 @@
+--- owncloud/lib/private/templatelayout.php	2015-02-18 11:23:48.588804666 -0800
++++ owncloud/lib/private/templatelayout.php.new	2015-02-21 12:07:47.616822741 -0800
+@@ -5,7 +5,6 @@
+ use Assetic\Filter\CssImportFilter;
+ use Assetic\Filter\CssMinFilter;
+ use Assetic\Filter\CssRewriteFilter;
+-use Assetic\Filter\JSMinFilter;
+ use OC\Assetic\SeparatorFilter; // waiting on upstream
+ 
+ /**
+@@ -172,7 +171,6 @@
+ 					), $root, $file);
+ 				}
+ 				return new FileAsset($root . '/' . $file, array(
+-					new JSMinFilter(),
+ 					new SeparatorFilter(';')
+ 				), $root, $file);
+ 			}, $jsFiles);
diff --git a/owncloud-auth-any.inc b/owncloud-auth-any.inc
new file mode 100644
index 0000000..4744713
--- /dev/null
+++ b/owncloud-auth-any.inc
@@ -0,0 +1,12 @@
+# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files
+# with Include. Allows access from any system. 
+
+<IfModule mod_authz_core.c>
+# Apache 2.4
+Require all granted
+</IfModule>
+<IfModule !mod_authz_core.c>
+# Apache 2.2
+Order Deny,Allow
+Allow from all
+</IfModule>
diff --git a/owncloud-auth-local.inc b/owncloud-auth-local.inc
new file mode 100644
index 0000000..69cfd00
--- /dev/null
+++ b/owncloud-auth-local.inc
@@ -0,0 +1,14 @@
+# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files
+# with Include. Allows access only from local system.
+
+<IfModule mod_authz_core.c>
+# Apache 2.4
+Require local
+</IfModule>
+<IfModule !mod_authz_core.c>
+# Apache 2.2
+Order Deny,Allow
+Deny from all
+Allow from 127.0.0.1
+Allow from ::1
+</IfModule>
diff --git a/owncloud-auth-none.inc b/owncloud-auth-none.inc
new file mode 100644
index 0000000..212315e
--- /dev/null
+++ b/owncloud-auth-none.inc
@@ -0,0 +1,12 @@
+# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files
+# with Include. Denies all access.
+
+<IfModule mod_authz_core.c>
+# Apache 2.4
+Require all denied
+</IfModule>
+<IfModule !mod_authz_core.c>
+# Apache 2.2
+Order Deny,Allow
+Deny from all
+</IfModule>
diff --git a/owncloud-config.php b/owncloud-config.php
index 71c57ee..1140054 100644
--- a/owncloud-config.php
+++ b/owncloud-config.php
@@ -4,6 +4,9 @@ $CONFIG = array (
     "datadirectory" => "/var/lib/owncloud/data",
     "updatechecker" => false,
     "check_for_working_htaccess" => false,
+    "asset-pipeline.enabled" => false,
+    "assetdirectory" => '/var/lib/owncloud',
+
     "apps_paths" => array(
         0 =>
         array (
diff --git a/owncloud-defaults.inc b/owncloud-defaults.inc
new file mode 100644
index 0000000..2c75de0
--- /dev/null
+++ b/owncloud-defaults.inc
@@ -0,0 +1,54 @@
+# These are based on the .htaccess file shipped by ownCloud, with
+# appropriate adjustments for distribution packaging. Some directives
+# that are irrelevant to the Fedora/EPEL ecosystem are omitted. This
+# file contains directives that should be applied within the /owncloud
+# filesystem; directives that should be applied site-wide when
+# ownCloud is installed are placed directly in owncloud.conf.
+
+AllowOverride None
+
+ErrorDocument 403 /owncloud/core/templates/403.php
+ErrorDocument 404 /owncloud/core/templates/404.php
+
+<IfModule mod_fcgid.c>
+    <IfModule mod_setenvif.c>
+        <IfModule mod_headers.c>
+            SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
+            RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
+        </IfModule>
+    </IfModule>
+</IfModule>
+
+<IfModule mod_php5.c>
+    php_value upload_max_filesize 10G
+    php_value post_max_size 10G
+    php_value memory_limit 512M
+    php_value mbstring.func_overload 0
+    php_value always_populate_raw_post_data -1
+    <IfModule mod_env.c>
+        SetEnv htaccessWorking true
+    </IfModule>
+</IfModule>
+
+# The rewrites for legacy caldav and carddav URLs are omitted here
+# because they do not work with Fedora's ownCloud directory layout.
+# See https://github.com/owncloud/core/issues/243#issuecomment-75426453
+<IfModule mod_rewrite.c>
+    RewriteEngine on
+    RewriteBase /owncloud/
+    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+    RewriteRule ^remote/(.*) remote.php [QSA,L]
+</IfModule>
+
+AddDefaultCharset utf-8
+Options -Indexes
+
+<IfModule pagespeed_module>
+    ModPagespeed Off
+</IfModule>
+
+<IfModule mod_headers.c>
+    <FilesMatch "\.(css|js)$">
+        Header set Cache-Control "max-age=7200, public"
+    </FilesMatch>
+</IfModule>
diff --git a/owncloud-delete-jslint.sh b/owncloud-delete-nonfree.sh
similarity index 54%
rename from owncloud-delete-jslint.sh
rename to owncloud-delete-nonfree.sh
index 6f1b6d1..fe6c53c 100755
--- a/owncloud-delete-jslint.sh
+++ b/owncloud-delete-nonfree.sh
@@ -9,9 +9,13 @@ REPACK_SOURCE="$(basename $ORIG_SOURCE $SUFFIX)-repack${SUFFIX}"
 tar -xf $1
 
 # delete jslint
-cd owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/
+pushd owncloud/apps/files_texteditor/js/vendor/ace/src-noconflict/
 sed -i '/^ \* JSHint, by JSHint Community\.$/,/^})()$/d' worker-javascript.js
-cd -
+popd
+
+# delete minify entirely as it's a mess that contains at least one instance
+# of JSMin, which is under the same problematic license as jslint
+rm -rf owncloud/3rdparty/mrclay/minify
 
 tar -cjf $REPACK_SOURCE owncloud
 rm -rf owncloud
diff --git a/owncloud-httpd-access.conf b/owncloud-httpd-access.conf
new file mode 100644
index 0000000..283abac
--- /dev/null
+++ b/owncloud-httpd-access.conf
@@ -0,0 +1,17 @@
+# If copied to /etc/httpd/conf.d/z-owncloud.conf (or any other name
+# that is alphabetically later than 'owncloud.conf'), this file will
+# permit access to the ownCloud installation from any client. Ensure
+# your deployment is correctly configured and secured before doing
+# this!
+
+<Directory /usr/share/owncloud/>
+    Include conf.d/owncloud-auth-any.inc
+</Directory>
+
+<Directory /var/lib/owncloud/apps/>
+    Include conf.d/owncloud-auth-any.inc
+</Directory>
+
+<Directory /var/lib/owncloud/assets/>
+    Include conf.d/owncloud-auth-any.inc
+</Directory>
diff --git a/owncloud-httpd.conf b/owncloud-httpd.conf
index 913c2af..0948ea7 100644
--- a/owncloud-httpd.conf
+++ b/owncloud-httpd.conf
@@ -1,37 +1,44 @@
+Alias /owncloud/apps-appstore /var/lib/owncloud/apps
+Alias /owncloud/assets /var/lib/owncloud/assets
 Alias /owncloud /usr/share/owncloud
 
+# Allows compliant CalDAV / CardDAV clients to be configured using only
+# the domain name. For more details see # http://tools.ietf.org/html/rfc6764
+
+Redirect 301 /.well-known/carddav /owncloud/remote.php/carddav
+Redirect 301 /.well-known/caldav /owncloud/remote.php/caldav
+
+# As the initial setup wizard is active upon installation, access is
+# initially allowed only from localhost. *AFTER* configuring the
+# installation correctly and creating the admin account, to allow
+# access from any host, do this:
+# cp /usr/share/doc/owncloud/httpd-access.conf /etc/httpd/conf.d/z-owncloud.conf
+
 <Directory /usr/share/owncloud/>
-    Options -Indexes
-
-    <IfModule mod_authz_core.c>
-    # Apache 2.4
-    Require local
-    </IfModule>
-    <IfModule !mod_authz_core.c>
-    # Apache 2.2
-    Order Deny,Allow
-    Deny from all
-    Allow from 127.0.0.1
-    Allow from ::1
-    </IfModule>
-
-    ErrorDocument 404 /owncloud/core/templates/404.php
-
-    <IfModule mod_php5.c>
-    php_value upload_max_filesize 512M
-    php_value post_max_size 512M
-    php_value memory_limit 512M
-    php_value mbstring.func_overload 0
-    </IfModule>
-
-    SetEnv htaccessWorking true
-
-    <IfModule pagespeed_module>
-    ModPagespeed Off
-    </IfModule>
-
-    RewriteEngine on
-    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
-    RewriteRule ^\.well-known/carddav /remote.php/carddav/ [R]
-    RewriteRule ^\.well-known/caldav /remote.php/caldav/ [R]
+    Include conf.d/owncloud-auth-local.inc
+    Include conf.d/owncloud-defaults.inc
+    <FilesMatch ^(\.|autotest|occ|issue|indie|db_|console).*>
+        Include conf.d/owncloud-auth-none.inc
+    </FilesMatch>
 </Directory>
+
+<Directory /var/lib/owncloud/apps/>
+    Include conf.d/owncloud-auth-local.inc
+    Include conf.d/owncloud-defaults.inc
+</Directory>
+
+<Directory /var/lib/owncloud/assets/>
+    Include conf.d/owncloud-auth-local.inc
+    Include conf.d/owncloud-defaults.inc
+</Directory>
+
+# For safety, explicitly deny any access to these locations.
+# Upstream's .htaccess does something similar with mod_rewrite.
+
+<Directory /var/lib/owncloud/data/>
+    Include conf.d/owncloud-auth-none.inc
+</Directory>
+
+<DirectoryMatch /usr/share/owncloud/(3rdparty|lib|config|templates)/>
+    Include conf.d/owncloud-auth-none.inc
+</DirectoryMatch>
diff --git a/owncloud-nginx.conf b/owncloud-nginx.conf
index 37100e9..d03dedf 100644
--- a/owncloud-nginx.conf
+++ b/owncloud-nginx.conf
@@ -40,6 +40,14 @@ server {
             access_log off;
         }
 
+        location /apps-appstore/ {
+                alias /var/lib/owncloud/apps;
+        }
+
+        location /assets/ {
+                alias /var/lib/owncloud/assets;
+        }
+
         location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
                 deny all;
         }
diff --git a/owncloud.spec b/owncloud.spec
index 200b6c4..198c35b 100644
--- a/owncloud.spec
+++ b/owncloud.spec
@@ -1,22 +1,24 @@
-%global github_owner    owncloud
-%global github_name     core
-%global github_commit   01374ab6b54091a8ade4a48f8a67d42c928502e8
-%global shortcommit     %(c=%{github_commit}; echo ${c:0:7})
-
 Name:           owncloud
 Version:        8.0.0
-Release:        0.2.20141229git%{shortcommit}%{?dist}
+Release:        2%{?dist}
 Summary:        Private file sync and share server
 
 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
-# added git 20141229 checkouts of the main apps, tarred up manually
-Source0:        https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{name}-%{shortcommit}.tar.xz
+# 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
 # snapshot source: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{github_name}-%{github_commit}.tar.gz
 Source1:        %{name}-httpd.conf
+Source2:        %{name}-httpd-access.conf
 Source6:        %{name}-nginx.conf
+# Config snippets
+Source100:      %{name}-auth-any.inc
+Source101:      %{name}-auth-local.inc
+Source102:      %{name}-auth-none.inc
+Source103:      %{name}-defaults.inc
 # packaging notes and doc
 Source3:        %{name}-README.fedora
 Source4:        %{name}-mysql.txt
@@ -26,16 +28,12 @@ Source5:        %{name}-postgresql.txt
 Source7:        %{name}-config.php
 
 # used to repack the source tarball
-Source42:       %{name}-delete-jslint.sh
+Source42:       %{name}-delete-nonfree.sh
 
 # Adjust mediaelement not to use its SWF and Silverlight plugins. This
 # changes 'plugins:["flash,"silverlight","youtube","vimeo"]' to
 # 'plugins:["youtube","vimeo"]'
 Patch1:         %{name}-6.0.2-videoviewer_noplugins.patch
-# Submitted upstream: https://github.com/owncloud/core/pull/9994
-# Uses Composer's autoloader, not OC's, for loading non Composer-managed
-# 3rdparty includes: it's better at it.
-Patch10:        owncloud-7.0.2-composer_3rdparty_autoloader.patch
 # Ugly way to deal with Pimple 1.x's lack of PSR-0 compliance. Also forces the
 # paths to Sabre deps: /usr/share/php for most of Sabre (to ensure php-sabre-dav
 # package, 1.8 version, is used), /usr/share/pear for Sabre\VObject (to ensure
@@ -43,34 +41,26 @@ Patch10:        owncloud-7.0.2-composer_3rdparty_autoloader.patch
 # and *test* if changing this; test with all versions of all Sabre packages
 # installed to make sure it DTRT. Keep an eye on upstream for future changes
 # also.
-Patch11:        %{name}-8.0.0-autoloader_paths.patch
+Patch2:        %{name}-8.0.0-autoloader_paths.patch
 # Turn on include path usage for the Composer autoloader (so it'll find
 # systemwide PSR-0 and PSR-4 compliant libraries)
 # Upstream wouldn't likely take this, they probably only care about their
 # bundled copies
-Patch12:        %{name}-7.0.2-composer_includepath.patch
+Patch3:        %{name}-7.0.2-composer_includepath.patch
 # Submitted upstream: https://github.com/owncloud/core/pull/12113
 # Use Composer autoloader for Dropbox (in apps/files_external/3rdparty)
-Patch13:        0001-dropbox-use-Composer-autoloader.patch
-# Blowfish bits are obsoleted upstream at 8.x as support for the legacy
-# encryption that used it is dropped. Will submit PR for MANIFEST files
-# soon.
-Patch14:        %{name}-7.0.3-3rdparty_includes.patch
+Patch4:        0001-dropbox-use-Composer-autoloader.patch
 # Submitted upstream: https://github.com/owncloud/core/pull/11056
 # Be less heavy-handed about clearing the opcache after editing config.php
 # Avoids triggering a crash in php-opcache: https://github.com/owncloud/core/issues/9885
-Patch15:        %{name}-7.0.3-opcache_invalidate.patch
-# Backported from upstream 8.x, updates Google Drive external storage support
-# for v1.x of the Google API library.
-Patch16:        %{name}-7.0.4-google1.patch
-# Make the CSS/JS asset directory relocatable
-# Upstream PR FIXME
-Patch17:        0001-allow-css-js-asset-directory-to-be-relocated-assetdi.patch
+Patch5:        %{name}-7.0.3-opcache_invalidate.patch
 # Drop use of aws-sdk's dead autoloader (composer will find the systemwide copy)
-Patch18:        0001-drop-AWS-autoloader.patch
-# Backport from upstream: version as '8.0.0.0' so app deps work
-# https://github.com/owncloud/core/commit/c16cb74ba2c8cbd51db3f4e12aa1d69416932475
-Patch19:        owncloud-8.0.0-version.patch
+Patch6:        0001-drop-AWS-autoloader.patch
+# Disable JS minification (uses non-free JSMin minifier)
+Patch7:        owncloud-8.0.0-disable_minify.patch
+# Stop OC from trying to do stuff to .htaccess files. Just calm down, OC.
+# Distributors are on the case.
+Patch8:         0001-setup-allow-disabling-all-htaccess-fiddling.patch
 
 BuildArch:      noarch
 
@@ -121,6 +111,7 @@ Requires:       php-composer(symfony/console) < 2.6
 # "symfony/routing": "~2.5"
 Requires:       php-composer(symfony/routing) >= 2.5.0
 Requires:       php-composer(symfony/routing) < 2.6
+
 # NB: this will also pull in php-compose(guzzle/guzzle), which is in OC's
 # 3rdparty directory. OC sort of has a direct dependency on it but in fact
 # it's innately tied to the use of php-opencloud and php-aws-sdk and would
@@ -129,6 +120,12 @@ Requires:       php-composer(symfony/routing) < 2.6
 #Requires:       php-composer(rackspace/php-opencloud) >= 1.9.2
 Requires:       php-opencloud >= 1.9.2
 
+# "bantu/ini-get-wrapper": "v1.0.1"
+Requires:       php-composer(bantu/ini-get-wrapper) >= 1.0.1
+# "ircmaxell/random-lib": "v1.0.0"
+# Also pulls in ircmaxell/security-lib which is a dep
+Requires:       php-composer(ircmaxell/random-lib) >= 1.0.0
+
 ## SabreDAV
 #Requires:       php-composer(sabre/dav) >= 1.8.0
 Requires:       php-sabre-dav >= 1.8.0
@@ -136,11 +133,6 @@ Requires:       php-sabre-dav >= 1.8.0
 # with 3.x; calendar 'rework' branch will fix this when it lands, probably 9.x
 Requires:       php-pear(pear.sabredav.org/Sabre_VObject) >= 2.0.0
 
-# PHP libs required by applications provided as part of core OC package
-## apps/search_lucene
-Requires:       php-ZendFramework-Pdf
-Requires:       php-ZendFramework-Search-Lucene
-
 ## apps/files_external
 Requires:       php-pear(pear.dropbox-php.com/Dropbox)
 Requires:       php-pear(phpseclib.sourceforge.net/Net_SFTP)
@@ -241,25 +233,24 @@ work with an SQLite 3 database stored on the local system.
 # Fix line endings of a file we're about to patch
 sed -i 's/\r$//' apps/files_encryption/lib/crypt.php
 #patch1
-#patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-#patch14 -p1
-%patch15 -p1
-#patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
+%patch1 -p0
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
 
 # prepare package doc
+cp %{SOURCE2} httpd-access.conf
 cp %{SOURCE3} README.fedora
 cp %{SOURCE4} README.mysql
 cp %{SOURCE5} README.postgresql
 
 
 # Strip bundled libraries from global 3rdparty dir
-rm -r 3rdparty/{guzzle,james-heinrich,kriswallsmith,phpmailer/phpmailer/*,phpseclib,pear,symfony,sabre,pimple,doctrine,rackspace}
+rm -r 3rdparty/{bantu,doctrine,guzzle,ircmaxell/random-lib,ircmaxell/security-lib,james-heinrich,kriswallsmith,pear,phpmailer/phpmailer/*,phpseclib,pimple,rackspace,sabre,symfony}
 rm 3rdparty/{PEAR,PEAR5}.php
 # we need to symlink some annoying files back here, though...direct file
 # autoloading sucks. "files" sections of "autoload" statements in
@@ -275,7 +266,9 @@ rm -r apps/files_external/3rdparty/{Dropbox,google-api-php-client,aws-sdk-php}
 
 # ===== BUNDLING NOTES =====
 
-## 3rdparty/Patchwork - https://github.com/nicolas-grekas/Patchwork-UTF8
+## 3rdparty/patchwork - https://github.com/nicolas-grekas/Patchwork-UTF8
+# "patchwork/utf8": "~1.1"
+#
 # Used to set a UTF-8 locale (function isSetLocaleWorking does not
 # just test whether setlocale works, it actually asks Patchwork to
 # set a locale) and for its pure PHP implementation of the Normalizer
@@ -286,6 +279,8 @@ rm -r apps/files_external/3rdparty/{Dropbox,google-api-php-client,aws-sdk-php}
 # replace OC's use of Patchwork.
 
 ## 3rdparty/mcnetic/phpzipstreamer - https://github.com/McNetic/PHPZipStreamer
+# "mcnetic/phpzipstreamer": "dev-master"
+#
 # OC's copy is somewhat behind upstream, and slightly forked: they imported
 # it on 2014-02-20, and added a downstream patch to make it work with
 # PHP 5.3 on 2014-03-17:
@@ -294,15 +289,26 @@ rm -r apps/files_external/3rdparty/{Dropbox,google-api-php-client,aws-sdk-php}
 # https://github.com/McNetic/PHPZipStreamer/commit/0af57cc0d113b27e44455be4be690908c4909d78
 # but OC has never synced with that fix. See:
 # https://github.com/owncloud/core/pull/3439
-# Handled by Composer
 
 ## apps/files_external/3rdparty/smb4php - forked php class from
 # http://www.phpclasses.org/package/4129-PHP-Stream-wrapper-to-access-Windows-shared-files.html
+# Replaced by https://github.com/icewind1991/SMB post-8.0
+
+## 3rdparty/punic - https://github.com/punic/punic
+# "punic/punic": "1.1.0"
+#
+# Used in date localization: lib/private/l10n.php
+# Should be straightforward to unbundle
+
+## 3rdparty/natxet/CssMin
+# "natxet/CssMin": "dev-master"
+#
+# Used for optional CSS minification
+# Review request: https://bugzilla.redhat.com/show_bug.cgi?id=1177692
 
 # ===== END BUNDLING NOTES =====
 
 # clean up content
-rm -r apps/documents/src
 for f in {l10n.pl,init.sh,setup_owncloud.sh,image-optimization.sh,install_dependencies.sh}; do
     find . -name "$f" -exec rm {} \;
 done
@@ -315,12 +321,12 @@ find . -size 0 -exec rm {} \;
 # 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
+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
 # a big chance of blowing things up
-#rm -r apps/updater
+rm -r apps/updater
 
 
 %build
@@ -355,6 +361,8 @@ ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config
 # httpd config
 install -Dpm 644 %{SOURCE1} \
     %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf
+install -Dpm 644 %{SOURCE100} %{SOURCE101} %{SOURCE102} %{SOURCE103} \
+    %{buildroot}%{_sysconfdir}/httpd/conf.d/
 
 # nginx config
 install -Dpm 644 %{SOURCE6} \
@@ -365,8 +373,6 @@ install -Dpm 644 %{SOURCE6} \
 ln -s %{_datadir}/php/PHPMailer/class.{phpmailer.php,pop3.php,smtp.php}    %{buildroot}%{_datadir}/%{name}/3rdparty/phpmailer/phpmailer
 ln -s %{_datadir}/php/Assetic/functions.php %{buildroot}%{_datadir}/%{name}/3rdparty/kriswallsmith/assetic/src/functions.php
 ln -s %{_datadir}/pear/Crypt/Random.php %{buildroot}%{_datadir}/%{name}/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Random.php
-# individual
-#ln -s %{_datadir}/php/Zend %{buildroot}%{_datadir}/%{name}/apps/search_lucene/3rdparty/Zend
 
 
 %if 0%{?rhel} < 7
@@ -421,7 +427,7 @@ fi
 
 
 %files
-%doc AUTHORS COPYING-AGPL README.fedora config/config.sample.php
+%doc AUTHORS COPYING-AGPL README.fedora httpd-access.conf config/config.sample.php
 
 %dir %attr(-,apache,apache) %{_sysconfdir}/%{name}
 # contains sensitive data (dbpassword, passwordsalt)
@@ -436,6 +442,7 @@ fi
 
 %files httpd
 %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
+%{_sysconfdir}/httpd/conf.d/*.inc
 
 %files nginx
 %config(noreplace) %{_sysconfdir}/nginx/conf.d/%{name}.conf
@@ -448,6 +455,16 @@ fi
 
 
 %changelog
+* Sun Feb 22 2015 Adam Williamson <awilliam at redhat.com> - 8.0.0-2
+- update Apache config bits from latest upstream .htaccess
+- fix some bugs in the Apache config snippets
+- use includes to make the Apache config cleaner and nicer to work with
+- make app store-downloaded apps actually work
+
+* Sat Feb 21 2015 Adam Williamson <awilliam at redhat.com> - 8.0.0-1
+- new release 8.0.0
+- rediff patches, adjust for new bundled libs, etc etc
+
 * Sat Dec 20 2014 Adam Williamson <awilliam at redhat.com> - 7.0.4-2
 - backport upstream support for google PHP lib 1.x and unbundle it
 


More information about the scm-commits mailing list