#3 Update to 13.0.0
Closed 4 years ago by lorbus. Opened 6 years ago by lorbus.
https://github.com/LorbusChris/nextcloud-rpm 13.0.0  into  master

Update to 13.0.0
Christian Glombek • 6 years ago  
README nextcloud-README.fedora
file renamed
-5
@@ -111,8 +111,3 @@

  It's recommended to set the option "Cron" to use the system scheduler and to enable the included systemd timer.

  

  systemctl enable --now nextcloud-cron.timer

- 

- Migration from owncloud

- -----------------------

- 

- For detailed instructions on this please read MIGRATION.fedora

README.mysql nextcloud-mysql.txt
file renamed
file was moved with no change to the file
README.postgresql nextcloud-postgresql.txt
file renamed
file was moved with no change to the file
nextcloud-10.0.3-dont-check-php-version.patch
file removed
-94
@@ -1,94 +0,0 @@

- diff --git a/console.php b/console.php

- index b2724db..149c265 100644

- --- a/console.php

- +++ b/console.php

- @@ -31,22 +31,6 @@ use Symfony\Component\Console\Output\ConsoleOutput;

-  

-  define('OC_CONSOLE', 1);

-  

- -// Show warning if a PHP version below 5.4.0 is used, this has to happen here

- -// because base.php will already use 5.4 syntax.

- -if (version_compare(PHP_VERSION, '5.4.0') === -1) {

- -	echo 'This version of Nextcloud requires at least PHP 5.4.0'.PHP_EOL;

- -	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.'.PHP_EOL;

- -	return;

- -}

- -

- -// Show warning if PHP 7.1 is used as Nextcloud is not compatible with PHP 7.1 for now

- -// @see https://github.com/nextcloud/docker-ci/issues/10

- -if (version_compare(PHP_VERSION, '7.1.0') !== -1) {

- -	echo 'This version of Nextcloud is not compatible with PHP 7.1.<br/>';

- -	echo 'You are currently running ' . PHP_VERSION . '.';

- -	return;

- -}

- -

-  function exceptionHandler($exception) {

-  	echo "An unhandled exception has been thrown:" . PHP_EOL;

-  	echo $exception;

- diff --git a/cron.php b/cron.php

- index 4473dba..7a4e1a6 100644

- --- a/cron.php

- +++ b/cron.php

- @@ -30,20 +30,6 @@

-   *

-   */

-  

- -// Show warning if a PHP version below 5.4.0 is used

- -if (version_compare(PHP_VERSION, '5.4.0') === -1) {

- -	echo 'This version of Nextcloud requires at least PHP 5.4.0<br/>';

- -	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';

- -	return;

- -}

- -

- -// Show warning if PHP 7.1 is used as Nextcloud is not compatible with PHP 7.1 for now

- -// @see https://github.com/nextcloud/docker-ci/issues/10

- -if (version_compare(PHP_VERSION, '7.1.0') !== -1) {

- -	echo 'This version of Nextcloud is not compatible with PHP 7.1.<br/>';

- -	echo 'You are currently running ' . PHP_VERSION . '.';

- -	return;

- -}

-  

-  try {

-  

- diff --git a/index.php b/index.php

- index e72d38c..29920d7 100644

- --- a/index.php

- +++ b/index.php

- @@ -25,22 +25,6 @@

-   *

-   */

-  

- -// Show warning if a PHP version below 5.4.0 is used, this has to happen here

- -// because base.php will already use 5.4 syntax.

- -if (version_compare(PHP_VERSION, '5.4.0') === -1) {

- -	echo 'This version of Nextcloud requires at least PHP 5.4.0<br/>';

- -	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';

- -	return;

- -}

- -

- -// Show warning if PHP 7.1 is used as Nextcloud is not compatible with PHP 7.1 for now

- -// @see https://github.com/nextcloud/docker-ci/issues/10

- -if (version_compare(PHP_VERSION, '7.1.0') !== -1) {

- -	echo 'This version of Nextcloud is not compatible with PHP 7.1.<br/>';

- -	echo 'You are currently running ' . PHP_VERSION . '.';

- -	return;

- -}

- -

-  try {

-  

-  	require_once __DIR__ . '/lib/base.php';

- diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php

- index 86b9b76..ac42177 100644

- --- a/settings/Controller/CheckSetupController.php

- +++ b/settings/Controller/CheckSetupController.php

- @@ -212,9 +212,7 @@ class CheckSetupController extends Controller {

-  	 * @return bool

-  	 */

-  	protected function isPhpOutdated() {

- -		if (version_compare(PHP_VERSION, '5.5.0') === -1) {

- -			return true;

- -		}

- +    // PHP supported in distribution

-  		return false;

-  	}

-  

nextcloud-10.0.4-correct-cli-upgrade.patch
file removed
-43
@@ -1,43 +0,0 @@

- diff --git a/core/templates/update.admin.php b/core/templates/update.admin.php

- index 87f9396..368a533 100644

- --- a/core/templates/update.admin.php

- +++ b/core/templates/update.admin.php

- @@ -37,7 +37,7 @@

-  		<input class="updateButton" type="button" value="<?php p($l->t('Start update')) ?>">

-  		<div class="infogroup">

-  			<?php p($l->t('To avoid timeouts with larger installations, you can instead run the following command from your installation directory:')) ?>

- -			<pre>./occ upgrade</pre>

- +			<pre>sudo -u apache php /usr/share/nextcloud/occ upgrade</pre>

-  		</div>

-  	</div>

-  

- diff --git a/core/templates/update.use-cli.php b/core/templates/update.use-cli.php

- index 52d40cd..945d4d9 100644

- --- a/core/templates/update.use-cli.php

- +++ b/core/templates/update.use-cli.php

- @@ -7,8 +7,10 @@

-  			} else {

-  				p($l->t('Please use the command line updater because automatic updating is disabled in the config.php.'));

-  			} ?><br><br>

- -			<?php

- -			print_unescaped($l->t('For help, see the  <a target="_blank" rel="noreferrer" href="%s">documentation</a>.', [link_to_docs('admin-cli-upgrade')])); ?><br><br>

- +      <code>

- +sudo -u apache php /usr/share/nextcloud/occ upgrade

- +</code>

- +			<br><br>

-  		</div>

-  	</div>

-  </div>

- diff --git a/updater/index.php b/updater/index.php

- index 017ca70..085c250 100644

- --- a/updater/index.php

- +++ b/updater/index.php

- @@ -1830,7 +1830,7 @@ if(strpos($updaterUrl, 'index.php') === false) {

-  			var el = document.getElementById('step-maintenance-mode')

-  				.getElementsByClassName('output')[0];

-  			if (keepActive) {

- -				el.innerHTML = 'Maintenance mode will kept active.<br>Now trigger the migration via command line: <code>./occ upgrade</code><br>';

- +				el.innerHTML = 'Maintenance mode will kept active.<br>Now trigger the migration via command line: <code>sudo -u apache php /usr/share/nextcloud/occ upgrade</code><br>';

-  				successStep('step-maintenance-mode');

-  				currentStep('step-done');

-  				performStep(11, performStepCallbacks[11]);

nextcloud-463e2ea-php71-backport.patch
file removed
-22
@@ -1,22 +0,0 @@

- From 463e2ea15d6fb71b96363d60c7e4bdc2c020eddf Mon Sep 17 00:00:00 2001

- From: =?UTF-8?q?Thomas=20M=C3=BCller?= <thomas.mueller@tmit.eu>

- Date: Mon, 4 Jul 2016 13:47:03 +0200

- Subject: [PATCH] Initialize array elements properly

- 

- ---

-  lib/private/App/InfoParser.php | 2 +-

-  1 file changed, 1 insertion(+), 1 deletion(-)

- 

- diff --git a/lib/private/App/InfoParser.php b/lib/private/App/InfoParser.php

- index c158e5c..843ed02 100644

- --- a/lib/private/App/InfoParser.php

- +++ b/lib/private/App/InfoParser.php

- @@ -141,7 +141,7 @@ function xmlToArray($xml) {

-  			$totalElement = count($xml->{$element});

-  

-  			if (!isset($array[$element])) {

- -				$array[$element] = "";

- +				$array[$element] = $totalElement > 1 ? [] : "";

-  			}

-  			/** @var \SimpleXMLElement $node */

-  			// Has attributes

nextcloud-9.1.0-amazon-autoloader.patch
file removed
-15
@@ -1,15 +0,0 @@

- diff --git a/apps/files_external/lib/Lib/Storage/AmazonS3.php b/apps/files_external/lib/Lib/Storage/AmazonS3.php

- index 4bb4312..85e04a3 100644

- --- a/apps/files_external/lib/Lib/Storage/AmazonS3.php

- +++ b/apps/files_external/lib/Lib/Storage/AmazonS3.php

- @@ -35,10 +35,6 @@

-  

-  namespace OCA\Files_External\Lib\Storage;

-  

- -set_include_path(get_include_path() . PATH_SEPARATOR .

- -	\OC_App::getAppPath('files_external') . '/3rdparty/aws-sdk-php');

- -require 'aws-autoloader.php';

- -

-  use Aws\S3\S3Client;

-  use Aws\S3\Exception\S3Exception;

-  use Icewind\Streams\IteratorDirectory;

nextcloud-9.1.0-default_integrity_check_disabled.patch
file removed
-13
@@ -1,13 +0,0 @@

- diff --git a/lib/private/IntegrityCheck/Checker.php b/lib/private/IntegrityCheck/Checker.php

- index d4038f8..7901a2c 100644

- --- a/lib/private/IntegrityCheck/Checker.php

- +++ b/lib/private/IntegrityCheck/Checker.php

- @@ -109,7 +109,7 @@ class Checker {

-  		 * too prominent. So please do not add it to config.sample.php.

-  		 */

-  		if ($this->config !== null) {

- -			$isIntegrityCheckDisabled = $this->config->getSystemValue('integrity.check.disabled', false);

- +			$isIntegrityCheckDisabled = $this->config->getSystemValue('integrity.check.disabled', true);

-  		} else {

-  			$isIntegrityCheckDisabled = false;

-  		}

nextcloud-9.1.0-dont_update_htacess.patch
file removed
-106
@@ -1,106 +0,0 @@

- diff --git a/core/Command/Maintenance/UpdateHtaccess.php b/core/Command/Maintenance/UpdateHtaccess.php

- deleted file mode 100644

- index 2185078..0000000

- --- a/core/Command/Maintenance/UpdateHtaccess.php

- +++ /dev/null

- @@ -1,45 +0,0 @@

- -<?php

- -/**

- - * @copyright Copyright (c) 2016, ownCloud, Inc.

- - *

- - * @author Lukas Reschke <lukas@statuscode.ch>

- - *

- - * @license AGPL-3.0

- - *

- - * This code is free software: you can redistribute it and/or modify

- - * it under the terms of the GNU Affero General Public License, version 3,

- - * as published by the Free Software Foundation.

- - *

- - * This program is distributed in the hope that it will be useful,

- - * but WITHOUT ANY WARRANTY; without even the implied warranty of

- - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

- - * GNU Affero General Public License for more details.

- - *

- - * You should have received a copy of the GNU Affero General Public License, version 3,

- - * along with this program.  If not, see <http://www.gnu.org/licenses/>

- - *

- - */

- -namespace OC\Core\Command\Maintenance;

- -

- -use InvalidArgumentException;

- -use OC\Setup;

- -use OCP\IConfig;

- -use Symfony\Component\Console\Command\Command;

- -use Symfony\Component\Console\Input\InputInterface;

- -use Symfony\Component\Console\Input\InputOption;

- -use Symfony\Component\Console\Output\OutputInterface;

- -

- -class UpdateHtaccess extends Command {

- -

- -	protected function configure() {

- -		$this

- -			->setName('maintenance:update:htaccess')

- -			->setDescription('Updates the .htaccess file');

- -	}

- -

- -	protected function execute(InputInterface $input, OutputInterface $output) {

- -		\OC\Setup::updateHtaccess();

- -		$output->writeln('.htaccess has been updated');

- -		return 0;

- -	}

- -}

- diff --git a/core/register_command.php b/core/register_command.php

- index 6f20769..09535fe 100644

- --- a/core/register_command.php

- +++ b/core/register_command.php

- @@ -60,7 +60,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {

-  	$application->add(new OC\Core\Command\App\Enable(\OC::$server->getAppManager()));

-  	$application->add(new OC\Core\Command\App\GetPath());

-  	$application->add(new OC\Core\Command\App\ListApps(\OC::$server->getAppManager()));

- -	

- +

-  	$application->add(new OC\Core\Command\TwoFactorAuth\Enable(

-  		\OC::$server->getTwoFactorAuthManager(), \OC::$server->getUserManager()

-  	));

- @@ -126,7 +126,6 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {

-  		new \OC\Repair(\OC\Repair::getRepairSteps(), \OC::$server->getEventDispatcher()), \OC::$server->getConfig(),

-  		\OC::$server->getEventDispatcher()));

-  	$application->add(new OC\Core\Command\Maintenance\SingleUser(\OC::$server->getConfig()));

- -	$application->add(new OC\Core\Command\Maintenance\UpdateHtaccess());

-  

-  	$application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig(), \OC::$server->getLogger()));

-  

- diff --git a/lib/private/Setup.php b/lib/private/Setup.php

- index 3b3a57c..cd56795 100644

- --- a/lib/private/Setup.php

- +++ b/lib/private/Setup.php

- @@ -379,10 +379,6 @@ class Setup {

-  			// out that this is indeed an ownCloud data directory

-  			file_put_contents($config->getSystemValue('datadirectory', \OC::$SERVERROOT.'/data').'/.ocdata', '');

-  

- -			// Update .htaccess files

- -			Setup::updateHtaccess();

- -			Setup::protectDataDirectory();

- -

-  			//try to write logtimezone

-  			if (date_default_timezone_get()) {

-  				$config->setSystemValue('logtimezone', date_default_timezone_get());

- diff --git a/lib/private/Updater.php b/lib/private/Updater.php

- index 609e965..85d4869 100644

- --- a/lib/private/Updater.php

- +++ b/lib/private/Updater.php

- @@ -237,14 +237,6 @@ class Updater extends BasicEmitter {

-  			throw new \Exception('Updates between multiple major versions and downgrades are unsupported.');

-  		}

-  

- -		// Update .htaccess files

- -		try {

- -			Setup::updateHtaccess();

- -			Setup::protectDataDirectory();

- -		} catch (\Exception $e) {

- -			throw new \Exception($e->getMessage());

- -		}

- -

-  		// create empty file in data dir, so we can later find

-  		// out that this is indeed an ownCloud data directory

-  		// (in case it didn't exist before)

nextcloud-9.1.0-dropbox-autoloader.patch
file removed
-25
@@ -1,25 +0,0 @@

- diff --git a/apps/files_external/ajax/oauth1.php b/apps/files_external/ajax/oauth1.php

- index e363e6c..d2aefbc 100644

- --- a/apps/files_external/ajax/oauth1.php

- +++ b/apps/files_external/ajax/oauth1.php

- @@ -23,7 +23,6 @@

-   * along with this program.  If not, see <http://www.gnu.org/licenses/>

-   *

-   */

- -require_once __DIR__ . '/../3rdparty/Dropbox/autoload.php';

-  

-  OCP\JSON::checkAppEnabled('files_external');

-  OCP\JSON::checkLoggedIn();

- diff --git a/apps/files_external/lib/Lib/Storage/Dropbox.php b/apps/files_external/lib/Lib/Storage/Dropbox.php

- index f0f62f9..1b20a62 100644

- --- a/apps/files_external/lib/Lib/Storage/Dropbox.php

- +++ b/apps/files_external/lib/Lib/Storage/Dropbox.php

- @@ -34,8 +34,6 @@ use Icewind\Streams\IteratorDirectory;

-  use Icewind\Streams\RetryWrapper;

-  use OCP\Files\StorageNotAvailableException;

-  

- -require_once __DIR__ . '/../../../3rdparty/Dropbox/autoload.php';

- -

-  class Dropbox extends \OC\Files\Storage\Common {

-  

-  	private $dropbox;

nextcloud-9.1.0-google-autoloader.patch
file removed
-37
@@ -1,37 +0,0 @@

- diff --git a/apps/files_external/ajax/oauth2.php b/apps/files_external/ajax/oauth2.php

- index 2d1fae2..d8dac91 100644

- --- a/apps/files_external/ajax/oauth2.php

- +++ b/apps/files_external/ajax/oauth2.php

- @@ -26,9 +26,6 @@

-   * along with this program.  If not, see <http://www.gnu.org/licenses/>

-   *

-   */

- -set_include_path(get_include_path().PATH_SEPARATOR.

- -	\OC_App::getAppPath('files_external').'/3rdparty/google-api-php-client/src');

- -require_once 'Google/autoload.php';

-  

-  OCP\JSON::checkAppEnabled('files_external');

-  OCP\JSON::checkLoggedIn();

- diff --git a/apps/files_external/lib/Lib/Storage/Google.php b/apps/files_external/lib/Lib/Storage/Google.php

- index 0b617aa..d40ac36 100644

- --- a/apps/files_external/lib/Lib/Storage/Google.php

- +++ b/apps/files_external/lib/Lib/Storage/Google.php

- @@ -38,10 +38,6 @@ use GuzzleHttp\Exception\RequestException;

-  use Icewind\Streams\IteratorDirectory;

-  use Icewind\Streams\RetryWrapper;

-  

- -set_include_path(get_include_path().PATH_SEPARATOR.

- -	\OC_App::getAppPath('files_external').'/3rdparty/google-api-php-client/src');

- -require_once 'Google/autoload.php';

- -

-  class Google extends \OC\Files\Storage\Common {

-  

-  	private $client;

- @@ -462,7 +458,6 @@ class Google extends \OC\Files\Storage\Common {

-  							$response = $client->get($downloadUrl, [

-  								'headers' => $httpRequest->getRequestHeaders(),

-  								'stream' => true,

- -								'verify' => realpath(__DIR__ . '/../../../3rdparty/google-api-php-client/src/Google/IO/cacerts.pem'),

-  							]);

-  						} catch (RequestException $e) {

-  							if(!is_null($e->getResponse())) {

nextcloud-MIGRATION.fedora
file removed
-165
@@ -1,165 +0,0 @@

- # Migration from owncloud

- 

- When migrating from an existing owncloud install it's possible to use the same database,

- or to rename the database to reduce confusion.

- 

- Before carrying out the migration it is important to prevent anyone from changing things.

- 

- Of course it's advised to carry out a backup of the database and files before any migration.

- 

- ### Prevent people using owncloud

- sudo -u apache php /usr/share/owncloud/occ maintenance:mode --on

- 

- ### Migration whilst keeping owncloud data intact

- 

- This is the safest option as it is nondestructive to owncloud, but it will require

- double the data storage during the migration.

- 

- #### Copy data over from one location to the other

- The data layout is identical, it's just the location that differs.

- ```

- rsync -aPh /var/lib/owncloud/ /var/lib/nextcloud/

- ```

- 

- ## Renaming the database

- This is optional but might serve to confuse less, and prevents any changes to the owncloud

- database in case there are issues requiring a fallback. Naturally use better credentials and

- use the correct database names for your setup!

- 

- ##### MySQL

- ```

- mysql -e 'create database nextclouddb;'

- mysql -e "grant all on nextclouddb.* to 'nextcloud_user'@'localhost' identified by 'nextcloud_pass';"

- mysqldump -v ownclouddb | mysql  -D nextclouddb

- ```

- 

- ##### PostgreSQL

- ```

- sudo -u postgres psql <<EOF

-  /* Create the user for nextcloud */

-  CREATE USER nextcloud_user WITH PASSWORD 'nextcloud_pass';

- 

-  /* KILL ALL EXISTING CONNECTION FROM ORIGINAL DB (ownclouddb)*/

-  SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity

-  WHERE pg_stat_activity.datname = 'ownclouddb' AND pid <> pg_backend_pid();

- 

-  /* CLONE DATABASE TO NEW ONE(nextclouddb) */

-  CREATE DATABASE nextclouddb WITH TEMPLATE ownclouddb OWNER nextcloud_user;

- 

-  GRANT ALL PRIVILEGES ON DATABASE nextclouddb TO nextcloud_user;

- 

- /* The tables need to be transferred in owner as well */

- \c nextclouddb;

- REASSIGN OWNED BY owncloud_user TO nextcloud_user;

-  EOF

- 

- ```

- Don't forget to update pg_hba.conf to allow access to the new database as the new user!

- 

- ```

- host nextclouddb nextcloud_user ::1/128 password

- host nextclouddb nextcloud_user 127.0.0.1/32 password

- ```

- 

- ### Migration in place without preserving owncloud data

- 

- If there is not sufficient disk then data can be moved, this will break owncloud in the process

- and there won't be a fallback option if things go wrong beyond restiring data/backups.

- 

- #### Copy data over from one location to the other

- ```

- mv /var/lib/owncloud/* /var/lib/nextcloud/

- ```

- 

- #### Renaming the database

- This is even more optional since the old database will be destroyed in the process, but it may serve

- to lessen confusion later on for future maintenance. Again replace with the desired credentials and

- database names for your environment.

- 

- Note that since the database sizes are small it's more reliable and safer for the data stores to follow

- the steps to duplicate the database laid out above.

- 

- ##### MySQL

- ```

- mysql -e 'create database nextclouddb;'

- mysql -e "grant all on nextclouddb.* to 'nextcloud_user'@'localhost' identified by 'nextcloud_pass';"

- mysql ownclouddb -sNe 'show tables' | while read table;  do mysql  -sNe "rename table ownclouddb.$table to nextclouddb.$table;"; done

- ```

- 

- ##### PostgreSQL

- ```

- sudo -u postgres psql <<EOF

-  /* Create the user for nextcloud */

-  CREATE USER nextcloud_user WITH PASSWORD 'nextcloud_pass';

- 

-  /* KILL ALL EXISTING CONNECTION FROM ORIGINAL DB (ownclouddb)*/

-  SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity

-  WHERE pg_stat_activity.datname = 'ownclouddb' AND pid <> pg_backend_pid();

- 

-  /* ALTER DATABASE to rename it */

-  ALTER DATABASE ownclouddb RENAME TO nextclouddb;

-  ALTER DATABASE nextclouddb OWNER TO nextcloud_user;

- 

-  GRANT ALL PRIVILEGES ON DATABASE nextclouddb TO nextcloud_user;

- 

- /* The tables need to be transferred in owner as well */

- \c nextclouddb;

- REASSIGN OWNED BY owncloud_user TO nextcloud_user;

- EOF

- ```

- 

- Again remember to update pg_hba.conf so the new database and user can be used.

- 

- ### Bring over the old configuration and update paths

- The config can be copied as-is which will preserve most settings. This is a coarse rename of everything

- from owncloud to nextcloud, but if the database isn't renamed then this too much. Verify the database

- credentials and name in the config file are correct before moving on to the next step.

- ```

- cp /etc/owncloud/config.php /etc/nextcloud/config.php

- sed -i 's/owncloud/nextcloud/g' /etc/nextcloud/config.php

- ```

- 

- ### Enable the nextcloud interface on httpd

- If using httpd then enable the interface the same way as the README describes for a fresh install

- ```

- ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf

- ```

- 

- ### Carry out any migration required

- A migration step for database schemas etc needs to be carried out to ensure everything is correct.

- 

- Although the WebUI will be prompting the standard "click here to update" it is best for this major

- migration to carry it out at the command line.

- ```

- sudo -u apache php /usr/share/nextcloud/occ upgrade

- ```

- 

- ### Verify that everything looks right

- It's best at this stage to enter as an admin and have the instance in single user mode only

- ```

- sudo -u apache php /usr/share/nextcloud/occ maintenance:singleuser --on

- sudo -u apache php /usr/share/nextcloud/occ maintenance:mode --off

- ```

- __NOTE__ It is usual for things like webdav to be disabled during singleuser which may prevent seeing

- files, however just use this to verify the admin screens. On testing apps needed to be disabled

- and then enabled again for nextcloud to correctly pick them up.

- 

- ### Enable allow people to use nextcloud

- If things are looking good then open the floodgates to everyone else.

- ```

- sudo -u apache php /usr/share/nextcloud/occ maintenance:singleuser --off

- ```

- 

- ### Clean up the owncloud stuff

- Finally clean up the old owncloud install, replace with the database and user for your own setup.

- ```

- dnf remove -y owncloud\*

- rm -rf /var/lib/owncloud /etc/owncloud /etc/httpd/conf.d/*owncloud*

- # mysql

- mysql -e "drop database ownclouddb; drop user owncloud_user@'localhost';"

- # postgres

- sudo -u postgres psql <<EOF

- DROP DATABASE ownclouddb;

- DROP USER owncloud_user;

- EOF

- ```

nextcloud-autoloader.php
file added
+79
@@ -0,0 +1,79 @@

+ <?php

+ require_once '##PHPDIR##/Fedora/Autoloader/autoload.php';

+ require_once __DIR__ . '/bundled.php';

+ 

+ // For PEAR components

+ \Fedora\Autoloader\Autoload::addIncludePath();

+ 

+ // Dependencies from 3rdparty composer.json

+ // https://github.com/nextcloud/3rdparty/blob/v13.0.0/composer.json

+ \Fedora\Autoloader\Dependencies::required(array(

+         // "aws/aws-sdk-php"

+         '##PHPDIR##/Aws3/autoload.php',

+         // "bantu/ini-get-wrapper"

+         '##PHPDIR##/bantu/IniGetWrapper/IniGetWrapper.php',

+         // "deepdiver1975/TarStreamer"

+         '##PHPDIR##/ownCloud/TarStreamer/autoload.php',

+         // "doctrine/dbal"

+         // NOTE: Bundling patched dbal in 3rdparty dir

+         // '##PHPDIR##/Doctrine/DBAL/autoload.php',

+         // "guzzlehttp/guzzle"

+         '##PHPDIR##/GuzzleHttp/autoload.php',

+         // "icewind/searchdav"

+         '##PHPDIR##/Icewind/SearchDAV/autoload.php',

+         // "icewind/Streams"

+         '##PHPDIR##/Icewind/Streams/autoload.php',

+         // "interfasys/lognormalizer"

+         '##PHPDIR##/InterfaSys/LogNormalizer/autoload.php',

+         // "jeremeamia/superclosure"

+         '##PHPDIR##/SuperClosure/autoload.php',

+         // "leafo/scssphp"

+         '##PHPDIR##/Leafo/ScssPhp/autoload.php',

+         // "league/flysystem"

+         '##PHPDIR##/League/Flysystem/autoload.php',

+         // "lukasreschke/id3parser": "^0.0.1"

+         '##PHPDIR##/ID3Parser/autoload.php',

+         // mcnetic/zipstreamer"

+         '##PHPDIR##/ZipStreamer/autoload.php',

+         // "natxet/CssMin"

+         '##PHPDIR##/natxet/CssMin/autoload.php',

+         // "nikic/php-parser"

+         '##PHPDIR##/PhpParser/autoload.php',

+         // "patchwork/jsqueeze"

+         '##PHPDIR##/Patchwork/JSqueeze.php',

+         // "patchwork/utf8"

+         // NOTE: Bundling patched utf8 in 3rdparty dir

+         // '##PHPDIR##/Patchwork/autoload.php',

+         // Do not autoload PEAR components

+         // "phpeclib/phpseclib"

+         '##PHPDIR##/phpseclib/autoload.php',

+         // "pimple/pimple"

+         '##PHPDIR##/Pimple/autoload.php',

+         // "punic/punic"

+         '##PHPDIR##/Punic/autoload.php',

+         // "rackspace/php-opencloud"

+         // NOTE: Bundling patched php-opencloud in 3rdparty dir

+         // '##PHPDIR##/OpenCloud/autoload.php',

+         // Note react/promise is not in composer.json

+         // "react/promise"

+         '##PHPDIR##/React/Promise/autoload.php',

+         // "sabre/dav"

+         // NOTE: Bundling patched sabreDAV in 3rdparty dir

+         // '##PHPDIR##/Sabre/DAV/autoload.php',

+         // "stecman/symfony-console-completion"

+         '##PHPDIR##/Stecman/Component/Symfony/Console/BashCompletion/autoload.php',

+         // "swiftmailer/swiftmailer

+         '##PHPDIR##/Swift/swift_required.php',

+         // "symfony/console"

+         '##PHPDIR##/Symfony3/Component/Console/autoload.php',

+         // "symfony/event-dispatcher"

+         '##PHPDIR##/Symfony3/Component/EventDispatcher/autoload.php',

+         // "symfony/polyfill-php70"

+         '##PHPDIR##/Symfony/Polyfill/autoload.php',

+         // "symfony/process"

+         '##PHPDIR##/Symfony3/Component/Process/autoload.php',

+         // "symfony/routing"

+         '##PHPDIR##/Symfony3/Component/Routing/autoload.php',

+         // "symfony/translation"

+         '##PHPDIR##/Symfony3/Component/Translation/autoload.php',

+ ));

nextcloud-b129d5d-php71-backport.patch
file removed
-13
@@ -1,13 +0,0 @@

- diff --git a/settings/Controller/SecuritySettingsController.php b/settings/Controller/SecuritySettingsController.php

- index 88b2803..5c6f174 100644

- --- a/settings/Controller/SecuritySettingsController.php

- +++ b/settings/Controller/SecuritySettingsController.php

- @@ -60,7 +60,7 @@ protected function returnSuccess() {

-  	 * @return array

-  	 */

-  	public function trustedDomains($newTrustedDomain) {

- -		$trustedDomains = $this->config->getSystemValue('trusted_domains');

- +		$trustedDomains = $this->config->getSystemValue('trusted_domains', []);

-  		$trustedDomains[] = $newTrustedDomain;

-  		$this->config->setSystemValue('trusted_domains', $trustedDomains);

-  

nextcloud-fedora-autoloader.php
file removed
-68
@@ -1,68 +0,0 @@

- <?php

- $vendor = '##DATADIR##/php';

- 

- if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {

-     if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {

-         require_once $vendor . '/Symfony/Component/ClassLoader/ClassLoader.php';

-     }

- 

-     $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();

-     $fedoraClassLoader->register();

- }

- 

- // For PEAR components

- $fedoraClassLoader->setUseIncludePath(true);

- 

- // Dependencies from 3rdparty composer.json

- // "guzzlehttp/guzzle"

- require_once $vendor . '/GuzzleHttp/autoload.php';

- // "sabre/dav"

- require_once $vendor . '/Sabre/DAV/autoload.php';

- // "doctrine/dbal"

- require_once $vendor . '/Doctrine/DBAL/autoload.php';

- // mcnetic/zipstreamer"

- require_once $vendor . '/ZipStreamer/autoload.php';

- // "phpeclib/phpseclib"

- require_once $vendor . '/phpseclib/autoload.php';

- // "rackspace/php-opencloud"

- require_once $vendor . '/OpenCloud/autoload.php';

- // "jeremeamia/superclosure"

- require_once $vendor . '/SuperClosure/autoload.php';

- // "bantu/ini-get-wrapper"

- require_once $vendor . '/bantu/IniGetWrapper/IniGetWrapper.php';

- // "natxet/CssMin"

- require_once $vendor . '/natxet/CssMin/autoload.php';

- // "punic/punic"

- require_once $vendor . '/Punic/autoload.php';

- // "patchwork/utf8"

- require_once $vendor . '/Patchwork/autoload.php';

- // "symfony/console"

- require_once $vendor . '/Symfony/Component/Console/autoload.php';

- // "symfony/event-dispatcher"

- require_once $vendor . '/Symfony/Component/EventDispatcher/autoload.php';

- // "symfony/routing"

- require_once $vendor . '/Symfony/Component/Routing/autoload.php';

- // "symfony/process"

- require_once $vendor . '/Symfony/Component/Process/autoload.php';

- // "pimple/pimple"

- require_once $vendor . '/Pimple/autoload.php';

- // "ircmaxell/password-compat"

- require_once $vendor . '/password_compat/password.php';

- // "nikic/php-parser"

- require_once $vendor . '/PhpParser/autoload.php';

- // "icewind/Streams"

- require_once $vendor . '/Icewind/Streams/autoload.php';

- // "swiftmailer/swiftmailer

- require_once $vendor . '/Swift/swift_required.php';

- // "league/flysystem"

- require_once $vendor . '/League/Flysystem/autoload.php';

- // "interfasys/lognormalizer"

- require_once $vendor . '/InterfaSys/LogNormalizer/autoload.php';

- // "deepdiver1975/TarSTreamer"

- require_once $vendor . '/ownCloud/TarStreamer/autoload.php';

- // "patchwork/jsqueeze"

- require_once $vendor . '/Patchwork/JSqueeze.php';

- // "symfony/polyfill-php{55,56,70}"

- require_once $vendor . '/Symfony/Polyfill/autoload.php';

- // "lukasreschke/id3parser": "^0.0.1"

- require_once $vendor . '/ID3Parser/autoload.php';

nextcloud-httpd-access.conf.avail nextcloud-access-httpd.conf.avail
file renamed
file was moved with no change to the file
nextcloud-httpd-auth-any.inc nextcloud-auth-any.inc
file renamed
file was moved with no change to the file
nextcloud-httpd-auth-local.inc nextcloud-auth-local.inc
file renamed
file was moved with no change to the file
nextcloud-httpd-auth-none.inc nextcloud-auth-none.inc
file renamed
file was moved with no change to the file
nextcloud-httpd-defaults.inc nextcloud-defaults.inc
file renamed
file was moved with no change to the file
nextcloud-nginx-default.conf nextcloud-default-nginx.conf
file renamed
file was moved with no change to the file
nextcloud-nginx.conf nextcloud-conf-nginx.conf
file renamed
file was moved with no change to the file
nextcloud-php-fpm-el7.conf nextcloud-el7-php-fpm.conf
file renamed
file was moved with no change to the file
nextcloud.spec
file modified
+574 -595
@@ -1,416 +1,342 @@

  Name:           nextcloud

- Version:        10.0.4

- Release:        4%{?dist}

+ Version:        13.0.0

+ Release:        1%{?dist}

  Summary:        Private file sync and share server

  

- License:        AGPLv3+ and MIT and BSD and ASL 2.0 and WTFPL and CC-BY-SA and GPLv3+ and Adobe

+ License:        AGPLv3+ and ASL 2.0 and BSD and GPLv3+ and MIT and MPLv2.0

  URL:            http://nextcloud.com

  

- Source0:        https://download.nextcloud.com/server/releases/%{name}-%{version}.tar.bz2

- 

- Source1:        %{name}-httpd.conf

- Source2:        %{name}-access-httpd.conf.avail

- 

- 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

- Source102:      %{name}-auth-none.inc

- Source103:      %{name}-defaults.inc

- # packaging notes and doc

- Source3:        %{name}-README.fedora

- Source4:        %{name}-mysql.txt

- Source5:        %{name}-postgresql.txt

- Source6:        %{name}-MIGRATION.fedora

- # config.php containing just settings we want to specify, nextcloud's

- # initial setup will fill out other settings appropriately

- Source7:        %{name}-config.php

- 

+ Source0:        https://download.nextcloud.com/server/releases/%{name}-%{version}.zip

+ Source1:        README

+ Source2:        README.mysql

+ Source3:        README.postgresql

  # Our autoloader for core

- Source8:        %{name}-fedora-autoloader.php

- 

+ Source10:        %{name}-autoloader.php

+ # config.php containing just settings we want to specify,

+ # nextcloud's initial setup will fill out other settings appropriately

+ Source11:        %{name}-config.php

  # Systemd timer for background jobs

- Source10:       %{name}-systemd-timer.service

- Source11:       %{name}-systemd-timer.timer

- 

- # Stop OC from trying to do stuff to .htaccess files. Just calm down, OC.

- # Distributors are on the case.

- Patch1:         %{name}-9.1.0-dont_update_htacess.patch

- 

- # Remove explicit load of dropbox

- Patch2:         %{name}-9.1.0-dropbox-autoloader.patch

- 

- # Remove explicit load of google

- Patch3:         %{name}-9.1.0-google-autoloader.patch

- 

- # Remove explicit load of aws

- Patch4:         %{name}-9.1.0-amazon-autoloader.patch

- 

- # Disable the integrity checking whilst a better way to deal with it is found

- Patch5:         %{name}-9.1.0-default_integrity_check_disabled.patch

- 

- # Apply the backport patches to support PHP7.1 and don't complain

- Patch6:         %{name}-463e2ea-php71-backport.patch

- Patch7:         %{name}-b129d5d-php71-backport.patch

- Patch8:         %{name}-10.0.3-dont-check-php-version.patch

- 

- # Direct the admin to the correct cli command for upgrades

- Patch9:         %{name}-10.0.4-correct-cli-upgrade.patch

+ Source20:       %{name}-systemd-timer.service

+ Source21:       %{name}-systemd-timer.timer

+ # Httpd config snippets

+ Source100:      %{name}-httpd.conf

+ Source101:      %{name}-httpd-access.conf.avail

+ Source102:      %{name}-httpd-auth-any.inc

+ Source103:      %{name}-httpd-auth-local.inc

+ Source104:      %{name}-httpd-auth-none.inc

+ Source105:      %{name}-httpd-defaults.inc

+ # Nginx config snippets

+ Source200:      %{name}-nginx-default.conf

+ Source201:      %{name}-nginx.conf

+ Source202:      %{name}-php-fpm.conf

+ Source203:      %{name}-php-fpm-el7.conf

  

  BuildArch:      noarch

  

- # For the systemd macros

- %{?systemd_requires}

  BuildRequires:  systemd

+ %{?systemd_requires}

+ 

+ # Use Fedora autoloader

+ BuildRequires:  php-fedora-autoloader-devel

+ BuildRequires:  php-composer(fedora/autoloader) >= 1.0.0

+ Requires:       php-composer(fedora/autoloader) >= 1.0.0

  

  # expand pear macros on install

  BuildRequires:  php-pear

  

- # For sanity %%check

- BuildRequires:       php-cli

- BuildRequires:       php-composer(sabre/dav)  >= 3.0.9

- BuildRequires:       php-composer(sabre/dav)  < 4.0

- BuildRequires:       php-composer(doctrine/dbal) >= 2.5.4

- BuildRequires:       php-composer(doctrine/dbal) < 2.6

- 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-composer(rackspace/php-opencloud) >= 1.9.2

- BuildRequires:       php-composer(rackspace/php-opencloud) < 2.0

- BuildRequires:       php-composer(jeremeamia/superclosure) >= 2.1.0

- BuildRequires:       php-composer(jeremeamia/superclosure) < 3.0

- BuildRequires:       php-composer(bantu/ini-get-wrapper) >= 1.0.1

- BuildRequires:       php-composer(bantu/ini-get-wrapper) < 2.0

- BuildRequires:       php-composer(natxet/CssMin) >= 3.0.4

- BuildRequires:       php-composer(natxet/CssMin) < 4.0

- BuildRequires:       php-composer(punic/punic) >= 1.6.3

- BuildRequires:       php-composer(punic/punic) < 2.0

+ # External PHP libs required by core. Required in build for sanity %%check

+ # https://github.com/nextcloud/3rdparty/blob/v13.0.0/composer.json

+ # "aws/aws-sdk-php": "^3.35"

+ BuildRequires: (php-composer(aws/aws-sdk-php) >= 3.35 with php-composer(aws/aws-sdk-php) < 4.0.0)

+ Requires:      (php-composer(aws/aws-sdk-php) >= 3.35 with php-composer(aws/aws-sdk-php) < 4.0.0)

+ # "bantu/ini-get-wrapper": "v1.0.1"

+ BuildRequires: (php-composer(bantu/ini-get-wrapper) >= 1.0.1 with php-composer(bantu/ini-get-wrapper) < 2.0)

+ Requires:      (php-composer(bantu/ini-get-wrapper) >= 1.0.1 with php-composer(bantu/ini-get-wrapper) < 2.0)

+ # "deepdiver1975/TarStreamer": "v0.1.0"

+ # Despite the different namespace this lives in the name is correct

+ BuildRequires: (php-composer(owncloud/tarstreamer) >= 0.1 with php-composer(owncloud/tarstreamer) < 1.0)

+ Requires:      (php-composer(owncloud/tarstreamer) >= 0.1 with php-composer(owncloud/tarstreamer) < 1.0)

+ # "doctrine/dbal": "dev-2.5.-pg10"

+ # NOTE: NC13: Bundling patched DBAL

+ # NOTE: License: MIT

+ Provides:       bundled(php-doctrine-dbal) = 2.5.5

+ Provides:       bundled(php-doctrine-annotations) = 1.2.7

+ Provides:       bundled(php-doctrine-cache) = 1.5.1

+ Provides:       bundled(php-doctrine-collections) = 1.3.0

+ Provides:       bundled(php-doctrine-common) = 2.7

+ Provides:       bundled(php-doctrine-inflector) = 1.1.0

+ Provides:       bundled(php-doctrine-lexer) = 1.0.1

+ # BuildRequires: (php-composer(doctrine/dbal) >= 2.5.12 with php-composer(doctrine/dbal) < 3)

+ # Requires:      (php-composer(doctrine/dbal) >= 2.5.12 with php-composer(doctrine/dbal) < 3)

+ # "guzzlehttp/guzzle": "~5.3"

+ BuildRequires: (php-composer(guzzlehttp/guzzle) >= 5.3.0 with php-composer(guzzlehttp/guzzle) < 6.0)

+ Requires:      (php-composer(guzzlehttp/guzzle) >= 5.3.0 with php-composer(guzzlehttp/guzzle) < 6.0)

+ # "icewind/searchdav": "0.3.1"

+ # NOTE: NC14: Package 1.0.x, update

+ BuildRequires: (php-composer(icewind/searchdav) >= 0.3.1 with php-composer(icewind/searchdav) < 0.4.0)

+ Requires:      (php-composer(icewind/searchdav) >= 0.3.1 with php-composer(icewind/searchdav) < 0.4.0)

+ # "icewind/Streams": "0.5.2"

+ BuildRequires: (php-composer(icewind/streams) >= 0.5.2 with php-composer(icewind/streams) < 0.6.0)

+ Requires:      (php-composer(icewind/streams) >= 0.5.2 with php-composer(icewind/streams) < 0.6.0)

+ # "interfasys/lognormalizer": "^v1.0"

+ BuildRequires: (php-composer(interfasys/lognormalizer) >= 1.0 with php-composer(interfasys/lognormalizer) < 2.0)

+ Requires:      (php-composer(interfasys/lognormalizer) >= 1.0 with php-composer(interfasys/lognormalizer) < 2.0)

+ # "jeremeamia/superclosure": "2.1.0"

+ BuildRequires: (php-composer(jeremeamia/superclosure) >= 2.1.0 with php-composer(jeremeamia/superclosure) < 3.0)

+ Requires:      (php-composer(jeremeamia/superclosure) >= 2.1.0 with php-composer(jeremeamia/superclosure) < 3.0)

+ # "leafo/scssphp": "^0.7.2"

+ BuildRequires: (php-composer(leafo/scssphp) >= 0.7.5 with php-composer(leafo/scssphp) < 0.8.0)

+ Requires:      (php-composer(leafo/scssphp) >= 0.7.5 with php-composer(leafo/scssphp) < 0.8.0)

+ # "league/flysystem": "^1.0"

+ BuildRequires: (php-composer(league/flysystem) >= 1.0.20 with php-composer(league/flysystem) < 2.0)

+ Requires:      (php-composer(league/flysystem) >= 1.0.20 with php-composer(league/flysystem) < 2.0)

+ # "lukasreschke/id3parser": "^0.0.1"

+ BuildRequires: (php-composer(lukasreschke/id3parser) >= 0.0.1 with php-composer(lukasreschke/id3parser) < 0.1.0)

+ Requires:      (php-composer(lukasreschke/id3parser) >= 0.0.1 with php-composer(lukasreschke/id3parser) < 0.1.0)

+ # "mcnetic/zipstreamer": "^1.0"

+ # NOTE: We use v1.1.x from DeepDiver1975's maintained fork that contains all required patches.

+ BuildRequires: (php-composer(deepdiver/zipstreamer) >= 1.1.0 with php-composer(deepdiver/zipstreamer) < 2.0.0)

+ Requires:      (php-composer(deepdiver/zipstreamer) >= 1.1.0 with php-composer(deepdiver/zipstreamer) < 2.0.0)

+ # "natxet/CssMin": "dev-master"

+ BuildRequires: (php-composer(natxet/CssMin) >= 3.0.4 with php-composer(natxet/CssMin) < 4.0)

+ Requires:      (php-composer(natxet/CssMin) >= 3.0.4 with php-composer(natxet/CssMin) < 4.0)

+ # "nikic/php-parser": "1.4.1"

+ BuildRequires: (php-composer(nikic/php-parser) >= 1.4.1 with php-composer(nikic/php-parser) < 2.0)

+ Requires:      (php-composer(nikic/php-parser) >= 1.4.1 with php-composer(nikic/php-parser) < 2.0)

+ # "patchwork/jsqueeze": "^2.0"

+ BuildRequires: (php-composer(patchwork/jsqueeze) >= 2.0 with php-composer(patchwork/jsqueeze) < 3.0)

+ Requires:      (php-composer(patchwork/jsqueeze) >= 2.0 with php-composer(patchwork/jsqueeze) < 3.0)

+ # "patchwork/utf8": "1.2.6"

+ # NOTE: Bundling patched patchwork/utf8

+ # NOTE: License: ASL 2.0

+ Provides:       bundled(php-patchwork-utf8) = 1.2.6

+ # BuildRequires: (php-composer(patchwork/utf8) >= 1.2.6 with php-composer(patchwork/utf8) < 2.0)

+ # Requires:      (php-composer(patchwork/utf8) >= 1.2.6 with php-composer(patchwork/utf8) < 2.0)

+ # "pear/archive_tar": "1.4.3"

+ # archive_tar is in base el7 and doesn't have the fedora php-composer provides

  %if 0%{?el7}

- BuildRequires:       php-pear(Archive_Tar) >= 1.3

- BuildRequires:       php-pear(Archive_Tar) < 2.0

+ BuildRequires: (php-pear(Archive_Tar) >= 1.4.3 with php-pear(Archive_Tar) < 2.0)

+ Requires:      (php-pear(Archive_Tar) >= 1.4.3 with php-pear(Archive_Tar) < 2.0)

  %else

- BuildRequires:       php-composer(pear/archive_tar) >= 1.4.1

- BuildRequires:       php-composer(pear/archive_tar) < 2.0

+ BuildRequires: (php-composer(pear/archive_tar) >= 1.4.1 with php-composer(pear/archive_tar) < 2.0)

+ Requires:      (php-composer(pear/archive_tar) >= 1.4.1 with php-composer(pear/archive_tar) < 2.0)

  %endif

- BuildRequires:       php-composer(patchwork/utf8) >= 1.2.6

- BuildRequires:       php-composer(patchwork/utf8) < 2.0

- BuildRequires:       php-composer(symfony/console) >= 2.8.3

- BuildRequires:       php-composer(symfony/console) < 3.0.0

- BuildRequires:       php-composer(symfony/event-dispatcher) >= 2.8.3

- BuildRequires:       php-composer(symfony/event-dispatcher) < 3.0.0

- BuildRequires:       php-composer(symfony/routing) >= 2.8.1

- BuildRequires:       php-composer(symfony/routing) < 3.0.0

- BuildRequires:       php-composer(symfony/process) >= 2.8.1

- BuildRequires:       php-composer(symfony/process) < 3.0.0

- 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(ircmaxell/password-compat) < 2.0

- BuildRequires:       php-composer(nikic/php-parser) >= 1.4.1

- BuildRequires:       php-composer(nikic/php-parser) < 2.0

- BuildRequires:       php-composer(icewind/streams) >= 0.4.1

- BuildRequires:       php-composer(icewind/streams) < 1.0

- BuildRequires:       php-composer(swiftmailer/swiftmailer) >= 5.4.1

- BuildRequires:       php-composer(swiftmailer/swiftmailer) < 6.0

- BuildRequires:       php-composer(guzzlehttp/guzzle) >= 5.3.0

- BuildRequires:       php-composer(guzzlehttp/guzzle) < 6.0

- BuildRequires:       php-composer(league/flysystem) >= 1.0.20

- BuildRequires:       php-composer(league/flysystem) < 2.0

+ # "pear/pear-core-minimal": "v1.10"

  %if 0%{?el7}

- BuildRequires:       php-pear(Console_Getopt) > 1.3

- BuildRequires:       php-pear(Console_Getopt) < 2.0

- BuildRequires:       php-pear(PEAR) > 1.9

+ BuildRequires: (php-pear(Console_Getopt) > 1.3 with php-pear(Console_Getopt) < 2.0)

+ Requires:      (php-pear(Console_Getopt) > 1.3 with php-pear(Console_Getopt) < 2.0)

+ BuildRequires:  php-pear(PEAR) > 1.9

+ Requires:       php-pear(PEAR) > 1.9

  %else

- BuildRequires:       php-composer(pear/pear-core-minimal) >= 1.10.1

+ BuildRequires:  php-composer(pear/pear-core-minimal) >= 1.10.1

+ Requires:       php-composer(pear/pear-core-minimal) >= 1.10.1

  %endif

- BuildRequires:       php-composer(interfasys/lognormalizer) >= 1.0

- BuildRequires:       php-composer(interfasys/lognormalizer) < 2.0

- BuildRequires:       php-composer(owncloud/tarstreamer) >= 0.1

- BuildRequires:       php-composer(owncloud/tarstreamer) < 1.0

- BuildRequires:       php-composer(patchwork/jsqueeze) >= 2.0

- BuildRequires:       php-composer(patchwork/jsqueeze) < 3.0

- 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

- BuildRequires:       php-composer(lukasreschke/id3parser) >= 0.0.1

- BuildRequires:       php-composer(lukasreschke/id3parser) < 1.0.0

- BuildRequires:       php-composer(icewind/smb) >= 1.1.0

- BuildRequires:       php-composer(icewind/smb) < 2.0

- BuildRequires:       php-pecl(smbclient) >= 0.8.0

- BuildRequires:       php-pecl(smbclient) < 1.0

- BuildRequires:       php-composer(google/apiclient) >= 1.1.7

- # Note: 1.1.8 has BC breaks

- BuildRequires:       php-composer(google/apiclient) < 1.1.8

- BuildRequires:       php-composer(aws/aws-sdk-php) >= 2.7.5

- BuildRequires:       php-composer(aws/aws-sdk-php) < 3.0.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(onelogin/php-saml) >= 2.9.0

- BuildRequires:       php-composer(onelogin/php-saml) < 3.0

+ # "phpseclib/phpseclib": "2.0.4"

+ BuildRequires: (php-composer(phpseclib/phpseclib) >= 2.0.4 with php-composer(phpseclib/phpseclib) < 3.0)

+ Requires:      (php-composer(phpseclib/phpseclib) >= 2.0.4 with php-composer(phpseclib/phpseclib) < 3.0)

+ # "pimple/pimple": "3.2.3"

+ BuildRequires: (php-composer(pimple/pimple) >= 3.2.3 with php-composer(pimple/pimple) < 4.0)

+ Requires:      (php-composer(pimple/pimple) >= 3.2.3 with php-composer(pimple/pimple) < 4.0)

+ # "punic/punic": "^1.6"

+ BuildRequires: (php-composer(punic/punic) >= 1.6.3 with php-composer(punic/punic) < 2.0)

+ Requires:      (php-composer(punic/punic) >= 1.6.3 with php-composer(punic/punic) < 2.0)

+ # "rackspace/php-opencloud": "v1.16.0"

+ # NOTE: Bundling patched rackspace/php-opencloud

+ # NOTE: License: ASL 2.0

+ Provides:       bundled(php-opencloud) = 1.16.0

+ # BuildRequires: (php-composer(rackspace/php-opencloud) >= 1.16.0 with php-composer(rackspace/php-opencloud) < 2.0)

+ # Requires:      (php-composer(rackspace/php-opencloud) >= 1.16.0 with php-composer(rackspace/php-opencloud) < 2.0)

+ # "sabre/dav" : "^3.2.0"

+ # NOTE: Bundling patched sabre/dav

+ # NOTE: License: BSD-3-Clause

+ Provides:       bundled(php-sabre-dav) = 3.2.0

+ Provides:       bundled(php-sabre-event) = 3.0.0

+ Provides:       bundled(php-sabre-http) = 4.3.2

+ Provides:       bundled(php-sabre-uri) = 1.2.1

+ Provides:       bundled(php-sabre-vobject4) = 4.0

+ Provides:       bundled(php-sabre-xml) = 1.5.0

+ # BuildRequires: (php-composer(sabre/dav)  >= 3.2.0 with php-composer(sabre/dav) < 4.0)

+ # Requires:      (php-composer(sabre/dav)  >= 3.2.0 with php-composer(sabre/dav) < 4.0)

+ # "stecman/symfony-console-completion": "^0.7.0"

+ BuildRequires: (php-composer(stecman/symfony-console-completion) >= 0.7.0 with php-composer(stecman/symfony-console-completion) < 0.8.0)

+ Requires:      (php-composer(stecman/symfony-console-completion) >= 0.7.0 with php-composer(stecman/symfony-console-completion) < 0.8.0)

+ # "swiftmailer/swiftmailer": "^5.4"

+ BuildRequires: (php-composer(swiftmailer/swiftmailer) >= 5.4.8 with php-composer(swiftmailer/swiftmailer) < 6)

+ Requires:      (php-composer(swiftmailer/swiftmailer) >= 5.4.8 with php-composer(swiftmailer/swiftmailer) < 6)

+ # "symfony/console": "^3.3.0"

+ BuildRequires: (php-composer(symfony/console) >= 3.3.0 with php-composer(symfony/console) < 4)

+ Requires:      (php-composer(symfony/console) >= 3.3.0 with php-composer(symfony/console) < 4)

+ # "symfony/event-dispatcher": "^3.3.0"

+ BuildRequires: (php-composer(symfony/event-dispatcher) >= 3.3.0 with php-composer(symfony/event-dispatcher) < 4)

+ Requires:      (php-composer(symfony/event-dispatcher) >= 3.3.0 with php-composer(symfony/event-dispatcher) < 4)

+ # "symfony/polyfill": "^1.0"

+ # NOTE: NC14: Removed in Master

+ BuildRequires: (php-composer(symfony/polyfill) >= 1.5 with php-composer(symfony/polyfill) < 2)

+ Requires:      (php-composer(symfony/polyfill) >= 1.5 with php-composer(symfony/polyfill) < 2)

+ # "symfony/process": "^3.3.0"

+ BuildRequires: (php-composer(symfony/process) >= 3.3.0 with php-composer(symfony/process) < 4)

+ Requires:      (php-composer(symfony/process) >= 3.3.0 with php-composer(symfony/process) < 4)

+ # "symfony/routing": "^3.3.0"

+ BuildRequires: (php-composer(symfony/routing) >= 3.3.0 with php-composer(symfony/routing) < 4)

+ Requires:      (php-composer(symfony/routing) >= 3.3.0 with php-composer(symfony/routing) < 4)

+ # "symfony/translation": "^3.3.0"

+ BuildRequires: (php-composer(symfony/translation) >= 3.3 with php-composer(symfony/translation) < 4)

+ Requires:      (php-composer(symfony/translation) >= 3.3 with php-composer(symfony/translation) < 4)

+ 

+ # External PHP libs required by files_external app

+ # https://github.com/nextcloud/server/blob/v13.0.0/apps/files_external/3rdparty/composer.json

+ # NOTE: icewind/streams is a dep but is already required by core

+ # "icewind/smb": "2.0.4"

+ BuildRequires: (php-composer(icewind/smb) >= 2.0.4 with php-composer(icewind/smb) < 3.0)

+ Requires:      (php-composer(icewind/smb) >= 2.0.4 with php-composer(icewind/smb) < 3.0)

+ # This makes smb external storage usable in performance

+ # and doesn't break things like encryption due to timeouts

+ BuildRequires:  php-pecl(smbclient)

+ Requires:       php-pecl(smbclient)

+ # Requiring so that the shipped external smb storage works

+ # The net command is needed and enabling smb tests for smbclient command

+ Requires:       samba-common-tools

+ Requires:       samba-client

  

- Requires:       %{name}-webserver = %{version}-%{release}

- Requires:       %{name}-database = %{version}-%{release}

+ # External PHP libs required by gallery app

+ # https://github.com/nextcloud/gallery/blob/v13.0.0/composer.json

+ # "symfony/yaml": "~3.2"

+ BuildRequires: (php-composer(symfony/yaml) >= 3.2.0 with php-composer(symfony/yaml) < 4)

+ Requires:      (php-composer(symfony/yaml) >= 3.2.0 with php-composer(symfony/yaml) < 4)

  

- # Core PHP libs/extensions required by OC core

+ # Core PHP libs/extensions required by core

+ Requires:       php-bz2

+ Requires:       php-ctype

  Requires:       php-curl

  Requires:       php-dom

  Requires:       php-exif

  Requires:       php-fileinfo

+ Requires:       php-filter

  Requires:       php-gd

  Requires:       php-iconv

+ Requires:       php-imagick

+ Requires:       php-imap

  Requires:       php-json

+ Requires:       php-libxml

  Requires:       php-ldap

  Requires:       php-mbstring

  Requires:       php-openssl

  Requires:       php-pcre

  Requires:       php-pdo

+ Requires:       php-posix

  Requires:       php-session

  Requires:       php-simplexml

+ Requires:       php-xmlreader

  Requires:       php-xmlwriter

  Requires:       php-spl

  Requires:       php-zip

- Requires:       php-filter

- 

- ### External PHP libs required by OC core

- 

- 

- # "doctrine/dbal": "2.5.4"

- # 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.4

- Requires:       php-composer(doctrine/dbal) < 2.6

- 

- #"mcnetic/zipstreamer": "^1.0"

- Requires:       php-composer(mcnetic/zipstreamer) >= 1.0

- Requires:       php-composer(mcnetic/zipstreamer) < 2.0

- 

- # "phpseclib/phpseclib": "2.0.0"

- 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/http as a strict requires

- # guzzle/http package include common, parser and stream too

- Requires:       php-composer(rackspace/php-opencloud) >= 1.9.2

- Requires:       php-composer(rackspace/php-opencloud) < 2.0

- 

- # "jeremeamia/superclosure": "2.1.0"

- Requires:       php-composer(jeremeamia/superclosure) >= 2.1.0

- Requires:       php-composer(jeremeamia/superclosure) < 3.0

- 

- # "bantu/ini-get-wrapper": "v1.0.1"

- Requires:       php-composer(bantu/ini-get-wrapper) >= 1.0.1

- Requires:       php-composer(bantu/ini-get-wrapper) < 2.0

- 

- # "natxet/CssMin": "dev-master"

- Requires:       php-composer(natxet/CssMin) >= 3.0.4

- Requires:       php-composer(natxet/CssMin) < 4.0

- 

- # "punic/punic": "1.6.3"

- Requires:       php-composer(punic/punic) >= 1.6.3

- Requires:       php-composer(punic/punic) < 2.0

- 

- # "pear/archive_tar": "1.4.1"

- # archive_tar is in base el7 and doesn't have the fedora php-composer provides

- %if 0%{?el7}

- Requires:       php-pear(Archive_Tar) >= 1.3

- Requires:       php-pear(Archive_Tar) < 2.0

- %else

- Requires:       php-composer(pear/archive_tar) >= 1.4.1

- Requires:       php-composer(pear/archive_tar) < 2.0

- %endif

- 

- # "patchwork/utf8": "1.2.6"

- Requires:       php-composer(patchwork/utf8) >= 1.2.6

- Requires:       php-composer(patchwork/utf8) < 2.0

- 

- # "symfony/console": "2.8.3"

- Requires:       php-composer(symfony/console) >= 2.8.3

- Requires:       php-composer(symfony/console) < 3.0.0

- # "symfony/event-dispatcher": "2.8.3"

- Requires:       php-composer(symfony/event-dispatcher) >= 2.8.3

- Requires:       php-composer(symfony/event-dispatcher) < 3.0.0

- # "symfony/routing": "2.8.1"

- Requires:       php-composer(symfony/routing) >= 2.8.1

- Requires:       php-composer(symfony/routing) < 3.0.0

- # "symfony/process": "2.8.1"

- Requires:       php-composer(symfony/process) >= 2.8.1

- Requires:       php-composer(symfony/process) < 3.0.0

- 

- # "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

- Requires:       php-composer(ircmaxell/password-compat) < 2.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.4.1"

- Requires:       php-composer(icewind/streams) >= 0.4.1

- Requires:       php-composer(icewind/streams) < 1.0

- 

- # "swiftmailer/swiftmailer": "@stable"

- # Version 5.4.1 for autoloader in /usr/share/php

- Requires:       php-composer(swiftmailer/swiftmailer) >= 5.4.1

- Requires:       php-composer(swiftmailer/swiftmailer) < 6.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.3.0

- Requires:       php-composer(guzzlehttp/guzzle) < 6.0

- 

- # "league/flysystem": "1.0.20"

- Requires:       php-composer(league/flysystem) >= 1.0.20

- Requires:       php-composer(league/flysystem) < 2.0

- 

- 

- # "pear/pear-core-minimal": "v1.10.1"

- # this includes pear/console_getopt and pear/PEAR

- %if 0%{?el7}

- Requires:       php-pear(Console_Getopt) > 1.3

- Requires:       php-pear(Console_Getopt) < 2.0

- Requires:       php-pear(PEAR) > 1.9

- %else

- Requires:       php-composer(pear/pear-core-minimal) >= 1.10.1

- %endif

- 

- # "interfasys/lognormalizer": "v1.0"

- Requires:       php-composer(interfasys/lognormalizer) >= 1.0

- Requires:       php-composer(interfasys/lognormalizer) < 2.0

- 

- # "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

- Requires:       php-composer(owncloud/tarstreamer) < 1.0

- 

- # "patchwork/jsqueeze": "^2.0"

- Requires:       php-composer(patchwork/jsqueeze) >= 2.0

- Requires:       php-composer(patchwork/jsqueeze) < 3.0

- 

- # "sabre/dav" : "3.0.9"

- # pulls in sabre event, http and vobject, xml, uri as strict requires

- Requires:       php-composer(sabre/dav)  >= 3.0.9

- 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

- 

- # "lukasreschke/id3parser": "^0.0.1"

- Requires:       php-composer(lukasreschke/id3parser) >= 0.0.1

- Requires:       php-composer(lukasreschke/id3parser) < 1.0.0

- 

- ### For dependencies of apps/files_external

+ Requires:       php-zlib

  

- ## SMB/CIFS external storage stuff

- 

- #"icewind/smb": "1.1.0"

- # note that streams is a dep but already required by core anyway

- Requires:       php-composer(icewind/smb) >= 1.1.0

- Requires:       php-composer(icewind/smb) < 2.0

- # This makes smb external storage usable in performance

- # and doesn't break things like encryption due to timeouts

- Requires:       php-pecl(smbclient) >= 0.8.0

- Requires:       php-pecl(smbclient) < 1.0

- 

- 

- # Requiring so that the shipped external smb storage works

- # The net command is needed and enabling smb tests for smbclient command

- Requires:       samba-common-tools

- Requires:       samba-client

- 

- ## Note these next bits are not listed in composer but manually dropped in place

- 

- ## Dropbox external storage

- Requires:       php-pear(pear.dropbox-php.com/Dropbox)

- 

- ## Google Drive external storage

- ## Note: 1.1.8 has BC breaks

- Requires:       php-composer(google/apiclient) >= 1.1.7

- Requires:       php-composer(google/apiclient) < 1.1.8

- 

- ## AWS S3 external storage

- Requires:       php-composer(aws/aws-sdk-php) >= 2.7.0

- Requires:       php-composer(aws/aws-sdk-php) < 3.0.0

- 

- ## For dependency of apps/gallery

- # "symfony/yaml": "~2.6"

- Requires:       php-composer(symfony/yaml) >= 2.6.0

- Requires:       php-composer(symfony/yaml) < 3.0.0

- 

- ## For dependency of app/user_saml

- # "onelogin/php-saml": "^2.9"

- Requires:       php-composer(onelogin/php-saml) >= 2.9.0

- Requires:       php-composer(onelogin/php-saml) < 3.0.0

+ Requires:       %{name}-webserver = %{version}-%{release}

+ Requires:       %{name}-database = %{version}-%{release}

  

- # Need to label the httpd rw stuff correctly until base selinux policy updated

+ # NOTE: POLICY: Need to label the httpd rw stuff correctly until base selinux policy updated

  Requires(post):   %{_sbindir}/semanage

  Requires(postun): %{_sbindir}/semanage

  

- # Bundled javascript libraries in core vendor

- # State of javascript in fedora right now is too painful to unbundle

- Provides: bundled(js-base64) = 0.3.0

- Provides: bundled(js-blueimp-md5) = 1.1.0

- Provides: bundled(js-bootstrap/tooltip) = 3.3.6

+ # bundled js libs in core/vendor

+ # https://github.com/nextcloud/server/blob/v13.0.0/bower.json

+ # autosize: MIT

+ Provides: bundled(js-autosize) = 3.0.17

+ # backbone: MIT

+ Provides: bundled(js-backbone) = 1.2.3

+ # base64: ASL 2.0

+ Provides: bundled(js-Base64.js) = 0.3.0

+ # blueimp-md5: MIT

+ Provides: bundled(js-blueimp-md5) = 2.7.0

+ # bootstrap: MIT

+ Provides: bundled(js-bootstrap) = 3.3.6

+ # clipboard: MIT

  Provides: bundled(js-clipboard) = 1.5.12

- Provides: bundled(js-davclient)

+ # NOTE: DOMPurify is not in bower.json

+ # DOMPurify: MPLv2.0

+ Provides: bundled(js-DOMPurify) = 1.0.0

+ # davclient.js: MIT

+ Provides: bundled(js-davclient.js) = 0.1.2

+ # es6-promise: MIT

  Provides: bundled(js-es6-promise) = 2.3.0

- Provides: bundled(js-handlebars) = 1.3.0

+ # handlebars: MIT

+ Provides: bundled(js-handlebars) = 4.0.5

+ # jcrop: MIT

  Provides: bundled(js-jcrop) = 0.9.12

- Provides: bundled(js-jquery-ui) = 1.10

+ # jquery: MIT

+ Provides: bundled(js-jquery) = 2.2.0

+ # jquery-migrate: MIT

+ Provides: bundled(js-jquery-migrate) = 1.4.0

+ # jquery-ui: MIT

+ Provides: bundled(js-jquery-ui) = 1.10.0

+ # jsTimezoneDetect: MIT

  Provides: bundled(js-jsTimezoneDetect) = 1.0.6

- Provides: bundled(js-moment) = 2.10.3

+ # marked: MIT

+ Provides: bundled(js-marked) = 0.3.6

+ # moment: MIT

+ Provides: bundled(js-moment) = 2.15.0

+ # select2: MIT

  Provides: bundled(js-select2) = 3.4.8

- Provides: bundled(js-snapjs) = 2.0.0

- Provides: bundled(js-strengthify) = 0.5.1

- Provides: bundled(js-zxcvbn) = gitf2a8cda13d

- Provides: bundled(js-jquery) = 2.1.4

- Provides: bundled(js-jquery-migrate) = 1.4.0

- Provides: bundled(js-backbone) = 1.2.3

- Provides: bundled(js-underscore) = 1.8.3

- # bundled from files_pdfviewer

- Provides: bundled(js-pdfjs) = 1.1.469

- # bundled from files_theming

- Provides: bundled(js-jscolor) = 2.0.4

- # bundled from federatedfilesharing

- Provides: bundled(js-gs-share)

- # bundled from files_texteditor

- Provides: bundled(js-ace)

- # bundled from user_ldap

- Provides: bundled(js-jquery-multiselect) = 1.13

- # bundled from gallery

- Provides: bundled(js-bigshot)

- Provides: bundled(js-commonmark) = 0.22.0

- Provides: bundled(js-dompurify) = 0.7.0

+ # snapjs: MIT

+ Provides: bundled(js-snapjs) = 2.0.0-rc1

+ # strengthify: MIT

+ Provides: bundled(js-strengthify) = 0.5.3

+ # underscore: MIT

+ Provides: bundled(js-underscore) = 1.8.0

+ # zxcvbn: MIT

+ Provides: bundled(js-zxcvbn) = 4.4.2

+ 

+ # js libs bundled in apps/comments/js/vendor

+ # NOTE: no bower.json

+ # At.js: MIT

+ Provides: bundled(js-At.js) = 1.5.4

+ # Caret.js: MIT

+ Provides: bundled(js-Caret.js) = 0.2.2

+ 

+ # js libs bundled in apps/files_pdf_viewer/vendor

+ # NOTE: no bower.json

+ # pdfjs: ASL 2.0

+ Provides: bundled(js-pdfjs) = 1.4.20

+ 

+ # js libs bundled in apps/files_texteditor/js/core/vendor

+ # https://github.com/nextcloud/files_texteditor/blob/v13.0.0/js/bower.json

+ # ace-builds: BSD

+ Provides: bundled(js-ace-builds) = 1.2.8

+ 

+ # js libs bundled in apps/gallery/js/vendor

+ # https://github.com/nextcloud/gallery/blob/v13.0.0/js/bower.json

+ # NOTE: bigshot is not in bower.json

+ # bigshot: ASL 2.0

+ Provides: bundled(js-bigshot) = 0.27.0

+ # commonmark: BSD-2-Clause

+ Provides: bundled(js-commonmark) = 0.27.0

+ # NOTE: DOMPurify is bundled in core as well

+ # DOMPurify: MPLv2.0

+ Provides: bundled(js-dompurify) = 0.8.6

+ # eventsource-polyfill: MIT

  Provides: bundled(js-eventsource-polyfill) = 0.9.7

- Provides: bundled(js-jquery-touchevents) = 1.0.1

+ # github-markdown-css: MIT

+ Provides: bundled(js-github-markdown-css) = 0.1

+ # NOTE:  jquery-touchevents and jqueryui-touch-punch are not in bower.json

+ # jquery-touch-events: MIT

+ Provides: bundled(js-jquery-touch-events) = 1.0.8

+ # jqueryui-touch-punch: MIT

  Provides: bundled(js-jqueryui-touch-punch) = 0.2.3

  

+ # js libs bundled in apps/theming/js/3rdparty

+ # NOTE: no bower.json

+ # jscolor: GPLv3

+ Provides: bundled(js-jscolor) = 2.0.4

+ 

+ # js libs bundled in apps/user_ldap/vendor

+ # NOTE: no bower.json file

+ # jquery-multiselect: MIT

+ Provides: bundled(js-jquery-multiselect) = 1.13

+ 

+ # define %%{phpdir} for convenience

+ %{!?phpdir:  %global phpdir  %{_datadir}/php}

+ 

  %description

  NextCloud gives you universal access to your files through a web interface or

  WebDAV. It also provides a platform to easily view & sync your contacts,
@@ -420,79 +346,64 @@

  

  

  %package httpd

- Summary:    Httpd integration for NextCloud

- 

- Provides:   %{name}-webserver = %{version}-%{release}

- Requires:   %{name} = %{version}-%{release}

- 

- # PHP dependencies

+ Summary:        Httpd integration for NextCloud

+ Provides:       %{name}-webserver = %{version}-%{release}

+ Requires:       %{name} = %{version}-%{release}

  Requires:       php

- 

- %description httpd

+ %description    httpd

  %{summary}.

  

  

- %package nginx

- Summary:    Nginx integration for NextCloud

- 

- Provides:   %{name}-webserver = %{version}-%{release}

- Requires:   %{name} = %{version}-%{release}

- 

- # PHP dependencies

- Requires:   php-fpm nginx

- 

- %description nginx

+ %package        nginx

+ Summary:        Nginx integration for NextCloud

+ Provides:       %{name}-webserver = %{version}-%{release}

+ Requires:       %{name} = %{version}-%{release}

+ Requires:       nginx

+ Requires:       php-fpm

+ %description    nginx

  %{summary}.

  

  

- %package mysql

- Summary:    MySQL database support for NextCloud

- 

- Provides:   %{name}-database = %{version}-%{release}

- Requires:   %{name} = %{version}-%{release}

- 

+ %package        mysql

+ Summary:        MySQL database support for NextCloud

+ Provides:       %{name}-database = %{version}-%{release}

+ Requires:       %{name} = %{version}-%{release}

  # From getSupportedDatabases, mysql => pdo, mysql

- Requires:   php-pdo_mysql

- 

- %description mysql

+ Requires:       php-pdo_mysql

+ %description    mysql

  This package ensures the necessary dependencies are in place for NextCloud to

  work with MySQL / MariaDB databases. It does not require a MySQL / MariaDB

  server to be installed, as you may well wish to use a remote database

  server.

- 

  If you want the database to be on the same system as NextCloud itself, you must

  also install and enable a MySQL / MariaDB server package. See README.mysql for

  more details.

  

- %package postgresql

- Summary:    PostgreSQL database support for NextCloud

- 

- Provides:   %{name}-database = %{version}-%{release}

- Requires:   %{name} = %{version}-%{release}

  

+ %package        postgresql

+ Summary:        PostgreSQL database support for NextCloud

+ Provides:       %{name}-database = %{version}-%{release}

+ Requires:       %{name} = %{version}-%{release}

  # From getSupportedDatabases, pgsql => function, pg_connect

- Requires:   php-pgsql

- 

- %description postgresql

+ Requires:       php-pgsql

+ %description    postgresql

  This package ensures the necessary dependencies are in place for NextCloud to

  work with a PostgreSQL database. It does not require the PostgreSQL server

  package to be installed, as you may well wish to use a remote database

  server.

- 

  If you want the database to be on the same system as NextCloud itself, you must

  also install and enable the PostgreSQL server package. See README.postgresql

  for more details.

  

  

- %package sqlite

- Summary:    SQLite 3 database support for NextCloud

- 

- Provides:   %{name}-database = %{version}-%{release}

- Requires:   %{name} = %{version}-%{release}

+ %package        sqlite

+ Summary:        SQLite 3 database support for NextCloud

+ Provides:       %{name}-database = %{version}-%{release}

+ Requires:       %{name} = %{version}-%{release}

  # From getSupportedDatabases, pgsql => class, SQLite3

- Requires:   php-sqlite3 php-pcre

- 

- %description sqlite

+ Requires:       php-pcre

+ Requires:       php-sqlite3

+ %description    sqlite

  This package ensures the necessary dependencies are in place for NextCloud to

  work with an SQLite 3 database stored on the local system.

  
@@ -500,265 +411,325 @@

  %prep

  %autosetup -n %{name} -p1

  

- # patch backup files and .git stuff

- find . -name \*.orig    -type f        -exec rm    {} \; -print

- find . -name .gitignore -type f        -exec rm    {} \; -print

- find . -name .github    -type d -prune -exec rm -r {} \; -print

+ # remove the updater

+ rm -r updater

  

- # prepare package doc

- cp %{SOURCE3} README.fedora

- cp %{SOURCE4} README.mysql

- cp %{SOURCE5} README.postgresql

- cp %{SOURCE6} MIGRATION.fedora

+ for f in {l10n.pl,image-optimization.sh,rm-old.sh}; do

+     find . -name "$f" -delete

+ done

  

+ # 3rdparty: move files

  mv 3rdparty/composer.json 3rdparty_composer.json

+ mv "3rdparty/LICENSE INFO" NextCloud-3rdparty-LICENSE-INFO

+ mv 3rdparty/patches.txt PATCHES.3rdparty

+ mv 3rdparty/README.md README.3rdparty

+ 

+ # files_external app: move composer.json

  mv apps/files_external/3rdparty/composer.json files_external_composer.json

+ 

+ # gallery app: move composer.json

  mv apps/gallery/composer.json gallery_composer.json

- mv apps/user_saml/3rdparty/composer.json user_saml_composer.json

  

- # Explicitly remove the bundled libraries we're aware of

+ # Locate license files and put them sensibly in place

+ # NOTE: Uncomment once COPYING is included in the deliverable again. Already in master (NC14).

+ #mv COPYING NextCloud-LICENSE

+ mv apps/admin_audit/composer/composer/LICENSE admin_audit-app-LICENSE

+ mv apps/comments/composer/composer/LICENSE comments-app-LICENCE

+ mv apps/dav/composer/composer/LICENSE dav-app-LICENCE

+ mv apps/encryption/composer/composer/LICENSE encryption-app-LICENCE

+ mv apps/federatedfilesharing/composer/composer/LICENSE federatedfilesharing-app-LICENCE

+ mv apps/federation/composer/composer/LICENSE federation-app-LICENSE

+ mv apps/files/composer/composer/LICENSE files-app-LICENSE

+ mv apps/files_pdfviewer/vendor/pdfjs/LICENSE js-pdfjs-LICENSE

+ mv apps/files_pdfviewer/vendor/pdfjs/web/cmaps/LICENSE js-pdfjs-cmaps-LICENSE

+ mv apps/files_sharing/composer/composer/LICENSE files_sharing-app-LICENSE

+ mv apps/files_texteditor/css/DroidSansMono/Google\ Android\ License.txt DroidSansMono-LICENSE

+ mv apps/files_texteditor/js/core/vendor/ace-builds/LICENSE js-ace-builds-LICENSE

+ mv apps/files_trashbin/composer/composer/LICENSE files_trashbin-app-LICENCE

+ mv apps/files_versions/composer/composer/LICENSE files_versions-app-LICENCE

+ mv apps/gallery/COPYING gallery-app-LICENSE

+ mv apps/gallery/js/vendor/bigshot/LICENSE.txt js-bigshot-LICENSE

+ mv apps/gallery/js/vendor/commonmark/LICENSE js-commonmark-LICENSE

+ # NOTE: We only need the DOMPurify license once. It is in core/vendor.

+ rm apps/gallery/js/vendor/dompurify/LICENSE

+ mv apps/gallery/js/vendor/eventsource-polyfill/LICENSE js-eventsource-modify-LICENSE

+ mv apps/lookup_server_connector/composer/composer/LICENSE lookup_server_connector-app-LICENCE

+ mv apps/oauth2/composer/composer/LICENSE oauth2-app-LICENCE

+ mv apps/nextcloud_announcements/COPYING nextcloud_announcements-app-LICENSE

+ mv apps/notifications/COPYING notifications-app-LICENSE

+ mv apps/serverinfo/COPYING serverinfo-app-LICENSE

+ mv apps/survey_client/COPYING survey_client-app-LICENSE

+ mv apps/password_policy/LICENSE password_policy-app-LICENSE

+ mv apps/provisioning_api/composer/composer/LICENSE provisioning_api-app-LICENCE

+ mv apps/sharebymail/composer/composer/LICENSE sharebymail-app-LICENSE

+ mv apps/systemtags/composer/composer/LICENSE systemtags-app-LICENCE

+ mv apps/theming/js/3rdparty/jscolor/LICENSE.txt js-jscolor-LICENSE

+ mv apps/twofactor_backupcodes/composer/composer/LICENSE twofactor_backupcodes-app-LICENCE

+ mv apps/user_ldap/composer/composer/LICENSE user_ldap-app-LICENSE

+ mv apps/user_ldap/vendor/ui-multiselect/MIT-LICENSE js-ui-multiselect-LICENSE

+ mv core/fonts/LICENSE.txt fonts-LICENSE

+ mv core/vendor/autosize/LICENSE.md js-autosize-LICENSE

+ mv core/vendor/backbone/LICENSE js-backbone-LICENSE

+ mv core/vendor/base64/LICENSE js-Base64.js-LICENSE

+ mv core/vendor/davclient.js/LICENSE js-davclient-LICENSE

+ mv core/vendor/DOMPurify/LICENSE js-DOMPurify-LICENSE

+ mv core/vendor/es6-promise/LICENSE js-es6-promise-LICENSE

+ mv core/vendor/jcrop/MIT-LICENSE.txt js-jcrop-LICENSE

+ mv core/vendor/jquery/MIT-LICENSE.txt js-jquery-LICENSE

+ mv core/vendor/jquery-ui/MIT-LICENSE.txt js-jquery-ui-LICENSE

+ mv core/vendor/jsTimezoneDetect/LICENCE.txt js-jsTimezoneDetect-LICENSE

+ mv core/vendor/marked/LICENSE js-marked-LICENSE

+ mv core/vendor/moment/LICENSE js-moment-LICENSE

+ mv core/vendor/select2/LICENSE js-select2-LICENSE

+ mv core/vendor/strengthify/LICENSE js-strengthify-LICENSE

+ mv core/vendor/underscore/LICENSE js-underscore-LICENSE

+ mv core/vendor/zxcvbn/LICENSE.txt js-zxcvbn-LICENSE

+ mv lib/composer/composer/LICENSE composer-LICENSE

+ 

  pushd 3rdparty

- rm -r doctrine/{annotations,cache,collections,common,dbal,inflector,lexer}

- rm -r mcnetic/zipstreamer

- rm -r phpseclib/phpseclib

- rm -r rackspace/php-opencloud guzzle/{http,common,parser,stream}

- rm -r jeremeamia/SuperClosure

+ 

+ # 3rdparty: explicitly remove bundled php libraries

+ # https://github.com/nextcloud/3rdparty/tree/v13.0.0

+ rm -r aws/aws-sdk-php

  rm -r bantu/ini-get-wrapper

+ rm -r deepdiver1975/tarstreamer

+ # rm -r doctrine/{annotations,cache,collections,common,dbal,inflector,lexer}

+ rm -r guzzle/guzzle

+ rm -r guzzlehttp/{guzzle,psr7,promises,ringphp,streams}

+ rm -r icewind/{streams,searchdav}

+ rm -r interfasys/lognormalizer

+ rm -r jeremeamia/SuperClosure

+ rm -r leafo/scssphp

+ rm -r league/flysystem

+ rm -r lukasreschke/id3parser

+ rm -r mcnetic/zipstreamer

+ rm -r mikemccabe/json-patch-php

+ rm -r mtdowling/jmespath.php

  rm -r natxet/CssMin

- rm -r punic/punic

- rm -r pear/archive_tar

- rm -r patchwork/utf8

- rm -r symfony/console

- rm -r symfony/event-dispatcher

- rm -r symfony/routing

- rm -r symfony/process

- rm -r pimple/pimple

- rm -r ircmaxell/password-compat

  rm -r nikic/php-parser

- rm -r icewind/streams

- rm -r swiftmailer/swiftmailer

- rm -r guzzlehttp/{guzzle,ringphp,streams} react/promise

- rm -r league/flysystem

- rm -r pear/{pear-core-minimal,console_getopt,pear_exception}

- rm -r interfasys/lognormalizer

- rm -r deepdiver1975/tarstreamer

- rm -r patchwork/jsqueeze

- rm -r sabre/{dav,event,http,vobject,uri,xml}

- rm -r symfony/polyfill-{php55,php56,php70,mbstring,util}

  rm -r paragonie/random_compat

- rm -r lukasreschke/id3parser

- rm README.md

+ # rm -r patchwork/{jsqueeze,utf8}

+ # NOTE: remove next line once once utf8 is unbundled

+ rm -r patchwork/jsqueeze

+ rm -r pear/{archive_tar,console_getopt,pear-core-minimal,pear_exception}

+ rm -r phpseclib/phpseclib

+ rm -r pimple/pimple

+ rm -r psr/{log,http-message}

+ rm -r punic/punic

+ # rm -r rackspace/php-opencloud

+ # NOTE: remove next line once once php-opencloud is unbundled

+ rm -r rackspace/php-opencloud/docs

+ rm -r react/promise

+ # rm -r sabre/{dav,event,http,uri,vobject,xml}

+ rm -r stecman/symfony-console-completion

+ rm -r swiftmailer/swiftmailer

+ rm -r symfony/{console,debug,event-dispatcher,polyfill-mbstring,polyfill-php70,process,routing,translation}

  

- # remove composer stuff

- rm -r composer*

+ # 3rdparty: remove hidden files from bundled libs

+ find . -name .coveralls.yml -type f        -exec rm    {} \; -print

+ find . -name .drone.yml     -type f        -exec rm    {} \; -print

  

- # clean up any empty directories

- find -type d -empty  -delete

+ # 3rdparty: clean up composer, extraneous files and any empty directories

+ rm -r composer*

+ find -type d -empty -delete

  

- # remove extraneous files now we've cleaned up

- rm "LICENSE INFO" patches.txt

+ # 3rdparty: create autoloader for bundled libs

+ phpab --template fedora --output ./bundled.php .

  

- # add our Fedora autoloader

- cp %{SOURCE8} ./autoload.php

+ # 3rdparty: add our Fedora autoloader

+ cp %{SOURCE10} ./autoload.php

  

  # Set the vendor directory to macro based datadir in our autoloader

- sed -i "s,##DATADIR##,%{_datadir}," autoload.php

- popd

+ sed -i "s,##PHPDIR##,%{phpdir}," autoload.php

  

+ popd

+ pushd apps

  

- # remove files_external bundled libraries

- rm -r 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"

- # include stuff required directly but not in composer too

- 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';

- require_once '%{_datadir}/pear/Dropbox/autoload.php';

- if (file_exists('%{_datadir}/php/Google1/autoload.php')) {

-     require_once '%{_datadir}/php/Google1/autoload.php';

- } else {

-     require_once '%{_datadir}/php/Google/autoload.php';

- }

- require_once '%{_datadir}/php/Aws/autoload.php';

- EOF

+ # let's not ship upstream's 'updatenotification' app

+ rm -dr updatenotification

  

- # remove gallery external bundled libraries

- rm -r apps/gallery/vendor/{symfony,composer*}

- rm    apps/gallery/composer.lock

+ # files_external app: remove bundled php libraries

+ rm -r files_external/3rdparty/{composer*,icewind}

  

- # create autoloader, from composer.json, "require": {

- #                "symfony/yaml": "_2.6"

- cat << 'EOF' | tee apps/gallery/vendor/autoload.php

+ # files_external app: create autoloader

+ # from https://github.com/nextcloud/server/blob/v13.0.0/apps/files_external/3rdparty/composer.json

+ # also include additional deps that are not mentioned in this file

+ cat << 'EOF' | tee files_external/3rdparty/autoload.php

  <?php

- require_once '%{_datadir}/php/Symfony/Component/Yaml/autoload.php';

+ require_once '%{phpdir}/Fedora/Autoloader/autoload.php';

+ \Fedora\Autoloader\Dependencies::required(array(

+     '%{phpdir}/Icewind/Streams/autoload.php',

+     '%{phpdir}/Icewind/SMB2/autoload.php',

+ ));

  EOF

  

- # remove user_saml external bundled libraries

- rm -r apps/user_saml/3rdparty/vendor/{composer*,onelogin}

- rm apps/user_saml/3rdparty/composer.lock

+ # gallery app: remove bundled php libraries and cleanup

+ rm -r gallery/vendor/{composer*,symfony}

+ rm    gallery/composer.lock

+ rm    gallery/build/after_failure.sh

+ rm    gallery/build/documentation/docpublisher.sh

+ rm    gallery/build/xdebug_install.sh

  

- # create autoloader

- cat << 'EOF' | tee apps/user_saml/3rdparty/vendor/autoload.php

+ # gallery app: create autoloader

+ # https://github.com/nextcloud/gallery/blob/v13.0.0/composer.json

+ cat << 'EOF' | tee gallery/vendor/autoload.php

  <?php

- require_once '%{_datadir}/php/OneLogin/Saml2/autoload.php';

+ require_once '%{phpdir}/Fedora/Autoloader/autoload.php';

+ \Fedora\Autoloader\Dependencies::required(array(

+   '%{phpdir}/Symfony3/Component/Yaml/autoload.php',

+ ));

  EOF

  

- # clean up content

- for f in {l10n.pl,init.sh,setup_owncloud.sh,image-optimization.sh,install_dependencies.sh}; do

-     find . -name "$f" -delete

- done

+ # apps: clean up hidden files

+ find . -name .babelrc       -type f        -exec rm    {} \; -print

+ find . -name .bowerrc       -type f        -exec rm    {} \; -print

+ find . -name .gitmodules    -type f        -exec rm    {} \; -print

+ find . -name .gitattributes -type f        -exec rm    {} \; -print

+ find . -name .jshintrc      -type f        -exec rm    {} \; -print

  

- rm ./l10n/rm-old.sh

- rm ./apps/gallery/build/after_failure.sh

- rm ./apps/gallery/build/documentation/docpublisher.sh

- rm ./apps/gallery/build/xdebug_install.sh

+ popd

  

+ # remove backup and hidden files

+ find . -name \*.orig        -type f        -exec rm    {} \; -print

+ find . -name .gitignore     -type f        -exec rm    {} \; -print

+ find . -name .github        -type d -prune -exec rm -r {} \; -print

  find -name '.tx' -print0 | xargs -0 rm -rf

  find -name '.bower.json' -print0 | xargs -0 rm -rf

- 

  find . -size 0 -type f -delete

  

- # let's not ship upstream's 'updatenotification' app, which has zero chance of working and

- # a big chance of blowing things up

- rm -dr apps/updatenotification

- # also remove the actual updater

- rm -r updater

+ # prepare package doc

+ cp %{SOURCE1} README.fedora

+ cp %{SOURCE2} README.mysql

+ cp %{SOURCE3} README.postgresql

+ 

+ 

+ %build

+ # Nothing to build

  

- # Locate license files and put them sensibly in place

- mv apps/files_pdfviewer/vendor/pdfjs/LICENSE js-pdfjs-LICENSE

- mv apps/files_pdfviewer/vendor/pdfjs/web/cmaps/LICENSE js-pdfjs-cmaps-LICENSE

- mv apps/files_retention/LICENSE files_retention-LICENSE

- mv apps/gallery/COPYING gallery-LICENSE

- mv apps/gallery/js/vendor/bigshot/LICENSE.txt js-bigshot-LICENSE

- mv apps/gallery/js/vendor/commonmark/LICENSE js-commonmark-LICENSE

- mv apps/gallery/js/vendor/dompurify/LICENSE js-dompurify-LICENSE

- mv apps/gallery/js/vendor/eventsource-polyfill/LICENSE js-eventsource-polyfill-LICENSE

- mv apps/notifications/COPYING notifications-LICENSE

- mv apps/password_policy/LICENSE password_policy-LICENSE

- mv apps/serverinfo/COPYING serverinfo-LICENSE

- mv apps/survey_client/COPYING survey_client-LICENSE

- mv apps/theming/js/3rdparty/jscolor/LICENSE.txt js-jscolor-LICENSE

- mv apps/user_ldap/vendor/ui-multiselect/MIT-LICENSE js-jqueryui-multiselect-LICENSE

- mv COPYING-AGPL nextcloud-LICENSE

- mv core/fonts/LICENSE.txt fonts-LICENSE

- mv core/vendor/backbone/LICENSE js-backbone-LICENSE

- mv core/vendor/base64/LICENSE js-base64-LICENSE

- mv core/vendor/davclient.js/LICENSE js-davclient-LICENSE

- mv core/vendor/es6-promise/LICENSE js-es6-promise-LICENSE

- mv core/vendor/jcrop/MIT-LICENSE.txt js-jcrop-LICENSE

- mv core/vendor/jquery/MIT-LICENSE.txt js-jquery-LICENSE

- mv core/vendor/jquery-ui/MIT-LICENSE.txt js-jquery-ui-LICENSE

- mv core/vendor/jsTimezoneDetect/LICENCE.txt js-jsTimezoneDetect-LICENSE

- mv core/vendor/moment/LICENSE js-moment-LICENSE

- mv core/vendor/select2/LICENSE js-select2-LICENSE

- mv core/vendor/strengthify/LICENSE js-strengthify-LICENSE

- mv core/vendor/underscore/LICENSE js-underscore-LICENSE

- mv core/vendor/zxcvbn/LICENSE.txt js-zxcvbn-LICENSE

- mv lib/composer/composer/LICENSE composer-LICENSE

  

  %check

- # files_external checks

+ # 3rdparty checks

+ # For debugging the next line can be uncommented

+ ls %{buildroot}%{_datadir}/%{name}/3rdparty

+ nb=$(ls %{buildroot}%{_datadir}/%{name}/3rdparty | wc -l)

+ # NOTE: Without bundled libs 3rdparty should contain just one file (autoload.php)

+ if [ $nb -gt 8  ]; then

+   false core 3rdparty must only have autoload.php

+ fi

+ php %{buildroot}%{_datadir}/%{name}/3rdparty/autoload.php

+ 

+ # files_external/3rdparty checks

+ # For debugging the next line can be uncommented

+ ls %{buildroot}%{_datadir}/%{name}/apps/files_external/3rdparty

  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 | grep -v signature.json; then

     false App files_external needs to be adapted

  fi

- 

  php %{buildroot}%{_datadir}/%{name}/apps/files_external/3rdparty/autoload.php

  

- # gallery checks

+ # gallery/vendor checks

+ # For debugging the next line can be uncommented

+ ls %{buildroot}%{_datadir}/%{name}/apps/gallery/vendor

  nb=$(ls %{buildroot}%{_datadir}/%{name}/apps/gallery/vendor | wc -l)

  if [ $nb -gt 1  ]; then

    false apps/gallery/vendor must only have autoload.php

  fi

- 

  php %{buildroot}%{_datadir}/%{name}/apps/gallery/vendor/autoload.php

  

- # user_saml checks

- nb=$(ls %{buildroot}%{_datadir}/%{name}/apps/user_saml/3rdparty/vendor | wc -l)

- if [ $nb -gt 1  ]; then

-   false apps/user_saml/3rdparty/vendor must only have autoload.php

- fi

- 

- php %{buildroot}%{_datadir}/%{name}/apps/user_saml/3rdparty/vendor/autoload.php

- 

- # core checks

- nb=$(ls %{buildroot}%{_datadir}/%{name}/3rdparty | wc -l)

- if [ $nb -gt 1  ]; then

-   false core 3rdparty must only have autoload.php

- fi

- 

- php %{buildroot}%{_datadir}/%{name}/3rdparty/autoload.php

- 

- # There should not be an composer.json files remaining

+ # NOTE: There should not be more composer.json files than we know of

+ # Apps with composer.json files

+ # There should be 18:

+ # admin_audit

+ # comments

+ # dav

+ # encryption

+ # federatedfilesharing

+ # federation

+ # files

+ # files_sharing

+ # files_trashbin

+ # files_versions

+ # gallery

+ # lookup_server_connector

+ # oauth2

+ # provisioning_api

+ # sharebymail

+ # systemtags

+ # twofactor_backupcodes

+ # user_ldap

+ 

+ # 3rdparty and apps/files_external/3rdparty contain

+ # another 9 composer.json files

+ 

+ # For debugging the next line can be uncommented

+ find -name 'composer.*'

  nb=$(find -name 'composer.*' | wc -l)

- if [ $nb -gt 0 ]

+ 

+ # NOTE: expecting 27 composer.json files

+ if [ $nb -gt 27 ]

    then

    false found unexpected composer.json files

  fi

  

  # Make sure there are no license files left over

- nb=$( find . -mindepth 2 \( -name '*LICENSE*' -o -name '*LICENCE*' -o  -name '*COPYING*' \) | wc -l )

- if [ $nb -gt 0 ]

+ # For debugging the next line can be uncommented

+ find . -mindepth 2 \( -name '*LICENSE*' -o -name '*LICENCE*' -o  -name '*COPYING*' \)

+ nb=$(find . -mindepth 2 \( -name '*LICENSE*' -o -name '*LICENCE*' -o  -name '*COPYING*' \) | wc -l )

+ # NOTE: We have 16 license files in our bundled libs

+ if [ $nb -gt 16 ]

    then

    false found unexpected licenses to verify

  fi

  

  

- %build

- # Nothing to build

- 

- 

  %install

  install -dm 755 %{buildroot}%{_datadir}/%{name}

- 

  # create nextcloud datadir

  mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/data

  # create writable app dir for appstore

  mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/apps

  # create nextcloud sysconfdir

  mkdir -p %{buildroot}%{_sysconfdir}/%{name}

- 

  # install content

  for d in $(find . -mindepth 1 -maxdepth 1 -type d | grep -v config); do

      cp -a "$d" %{buildroot}%{_datadir}/%{name}

  done

- 

- for f in {*.php,*.xml,*.html,occ,robots.txt}; do

+ for f in {*.php,*.html,robots.txt}; do

      install -pm 644 "$f" %{buildroot}%{_datadir}/%{name}

  done

- 

+ install -pm 755 occ %{buildroot}%{_datadir}/%{name}

  # symlink config dir

  ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config

- 

  # nextcloud looks for ca-bundle.crt in config dir

  ln -sf %{_sysconfdir}/pki/tls/certs/ca-bundle.crt %{buildroot}%{_sysconfdir}/%{name}/ca-bundle.crt

- 

  # set default config

- install -pm 644 %{SOURCE7}    %{buildroot}%{_sysconfdir}/%{name}/config.php

- 

+ install -pm 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/%{name}/config.php

+ # Install the systemd timer

+ install -Dpm 644 %{SOURCE20} %{buildroot}%{_unitdir}/nextcloud-cron.service

+ install -Dpm 644 %{SOURCE21} %{buildroot}%{_unitdir}/nextcloud-cron.timer

  # httpd config

- install -Dpm 644 %{SOURCE1} \

+ install -Dpm 644 %{SOURCE100} \

      %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf

- install -Dpm 644 %{SOURCE2} \

+ install -Dpm 644 %{SOURCE101} \

      %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail

- install -Dpm 644 %{SOURCE100} %{SOURCE101} %{SOURCE102} %{SOURCE103} \

-     %{buildroot}%{_sysconfdir}/httpd/conf.d/

- 

+ install -Dpm 644 %{SOURCE102} \

+     %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-auth-any.inc

+ install -Dpm 644 %{SOURCE103} \

+     %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-auth-local.inc

+ install -Dpm 644 %{SOURCE104} \

+     %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-auth-none.inc

+ install -Dpm 644 %{SOURCE105} \

+     %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-defaults.inc

  # nginx config

  install -Dpm 644 %{SOURCE200} \

      %{buildroot}%{_sysconfdir}/nginx/default.d/%{name}.conf

  install -Dpm 644 %{SOURCE201} \

      %{buildroot}%{_sysconfdir}/nginx/conf.d/%{name}.conf

- 

+ # php-fpm config

  %if 0%{?el7}

  install -Dpm 644 %{SOURCE203} \

      %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf
@@ -767,17 +738,14 @@

      %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf

  %endif

  

- # Install the systemd timer

- install -Dpm 644 %{SOURCE10} %{buildroot}%{_unitdir}/nextcloud-cron.service

- install -Dpm 644 %{SOURCE11} %{buildroot}%{_unitdir}/nextcloud-cron.timer

  

  %post httpd

- /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || :

+ %systemd_post httpd.service

+ 

  

  %postun httpd

- if [ $1 -eq 0 ]; then

-   /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || :

- fi

+ %systemd_postun_with_restart httpd.service

+ 

  

  %post nginx

  %if 0%{?el7}
@@ -788,25 +756,24 @@

    fi

    /usr/bin/chown apache /var/lib/php/session

  %endif

-   /usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || :

-   /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || :

+ %systemd_post nginx.service

+ %systemd_post php-fpm.service

+ 

  

  %postun nginx

- if [ $1 -eq 0 ]; then

-   /usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || :

-   /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || :

- fi

+ %systemd_postun_with_restart nginx.service

+ %systemd_postun_with_restart php-fpm.service

+ 

  

- # the selinux policies only cover owncloud right now

- # once this package is accepted pull request for selinux-policy to add

- # these will be made

  %post

+ # TODO: POLICY: upstream fedora selinux policy

  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 || :

  semanage fcontext -a -t httpd_sys_rw_content_t '%{_localstatedir}/lib/%{name}(/.*)?' 2>/dev/null || :

  restorecon -R %{_sysconfdir}/%{name} || :

  restorecon -R %{_localstatedir}/lib/%{name} || :

  

+ 

  %postun

  if [ $1 -eq 0  ] ; then

  semanage fcontext -d -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}/config.php' 2>/dev/null || :
@@ -814,45 +781,57 @@

  semanage fcontext -d -t httpd_sys_rw_content_t '%{_localstatedir}/lib/%{name}(/.*)?' 2>/dev/null || :

  fi

  

+ 

  %files

- %doc AUTHORS README.fedora MIGRATION.fedora config/config.sample.php

+ %license *-LICENSE NextCloud-3rdparty-LICENSE-INFO

+ %doc AUTHORS PATCHES.3rdparty README.3rdparty README.fedora config/config.sample.php

  %doc *_composer.json

- 

- %license *-LICENSE

- 

  %dir %attr(-,apache,apache) %{_sysconfdir}/%{name}

  # contains sensitive data (dbpassword, passwordsalt)

  %config(noreplace) %attr(0600,apache,apache) %{_sysconfdir}/%{name}/config.php

  # need the symlink in confdir but it's not config

  %{_sysconfdir}/%{name}/ca-bundle.crt

- 

  %{_datadir}/%{name}

  %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}

  # user data must not be world readable

  %dir %attr(0750,apache,apache) %{_localstatedir}/lib/%{name}/data

  %attr(-,apache,apache) %{_localstatedir}/lib/%{name}/apps

- 

  %{_unitdir}/nextcloud-cron.service

  %{_unitdir}/nextcloud-cron.timer

  

+ 

  %files httpd

  %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf

  %{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail

  %{_sysconfdir}/httpd/conf.d/*.inc

  

+ 

  %files nginx

  %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

  %doc README.mysql

+ 

+ 

  %files postgresql

  %doc README.postgresql

+ 

+ 

  %files sqlite

  

  

  %changelog

+ * Tue Feb 13 2018 Christian Glombek <christian.glombek@rwth-aachen.de> - 13.0.0-1

+ - Update to 13.0.0

+ - Add Fedora php autoloader

+ - Update dependencies

+ - Switch to maintained, patched fork of ZipStreamer dependency

+ - Bundle patched dependencies while waiting for upstream fixes

+ - Remove old patch files

+ 

  * Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.4-4

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

  

sources
file removed
-1
@@ -1,1 +0,0 @@

- SHA512 (nextcloud-10.0.4.tar.bz2) = 4bb7a760b56088780eee7be83dd4c645703095f8bf11818f3d4cbf52c6636637d8724c3d972df068c54b0d98836ae29cd7c206e6fb5845ee646aeacc098e701d

no initial comment

Add Fedora php autoloader
Update dependencies
Switch to maintained, patched fork of ZipStreamer dependency
Bundle patched dependencies while waiting for upstream fixes
Remove old patch files

can also be reviewed on GitHub: https://github.com/LorbusChris/nextcloud-rpm/pull/3/files

Depends on:
- php-deepdiver-zipstreamer: https://bugzilla.redhat.com/show_bug.cgi?id=1543578
- php-scssphp: https://src.fedoraproject.org/rpms/php-scssphp/pull-request/1

Edit: It also seems that php-icewind-streams 5.2 is not in >f27. I will try and see whether NC13 works with v6. (master/NC14 already depends on it).

Pull-Request has been closed by lorbus

4 years ago
Metadata
Changes Summary 25