From b8487b129645d0c31e3adc708f13b5f35b214f70 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sun, 11 Oct 2020 10:57:31 +0200 Subject: [PATCH 01/45] ignore all source tarballs --- .gitignore | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index cea2aa5..b6e959f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,2 @@ -/nextcloud-10.0.3.tar.bz2 -/nextcloud-10.0.4.tar.bz2 -/nextcloud-18.0.0.tar.bz2 -/nextcloud-18.0.4.tar.bz2 -/nextcloud-19.0.0.tar.bz2 +/nextcloud-*.tar.bz2 +/src From 652d9ca4ae6a8c3a4a2eeb0c6b2a4d1f4ca69f96 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sun, 11 Oct 2020 10:58:39 +0200 Subject: [PATCH 02/45] update to 19.0.3 --- nextcloud.spec | 237 +++++++++++++++++++++++++------------------------ sources | 2 +- 2 files changed, 120 insertions(+), 119 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 81408f6..977386f 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,6 +1,6 @@ Name: nextcloud -Version: 19.0.0 -Release: 2%{?dist} +Version: 19.0.3 +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 @@ -188,144 +188,142 @@ cp %{SOURCE5} README.postgresql cp %{SOURCE6} MIGRATION.fedora # 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/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/user_ldap/vendor/ui-multiselect/MIT-LICENSE js-jqueryui-multiselect-LICENSE -mv COPYING nextcloud-LICENSE - - -mv core/vendor/zxcvbn/LICENSE.txt zxcvbn-LICENSE -mv core/fonts/LICENSE_OFL.txt fonts-LICENSE -mv lib/composer/composer/LICENSE composer-LICENSE -mv 3rdparty/sabre/vobject/LICENSE sabre-LICENSE -mv 3rdparty/sabre/dav/LICENSE sabre-LICENSE -mv 3rdparty/sabre/dav/lib/DAV/Browser/assets/openiconic/ICON-LICENSE sabre-ICON-LICENSE -mv 3rdparty/sabre/event/LICENSE sabre-LICENSE -mv 3rdparty/sabre/http/LICENSE sabre-LICENSE -mv 3rdparty/sabre/xml/LICENSE sabre-LICENSE -mv 3rdparty/sabre/uri/LICENSE sabre-LICENSE -mv 3rdparty/nikic/php-parser/LICENSE nikic-LICENSE +# find all using "find -name '*LICENSE*' -o -name '*COPYING*' | sort" +mv 3rdparty/aws/aws-sdk-php/LICENSE.md aws-LICENSE.md mv 3rdparty/bantu/ini-get-wrapper/LICENSE bantu-LICENSE -mv '3rdparty/LICENSE INFO' 3rdparty-LICENSE_INFO -mv 3rdparty/egulias/email-validator/LICENSE egulias-LICENSE -mv 3rdparty/stecman/symfony-console-completion/LICENCE stecman-LICENCE -mv 3rdparty/jeremeamia/SuperClosure/LICENSE.md jeremeamia-LICENSE -mv 3rdparty/microsoft/azure-storage-blob/LICENSE microsoft-LICENSE -mv 3rdparty/microsoft/azure-storage-common/LICENSE microsoft-LICENSE -mv 3rdparty/justinrainbow/json-schema/LICENSE justinrainbow-LICENSE +mv 3rdparty/beberlei/assert/LICENSE beberlei-LICENSE +mv 3rdparty/christophwurst/id3parser/LICENSE christophwurst-LICENSE +mv 3rdparty/composer/LICENSE composer-LICENSE +mv 3rdparty/deepdiver1975/tarstreamer/LICENSE deepdiver1975-LICENSE +mv 3rdparty/deepdiver/zipstreamer/COPYING deepdiver-COPYING +mv 3rdparty/doctrine/annotations/LICENSE doctrine-LICENSE +mv 3rdparty/doctrine/cache/LICENSE doctrine-LICENSE mv 3rdparty/doctrine/collections/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/event-manager/LICENSE doctrine-LICENSE mv 3rdparty/doctrine/common/LICENSE doctrine-LICENSE +mv 3rdparty/doctrine/dbal/LICENSE doctrine-LICENSE +mv 3rdparty/doctrine/event-manager/LICENSE doctrine-LICENSE +mv 3rdparty/doctrine/inflector/LICENSE doctrine-LICENSE mv 3rdparty/doctrine/persistence/LICENSE doctrine-LICENSE mv 3rdparty/doctrine/reflection/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/inflector/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/cache/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/dbal/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/annotations/LICENSE doctrine-LICENSE -mv 3rdparty/deepdiver/zipstreamer/COPYING deepdiver-COPYING -mv 3rdparty/mtdowling/jmespath.php/LICENSE mtdowling-LICENSE -mv 3rdparty/punic/punic/LICENSE.txt punic-LICENSE.txt -mv 3rdparty/punic/punic/UNICODE-LICENSE.txt punic-UNICODE-LICENSE -mv 3rdparty/christophwurst/id3parser/LICENSE christophwurst-LICENSE -mv 3rdparty/symfony/event-dispatcher-contracts/LICENSE symfony-LICENSE -mv 3rdparty/symfony/process/LICENSE symfony-LICENSE -mv 3rdparty/symfony/event-dispatcher/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-php56/LICENSE symfony-LICENSE -mv 3rdparty/symfony/routing/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-intl-idn/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-iconv/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-mbstring/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-php72/LICENSE symfony-LICENSE -mv 3rdparty/symfony/translation/LICENSE symfony-LICENSE -mv 3rdparty/symfony/console/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-php73/LICENSE symfony-LICENSE -mv 3rdparty/symfony/translation-contracts/LICENSE symfony-LICENSE -mv 3rdparty/symfony/service-contracts/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-util/LICENSE symfony-LICENSE -mv 3rdparty/react/promise/LICENSE react-LICENSE -mv 3rdparty/composer/LICENSE composer-LICENSE -mv 3rdparty/icewind/searchdav/LICENSE icewind-LICENSE -mv 3rdparty/aws/aws-sdk-php/LICENSE.md aws-LICENSE.md -mv 3rdparty/interfasys/lognormalizer/COPYING interfasys-COPYING -mv 3rdparty/php-opencloud/openstack/LICENSE php-opencloud-LICENSE -mv 3rdparty/league/flysystem/LICENSE league-LICENSE -mv 3rdparty/phpseclib/phpseclib/LICENSE phpseclib-LICENSE -mv 3rdparty/deepdiver1975/tarstreamer/LICENSE deepdiver1975-LICENSE -mv 3rdparty/patchwork/jsqueeze/LICENSE.GPLv2 patchwork-LICENSE -mv 3rdparty/patchwork/jsqueeze/LICENSE.ASL20 patchwork-LICENSE -mv 3rdparty/patchwork/utf8/LICENSE-GPL patchwork-LICENSE-GPL -mv 3rdparty/patchwork/utf8/LICENSE-APACHE patchwork-LICENSE-APACHE -mv 3rdparty/guzzlehttp/streams/LICENSE guzzlehttp-LICENSE +mv 3rdparty/egulias/email-validator/LICENSE egulias-LICENSE +mv 3rdparty/fgrosse/phpasn1/LICENSE fgrosse-LICENSE mv 3rdparty/guzzlehttp/guzzle/LICENSE guzzlehttp-LICENSE mv 3rdparty/guzzlehttp/promises/LICENSE guzzlehttp-LICENSE -mv 3rdparty/guzzlehttp/ringphp/LICENSE guzzlehttp-LICENSE mv 3rdparty/guzzlehttp/psr7/LICENSE guzzlehttp-LICENSE -mv 3rdparty/pear/pear_exception/LICENSE pear-LICENSE +mv 3rdparty/guzzlehttp/ringphp/LICENSE guzzlehttp-LICENSE +mv 3rdparty/guzzlehttp/streams/LICENSE guzzlehttp-LICENSE +mv 3rdparty/icewind/searchdav/LICENSE icewind-LICENSE +mv 3rdparty/interfasys/lognormalizer/COPYING interfasys-COPYING +mv 3rdparty/jeremeamia/SuperClosure/LICENSE.md jeremeamia-LICENSE +mv 3rdparty/justinrainbow/json-schema/LICENSE justinrainbow-LICENSE +mv 3rdparty/league/flysystem/LICENSE league-LICENSE +mv 3rdparty/league/uri-components/LICENSE league-LICENSE +mv 3rdparty/league/uri-interfaces/LICENSE league-LICENSE +mv 3rdparty/league/uri/LICENSE league-LICENSE +mv '3rdparty/LICENSE INFO' 3rdparty-LICENSE_INFO +mv 3rdparty/microsoft/azure-storage-blob/LICENSE microsoft-LICENSE +mv 3rdparty/microsoft/azure-storage-common/LICENSE microsoft-LICENSE +mv 3rdparty/mtdowling/jmespath.php/LICENSE mtdowling-LICENSE +mv 3rdparty/nikic/php-parser/LICENSE nikic-LICENSE +mv 3rdparty/paragonie/random_compat/LICENSE paragonie-LICENSE +mv 3rdparty/patchwork/jsqueeze/LICENSE.ASL20 patchwork-LICENSE-APACHE +mv 3rdparty/patchwork/jsqueeze/LICENSE.GPLv2 patchwork-LICENSE-GPL +mv 3rdparty/patchwork/utf8/LICENSE-APACHE patchwork-LICENSE-APACHE +mv 3rdparty/patchwork/utf8/LICENSE-GPL patchwork-LICENSE-GPL mv 3rdparty/pear/console_getopt/LICENSE pear-LICENSE -mv 3rdparty/ralouphie/getallheaders/LICENSE ralouphie-LICENSE -mv 3rdparty/psr/log/LICENSE psr-LICENSE -mv 3rdparty/psr/http-message/LICENSE psr-LICENSE +mv 3rdparty/pear/pear_exception/LICENSE pear-LICENSE +mv 3rdparty/php-http/guzzle6-adapter/LICENSE php-http-LICENSE +mv 3rdparty/php-http/httplug/LICENSE php-http-LICENSE +mv 3rdparty/php-http/promise/LICENSE php-http-LICENSE +mv 3rdparty/php-opencloud/openstack/LICENSE php-opencloud-LICENSE +mv 3rdparty/phpseclib/phpseclib/LICENSE phpseclib-LICENSE mv 3rdparty/psr/container/LICENSE psr-LICENSE +mv 3rdparty/psr/http-client/LICENSE psr-LICENSE +mv 3rdparty/psr/http-factory/LICENSE psr-LICENSE +mv 3rdparty/psr/http-message/LICENSE psr-LICENSE +mv 3rdparty/psr/log/LICENSE psr-LICENSE +mv 3rdparty/punic/punic/LICENSE.txt punic-LICENSE.txt +mv 3rdparty/punic/punic/UNICODE-LICENSE.txt punic-UNICODE-LICENSE +mv 3rdparty/ralouphie/getallheaders/LICENSE ralouphie-LICENSE +mv 3rdparty/ramsey/uuid/LICENSE ramsey-LICENSE +mv 3rdparty/react/promise/LICENSE react-LICENSE +mv 3rdparty/sabre/dav/lib/DAV/Browser/assets/openiconic/ICON-LICENSE sabre-ICON-LICENSE +mv 3rdparty/sabre/dav/LICENSE sabre-LICENSE +mv 3rdparty/sabre/event/LICENSE sabre-LICENSE +mv 3rdparty/sabre/http/LICENSE sabre-LICENSE +mv 3rdparty/sabre/uri/LICENSE sabre-LICENSE +mv 3rdparty/sabre/vobject/LICENSE sabre-LICENSE +mv 3rdparty/sabre/xml/LICENSE sabre-LICENSE +mv 3rdparty/scssphp/scssphp/LICENSE.md scssphp-LICENSE.md +mv 3rdparty/spomky-labs/base64url/LICENSE spomky-labs-LICENSE +mv 3rdparty/spomky-labs/cbor-php/LICENSE spomky-labs-LICENSE +mv 3rdparty/stecman/symfony-console-completion/LICENCE stecman-LICENSE +mv 3rdparty/symfony/console/LICENSE symfony-LICENSE +mv 3rdparty/symfony/event-dispatcher-contracts/LICENSE symfony-LICENSE +mv 3rdparty/symfony/event-dispatcher/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-ctype/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-iconv/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-intl-idn/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-mbstring/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-php56/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-php72/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-php73/LICENSE symfony-LICENSE +mv 3rdparty/symfony/polyfill-util/LICENSE symfony-LICENSE +mv 3rdparty/symfony/process/LICENSE symfony-LICENSE +mv 3rdparty/symfony/routing/LICENSE symfony-LICENSE +mv 3rdparty/symfony/service-contracts/LICENSE symfony-LICENSE +mv 3rdparty/symfony/translation-contracts/LICENSE symfony-LICENSE +mv 3rdparty/symfony/translation/LICENSE symfony-LICENSE mv 3rdparty/web-auth/cose-lib/LICENSE web-auth-LICENSE mv 3rdparty/web-auth/metadata-service/LICENSE web-auth-LICENSE mv 3rdparty/web-auth/webauthn-lib/LICENSE web-auth-LICENSE -mv 3rdparty/spomky-labs/cbor-php/LICENSE spomky-labs-LICENSE -mv 3rdparty/spomky-labs/base64url/LICENSE spomky-labs-LICENSE -mv 3rdparty/php-http/promise/LICENSE php-http-LICENSE -mv 3rdparty/php-http/httplug/LICENSE php-http-LICENSE -mv 3rdparty/php-http/guzzle6-adapter/LICENSE php-http-LICENSE -mv 3rdparty/scssphp/scssphp/LICENSE.md scssphp-LICENSE.md -mv 3rdparty/fgrosse/phpasn1/LICENSE fgrosse-LICENSE -mv 3rdparty/beberlei/assert/LICENSE beberlei-LICENSE -mv 3rdparty/symfony/polyfill-ctype/LICENSE symfony-LICENSE -mv 3rdparty/paragonie/random_compat/LICENSE paragonie-LICENSE -mv 3rdparty/ramsey/uuid/LICENSE ramsey-LICENSE -mv 3rdparty/league/uri-components/LICENSE league-LICENSE -mv 3rdparty/league/uri/LICENSE league-LICENSE -mv 3rdparty/league/uri-interfaces/LICENSE league-LICENSE -mv 3rdparty/psr/http-factory/LICENSE psr-LICENSE -mv 3rdparty/psr/http-client/LICENSE psr-LICENSE +mv apps/accessibility/composer/composer/LICENSE accessibility-LICENSE +mv apps/admin_audit/composer/composer/LICENSE admin_audit-LICENSE +mv apps/cloud_federation_api/composer/composer/LICENSE cloud_federation_api-LICENSE +mv apps/cloud_federation_api/LICENSE cloud_federation_api-LICENSE +mv apps/comments/composer/composer/LICENSE comments-LICENSE mv apps/contactsinteraction/composer/composer/LICENSE contactsinteraction-LICENSE +mv apps/dav/composer/composer/LICENSE dav-LICENSE mv apps/encryption/composer/composer/LICENSE encryption-LICENSE mv apps/federatedfilesharing/composer/composer/LICENSE federatedfilesharing-LICENSE -mv apps/theming/js/3rdparty/jscolor/LICENSE.txt jscolor-LICENSE -mv apps/viewer/COPYING viewer-COPYING -mv apps/workflowengine/composer/composer/LICENSE workflowengine-LICENSE -mv apps/dav/composer/composer/LICENSE dav-LICENSE -mv apps/nextcloud_announcements/COPYING nextcloud_announcements-COPYING -mv apps/files_trashbin/composer/composer/LICENSE files_trashbin-LICENSE -mv apps/photos/COPYING photos-COPYING -mv apps/comments/composer/composer/LICENSE comments-LICENSE -mv apps/files_external/3rdparty/composer/LICENSE files_external-LICENSE -mv apps/files_external/3rdparty/icewind/streams/LICENCE icewind_streams-LICENCE -mv apps/files_external/3rdparty/icewind/smb/LICENSE.txt icewind_smb-LICENSE -mv apps/oauth2/composer/composer/LICENSE oauth2-LICENSE -mv apps/systemtags/composer/composer/LICENSE systemtags-LICENSE -mv apps/accessibility/composer/composer/LICENSE accessibility-LICENSE -mv apps/updatenotification/composer/composer/LICENSE updatenotification-LICENSE -mv apps/cloud_federation_api/LICENSE cloud_federation_api-LICENSE -mv apps/cloud_federation_api/composer/composer/LICENSE cloud_federation_api-LICENSE -mv apps/provisioning_api/composer/composer/LICENSE provisioning_api-LICENSE -mv apps/admin_audit/composer/composer/LICENSE admin_audit-LICENSE -mv apps/files_sharing/composer/composer/LICENSE files_sharing-LICENSE mv apps/federation/composer/composer/LICENSE federation-LICENSE -mv apps/recommendations/LICENSE recommendations-LICENSE -mv apps/settings/composer/composer/LICENSE settings-LICENSE -mv apps/user_ldap/composer/composer/LICENSE user_ldap-LICENSE +mv apps/files/composer/composer/LICENSE files-LICENSE +mv apps/files_external/3rdparty/composer/LICENSE files_external-LICENSE +mv apps/files_external/3rdparty/icewind/smb/LICENSE.txt icewind-smb-LICENSE +mv apps/files_external/3rdparty/icewind/streams/LICENCE icewind-streams-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_rightclick/COPYING files_rightclick-COPYING mv apps/files_rightclick/LICENSE files_rightclick-LICENSE -mv apps/sharebymail/composer/composer/LICENSE sharebymail-LICENSE -mv apps/privacy/COPYING privacy-COPYING +mv apps/files_sharing/composer/composer/LICENSE files_sharing-LICENSE +mv apps/files_trashbin/composer/composer/LICENSE files_trashbin-LICENSE mv apps/files_versions/composer/composer/LICENSE files_versions-LICENSE -mv apps/files/composer/composer/LICENSE files-LICENSE -mv apps/twofactor_backupcodes/composer/composer/LICENSE twofactor_backupcodes-LICENSE mv apps/lookup_server_connector/composer/composer/LICENSE lookup_server_connector-LICENSE +mv apps/nextcloud_announcements/COPYING nextcloud_announcements-COPYING +mv apps/notifications/COPYING notifications-LICENSE +mv apps/oauth2/composer/composer/LICENSE oauth2-LICENSE +mv apps/password_policy/LICENSE password_policy-LICENSE +mv apps/photos/COPYING photos-COPYING +mv apps/privacy/COPYING privacy-COPYING +mv apps/provisioning_api/composer/composer/LICENSE provisioning_api-LICENSE +mv apps/recommendations/LICENSE recommendations-LICENSE +mv apps/serverinfo/COPYING serverinfo-LICENSE +mv apps/settings/composer/composer/LICENSE settings-LICENSE +mv apps/sharebymail/composer/composer/LICENSE sharebymail-LICENSE +mv apps/survey_client/COPYING survey_client-LICENSE +mv apps/systemtags/composer/composer/LICENSE systemtags-LICENSE mv apps/text/COPYING text-COPYING - +mv apps/theming/js/3rdparty/jscolor/LICENSE.txt jscolor-LICENSE +mv apps/twofactor_backupcodes/composer/composer/LICENSE twofactor_backupcodes-LICENSE +mv apps/updatenotification/composer/composer/LICENSE updatenotification-LICENSE +mv apps/user_ldap/composer/composer/LICENSE user_ldap-LICENSE +mv apps/user_ldap/vendor/ui-multiselect/MIT-LICENSE js-jqueryui-multiselect-LICENSE +mv apps/viewer/COPYING viewer-COPYING +mv apps/workflowengine/composer/composer/LICENSE workflowengine-LICENSE +mv COPYING nextcloud-LICENSE +mv core/fonts/LICENSE_OFL.txt fonts-LICENSE +mv core/vendor/zxcvbn/LICENSE.txt zxcvbn-LICENSE +mv lib/composer/composer/LICENSE composer-LICENSE %check @@ -476,6 +474,9 @@ fi %changelog +* Sun Oct 11 2020 Christopher Engelhard - 19.0.3-1 +- Update to Nextcloud 19.0.3 + * Tue Jul 28 2020 Fedora Release Engineering - 19.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index 0f49970..c684454 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nextcloud-19.0.0.tar.bz2) = ac98083887ed59a3cf1003773c46270ba03ad631c4b1ed3608a3de349ecaaf32b9e084307d19bf67956d258fbf7acbe8739f32d34ce07db3c518a9bf5f50aa0d +SHA512 (nextcloud-19.0.3.tar.bz2) = be4f489903ca7f777bda541a706d4c4f16a2a3ce56abc65525f72b0464592571ccdd9f8915457450ce37f90d51c944cab5c75b100433e3db3dcc154362c4d76f From 2e7ec41e7b62ef278b5463c6ce65ec2471d0bdae Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Tue, 10 Nov 2020 19:11:08 +0100 Subject: [PATCH 03/45] Require php-cli for occ command --- nextcloud.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nextcloud.spec b/nextcloud.spec index 977386f..ad3ebcd 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -53,6 +53,8 @@ BuildRequires: php-cli Requires: %{name}-webserver = %{version}-%{release} Requires: %{name}-database = %{version}-%{release} +# Require php CLI for occ command +Requires: php-cli # Core PHP libs/extensions required by OC core Requires: php-curl Requires: php-dom From a3a0ddbdeca408dc24dd46c6e4856b56618c7214 Mon Sep 17 00:00:00 2001 From: Michael S Date: Thu, 5 Nov 2020 15:32:35 +0000 Subject: [PATCH 04/45] Add requires on php-process Without this package, occ refuse to work. # php /usr/share/nextcloud/occ The posix extensions are required - see http://php.net/manual/en/book.posix.php --- nextcloud.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/nextcloud.spec b/nextcloud.spec index ad3ebcd..4b1615b 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -80,6 +80,7 @@ Requires: php-ldap Requires: php-smbclient Requires: php-imap Requires: php-gmp +Requires: php-process Requires: php-pecl-imagick Requires: php-pecl-memcached Requires: php-pecl-apcu From e1ca6fc4ae36da10cffdcbcbb44f29bc52a9b8e1 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Tue, 10 Nov 2020 19:20:27 +0100 Subject: [PATCH 05/45] remove unneccessary BR on php-cli --- nextcloud.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 4b1615b..3eed490 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -46,10 +46,6 @@ BuildRequires: systemd # expand pear macros on install BuildRequires: php-pear -# For sanity %%check -BuildRequires: php-cli - - Requires: %{name}-webserver = %{version}-%{release} Requires: %{name}-database = %{version}-%{release} From dc8e425f6f1be8ccaa7b683aca39a7a4e9232075 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Tue, 10 Nov 2020 11:01:35 +0100 Subject: [PATCH 06/45] add patch to allow updates across multiple versions --- 0000-disable-update-version-check.patch | 20 ++++++++++++++++++++ nextcloud.spec | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 0000-disable-update-version-check.patch diff --git a/0000-disable-update-version-check.patch b/0000-disable-update-version-check.patch new file mode 100644 index 0000000..fa63f39 --- /dev/null +++ b/0000-disable-update-version-check.patch @@ -0,0 +1,20 @@ +diff -Naur a/lib/private/Updater.php b/lib/private/Updater.php +--- a/lib/private/Updater.php 2020-10-24 10:37:44.000000000 +0200 ++++ b/lib/private/Updater.php 2020-11-10 10:51:10.511861549 +0100 +@@ -197,14 +197,11 @@ + } + + if ($currentVendor === 'nextcloud') { +- return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) +- && (version_compare($oldVersion, $newVersion, '<=') || +- $this->config->getSystemValue('debug', false)); ++ return true; + } + + // Check if the instance can be migrated +- return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) || +- isset($allowedPreviousVersions[$currentVendor][$oldVersion]); ++ return true; + } + + /** diff --git a/nextcloud.spec b/nextcloud.spec index 3eed490..0394c39 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -37,6 +37,10 @@ Source8: %{name}-fedora-autoloader.php Source10: %{name}-systemd-timer.service Source11: %{name}-systemd-timer.timer +# Remove updater version check, we know that updates across more than one +# version are possible +Patch00: 0000-disable-update-version-check.patch + BuildArch: noarch # For the systemd macros From 0e9ee4dcd58f8f41e1455e3f1b8111223f11d978 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Tue, 10 Nov 2020 19:19:45 +0100 Subject: [PATCH 07/45] spec cleanup --- nextcloud.spec | 104 +++++++++++++++++++------------------------------ 1 file changed, 39 insertions(+), 65 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 0394c39..4df35ec 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -2,57 +2,47 @@ Name: nextcloud Version: 19.0.3 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 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 +# basic nextcloud config.php, nextcloud's # initial setup will fill out other settings appropriately -Source7: %{name}-config.php - -# Our autoloader for core -Source8: %{name}-fedora-autoloader.php - +Source1: %{name}-config.php # Systemd timer for background jobs -Source10: %{name}-systemd-timer.service -Source11: %{name}-systemd-timer.timer +Source2: %{name}-systemd-timer.service +Source3: %{name}-systemd-timer.timer +# httpd config files +Source100: %{name}-httpd.conf +Source101: %{name}-access-httpd.conf.avail +Source102: %{name}-auth-any.inc +Source103: %{name}-auth-local.inc +Source104: %{name}-auth-none.inc +Source105: %{name}-defaults.inc +# nginx/php-fpm config files +Source200: %{name}-default-nginx.conf +Source201: %{name}-conf-nginx.conf +Source202: %{name}-php-fpm.conf +Source203: %{name}-el7-php-fpm.conf +# packaging notes and doc +Source300: %{name}-README.fedora +Source301: %{name}-mysql.txt +Source302: %{name}-postgresql.txt +Source303: %{name}-MIGRATION.fedora # Remove updater version check, we know that updates across more than one # version are possible -Patch00: 0000-disable-update-version-check.patch +Patch0: 0000-disable-update-version-check.patch BuildArch: noarch - # For the systemd macros -%{?systemd_requires} BuildRequires: systemd - # expand pear macros on install BuildRequires: php-pear +# Require one webserver and database backend Requires: %{name}-webserver = %{version}-%{release} Requires: %{name}-database = %{version}-%{release} - # Require php CLI for occ command Requires: php-cli # Core PHP libs/extensions required by OC core @@ -85,11 +75,12 @@ Requires: php-pecl-imagick Requires: php-pecl-memcached Requires: php-pecl-apcu Requires: php-pecl-redis5 - - # Need to label the httpd rw stuff correctly until base selinux policy updated Requires(post): %{_sbindir}/semanage Requires(postun): %{_sbindir}/semanage +# For systemd support during install/uninstall +%{?systemd_requires} + %description NextCloud gives you universal access to your files through a web interface or @@ -100,11 +91,9 @@ applications and plugins. %package httpd -Summary: Httpd integration for NextCloud - -Provides: %{name}-webserver = %{version}-%{release} -Requires: %{name} = %{version}-%{release} - +Summary: Httpd integration for NextCloud +Provides: %{name}-webserver = %{version}-%{release} +Requires: %{name} = %{version}-%{release} # PHP dependencies Requires: php @@ -114,10 +103,8 @@ Requires: php %package nginx Summary: Nginx integration for NextCloud - Provides: %{name}-webserver = %{version}-%{release} Requires: %{name} = %{version}-%{release} - # PHP dependencies Requires: php-fpm nginx @@ -127,10 +114,8 @@ Requires: php-fpm nginx %package mysql Summary: MySQL database support for NextCloud - Provides: %{name}-database = %{version}-%{release} Requires: %{name} = %{version}-%{release} - # From getSupportedDatabases, mysql => pdo, mysql Requires: php-mysqlnd @@ -146,10 +131,8 @@ more details. %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 @@ -166,11 +149,9 @@ for more details. %package sqlite Summary: SQLite 3 database support for NextCloud - Provides: %{name}-database = %{version}-%{release} Requires: %{name} = %{version}-%{release} # From getSupportedDatabases, pgsql => class, 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. @@ -185,10 +166,10 @@ find . -name .gitignore -type f -exec rm {} \; -print find . -name .github -type d -prune -exec rm -r {} \; -print # prepare package doc -cp %{SOURCE3} README.fedora -cp %{SOURCE4} README.mysql -cp %{SOURCE5} README.postgresql -cp %{SOURCE6} MIGRATION.fedora +cp %{SOURCE300} README.fedora +cp %{SOURCE301} README.mysql +cp %{SOURCE302} README.postgresql +cp %{SOURCE303} MIGRATION.fedora # Locate license files and put them sensibly in place # find all using "find -name '*LICENSE*' -o -name '*COPYING*' | sort" @@ -367,14 +348,12 @@ ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config 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 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/config.php # httpd config -install -Dpm 644 %{SOURCE1} \ +install -Dpm 644 %{SOURCE100} \ %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf -install -Dpm 644 %{SOURCE2} \ - %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail -install -Dpm 644 %{SOURCE100} %{SOURCE101} %{SOURCE102} %{SOURCE103} \ +install -Dpm 644 %{SOURCE101} %{SOURCE102} %{SOURCE103} %{SOURCE104} %{SOURCE105} \ %{buildroot}%{_sysconfdir}/httpd/conf.d/ # nginx config @@ -382,7 +361,6 @@ install -Dpm 644 %{SOURCE200} \ %{buildroot}%{_sysconfdir}/nginx/default.d/%{name}.conf install -Dpm 644 %{SOURCE201} \ %{buildroot}%{_sysconfdir}/nginx/conf.d/%{name}.conf - %if 0%{?el7} install -Dpm 644 %{SOURCE203} \ %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf @@ -392,8 +370,8 @@ install -Dpm 644 %{SOURCE202} \ %endif # Install the systemd timer -install -Dpm 644 %{SOURCE10} %{buildroot}%{_unitdir}/nextcloud-cron.service -install -Dpm 644 %{SOURCE11} %{buildroot}%{_unitdir}/nextcloud-cron.timer +install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/nextcloud-cron.service +install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/nextcloud-cron.timer %post httpd /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : @@ -441,28 +419,24 @@ fi %files %doc AUTHORS README.fedora MIGRATION.fedora config/config.sample.php - %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 +%{_sysconfdir}/httpd/conf.d/%{name}*.inc %files nginx %config(noreplace) %{_sysconfdir}/nginx/default.d/%{name}.conf From d978a92a288058b22fd3ec5937c744788d084b6e Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Tue, 10 Nov 2020 19:41:31 +0100 Subject: [PATCH 08/45] fix wrong conf.avail filename --- nextcloud.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index 4df35ec..75d7e40 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -353,7 +353,9 @@ install -pm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/config.php # httpd config install -Dpm 644 %{SOURCE100} \ %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf -install -Dpm 644 %{SOURCE101} %{SOURCE102} %{SOURCE103} %{SOURCE104} %{SOURCE105} \ +install -Dpm 644 %{SOURCE101} \ + %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail +install -Dpm 644 %{SOURCE102} %{SOURCE103} %{SOURCE104} %{SOURCE105} \ %{buildroot}%{_sysconfdir}/httpd/conf.d/ # nginx config From 08f384f9118c8997ca27f1121a6e013ba320b5d1 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Tue, 10 Nov 2020 19:44:19 +0100 Subject: [PATCH 09/45] fix occ shebang and make it executable --- 0001-mangle-shebang.patch | 9 +++++++++ nextcloud.spec | 7 ++++++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 0001-mangle-shebang.patch diff --git a/0001-mangle-shebang.patch b/0001-mangle-shebang.patch new file mode 100644 index 0000000..5755104 --- /dev/null +++ b/0001-mangle-shebang.patch @@ -0,0 +1,9 @@ +diff -Naur a/occ b/occ +--- a/occ 2020-10-24 10:37:44.000000000 +0200 ++++ b/occ 2020-11-10 19:39:56.523178958 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env php ++#!/usr/bin/php + diff --git a/nextcloud.spec b/nextcloud.spec index 75d7e40..82fa16e 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -33,6 +33,8 @@ Source303: %{name}-MIGRATION.fedora # Remove updater version check, we know that updates across more than one # version are possible Patch0: 0000-disable-update-version-check.patch +# Change occ shebang to /usr/bin/php +Patch1: 0001-mangle-shebang.patch BuildArch: noarch # For the systemd macros @@ -337,10 +339,13 @@ 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,*.html,occ,robots.txt}; do +for f in {*.php,*.html,robots.txt}; do install -pm 644 "$f" %{buildroot}%{_datadir}/%{name} done +# occ should be executable +install -pm 755 occ %{buildroot}%{_datadir}/%{name} + # symlink config dir ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config From be585c98b2254d04018555be8ddd0d20dc413061 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 11 Nov 2020 07:08:54 +0100 Subject: [PATCH 10/45] bump release --- nextcloud.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nextcloud.spec b/nextcloud.spec index 82fa16e..94d851f 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -458,6 +458,11 @@ fi %changelog +* Wed Nov 11 2020 Christopher Engelhard - 19.0.3-2 +- Add dependencies on php-cli (for occ) and php-process (for posix) +- Remove unneeded BR on php-cli +- Add patch to allow updates across more than one major version + * Sun Oct 11 2020 Christopher Engelhard - 19.0.3-1 - Update to Nextcloud 19.0.3 From ef12a8b993ac7213ec0f8a9c9fe10cb811076497 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 11 Nov 2020 07:12:15 +0100 Subject: [PATCH 11/45] bump release --- nextcloud.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index 94d851f..b8f480a 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,6 +1,6 @@ Name: nextcloud Version: 19.0.3 -Release: 1%{?dist} +Release: 2%{?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 URL: http://nextcloud.com From c194a82a22327f7c31b338512a2e66648e25191b Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 11 Nov 2020 09:19:28 +0100 Subject: [PATCH 12/45] add readme --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..9db76d6 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +### Installation, setup & updating + +Nextcloud requires some additional steps after installation/upgrade that are not part of the package update process. After installation/update, visiting your install's website will automatically trigger the internal Nextcloud updater which will take care of these steps. For more details, see this package's documentation files. + +### Other versions + +Nextcloud maintains multiple stable branches at the same time. To install those, check out the [modular nextcloud package](https://src.fedoraproject.org/modules/nextcloud). + +### CentOS/RHEL + +For CentOS/RHEL 8+, nextcloud is available through the [modular repository](https://src.fedoraproject.org/modules/nextcloud). Due to incompatible PHP versions, nextcloud is no longer available for CentOS/RHEL 7 or older. From c04043b51ffb0e886ba55e1a50aa38e998bbc2ed Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 11 Nov 2020 09:31:10 +0100 Subject: [PATCH 13/45] remove el7 support --- nextcloud-el7-php-fpm.conf | 24 ------------------------ nextcloud.spec | 22 ++++++---------------- 2 files changed, 6 insertions(+), 40 deletions(-) delete mode 100644 nextcloud-el7-php-fpm.conf diff --git a/nextcloud-el7-php-fpm.conf b/nextcloud-el7-php-fpm.conf deleted file mode 100644 index 54473ec..0000000 --- a/nextcloud-el7-php-fpm.conf +++ /dev/null @@ -1,24 +0,0 @@ -[nextcloud] -user = apache -group = apache -listen = /run/php-fpm/nextcloud.sock -listen.allowed_clients = 127.0.0.1 -pm = dynamic -pm.max_children = 50 -pm.start_servers = 5 -pm.min_spare_servers = 5 -pm.max_spare_servers = 35 -slowlog = /var/log/php-fpm/nextcloud-slow.log -php_admin_value[error_log] = /var/log/php-fpm/nextcloud-error.log -php_admin_flag[log_errors] = on -php_value[session.save_handler] = files -php_value[session.save_path] = /var/lib/php/session -php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache -php_value[upload_max_filesize] = 10G -php_value[post_max_size] = 10G -env[HOSTNAME] = $HOSTNAME -env[PATH] = /usr/local/bin:/usr/bin:/bin -env[TMP] = /tmp -env[TMPDIR] = /tmp -env[TEMP] = /tmp - diff --git a/nextcloud.spec b/nextcloud.spec index b8f480a..8df9121 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -23,7 +23,6 @@ Source105: %{name}-defaults.inc Source200: %{name}-default-nginx.conf Source201: %{name}-conf-nginx.conf Source202: %{name}-php-fpm.conf -Source203: %{name}-el7-php-fpm.conf # packaging notes and doc Source300: %{name}-README.fedora Source301: %{name}-mysql.txt @@ -38,7 +37,11 @@ Patch1: 0001-mangle-shebang.patch BuildArch: noarch # For the systemd macros +%if 0%{?fedora} > 29 +BuildRequires: systemd-rpm-macros +%else BuildRequires: systemd +%endif # expand pear macros on install BuildRequires: php-pear @@ -368,13 +371,8 @@ install -Dpm 644 %{SOURCE200} \ %{buildroot}%{_sysconfdir}/nginx/default.d/%{name}.conf install -Dpm 644 %{SOURCE201} \ %{buildroot}%{_sysconfdir}/nginx/conf.d/%{name}.conf -%if 0%{?el7} -install -Dpm 644 %{SOURCE203} \ - %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf -%else install -Dpm 644 %{SOURCE202} \ %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf -%endif # Install the systemd timer install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/nextcloud-cron.service @@ -389,16 +387,8 @@ if [ $1 -eq 0 ]; then fi %post nginx -%if 0%{?el7} - # Work around missing php session directory for php-fpm in el7 bz#1338444 - if [ ! -d /var/lib/php/session ] - then - mkdir /var/lib/php/session - fi - /usr/bin/chown apache /var/lib/php/session -%endif - /usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || : - /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : +/usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || : +/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : %postun nginx if [ $1 -eq 0 ]; then From 041d0e715225d28aa404027f5bd63bcf909c5665 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 11 Nov 2020 11:36:40 +0100 Subject: [PATCH 14/45] Update changelog for release nextcloud-19.0.3-2 --- nextcloud.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/nextcloud.spec b/nextcloud.spec index 8df9121..1225fc9 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -452,6 +452,7 @@ fi - Add dependencies on php-cli (for occ) and php-process (for posix) - Remove unneeded BR on php-cli - Add patch to allow updates across more than one major version +- Remove CentOS/RHEL 7 support * Sun Oct 11 2020 Christopher Engelhard - 19.0.3-1 - Update to Nextcloud 19.0.3 From d87c8a90ab93289c69b743162fea11589303571f Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 11 Nov 2020 21:24:30 +0100 Subject: [PATCH 15/45] add tests --- .fmf/version | 1 + plans/base.fmf | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 .fmf/version create mode 100644 plans/base.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/plans/base.fmf b/plans/base.fmf new file mode 100644 index 0000000..346b8e5 --- /dev/null +++ b/plans/base.fmf @@ -0,0 +1,11 @@ +summary: Basic occ functionality +discover: + how: fmf + repository: https://src.fedoraproject.org/tests/nextcloud +prepare: + how: install + package: nextcloud +environment: + PACKAGES: nextcloud +execute: + how: tmt From 02fa3aedad1cdd4de40ce24132ee36c3f8a56a60 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 11 Nov 2020 21:30:03 +0100 Subject: [PATCH 16/45] fix repo url --- plans/base.fmf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plans/base.fmf b/plans/base.fmf index 346b8e5..fc3dea5 100644 --- a/plans/base.fmf +++ b/plans/base.fmf @@ -1,7 +1,7 @@ summary: Basic occ functionality discover: how: fmf - repository: https://src.fedoraproject.org/tests/nextcloud + url: https://src.fedoraproject.org/tests/nextcloud prepare: how: install package: nextcloud From 2e7a28591550c2568cd667eb1b51ef566c3b2c4c Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Thu, 12 Nov 2020 16:09:30 +0100 Subject: [PATCH 17/45] enable gating --- gating.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 gating.yml diff --git a/gating.yml b/gating.yml new file mode 100644 index 0000000..dfb0041 --- /dev/null +++ b/gating.yml @@ -0,0 +1,9 @@ +--- !Policy +product_versions: + - fedora-* + decision_context: + - bodhi_update_push_testing + - bodhi_update_push_stable + subject_type: koji_build + rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} From 3e4a14f93f84628139526b78452d47f673f354a6 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Fri, 13 Nov 2020 14:48:19 +0100 Subject: [PATCH 18/45] update to 19.0.4 --- nextcloud.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 1225fc9..7e83cbf 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,6 +1,6 @@ Name: nextcloud -Version: 19.0.3 -Release: 2%{?dist} +Version: 19.0.4 +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 URL: http://nextcloud.com @@ -448,6 +448,9 @@ fi %changelog +* Fri Nov 13 2020 Christopher Engelhard - 19.0.4-1 +- Update to Nextcloud 19.0.4 + * Wed Nov 11 2020 Christopher Engelhard - 19.0.3-2 - Add dependencies on php-cli (for occ) and php-process (for posix) - Remove unneeded BR on php-cli From 7dbea8c427dcbd95eb9023df6f20b16f3273170e Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Fri, 13 Nov 2020 14:51:10 +0100 Subject: [PATCH 19/45] Upload new sources for 19.0.4 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index c684454..b88294d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nextcloud-19.0.3.tar.bz2) = be4f489903ca7f777bda541a706d4c4f16a2a3ce56abc65525f72b0464592571ccdd9f8915457450ce37f90d51c944cab5c75b100433e3db3dcc154362c4d76f +SHA512 (nextcloud-19.0.4.tar.bz2) = e128397ebe67c70f6ce2846f12f43a4927a1ef48ba69799494f10e7a4481c578239c7f6442b5310d8fba42779b619603e1044bed044b322dce363d3eceaef7a9 From 318055e6d6b4dc6844ccb3d8a1a7444470bedf14 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Thu, 19 Nov 2020 10:17:22 +0100 Subject: [PATCH 20/45] update to 19.0.5 --- nextcloud.spec | 6 +++--- sources | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 7e83cbf..737f71f 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,5 +1,5 @@ Name: nextcloud -Version: 19.0.4 +Version: 19.0.5 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 @@ -448,8 +448,8 @@ fi %changelog -* Fri Nov 13 2020 Christopher Engelhard - 19.0.4-1 -- Update to Nextcloud 19.0.4 +* Thu Nov 19 2020 Christopher Engelhard - 19.0.5-1 +- Update to Nextcloud 19.0.5 * Wed Nov 11 2020 Christopher Engelhard - 19.0.3-2 - Add dependencies on php-cli (for occ) and php-process (for posix) diff --git a/sources b/sources index b88294d..53f6192 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nextcloud-19.0.4.tar.bz2) = e128397ebe67c70f6ce2846f12f43a4927a1ef48ba69799494f10e7a4481c578239c7f6442b5310d8fba42779b619603e1044bed044b322dce363d3eceaef7a9 +SHA512 (nextcloud-19.0.5.tar.bz2) = c7057c353dc50c68d8b2b9afb8dd8d93b1029893438cdbc3fb253e2126c670163dbe60d2afca85899e6abb819b8ea304f5094ffc683b4c6710398c97e93bc152 From 23c6be1a807db001b82779a10d558b22927121da Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Thu, 10 Dec 2020 10:40:35 +0100 Subject: [PATCH 21/45] ignore extracted sources --- .gitignore | 1 + sources | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index b6e959f..832e096 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /nextcloud-*.tar.bz2 +/nextcloud /src diff --git a/sources b/sources index 53f6192..16755ff 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (nextcloud-19.0.5.tar.bz2) = c7057c353dc50c68d8b2b9afb8dd8d93b1029893438cdbc3fb253e2126c670163dbe60d2afca85899e6abb819b8ea304f5094ffc683b4c6710398c97e93bc152 +SHA512 (nextcloud-19.0.6.tar.bz2) = a8b33fb106809fc071399229e8af201d31be85cf28f0ab447a23b77067afe85b093031c15b01d14e811bf82fcfc28c30727ae773f7be9047d10a224b122d2590 From 3c6e71ca8f2af335996325f5b159985a4170bffd Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Thu, 10 Dec 2020 10:41:06 +0100 Subject: [PATCH 22/45] update to 19.0.6 --- nextcloud.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index 737f71f..96186e1 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,5 +1,5 @@ Name: nextcloud -Version: 19.0.5 +Version: 19.0.6 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 @@ -448,6 +448,9 @@ fi %changelog +* Thu Dec 10 2020 Christopher Engelhard - 19.0.6-1 +- Update to Nextcloud 19.0.6 + * Thu Nov 19 2020 Christopher Engelhard - 19.0.5-1 - Update to Nextcloud 19.0.5 From da83379bb68ff676c3f8ad7fbb2fad2359a6b448 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 28 Dec 2020 19:51:58 +0100 Subject: [PATCH 23/45] remove selinux stuff and duplicate deps --- nextcloud.spec | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 96186e1..9606ba6 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -69,8 +69,6 @@ Requires: php-xmlwriter Requires: php-spl Requires: php-zip Requires: php-filter -Requires: php-mysqlnd -Requires: php-pgsql Requires: php-ldap Requires: php-smbclient Requires: php-imap @@ -80,9 +78,6 @@ Requires: php-pecl-imagick Requires: php-pecl-memcached Requires: php-pecl-apcu Requires: php-pecl-redis5 -# Need to label the httpd rw stuff correctly until base selinux policy updated -Requires(post): %{_sbindir}/semanage -Requires(postun): %{_sbindir}/semanage # For systemd support during install/uninstall %{?systemd_requires} @@ -396,24 +391,6 @@ if [ $1 -eq 0 ]; then /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : fi -# 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 -touch '%{_sysconfdir}/%{name}/CAN_INSTALL' -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 || : -semanage fcontext -d -t httpd_sys_rw_content_t '%{_sysconfdir}/%{name}' 2>/dev/null || : -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 From 8cf1cbd70d53347e3efc4e6ca5748674976880b3 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 28 Dec 2020 20:35:36 +0100 Subject: [PATCH 24/45] add helperscript to determine bundled versions --- get-bundled-versions.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 get-bundled-versions.py diff --git a/get-bundled-versions.py b/get-bundled-versions.py new file mode 100755 index 0000000..40fb247 --- /dev/null +++ b/get-bundled-versions.py @@ -0,0 +1,26 @@ +#!/bin/env python + +import os +import json + +for root, dirs, files in os.walk("apps"): + for file in files: + if file == 'composer.lock': + with open(os.path.join(root, file)) as f: + lockdata = json.load(f) + try: + for i in lockdata['packages']: + print("Provides: bundled(php-composer(" + i['name'] + ")) = " + i['version'].strip('v')) + except KeyError: + pass + +for root, dirs, files in os.walk("3rdparty"): + for file in files: + if file == 'composer.lock': + with open(os.path.join(root, file)) as f: + lockdata = json.load(f) + try: + for i in lockdata['packages']: + print("Provides: bundled(php-composer(" + i['name'] + ")) = " + i['version'].strip('v')) + except KeyError: + pass From e10c6838cfa71e6a30926d31b331c6b457706c39 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 28 Dec 2020 21:11:21 +0100 Subject: [PATCH 25/45] add Provides: for bundled libraries --- nextcloud.spec | 102 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/nextcloud.spec b/nextcloud.spec index 9606ba6..80eb408 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -81,6 +81,108 @@ Requires: php-pecl-redis5 # For systemd support during install/uninstall %{?systemd_requires} +# Bundled composer libraries +# many of these can be unbundled +Provides: bundled(php-composer(icewind/smb)) = 3.2.7 +Provides: bundled(php-composer(icewind/streams)) = 0.7.1 +Provides: bundled(php-composer(aws/aws-sdk-php)) = 3.133.27 +Provides: bundled(php-composer(bantu/ini-get-wrapper)) = 1.0.1 +Provides: bundled(php-composer(beberlei/assert)) = 3.2.7 +Provides: bundled(php-composer(christophwurst/id3parser)) = 0.1.1 +Provides: bundled(php-composer(deepdiver/zipstreamer)) = 1.1.1 +Provides: bundled(php-composer(deepdiver1975/tarstreamer)) = 2.0.0 +Provides: bundled(php-composer(doctrine/annotations)) = 1.6.0 +Provides: bundled(php-composer(doctrine/cache)) = 1.8.0 +Provides: bundled(php-composer(doctrine/collections)) = 1.5.0 +Provides: bundled(php-composer(doctrine/common)) = 2.10.0 +Provides: bundled(php-composer(doctrine/dbal)) = 2.9.2 +Provides: bundled(php-composer(doctrine/event-manager)) = 1.0.0 +Provides: bundled(php-composer(doctrine/inflector)) = 1.3.0 +Provides: bundled(php-composer(doctrine/lexer)) = 1.2.0 +Provides: bundled(php-composer(doctrine/persistence)) = 1.1.0 +Provides: bundled(php-composer(doctrine/reflection)) = 1.0.0 +Provides: bundled(php-composer(egulias/email-validator)) = 2.1.11 +Provides: bundled(php-composer(fgrosse/phpasn1)) = 2.1.1 +Provides: bundled(php-composer(guzzlehttp/guzzle)) = 6.5.2 +Provides: bundled(php-composer(guzzlehttp/promises)) = 1.3.1 +Provides: bundled(php-composer(guzzlehttp/psr7)) = 1.6.1 +Provides: bundled(php-composer(guzzlehttp/ringphp)) = 1.1.0 +Provides: bundled(php-composer(guzzlehttp/streams)) = 3.0.0 +Provides: bundled(php-composer(icewind/searchdav)) = 2.0.0 +Provides: bundled(php-composer(icewind/streams)) = 0.7.1 +Provides: bundled(php-composer(interfasys/lognormalizer)) = 1.0 +Provides: bundled(php-composer(jeremeamia/SuperClosure)) = 2.4.0 +Provides: bundled(php-composer(justinrainbow/json-schema)) = 5.2.9 +Provides: bundled(php-composer(league/flysystem)) = 1.0.64 +Provides: bundled(php-composer(league/uri)) = 6.2.1 +Provides: bundled(php-composer(league/uri-components)) = 2.2.1 +Provides: bundled(php-composer(league/uri-interfaces)) = 2.1.0 +Provides: bundled(php-composer(microsoft/azure-storage-blob)) = 1.5.0 +Provides: bundled(php-composer(microsoft/azure-storage-common)) = 1.4.1 +Provides: bundled(php-composer(mtdowling/jmespath.php)) = 2.5.0 +Provides: bundled(php-composer(nikic/php-parser)) = 4.3.0 +Provides: bundled(php-composer(paragonie/random_compat)) = 9.99.99 +Provides: bundled(php-composer(patchwork/jsqueeze)) = 2.0.5 +Provides: bundled(php-composer(patchwork/utf8)) = 1.3.1 +Provides: bundled(php-composer(pear/archive_tar)) = 1.4.9 +Provides: bundled(php-composer(pear/console_getopt)) = 1.4.3 +Provides: bundled(php-composer(pear/pear-core-minimal)) = 1.10.10 +Provides: bundled(php-composer(pear/pear_exception)) = 1.0.1 +Provides: bundled(php-composer(php-http/guzzle6-adapter)) = 2.0.1 +Provides: bundled(php-composer(php-http/httplug)) = 2.1.0 +Provides: bundled(php-composer(php-http/promise)) = 1.0.0 +Provides: bundled(php-composer(php-opencloud/openstack)) = 3.0.7 +Provides: bundled(php-composer(phpseclib/phpseclib)) = 2.0.25 +Provides: bundled(php-composer(pimple/pimple)) = 3.2.3 +Provides: bundled(php-composer(psr/container)) = 1.0.0 +Provides: bundled(php-composer(psr/http-client)) = 1.0.0 +Provides: bundled(php-composer(psr/http-factory)) = 1.0.1 +Provides: bundled(php-composer(psr/http-message)) = 1.0.1 +Provides: bundled(php-composer(psr/log)) = 1.1.0 +Provides: bundled(php-composer(punic/punic)) = 1.6.5 +Provides: bundled(php-composer(ralouphie/getallheaders)) = 3.0.3 +Provides: bundled(php-composer(ramsey/uuid)) = 3.9.3 +Provides: bundled(php-composer(react/promise)) = 2.2.1 +Provides: bundled(php-composer(sabre/dav)) = 4.0.3 +Provides: bundled(php-composer(sabre/event)) = 5.1.0 +Provides: bundled(php-composer(sabre/http)) = 5.1.0 +Provides: bundled(php-composer(sabre/uri)) = 2.2.0 +Provides: bundled(php-composer(sabre/vobject)) = 4.3.0 +Provides: bundled(php-composer(sabre/xml)) = 2.2.3 +Provides: bundled(php-composer(scssphp/scssphp)) = 1.0.3 +Provides: bundled(php-composer(spomky-labs/base64url)) = 2.0.1 +Provides: bundled(php-composer(spomky-labs/cbor-php)) = 1.0.8 +Provides: bundled(php-composer(stecman/symfony-console-completion)) = 0.11.0 +Provides: bundled(php-composer(swiftmailer/swiftmailer)) = 6.2.3 +Provides: bundled(php-composer(symfony/console)) = 4.4.4 +Provides: bundled(php-composer(symfony/event-dispatcher)) = 4.4.4 +Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = 1.1.7 +Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.15.0 +Provides: bundled(php-composer(symfony/polyfill-iconv)) = 1.12.0 +Provides: bundled(php-composer(symfony/polyfill-intl-idn)) = 1.12.0 +Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.14.0 +Provides: bundled(php-composer(symfony/polyfill-php56)) = 1.10.0 +Provides: bundled(php-composer(symfony/polyfill-php72)) = 1.12.0 +Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.13.1 +Provides: bundled(php-composer(symfony/polyfill-util)) = 1.10.0 +Provides: bundled(php-composer(symfony/process)) = 4.4.4 +Provides: bundled(php-composer(symfony/routing)) = 4.4.4 +Provides: bundled(php-composer(symfony/service-contracts)) = 1.1.8 +Provides: bundled(php-composer(symfony/translation)) = 4.4.4 +Provides: bundled(php-composer(symfony/translation-contracts)) = 1.1.7 +Provides: bundled(php-composer(web-auth/cose-lib)) = 3.1.1 +Provides: bundled(php-composer(web-auth/metadata-service)) = 3.1.1 +Provides: bundled(php-composer(web-auth/webauthn-lib)) = 3.1.1 +Provides: bundled(php-composer(doctrine/cache)) = 1.7.1 +Provides: bundled(php-composer(doctrine/event-manager)) = 1.0.0 +# OpenIconic icons bundled via sabre-dav +Provides: bundled(openiconic-fonts) = 1.0.0 +# jscolor bundled via themeing app +Provides: bundled(jscolor) = 2.0.4 +# jquery-ui-multiselect bundled via user_ldap app +Provides: bundled(jquery-ui-multiselect) = 0.3.1 +# zxcvbn bundled via core +Provides: bundled(zxcvbn) = 4.4.2 %description NextCloud gives you universal access to your files through a web interface or From 2b461ef019af7e763fef04f1a56610b4764c7f69 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 28 Dec 2020 21:12:51 +0100 Subject: [PATCH 26/45] specfile formatting --- nextcloud.spec | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 80eb408..9f1482d 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -10,8 +10,8 @@ Source0: https://download.nextcloud.com/server/releases/%{name}-%{version # initial setup will fill out other settings appropriately Source1: %{name}-config.php # Systemd timer for background jobs -Source2: %{name}-systemd-timer.service -Source3: %{name}-systemd-timer.timer +Source2: %{name}-systemd-timer.service +Source3: %{name}-systemd-timer.timer # httpd config files Source100: %{name}-httpd.conf Source101: %{name}-access-httpd.conf.avail @@ -19,7 +19,7 @@ Source102: %{name}-auth-any.inc Source103: %{name}-auth-local.inc Source104: %{name}-auth-none.inc Source105: %{name}-defaults.inc -# nginx/php-fpm config files +# nginx/php-fpm config files Source200: %{name}-default-nginx.conf Source201: %{name}-conf-nginx.conf Source202: %{name}-php-fpm.conf @@ -204,22 +204,22 @@ Requires: php %package nginx -Summary: Nginx integration for NextCloud -Provides: %{name}-webserver = %{version}-%{release} -Requires: %{name} = %{version}-%{release} +Summary: Nginx integration for NextCloud +Provides: %{name}-webserver = %{version}-%{release} +Requires: %{name} = %{version}-%{release} # PHP dependencies -Requires: php-fpm nginx +Requires: php-fpm nginx %description nginx %{summary}. %package mysql -Summary: MySQL database support for NextCloud -Provides: %{name}-database = %{version}-%{release} -Requires: %{name} = %{version}-%{release} +Summary: MySQL database support for NextCloud +Provides: %{name}-database = %{version}-%{release} +Requires: %{name} = %{version}-%{release} # From getSupportedDatabases, mysql => pdo, mysql -Requires: php-mysqlnd +Requires: php-mysqlnd %description mysql This package ensures the necessary dependencies are in place for NextCloud to @@ -232,11 +232,11 @@ 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} +Summary: PostgreSQL database support for NextCloud +Provides: %{name}-database = %{version}-%{release} +Requires: %{name} = %{version}-%{release} # From getSupportedDatabases, pgsql => function, pg_connect -Requires: php-pgsql +Requires: php-pgsql %description postgresql This package ensures the necessary dependencies are in place for NextCloud to @@ -250,9 +250,9 @@ for more details. %package sqlite -Summary: SQLite 3 database support for NextCloud -Provides: %{name}-database = %{version}-%{release} -Requires: %{name} = %{version}-%{release} +Summary: SQLite 3 database support for NextCloud +Provides: %{name}-database = %{version}-%{release} +Requires: %{name} = %{version}-%{release} # From getSupportedDatabases, pgsql => class, SQLite3 %description sqlite This package ensures the necessary dependencies are in place for NextCloud to From cee7d4dcf38cbc4864a0b6d8e1c9ae59525a79b5 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 28 Dec 2020 21:13:43 +0100 Subject: [PATCH 27/45] add dependency for CA cert bundle --- nextcloud.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nextcloud.spec b/nextcloud.spec index 9f1482d..0f6e4f5 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -80,6 +80,8 @@ Requires: php-pecl-apcu Requires: php-pecl-redis5 # For systemd support during install/uninstall %{?systemd_requires} +# the CA cert bundle is linked to from the config dir +Requires: %{_sysconfdir}/pki/tls/certs/ca-bundle.crt # Bundled composer libraries # many of these can be unbundled From f3949451fd1db45102d3ceb0ecae54a305a06b34 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 28 Dec 2020 21:15:19 +0100 Subject: [PATCH 28/45] bump release to 19.0.6-2 --- nextcloud.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index 0f6e4f5..f5319df 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,6 +1,6 @@ Name: nextcloud Version: 19.0.6 -Release: 1%{?dist} +Release: 2%{?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 URL: http://nextcloud.com @@ -529,6 +529,12 @@ fi %changelog +* Mon Dec 28 2020 Christopher Engelhard - 19.0.6-2 +- Remove syslinuc rules, these are part of system policy now +- Remove duplicate dependencies +- Add dependency on CA cert bundle +- Add Provides: for bundled libraries + * Thu Dec 10 2020 Christopher Engelhard - 19.0.6-1 - Update to Nextcloud 19.0.6 From eec585d59e426f8e8ebd3bf86454248c73738284 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Dec 2020 11:03:33 +0100 Subject: [PATCH 29/45] move helper scripts to subfolder --- .../get-bundled-versions.py | 0 utils/get-composer-requires.py | 80 +++++++++++++++++++ 2 files changed, 80 insertions(+) rename get-bundled-versions.py => utils/get-bundled-versions.py (100%) create mode 100755 utils/get-composer-requires.py diff --git a/get-bundled-versions.py b/utils/get-bundled-versions.py similarity index 100% rename from get-bundled-versions.py rename to utils/get-bundled-versions.py diff --git a/utils/get-composer-requires.py b/utils/get-composer-requires.py new file mode 100755 index 0000000..ffd77f9 --- /dev/null +++ b/utils/get-composer-requires.py @@ -0,0 +1,80 @@ +#!/bin/env python + +import os +import json +import re +import subprocess + +defaultconstraint = 2 + +constraintmap = ('any', 'loose', 'strict', 'exact') + +def get_requires(name, version, constraint): + version = version.split('.') + + if constraint == 0: + requires = 'php-composer(' + name + ')' + elif constraint == 1: + wipe = False + for i in range(0, len(version)): + if version[i] == '0' or wipe: + version[i] = '0' + else: + version[i] = str(int(version[i]) + 1) + wipe = True + requires = '(php-composer(' + name + ') >= ' + minver + ' with php-composer(' + name + ') < ' + '.'.join(version) + ')' + elif constraint == 2: + version[-1] = '0' + version[-2] = str(int(version[-2]) + 1) + requires = '(php-composer(' + name + ') >= ' + minver + ' with php-composer(' + name + ') < ' + '.'.join(version) + ')' + else: + requires = 'php-composer(' + name + ') = ' + minver + return requires + +def repoquery(query): + stdout = subprocess.run(['dnf', 'repoquery', '-q', '--whatprovides', requires], stdout=subprocess.PIPE, universal_newlines=True, check = True).stdout + return stdout + + +with open('3rdparty/composer.json') as f: +#with open('apps/files_external/3rdparty/composer.json') as f: + depdata = json.load(f) + for name, version in depdata['require'].items(): + if name == 'php': + continue + print(name, version, ':') + version = version.replace('v', '') + if version == '*': + constraint = 0 + version = '0' + elif version.startswith('^'): + constraint = 1 + version = version.strip('^') + elif version.startswith('~'): + constraint = 2 + version = version.strip('~') + else: + constraint = defaultconstraint + + if re.search('[^.0-9]', version): + print('Unparseable version:', version) + continue + else: + minver = version + + requires = get_requires(name, version, constraint) + print(' Constraint (' + constraintmap[constraint] + '): ' + requires) + + package = repoquery(requires) + while len(package) == 0: + constraint -= 1 + if constraint < 0: + break + requires = get_requires(name, version, constraint) + print(' Constraint (' + constraintmap[constraint] + '): ' + requires) + package = repoquery(requires) + + if len(package) == 0: + print(' -> no providing package found\n') + else: + print(' -> ' + package) From 7ef00939b521266d4fb11e2be7b645c25722d383 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Dec 2020 13:56:40 +0100 Subject: [PATCH 30/45] exclude temporary packaging files from git --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 832e096..099c403 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ /nextcloud-*.tar.bz2 /nextcloud -/src +*.pkgtmp From 3bd55884bedff122a6c0899c33df1fb4448cda1e Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Dec 2020 13:54:10 +0100 Subject: [PATCH 31/45] nicer output, generate .pkgtmp files --- utils/get-composer-requires.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utils/get-composer-requires.py b/utils/get-composer-requires.py index ffd77f9..21ea731 100755 --- a/utils/get-composer-requires.py +++ b/utils/get-composer-requires.py @@ -6,6 +6,7 @@ import re import subprocess defaultconstraint = 2 +excludes = ('php') constraintmap = ('any', 'loose', 'strict', 'exact') @@ -40,7 +41,8 @@ with open('3rdparty/composer.json') as f: #with open('apps/files_external/3rdparty/composer.json') as f: depdata = json.load(f) for name, version in depdata['require'].items(): - if name == 'php': + if name in excludes: + print('Skipping ' + name + ': Excluded') continue print(name, version, ':') version = version.replace('v', '') From 792d4c0a10560b8870058e66f05f4b8b880c19f9 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sat, 16 Jan 2021 13:31:44 +0100 Subject: [PATCH 32/45] Update to 19.0.7 --- nextcloud.spec | 7 +++++-- sources | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index f5319df..f9b3d74 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,6 +1,6 @@ Name: nextcloud -Version: 19.0.6 -Release: 2%{?dist} +Version: 19.0.7 +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 URL: http://nextcloud.com @@ -529,6 +529,9 @@ fi %changelog +* Sat Jan 16 2020 Christopher Engelhard - 19.0.7-1 +- Update to Nextcloud 19.0.7 + * Mon Dec 28 2020 Christopher Engelhard - 19.0.6-2 - Remove syslinuc rules, these are part of system policy now - Remove duplicate dependencies diff --git a/sources b/sources index 16755ff..68493fe 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (nextcloud-19.0.5.tar.bz2) = c7057c353dc50c68d8b2b9afb8dd8d93b1029893438cdbc3fb253e2126c670163dbe60d2afca85899e6abb819b8ea304f5094ffc683b4c6710398c97e93bc152 -SHA512 (nextcloud-19.0.6.tar.bz2) = a8b33fb106809fc071399229e8af201d31be85cf28f0ab447a23b77067afe85b093031c15b01d14e811bf82fcfc28c30727ae773f7be9047d10a224b122d2590 +SHA512 (nextcloud-19.0.7.tar.bz2) = 0a68a4985786a146ea1cc9e8e53319f8dcdf99dfe86b6d80bebb431edbb6c7a629d4bc6ab2c6ca23e7e5a434bb74824bf1b103c801e6ec37ab89b085372ce8e0 From 489fc4674d387d29db2488bdffabacbab9e958f3 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sat, 16 Jan 2021 13:33:51 +0100 Subject: [PATCH 33/45] Fix changelog date --- nextcloud.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index f9b3d74..6f60ded 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -529,7 +529,7 @@ fi %changelog -* Sat Jan 16 2020 Christopher Engelhard - 19.0.7-1 +* Sat Jan 16 2021 Christopher Engelhard - 19.0.7-1 - Update to Nextcloud 19.0.7 * Mon Dec 28 2020 Christopher Engelhard - 19.0.6-2 From 6c8871e39040c29efaa614c4f9b22be4cf56552e Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sat, 20 Feb 2021 14:55:06 +0100 Subject: [PATCH 34/45] Update to 19.0.8 --- nextcloud.spec | 5 ++++- sources | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index 6f60ded..5b4f171 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,5 +1,5 @@ Name: nextcloud -Version: 19.0.7 +Version: 19.0.8 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 @@ -529,6 +529,9 @@ fi %changelog +* Sat Feb 20 2021 Christopher Engelhard - 19.0.8-1 +- Update to Nextcloud 19.0.8 + * Sat Jan 16 2021 Christopher Engelhard - 19.0.7-1 - Update to Nextcloud 19.0.7 diff --git a/sources b/sources index 68493fe..f567acc 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (nextcloud-19.0.7.tar.bz2) = 0a68a4985786a146ea1cc9e8e53319f8dcdf99dfe86b6d80bebb431edbb6c7a629d4bc6ab2c6ca23e7e5a434bb74824bf1b103c801e6ec37ab89b085372ce8e0 +SHA512 (nextcloud-19.0.8.tar.bz2) = 3ba6c639e5e1c833d0a4d7e46d23424c66af22211b39ff78928987c04d8cffb3d3b5fa6d51e8a043ee919dc8ae2eec7dec221512596e2b34703082ab02da0020 From fbb21509736b7fa1aea80a24f62b0c069f0224e6 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sun, 28 Feb 2021 09:14:06 +0100 Subject: [PATCH 35/45] Update to 19.0.9 --- nextcloud.spec | 5 ++++- sources | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 5b4f171..4906539 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,5 +1,5 @@ Name: nextcloud -Version: 19.0.8 +Version: 19.0.9 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 @@ -529,6 +529,9 @@ fi %changelog +* Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 +- Update to Nextcloud 19.0.9 + * Sat Feb 20 2021 Christopher Engelhard - 19.0.8-1 - Update to Nextcloud 19.0.8 diff --git a/sources b/sources index f567acc..62e1dfe 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (nextcloud-19.0.7.tar.bz2) = 0a68a4985786a146ea1cc9e8e53319f8dcdf99dfe86b6d80bebb431edbb6c7a629d4bc6ab2c6ca23e7e5a434bb74824bf1b103c801e6ec37ab89b085372ce8e0 -SHA512 (nextcloud-19.0.8.tar.bz2) = 3ba6c639e5e1c833d0a4d7e46d23424c66af22211b39ff78928987c04d8cffb3d3b5fa6d51e8a043ee919dc8ae2eec7dec221512596e2b34703082ab02da0020 +SHA512 (nextcloud-19.0.9.tar.bz2) = 12c9f3c9938cd37a852008e1490ab892f1adb8b37983cd58fbba7afe0231adaa9fc328c18c15136741eca5f0e2a2048c9cdff17e1ba5d8acc6cc660af99b948d From 3093a3e7ef9c9c28cde0bd8b55d5f27c23a865c1 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Jun 2021 12:08:41 +0200 Subject: [PATCH 36/45] Update to 19.0.12 --- nextcloud.spec | 6 +++++- sources | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 4906539..3f83fe4 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,5 +1,5 @@ Name: nextcloud -Version: 19.0.9 +Version: 19.0.12 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 @@ -529,6 +529,10 @@ fi %changelog +* Wed Jun 30 2021 Christopher Engelhard - 19.0.12-1 +- Update to Nextcloud 19.0.12 +- Fixes CVE CVE-2021-22915 / RHBZ 1977202 + * Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 - Update to Nextcloud 19.0.9 diff --git a/sources b/sources index 62e1dfe..98fb83b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nextcloud-19.0.9.tar.bz2) = 12c9f3c9938cd37a852008e1490ab892f1adb8b37983cd58fbba7afe0231adaa9fc328c18c15136741eca5f0e2a2048c9cdff17e1ba5d8acc6cc660af99b948d +SHA512 (nextcloud-19.0.12.tar.bz2) = 9e182e8b85f62d001b937379bb628a723ecf38701b24f314548feb79c1a4492fcac3a8c1d68b3a2fe9d8c53dacea1915846275820fd48765288743e267c223c4 From 562b90f34ab72f9b55ff36a025284722826ce672 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Jun 2021 12:22:21 +0200 Subject: [PATCH 37/45] Increase PHP memory limit to 512MB (RHBZ 1933529) --- nextcloud-php-fpm.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/nextcloud-php-fpm.conf b/nextcloud-php-fpm.conf index 8314e6c..b626a97 100644 --- a/nextcloud-php-fpm.conf +++ b/nextcloud-php-fpm.conf @@ -15,6 +15,7 @@ php_admin_flag[log_errors] = on php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache +php_value[memory_limit] = 512M php_value[upload_max_filesize] = 10G php_value[post_max_size] = 10G env[HOSTNAME] = $HOSTNAME From 69f6a42a3fdc8b32f714b80f71b5d26351dfc8b7 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Jun 2021 12:26:39 +0200 Subject: [PATCH 38/45] Require php-fpm instead of php in httpd subpackage --- nextcloud.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index 3f83fe4..8575035 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -199,7 +199,7 @@ Summary: Httpd integration for NextCloud Provides: %{name}-webserver = %{version}-%{release} Requires: %{name} = %{version}-%{release} # PHP dependencies -Requires: php +Requires: php-fpm %description httpd %{summary}. From c5c22df6473ee6e748dfa99a4f95ecb2c372c8aa Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Jun 2021 12:36:24 +0200 Subject: [PATCH 39/45] update changelog for httpd/php-fpm --- nextcloud.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 8575035..ad8dc45 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -199,7 +199,7 @@ Summary: Httpd integration for NextCloud Provides: %{name}-webserver = %{version}-%{release} Requires: %{name} = %{version}-%{release} # PHP dependencies -Requires: php-fpm +Requires: php-fpm httpd %description httpd %{summary}. @@ -470,6 +470,8 @@ 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 install -Dpm 644 %{SOURCE202} \ %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf @@ -479,10 +481,12 @@ install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/nextcloud-cron.timer %post httpd /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : +/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : %postun httpd if [ $1 -eq 0 ]; then /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : + /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : fi %post nginx @@ -515,6 +519,7 @@ fi %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf %{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail %{_sysconfdir}/httpd/conf.d/%{name}*.inc +%config(noreplace) %{_sysconfdir}/php-fpm.d/%{name}.conf %files nginx %config(noreplace) %{_sysconfdir}/nginx/default.d/%{name}.conf @@ -531,7 +536,7 @@ fi %changelog * Wed Jun 30 2021 Christopher Engelhard - 19.0.12-1 - Update to Nextcloud 19.0.12 -- Fixes CVE CVE-2021-22915 / RHBZ 1977202 +- Include php-fpm config in httpd subpackage * Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 - Update to Nextcloud 19.0.9 From 0a9822f8e086aa015ebeb1934ba53897c0ba3c2f Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Jun 2021 12:38:52 +0200 Subject: [PATCH 40/45] update changelog for memory limit (RHBZ 1933529) --- nextcloud.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/nextcloud.spec b/nextcloud.spec index ad8dc45..ec40cc4 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -537,6 +537,7 @@ fi * Wed Jun 30 2021 Christopher Engelhard - 19.0.12-1 - Update to Nextcloud 19.0.12 - Include php-fpm config in httpd subpackage +- Set php memory limit to 512MB (RHBZ 1933529) * Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 - Update to Nextcloud 19.0.9 From ad6013365318819f7c9446369feacec8f47e835f Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Jun 2021 12:44:02 +0200 Subject: [PATCH 41/45] Add Referrer-Policy no-referrer always (RHBZ 1933530) --- nextcloud-default-nginx.conf | 1 + nextcloud.spec | 1 + 2 files changed, 2 insertions(+) diff --git a/nextcloud-default-nginx.conf b/nextcloud-default-nginx.conf index 77d3efe..7151521 100644 --- a/nextcloud-default-nginx.conf +++ b/nextcloud-default-nginx.conf @@ -12,6 +12,7 @@ add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; + add_header Referrer-Policy no-referrer always; # set max upload size diff --git a/nextcloud.spec b/nextcloud.spec index ec40cc4..2305a85 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -538,6 +538,7 @@ fi - Update to Nextcloud 19.0.12 - Include php-fpm config in httpd subpackage - Set php memory limit to 512MB (RHBZ 1933529) +- Add Referrer-policy no-referrer to nginx config (RHBZ 1933530) * Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 - Update to Nextcloud 19.0.9 From bea378a683633e7e417b92137d61e3dcbcf11805 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Wed, 30 Jun 2021 13:39:51 +0200 Subject: [PATCH 42/45] add RHBZ number to changelog --- nextcloud.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextcloud.spec b/nextcloud.spec index 2305a85..96ef750 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -535,7 +535,7 @@ fi %changelog * Wed Jun 30 2021 Christopher Engelhard - 19.0.12-1 -- Update to Nextcloud 19.0.12 +- Update to Nextcloud 19.0.12, fixes CVE-2021-22915 (RHBZ 1977202) - Include php-fpm config in httpd subpackage - Set php memory limit to 512MB (RHBZ 1933529) - Add Referrer-policy no-referrer to nginx config (RHBZ 1933530) From 13f2637da0c1bae05f28917bd1bf3f2028866397 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 12 Jul 2021 19:59:35 +0200 Subject: [PATCH 43/45] convert to rpmautospec --- changelog | 106 +++++++++++++++++++++++++++++++++++++++++++++++ nextcloud.spec | 109 +------------------------------------------------ 2 files changed, 108 insertions(+), 107 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..a8107b4 --- /dev/null +++ b/changelog @@ -0,0 +1,106 @@ +* Wed Jun 30 2021 Christopher Engelhard - 19.0.12-1 +- Update to Nextcloud 19.0.12, fixes CVE-2021-22915 (RHBZ 1977202) +- Include php-fpm config in httpd subpackage +- Set php memory limit to 512MB (RHBZ 1933529) +- Add Referrer-policy no-referrer to nginx config (RHBZ 1933530) + +* Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 +- Update to Nextcloud 19.0.9 + +* Sat Feb 20 2021 Christopher Engelhard - 19.0.8-1 +- Update to Nextcloud 19.0.8 + +* Sat Jan 16 2021 Christopher Engelhard - 19.0.7-1 +- Update to Nextcloud 19.0.7 + +* Mon Dec 28 2020 Christopher Engelhard - 19.0.6-2 +- Remove syslinuc rules, these are part of system policy now +- Remove duplicate dependencies +- Add dependency on CA cert bundle +- Add Provides: for bundled libraries + +* Thu Dec 10 2020 Christopher Engelhard - 19.0.6-1 +- Update to Nextcloud 19.0.6 + +* Thu Nov 19 2020 Christopher Engelhard - 19.0.5-1 +- Update to Nextcloud 19.0.5 + +* Wed Nov 11 2020 Christopher Engelhard - 19.0.3-2 +- Add dependencies on php-cli (for occ) and php-process (for posix) +- Remove unneeded BR on php-cli +- Add patch to allow updates across more than one major version +- Remove CentOS/RHEL 7 support + +* Sun Oct 11 2020 Christopher Engelhard - 19.0.3-1 +- Update to Nextcloud 19.0.3 + +* Tue Jul 28 2020 Fedora Release Engineering - 19.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jun 28 2020 Ivan Chavero - 19.0.0-1 +- Update to Nextcloud 19.0.0 +- Update licenses + +* Thu Apr 30 2020 Ivan Chavero - 18.0.4-1 +- Update to Nextcloud 18.0.4 + +* Sat Feb 08 2020 Ivan Chavero - 18.0.0-1 +- Refactor spec file +- Update to Nextcoud 18.0.0 + +* Wed Jan 29 2020 Fedora Release Engineering - 10.0.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 10.0.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 10.0.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 9 2019 Remi Collet - 10.0.4-6 +- drop dependency on php-password-compat #1658730 +- allow php-smbclient 1.0.0 #1663672 +- allow doctrine/dbal 2.x + +* Fri Jul 13 2018 Fedora Release Engineering - 10.0.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 10.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 10.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Mar 25 2017 Shawn Iwinski - 10.0.4-2 +- Add max versions to dependencies to limit each to 1 major version +- Update some dependencies to use php-composer(*) instead of package names +- Prepare for php-composer(google/apiclient) version 2 and new version 1 package + +* Tue Feb 28 2017 James Hogarth - 10.0.4-1 +- update to 10.0.4 +- Add migration from owncloud documentation +- Add systemd timer for background jobs + +* Wed Feb 08 2017 James Hogarth - 10.0.3-1 +- update to 10.0.3 + +* Thu Oct 06 2016 James Hogarth - 10.0.1-1 +- update to 10.0.1 + +* Mon Aug 01 2016 James Hogarth - 9.0.53-5 +- Use lua to have a common srpm between epel7 and fedora + +* Fri Jul 29 2016 James Hogarth - 9.0.53-4 +- Don't unbundle javascript on EPEL7 due to versioning issues + +* Fri Jul 29 2016 James Hogarth - 9.0.53-3 +- Unbundle javascript libraries from core where possible + +* Tue Jul 26 2016 James Hogarth - 9.0.53-2 +- Update the autoloader to use the path from the approved package + +* Tue Jul 19 2016 James Hogarth - 9.0.53-1 +- New release 9.0.53 + +* Thu Jul 14 2016 James Hogarth - 9.0.52-1 +- Initial nextcloud build diff --git a/nextcloud.spec b/nextcloud.spec index 96ef750..2dcfbf8 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,6 +1,6 @@ Name: nextcloud Version: 19.0.12 -Release: 1%{?dist} +Release: %autorelease 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 URL: http://nextcloud.com @@ -534,109 +534,4 @@ fi %changelog -* Wed Jun 30 2021 Christopher Engelhard - 19.0.12-1 -- Update to Nextcloud 19.0.12, fixes CVE-2021-22915 (RHBZ 1977202) -- Include php-fpm config in httpd subpackage -- Set php memory limit to 512MB (RHBZ 1933529) -- Add Referrer-policy no-referrer to nginx config (RHBZ 1933530) - -* Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 -- Update to Nextcloud 19.0.9 - -* Sat Feb 20 2021 Christopher Engelhard - 19.0.8-1 -- Update to Nextcloud 19.0.8 - -* Sat Jan 16 2021 Christopher Engelhard - 19.0.7-1 -- Update to Nextcloud 19.0.7 - -* Mon Dec 28 2020 Christopher Engelhard - 19.0.6-2 -- Remove syslinuc rules, these are part of system policy now -- Remove duplicate dependencies -- Add dependency on CA cert bundle -- Add Provides: for bundled libraries - -* Thu Dec 10 2020 Christopher Engelhard - 19.0.6-1 -- Update to Nextcloud 19.0.6 - -* Thu Nov 19 2020 Christopher Engelhard - 19.0.5-1 -- Update to Nextcloud 19.0.5 - -* Wed Nov 11 2020 Christopher Engelhard - 19.0.3-2 -- Add dependencies on php-cli (for occ) and php-process (for posix) -- Remove unneeded BR on php-cli -- Add patch to allow updates across more than one major version -- Remove CentOS/RHEL 7 support - -* Sun Oct 11 2020 Christopher Engelhard - 19.0.3-1 -- Update to Nextcloud 19.0.3 - -* Tue Jul 28 2020 Fedora Release Engineering - 19.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sun Jun 28 2020 Ivan Chavero - 19.0.0-1 -- Update to Nextcloud 19.0.0 -- Update licenses - -* Thu Apr 30 2020 Ivan Chavero - 18.0.4-1 -- Update to Nextcloud 18.0.4 - -* Sat Feb 08 2020 Ivan Chavero - 18.0.0-1 -- Refactor spec file -- Update to Nextcoud 18.0.0 - -* Wed Jan 29 2020 Fedora Release Engineering - 10.0.4-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 10.0.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 10.0.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 9 2019 Remi Collet - 10.0.4-6 -- drop dependency on php-password-compat #1658730 -- allow php-smbclient 1.0.0 #1663672 -- allow doctrine/dbal 2.x - -* Fri Jul 13 2018 Fedora Release Engineering - 10.0.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Feb 08 2018 Fedora Release Engineering - 10.0.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 10.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Mar 25 2017 Shawn Iwinski - 10.0.4-2 -- Add max versions to dependencies to limit each to 1 major version -- Update some dependencies to use php-composer(*) instead of package names -- Prepare for php-composer(google/apiclient) version 2 and new version 1 package - -* Tue Feb 28 2017 James Hogarth - 10.0.4-1 -- update to 10.0.4 -- Add migration from owncloud documentation -- Add systemd timer for background jobs - -* Wed Feb 08 2017 James Hogarth - 10.0.3-1 -- update to 10.0.3 - -* Thu Oct 06 2016 James Hogarth - 10.0.1-1 -- update to 10.0.1 - -* Mon Aug 01 2016 James Hogarth - 9.0.53-5 -- Use lua to have a common srpm between epel7 and fedora - -* Fri Jul 29 2016 James Hogarth - 9.0.53-4 -- Don't unbundle javascript on EPEL7 due to versioning issues - -* Fri Jul 29 2016 James Hogarth - 9.0.53-3 -- Unbundle javascript libraries from core where possible - -* Tue Jul 26 2016 James Hogarth - 9.0.53-2 -- Update the autoloader to use the path from the approved package - -* Tue Jul 19 2016 James Hogarth - 9.0.53-1 -- New release 9.0.53 - -* Thu Jul 14 2016 James Hogarth - 9.0.52-1 -- Initial nextcloud build +%autochangelog From 8ae4e5b5d0065eaeac5c4e533a8ea84a28de5ec7 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Mon, 12 Jul 2021 20:06:31 +0200 Subject: [PATCH 44/45] Update to 19.0.13; Fixes RHBZ#1981503; Fixes RHBZ#1981505 --- nextcloud.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nextcloud.spec b/nextcloud.spec index 2dcfbf8..67e1939 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,5 +1,5 @@ Name: nextcloud -Version: 19.0.12 +Version: 19.0.13 Release: %autorelease 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 diff --git a/sources b/sources index 98fb83b..3c3a758 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nextcloud-19.0.12.tar.bz2) = 9e182e8b85f62d001b937379bb628a723ecf38701b24f314548feb79c1a4492fcac3a8c1d68b3a2fe9d8c53dacea1915846275820fd48765288743e267c223c4 +SHA512 (nextcloud-19.0.13.tar.bz2) = fd144a0d42617b33388bf1127673adb2e523ef04804021ac90e8e679abcb61d839dcba61270108c8ac62093712e6bffcb83a1caef0c810598a108a57d8bd85d9 From 4b210507d77c367fe43c0c4c8e1f1e63e438c7e0 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sun, 31 Jul 2022 18:52:34 +0200 Subject: [PATCH 45/45] Nextcloud 19 is EOLed upstream and no longer supported --- .fmf/version | 1 - .gitignore | 3 - 0000-disable-update-version-check.patch | 20 - 0001-mangle-shebang.patch | 9 - README.md | 11 - changelog | 106 ----- dead.package | 1 + gating.yml | 9 - nextcloud-MIGRATION.fedora | 165 -------- nextcloud-README.fedora | 118 ------ nextcloud-access-httpd.conf.avail | 24 -- nextcloud-auth-any.inc | 12 - nextcloud-auth-local.inc | 14 - nextcloud-auth-none.inc | 12 - nextcloud-conf-nginx.conf | 4 - nextcloud-config.php | 26 -- nextcloud-default-nginx.conf | 82 ---- nextcloud-defaults.inc | 73 ---- nextcloud-fedora-autoloader.php | 70 --- nextcloud-httpd.conf | 50 --- nextcloud-mysql.txt | 28 -- nextcloud-php-fpm.conf | 26 -- nextcloud-postgresql.txt | 43 -- nextcloud-systemd-timer.service | 8 - nextcloud-systemd-timer.timer | 10 - nextcloud.spec | 537 ------------------------ plans/base.fmf | 11 - sources | 1 - utils/get-bundled-versions.py | 26 -- utils/get-composer-requires.py | 82 ---- 30 files changed, 1 insertion(+), 1581 deletions(-) delete mode 100644 .fmf/version delete mode 100644 .gitignore delete mode 100644 0000-disable-update-version-check.patch delete mode 100644 0001-mangle-shebang.patch delete mode 100644 README.md delete mode 100644 changelog create mode 100644 dead.package delete mode 100644 gating.yml delete mode 100644 nextcloud-MIGRATION.fedora delete mode 100644 nextcloud-README.fedora delete mode 100644 nextcloud-access-httpd.conf.avail delete mode 100644 nextcloud-auth-any.inc delete mode 100644 nextcloud-auth-local.inc delete mode 100644 nextcloud-auth-none.inc delete mode 100644 nextcloud-conf-nginx.conf delete mode 100644 nextcloud-config.php delete mode 100644 nextcloud-default-nginx.conf delete mode 100644 nextcloud-defaults.inc delete mode 100644 nextcloud-fedora-autoloader.php delete mode 100644 nextcloud-httpd.conf delete mode 100644 nextcloud-mysql.txt delete mode 100644 nextcloud-php-fpm.conf delete mode 100644 nextcloud-postgresql.txt delete mode 100644 nextcloud-systemd-timer.service delete mode 100644 nextcloud-systemd-timer.timer delete mode 100644 nextcloud.spec delete mode 100644 plans/base.fmf delete mode 100644 sources delete mode 100755 utils/get-bundled-versions.py delete mode 100755 utils/get-composer-requires.py diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 099c403..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/nextcloud-*.tar.bz2 -/nextcloud -*.pkgtmp diff --git a/0000-disable-update-version-check.patch b/0000-disable-update-version-check.patch deleted file mode 100644 index fa63f39..0000000 --- a/0000-disable-update-version-check.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -Naur a/lib/private/Updater.php b/lib/private/Updater.php ---- a/lib/private/Updater.php 2020-10-24 10:37:44.000000000 +0200 -+++ b/lib/private/Updater.php 2020-11-10 10:51:10.511861549 +0100 -@@ -197,14 +197,11 @@ - } - - if ($currentVendor === 'nextcloud') { -- return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) -- && (version_compare($oldVersion, $newVersion, '<=') || -- $this->config->getSystemValue('debug', false)); -+ return true; - } - - // Check if the instance can be migrated -- return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) || -- isset($allowedPreviousVersions[$currentVendor][$oldVersion]); -+ return true; - } - - /** diff --git a/0001-mangle-shebang.patch b/0001-mangle-shebang.patch deleted file mode 100644 index 5755104..0000000 --- a/0001-mangle-shebang.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -Naur a/occ b/occ ---- a/occ 2020-10-24 10:37:44.000000000 +0200 -+++ b/occ 2020-11-10 19:39:56.523178958 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/env php -+#!/usr/bin/php - diff --git a/README.md b/README.md deleted file mode 100644 index 9db76d6..0000000 --- a/README.md +++ /dev/null @@ -1,11 +0,0 @@ -### Installation, setup & updating - -Nextcloud requires some additional steps after installation/upgrade that are not part of the package update process. After installation/update, visiting your install's website will automatically trigger the internal Nextcloud updater which will take care of these steps. For more details, see this package's documentation files. - -### Other versions - -Nextcloud maintains multiple stable branches at the same time. To install those, check out the [modular nextcloud package](https://src.fedoraproject.org/modules/nextcloud). - -### CentOS/RHEL - -For CentOS/RHEL 8+, nextcloud is available through the [modular repository](https://src.fedoraproject.org/modules/nextcloud). Due to incompatible PHP versions, nextcloud is no longer available for CentOS/RHEL 7 or older. diff --git a/changelog b/changelog deleted file mode 100644 index a8107b4..0000000 --- a/changelog +++ /dev/null @@ -1,106 +0,0 @@ -* Wed Jun 30 2021 Christopher Engelhard - 19.0.12-1 -- Update to Nextcloud 19.0.12, fixes CVE-2021-22915 (RHBZ 1977202) -- Include php-fpm config in httpd subpackage -- Set php memory limit to 512MB (RHBZ 1933529) -- Add Referrer-policy no-referrer to nginx config (RHBZ 1933530) - -* Sun Feb 28 2021 Christopher Engelhard - 19.0.9-1 -- Update to Nextcloud 19.0.9 - -* Sat Feb 20 2021 Christopher Engelhard - 19.0.8-1 -- Update to Nextcloud 19.0.8 - -* Sat Jan 16 2021 Christopher Engelhard - 19.0.7-1 -- Update to Nextcloud 19.0.7 - -* Mon Dec 28 2020 Christopher Engelhard - 19.0.6-2 -- Remove syslinuc rules, these are part of system policy now -- Remove duplicate dependencies -- Add dependency on CA cert bundle -- Add Provides: for bundled libraries - -* Thu Dec 10 2020 Christopher Engelhard - 19.0.6-1 -- Update to Nextcloud 19.0.6 - -* Thu Nov 19 2020 Christopher Engelhard - 19.0.5-1 -- Update to Nextcloud 19.0.5 - -* Wed Nov 11 2020 Christopher Engelhard - 19.0.3-2 -- Add dependencies on php-cli (for occ) and php-process (for posix) -- Remove unneeded BR on php-cli -- Add patch to allow updates across more than one major version -- Remove CentOS/RHEL 7 support - -* Sun Oct 11 2020 Christopher Engelhard - 19.0.3-1 -- Update to Nextcloud 19.0.3 - -* Tue Jul 28 2020 Fedora Release Engineering - 19.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sun Jun 28 2020 Ivan Chavero - 19.0.0-1 -- Update to Nextcloud 19.0.0 -- Update licenses - -* Thu Apr 30 2020 Ivan Chavero - 18.0.4-1 -- Update to Nextcloud 18.0.4 - -* Sat Feb 08 2020 Ivan Chavero - 18.0.0-1 -- Refactor spec file -- Update to Nextcoud 18.0.0 - -* Wed Jan 29 2020 Fedora Release Engineering - 10.0.4-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 10.0.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 10.0.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 9 2019 Remi Collet - 10.0.4-6 -- drop dependency on php-password-compat #1658730 -- allow php-smbclient 1.0.0 #1663672 -- allow doctrine/dbal 2.x - -* Fri Jul 13 2018 Fedora Release Engineering - 10.0.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Feb 08 2018 Fedora Release Engineering - 10.0.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 10.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Mar 25 2017 Shawn Iwinski - 10.0.4-2 -- Add max versions to dependencies to limit each to 1 major version -- Update some dependencies to use php-composer(*) instead of package names -- Prepare for php-composer(google/apiclient) version 2 and new version 1 package - -* Tue Feb 28 2017 James Hogarth - 10.0.4-1 -- update to 10.0.4 -- Add migration from owncloud documentation -- Add systemd timer for background jobs - -* Wed Feb 08 2017 James Hogarth - 10.0.3-1 -- update to 10.0.3 - -* Thu Oct 06 2016 James Hogarth - 10.0.1-1 -- update to 10.0.1 - -* Mon Aug 01 2016 James Hogarth - 9.0.53-5 -- Use lua to have a common srpm between epel7 and fedora - -* Fri Jul 29 2016 James Hogarth - 9.0.53-4 -- Don't unbundle javascript on EPEL7 due to versioning issues - -* Fri Jul 29 2016 James Hogarth - 9.0.53-3 -- Unbundle javascript libraries from core where possible - -* Tue Jul 26 2016 James Hogarth - 9.0.53-2 -- Update the autoloader to use the path from the approved package - -* Tue Jul 19 2016 James Hogarth - 9.0.53-1 -- New release 9.0.53 - -* Thu Jul 14 2016 James Hogarth - 9.0.52-1 -- Initial nextcloud build diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..c437afd --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Nextcloud 19 is EOLed upstream and no longer supported diff --git a/gating.yml b/gating.yml deleted file mode 100644 index dfb0041..0000000 --- a/gating.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- !Policy -product_versions: - - fedora-* - decision_context: - - bodhi_update_push_testing - - bodhi_update_push_stable - subject_type: koji_build - rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/nextcloud-MIGRATION.fedora b/nextcloud-MIGRATION.fedora deleted file mode 100644 index 9225f3f..0000000 --- a/nextcloud-MIGRATION.fedora +++ /dev/null @@ -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 < 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 < 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 <). These packages -include additional configuration files for the webservers. Remote access is -disabled by default on httpd. To enable access from any host for Apache **AFTER** you -complete the initial setup process, do this: - -ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf - -If you wish to adjust any of the settings it is recommended that you create -a new configuration file that will override nextcloud.conf, rather than editing -it, so future changes to the packaged file will be respected on your server. -If you do not do this, please be careful to check for changes in the packaged -configuration file (especially on major nextcloud upgrades) and merge into -your modified configuration as appropriate. - -Database --------- -You can choose between three databases: MySQL, PostgreSQL and SQLite. -For each of them there is an nextcloud subpackage (nextcloud-). -You are required to install at least one of them. The packages only ensure -the necessary requirements to communicate with a database server of that type -are installed, they do not require the database server package itself, as -you may wish to use a remote database server. If you wish to use a local one, -you must ensure it is installed and configured. - -For larger installs you should use MySQL or PostgreSQL. - -If you choose MySQL or PostgreSQL, keep in mind that you must create a database -and user for nextcloud manually, before you can finish the setup process. The -README.postgresql and README.mysql files provide more details and help with -this. - -In addition if using a remote database then then selinux must be configured to -allow the webserver to connect to it - see the selinux section further down. - -Configuration -------------- -You can find the main configuration file at '/etc/nextcloud/config.php'. Until -you first access the server it will be just a small stub containing settings -that differ in this package from the upstream defaults. After you first access -nextcloud, the initial setup process will populate it with some more settings. -Other settings that can be provided in this file are documented at: -https://docs.nextcloud.com/server/10/admin_manual/configuration_server/config_sample_php_parameters.html - -User Data ---------- -The default data directory is '/var/lib/nextcloud/data'. Every file that is -uploaded by your users to nextcloud gets saved into this folder. Consider doing -a backup of this directory, together with the database and the main -configuration. Note that if you change this location, you must set appropriate -ownership and SELinux context attributes. - -Logging -------- -As specified by the configuration file, nextcloud sends messages to the system -logger, which means in a standard Fedora configuration it will log to the -systemd journal: try "journalctl -b -t Nextcloud". You can also change the -loglevel or switch to the built-in log mechanism of nextcloud. - -App Store ---------- -If you install additional third party apps using the built-in app store, you -can find them in the directory '/var/lib/nextcloud/apps'. This functionality is -enabled by default. If this is moved then it's important to configure httpd/nginx -appropriately for the correct /nextcloud/apps-appstore path to alias to the new location. - -The app store URL is coded into the core php and does not need to be listed in config.php - -If there are any empty proxy entries in config.php this will prevent connectivity to the store. -If not using a proxy it is important to remove any proxy entries from config.php, not just be "" - -Selinux Booleans ----------------- -If you want to use external files (eg remote smb/cifs server) the httpd_can_network_connect -selinux boolean should be toggled on. If you want to use libreoffice document conversion -then the httpd_execmem should be toggled on and the unoconv package should be installed. - -If not using an external file source but still using an external database then the boolean -httpd_can_network_connect_db should be toggled on for access to regular DB ports. The general -network connect can alternatiely be used for non-standard ports or for a broader permission -in case of future external files requirements. - -Memory caching --------------- -For performance reasons a memory cache should be configured. In larger installs redis -may be required but as a basic lightweight alternative edit config.php as per upstream -documentation and install ACPu via: - -dnf install 'php-pecl(apcu)' - -For further information see http://nextcloud.org/ and http://doc.nextcloud.org/ - -Scheduling Background Jobs --------------------------- -The default behaviour is to use the AJAX webcron, however this is fairly inefficient and does not scale very well. - -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 diff --git a/nextcloud-access-httpd.conf.avail b/nextcloud-access-httpd.conf.avail deleted file mode 100644 index 1caf642..0000000 --- a/nextcloud-access-httpd.conf.avail +++ /dev/null @@ -1,24 +0,0 @@ -# If symlinked or copied to /etc/httpd/conf.d/z-nextcloud-access.conf -# (or any other name that is alphabetically later than -# 'nextcloud.conf'), this file will permit access to the ownCloud -# installation from any client. Ensure your deployment is correctly -# configured and secured before doing this! -# -# If you SYMLINK this file, you can rely on the ownCloud package to -# handle any future changes in the directory or URL hierarchy; this -# file will always achieve the high-level goal 'allow access to the -# ownCloud installation from any client'. If you COPY this file, you -# will have to check for changes to the original in future ownCloud -# package updates, and make any appropriate adjustments to your copy. - - - Include conf.d/nextcloud-auth-any.inc - - - - Include conf.d/nextcloud-auth-any.inc - - - - Include conf.d/nextcloud-auth-any.inc - diff --git a/nextcloud-auth-any.inc b/nextcloud-auth-any.inc deleted file mode 100644 index 4744713..0000000 --- a/nextcloud-auth-any.inc +++ /dev/null @@ -1,12 +0,0 @@ -# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files -# with Include. Allows access from any system. - - -# Apache 2.4 -Require all granted - - -# Apache 2.2 -Order Deny,Allow -Allow from all - diff --git a/nextcloud-auth-local.inc b/nextcloud-auth-local.inc deleted file mode 100644 index 69cfd00..0000000 --- a/nextcloud-auth-local.inc +++ /dev/null @@ -1,14 +0,0 @@ -# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files -# with Include. Allows access only from local system. - - -# Apache 2.4 -Require local - - -# Apache 2.2 -Order Deny,Allow -Deny from all -Allow from 127.0.0.1 -Allow from ::1 - diff --git a/nextcloud-auth-none.inc b/nextcloud-auth-none.inc deleted file mode 100644 index 212315e..0000000 --- a/nextcloud-auth-none.inc +++ /dev/null @@ -1,12 +0,0 @@ -# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files -# with Include. Denies all access. - - -# Apache 2.4 -Require all denied - - -# Apache 2.2 -Order Deny,Allow -Deny from all - diff --git a/nextcloud-conf-nginx.conf b/nextcloud-conf-nginx.conf deleted file mode 100644 index 85dfd8c..0000000 --- a/nextcloud-conf-nginx.conf +++ /dev/null @@ -1,4 +0,0 @@ -upstream php-nextcloud { - server unix:/run/php-fpm/nextcloud.sock; -} - diff --git a/nextcloud-config.php b/nextcloud-config.php deleted file mode 100644 index 96aa36e..0000000 --- a/nextcloud-config.php +++ /dev/null @@ -1,26 +0,0 @@ - "syslog", - "datadirectory" => "/var/lib/nextcloud/data", - "updatechecker" => false, - "check_for_working_htaccess" => false, - "asset-pipeline.enabled" => false, - "assetdirectory" => '/var/lib/nextcloud', - "preview_libreoffice_path" => '/usr/bin/libreoffice', - - - "apps_paths" => array( - 0 => - array ( - 'path'=> '/usr/share/nextcloud/apps', - 'url' => '/apps', - 'writable' => false, - ), - 1 => - array ( - 'path' => '/var/lib/nextcloud/apps', - 'url' => '/apps-appstore', - 'writable' => true, - ), - ), -); diff --git a/nextcloud-default-nginx.conf b/nextcloud-default-nginx.conf deleted file mode 100644 index 7151521..0000000 --- a/nextcloud-default-nginx.conf +++ /dev/null @@ -1,82 +0,0 @@ - rewrite ^/nextcloud$ /nextcloud/ redirect; - - location /nextcloud/ { - root /usr/share/; - - # Add headers to serve security related headers - # Before enabling Strict-Transport-Security headers please read into this topic first. - # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; - add_header X-Content-Type-Options nosniff; - add_header X-Frame-Options "SAMEORIGIN"; - add_header X-XSS-Protection "1; mode=block"; - add_header X-Robots-Tag none; - add_header X-Download-Options noopen; - add_header X-Permitted-Cross-Domain-Policies none; - add_header Referrer-Policy no-referrer always; - - - # set max upload size - client_max_body_size 10G; - fastcgi_buffers 64 4K; - - # Disable gzip to avoid the removal of the ETag header - gzip off; - - # Uncomment if your server is build with the ngx_pagespeed module - # This module is currently not supported. - #pagespeed off; - - index index.php; - - error_page 403 /nextcloud/core/templates/403.php; - error_page 404 /nextcloud/core/templates/404.php; - - location ~ ^/nextcloud/apps-appstore/(.*)$ { - alias /var/lib/nextcloud/apps/$1; - } - - location ~ ^/nextcloud/assets/(.*)$ { - alias /var/lib/nextcloud/assets/$1; - } - - location ~ ^/nextcloud/(build|tests|config|lib|3rdparty|templates|data)/ { - deny all; - } - - location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console) { - deny all; - } - - rewrite ^/nextcloud/remote/(.*) /nextcloud/remote.php last; - rewrite ^/nextcloud/core/doc/([^\/]+)(?:$|/) /nextcloud/core/doc/$1/index.html; - - try_files $uri $uri/ =404; - - location ~ \.php(?:$|/) { - fastcgi_split_path_info ^(.+\.php)(/.+)$; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $fastcgi_path_info; - # fastcgi_param HTTPS on; - fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice - fastcgi_pass php-nextcloud; - fastcgi_intercept_errors on; - } - - # Adding the cache control header for js and css files - # Make sure it is BELOW the location ~ \.php(?:$|/) { block - location ~* \.(?:css|js)$ { - add_header Cache-Control "public, max-age=7200"; - # Optional: Don't log access to assets - access_log off; - } - - # Optional: Don't log access to other assets - location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ { - access_log off; - } - - } - - - diff --git a/nextcloud-defaults.inc b/nextcloud-defaults.inc deleted file mode 100644 index c5d4478..0000000 --- a/nextcloud-defaults.inc +++ /dev/null @@ -1,73 +0,0 @@ -# These are based on the .htaccess file shipped by ownCloud, with -# appropriate adjustments for distribution packaging. Some directives -# that are irrelevant to the Fedora/EPEL ecosystem are omitted. This -# file contains directives that should be applied within the /nextcloud -# filesystem; directives that should be applied site-wide when -# ownCloud is installed are placed directly in nextcloud.conf. -# -# DO NOT EDIT THIS FILE DIRECTLY. To override any element of the -# packaged ownCloud configuration, create a new /etc/httpd/conf.d/ -# file which will be read later than 'nextcloud.conf'. - -AllowOverride None - -ErrorDocument 403 /nextcloud/core/templates/403.php -ErrorDocument 404 /nextcloud/core/templates/404.php - - - - - SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1 - RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION - - - - - - php_value upload_max_filesize 10G - php_value post_max_size 10G - php_value memory_limit 512M - php_value mbstring.func_overload 0 - php_value always_populate_raw_post_data -1 - php_value default_charset 'UTF-8' - php_value output_buffering off - - SetEnv htaccessWorking true - - - - - php_value upload_max_filesize 10G - php_value post_max_size 10G - php_value memory_limit 512M - php_value mbstring.func_overload 0 - php_value always_populate_raw_post_data -1 - php_value default_charset 'UTF-8' - php_value output_buffering off - - SetEnv htaccessWorking true - - - -# The rewrites for legacy caldav and carddav URLs are omitted here -# because they do not work with Fedora's ownCloud directory layout. -# See https://github.com/nextcloud/core/issues/243#issuecomment-75426453 - - RewriteEngine on - RewriteBase /nextcloud/ - RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] - RewriteRule ^remote/(.*) remote.php [QSA,L] - - -AddDefaultCharset utf-8 -Options -Indexes - - - ModPagespeed Off - - - - - Header set Cache-Control "max-age=7200, public" - - diff --git a/nextcloud-fedora-autoloader.php b/nextcloud-fedora-autoloader.php deleted file mode 100644 index a125728..0000000 --- a/nextcloud-fedora-autoloader.php +++ /dev/null @@ -1,70 +0,0 @@ -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" -if (file_exists($vendor . '/password_compat/password.php')) { - 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'; diff --git a/nextcloud-httpd.conf b/nextcloud-httpd.conf deleted file mode 100644 index 5a4ce55..0000000 --- a/nextcloud-httpd.conf +++ /dev/null @@ -1,50 +0,0 @@ -# DO NOT EDIT THIS FILE DIRECTLY. To override any element of the -# packaged ownCloud configuration, create a new /etc/httpd/conf.d/ -# file which will be read later than 'nextcloud.conf'. -# -# As the initial setup wizard is active upon installation, access is -# initially allowed only from localhost. *AFTER* configuring the -# installation correctly and creating the admin account, to allow -# access from any host, do this: -# -# ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf - -Alias /nextcloud/apps-appstore /var/lib/nextcloud/apps -Alias /nextcloud/assets /var/lib/nextcloud/assets -Alias /nextcloud /usr/share/nextcloud - -# Allows compliant CalDAV / CardDAV clients to be configured using only -# the domain name. For more details see # http://tools.ietf.org/html/rfc6764 - -Redirect 301 /.well-known/carddav /nextcloud/remote.php/carddav -Redirect 301 /.well-known/caldav /nextcloud/remote.php/caldav -Redirect 301 /.well-known/webdav /nextcloud/remote.php/webdav - - - Include conf.d/nextcloud-auth-local.inc - Include conf.d/nextcloud-defaults.inc - - Include conf.d/nextcloud-auth-none.inc - - - - - Include conf.d/nextcloud-auth-local.inc - Include conf.d/nextcloud-defaults.inc - - - - Include conf.d/nextcloud-auth-local.inc - Include conf.d/nextcloud-defaults.inc - - -# For safety, explicitly deny any access to these locations. -# Upstream's .htaccess does something similar with mod_rewrite. - - - Include conf.d/nextcloud-auth-none.inc - - - - Include conf.d/nextcloud-auth-none.inc - diff --git a/nextcloud-mysql.txt b/nextcloud-mysql.txt deleted file mode 100644 index 1284442..0000000 --- a/nextcloud-mysql.txt +++ /dev/null @@ -1,28 +0,0 @@ -Configure MariaDB / MySQL for ownCloud -====================================== - -To use MariaDB / MySQL as database backend, you need to do the following: - -1. Make sure that your mysql service is configured and running properly. If this - is a fresh install, you will need to run "systemctl enable mysqld.service; - systemctl start mysqld.service" (or mariadb.service) as root. It's also - strongly advised to run "mysql_secure_installation" after starting the - database for the first time. - -2. Log in to the database as privileged user to create the database and a - dedicated user account for ownCloud: - $ mysql -u root -p - CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; - CREATE DATABASE IF NOT EXISTS nextcloud; - GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost' IDENTIFIED BY 'password'; - Choose identifier and password accordingly. - -Now you can launch the ownCloud setup screen, select MySQL in the advanced -settings and fill in your credentials. - -References -========== - -https://fedoraproject.org/wiki/MariaDB -https://mariadb.com/kb/en/mariadb/documentation/ -http://doc.nextcloud.org/server/7.0/admin_manual/configuration/configuration_database.html diff --git a/nextcloud-php-fpm.conf b/nextcloud-php-fpm.conf deleted file mode 100644 index b626a97..0000000 --- a/nextcloud-php-fpm.conf +++ /dev/null @@ -1,26 +0,0 @@ -[nextcloud] -user = apache -group = apache -listen = /run/php-fpm/nextcloud.sock -listen.acl_users = apache,nginx -listen.allowed_clients = 127.0.0.1 -pm = dynamic -pm.max_children = 50 -pm.start_servers = 5 -pm.min_spare_servers = 5 -pm.max_spare_servers = 35 -slowlog = /var/log/php-fpm/nextcloud-slow.log -php_admin_value[error_log] = /var/log/php-fpm/nextcloud-error.log -php_admin_flag[log_errors] = on -php_value[session.save_handler] = files -php_value[session.save_path] = /var/lib/php/session -php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache -php_value[memory_limit] = 512M -php_value[upload_max_filesize] = 10G -php_value[post_max_size] = 10G -env[HOSTNAME] = $HOSTNAME -env[PATH] = /usr/local/bin:/usr/bin:/bin -env[TMP] = /tmp -env[TMPDIR] = /tmp -env[TEMP] = /tmp - diff --git a/nextcloud-postgresql.txt b/nextcloud-postgresql.txt deleted file mode 100644 index 15e7ad9..0000000 --- a/nextcloud-postgresql.txt +++ /dev/null @@ -1,43 +0,0 @@ -Configure PostgreSQL for ownCloud -================================= - -To use PostgreSQL as database backend, you need to do the following: - -1. Make sure that your PostgreSQL service is configured and running properly. - If this is a fresh install, you will need to run "postgresql-setup initdb" - as root, then "systemctl enable postgresql.service; systemctl start - postgresql.service". For more details on initial configuration of PostgreSQL - in Fedora, see https://fedoraproject.org/wiki/PostgreSQL - -2. Log in to PostgreSQL as system user to create the database and a dedicated - user account for ownCloud: - # su - -c "psql" postgres - CREATE USER username WITH PASSWORD 'password'; - CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UNICODE'; - ALTER DATABASE nextcloud OWNER TO username; - GRANT ALL PRIVILEGES ON DATABASE nextcloud TO username; - Choose identifier and password accordingly. - -3. ownCloud talks to PostgreSQL via TCP/IP, so you need to configure an - appropriate authentication mechanism in /var/lib/pgsql/data/pg_hba.conf. - For a simple configuration with ownCloud and PostgreSQL on the same host, - set the METHOD for the lines that apply to localhost TCP/IP connections - to "password". ownCloud does *not* use a socket to communicate with the - database, so the 'local' line in pg_hba.conf does *not* apply to it. - Note that this will result in the password being sent unencrypted from - ownCloud to the PostgreSQL server. For more details, see - http://www.postgresql.org/docs/9.3/static/auth-pg-hba-conf.html. - -4. You also need to allow the web server to communicate with the database by - TCP/IP: SELinux disallows this by default. Run: - # setsebool -P httpd_can_network_connect_db on - -Now you can launch the ownCloud setup screen, select PostgreSQL in the advanced -settings and fill in your credentials. - -References -========== - -https://fedoraproject.org/wiki/PostgreSQL -http://www.postgresql.org/docs -http://doc.nextcloud.org/server/7.0/admin_manual/configuration/configuration_database.html diff --git a/nextcloud-systemd-timer.service b/nextcloud-systemd-timer.service deleted file mode 100644 index ccff38f..0000000 --- a/nextcloud-systemd-timer.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Cron for nextcloud background jobs - -[Service] -Type=oneshot -ExecStart=/usr/bin/php -f /usr/share/nextcloud/cron.php -User=apache - diff --git a/nextcloud-systemd-timer.timer b/nextcloud-systemd-timer.timer deleted file mode 100644 index cfaf4b7..0000000 --- a/nextcloud-systemd-timer.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=This triggers the nextcloud cron service - -[Timer] -OnBootSec=5min -OnUnitInactiveSec=15min - -[Install] -WantedBy=timers.target - diff --git a/nextcloud.spec b/nextcloud.spec deleted file mode 100644 index 67e1939..0000000 --- a/nextcloud.spec +++ /dev/null @@ -1,537 +0,0 @@ -Name: nextcloud -Version: 19.0.13 -Release: %autorelease -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 -URL: http://nextcloud.com -Source0: https://download.nextcloud.com/server/releases/%{name}-%{version}.tar.bz2 - -# basic nextcloud config.php, nextcloud's -# initial setup will fill out other settings appropriately -Source1: %{name}-config.php -# Systemd timer for background jobs -Source2: %{name}-systemd-timer.service -Source3: %{name}-systemd-timer.timer -# httpd config files -Source100: %{name}-httpd.conf -Source101: %{name}-access-httpd.conf.avail -Source102: %{name}-auth-any.inc -Source103: %{name}-auth-local.inc -Source104: %{name}-auth-none.inc -Source105: %{name}-defaults.inc -# nginx/php-fpm config files -Source200: %{name}-default-nginx.conf -Source201: %{name}-conf-nginx.conf -Source202: %{name}-php-fpm.conf -# packaging notes and doc -Source300: %{name}-README.fedora -Source301: %{name}-mysql.txt -Source302: %{name}-postgresql.txt -Source303: %{name}-MIGRATION.fedora - -# Remove updater version check, we know that updates across more than one -# version are possible -Patch0: 0000-disable-update-version-check.patch -# Change occ shebang to /usr/bin/php -Patch1: 0001-mangle-shebang.patch - -BuildArch: noarch -# For the systemd macros -%if 0%{?fedora} > 29 -BuildRequires: systemd-rpm-macros -%else -BuildRequires: systemd -%endif -# expand pear macros on install -BuildRequires: php-pear - -# Require one webserver and database backend -Requires: %{name}-webserver = %{version}-%{release} -Requires: %{name}-database = %{version}-%{release} -# Require php CLI for occ command -Requires: php-cli -# Core PHP libs/extensions required by OC core -Requires: php-curl -Requires: php-dom -Requires: php-exif -Requires: php-fileinfo -Requires: php-gd -Requires: php-iconv -Requires: php-json -Requires: php-ldap -Requires: php-mbstring -Requires: php-openssl -Requires: php-pcre -Requires: php-pdo -Requires: php-session -Requires: php-simplexml -Requires: php-xmlwriter -Requires: php-spl -Requires: php-zip -Requires: php-filter -Requires: php-ldap -Requires: php-smbclient -Requires: php-imap -Requires: php-gmp -Requires: php-process -Requires: php-pecl-imagick -Requires: php-pecl-memcached -Requires: php-pecl-apcu -Requires: php-pecl-redis5 -# For systemd support during install/uninstall -%{?systemd_requires} -# the CA cert bundle is linked to from the config dir -Requires: %{_sysconfdir}/pki/tls/certs/ca-bundle.crt - -# Bundled composer libraries -# many of these can be unbundled -Provides: bundled(php-composer(icewind/smb)) = 3.2.7 -Provides: bundled(php-composer(icewind/streams)) = 0.7.1 -Provides: bundled(php-composer(aws/aws-sdk-php)) = 3.133.27 -Provides: bundled(php-composer(bantu/ini-get-wrapper)) = 1.0.1 -Provides: bundled(php-composer(beberlei/assert)) = 3.2.7 -Provides: bundled(php-composer(christophwurst/id3parser)) = 0.1.1 -Provides: bundled(php-composer(deepdiver/zipstreamer)) = 1.1.1 -Provides: bundled(php-composer(deepdiver1975/tarstreamer)) = 2.0.0 -Provides: bundled(php-composer(doctrine/annotations)) = 1.6.0 -Provides: bundled(php-composer(doctrine/cache)) = 1.8.0 -Provides: bundled(php-composer(doctrine/collections)) = 1.5.0 -Provides: bundled(php-composer(doctrine/common)) = 2.10.0 -Provides: bundled(php-composer(doctrine/dbal)) = 2.9.2 -Provides: bundled(php-composer(doctrine/event-manager)) = 1.0.0 -Provides: bundled(php-composer(doctrine/inflector)) = 1.3.0 -Provides: bundled(php-composer(doctrine/lexer)) = 1.2.0 -Provides: bundled(php-composer(doctrine/persistence)) = 1.1.0 -Provides: bundled(php-composer(doctrine/reflection)) = 1.0.0 -Provides: bundled(php-composer(egulias/email-validator)) = 2.1.11 -Provides: bundled(php-composer(fgrosse/phpasn1)) = 2.1.1 -Provides: bundled(php-composer(guzzlehttp/guzzle)) = 6.5.2 -Provides: bundled(php-composer(guzzlehttp/promises)) = 1.3.1 -Provides: bundled(php-composer(guzzlehttp/psr7)) = 1.6.1 -Provides: bundled(php-composer(guzzlehttp/ringphp)) = 1.1.0 -Provides: bundled(php-composer(guzzlehttp/streams)) = 3.0.0 -Provides: bundled(php-composer(icewind/searchdav)) = 2.0.0 -Provides: bundled(php-composer(icewind/streams)) = 0.7.1 -Provides: bundled(php-composer(interfasys/lognormalizer)) = 1.0 -Provides: bundled(php-composer(jeremeamia/SuperClosure)) = 2.4.0 -Provides: bundled(php-composer(justinrainbow/json-schema)) = 5.2.9 -Provides: bundled(php-composer(league/flysystem)) = 1.0.64 -Provides: bundled(php-composer(league/uri)) = 6.2.1 -Provides: bundled(php-composer(league/uri-components)) = 2.2.1 -Provides: bundled(php-composer(league/uri-interfaces)) = 2.1.0 -Provides: bundled(php-composer(microsoft/azure-storage-blob)) = 1.5.0 -Provides: bundled(php-composer(microsoft/azure-storage-common)) = 1.4.1 -Provides: bundled(php-composer(mtdowling/jmespath.php)) = 2.5.0 -Provides: bundled(php-composer(nikic/php-parser)) = 4.3.0 -Provides: bundled(php-composer(paragonie/random_compat)) = 9.99.99 -Provides: bundled(php-composer(patchwork/jsqueeze)) = 2.0.5 -Provides: bundled(php-composer(patchwork/utf8)) = 1.3.1 -Provides: bundled(php-composer(pear/archive_tar)) = 1.4.9 -Provides: bundled(php-composer(pear/console_getopt)) = 1.4.3 -Provides: bundled(php-composer(pear/pear-core-minimal)) = 1.10.10 -Provides: bundled(php-composer(pear/pear_exception)) = 1.0.1 -Provides: bundled(php-composer(php-http/guzzle6-adapter)) = 2.0.1 -Provides: bundled(php-composer(php-http/httplug)) = 2.1.0 -Provides: bundled(php-composer(php-http/promise)) = 1.0.0 -Provides: bundled(php-composer(php-opencloud/openstack)) = 3.0.7 -Provides: bundled(php-composer(phpseclib/phpseclib)) = 2.0.25 -Provides: bundled(php-composer(pimple/pimple)) = 3.2.3 -Provides: bundled(php-composer(psr/container)) = 1.0.0 -Provides: bundled(php-composer(psr/http-client)) = 1.0.0 -Provides: bundled(php-composer(psr/http-factory)) = 1.0.1 -Provides: bundled(php-composer(psr/http-message)) = 1.0.1 -Provides: bundled(php-composer(psr/log)) = 1.1.0 -Provides: bundled(php-composer(punic/punic)) = 1.6.5 -Provides: bundled(php-composer(ralouphie/getallheaders)) = 3.0.3 -Provides: bundled(php-composer(ramsey/uuid)) = 3.9.3 -Provides: bundled(php-composer(react/promise)) = 2.2.1 -Provides: bundled(php-composer(sabre/dav)) = 4.0.3 -Provides: bundled(php-composer(sabre/event)) = 5.1.0 -Provides: bundled(php-composer(sabre/http)) = 5.1.0 -Provides: bundled(php-composer(sabre/uri)) = 2.2.0 -Provides: bundled(php-composer(sabre/vobject)) = 4.3.0 -Provides: bundled(php-composer(sabre/xml)) = 2.2.3 -Provides: bundled(php-composer(scssphp/scssphp)) = 1.0.3 -Provides: bundled(php-composer(spomky-labs/base64url)) = 2.0.1 -Provides: bundled(php-composer(spomky-labs/cbor-php)) = 1.0.8 -Provides: bundled(php-composer(stecman/symfony-console-completion)) = 0.11.0 -Provides: bundled(php-composer(swiftmailer/swiftmailer)) = 6.2.3 -Provides: bundled(php-composer(symfony/console)) = 4.4.4 -Provides: bundled(php-composer(symfony/event-dispatcher)) = 4.4.4 -Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = 1.1.7 -Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.15.0 -Provides: bundled(php-composer(symfony/polyfill-iconv)) = 1.12.0 -Provides: bundled(php-composer(symfony/polyfill-intl-idn)) = 1.12.0 -Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.14.0 -Provides: bundled(php-composer(symfony/polyfill-php56)) = 1.10.0 -Provides: bundled(php-composer(symfony/polyfill-php72)) = 1.12.0 -Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.13.1 -Provides: bundled(php-composer(symfony/polyfill-util)) = 1.10.0 -Provides: bundled(php-composer(symfony/process)) = 4.4.4 -Provides: bundled(php-composer(symfony/routing)) = 4.4.4 -Provides: bundled(php-composer(symfony/service-contracts)) = 1.1.8 -Provides: bundled(php-composer(symfony/translation)) = 4.4.4 -Provides: bundled(php-composer(symfony/translation-contracts)) = 1.1.7 -Provides: bundled(php-composer(web-auth/cose-lib)) = 3.1.1 -Provides: bundled(php-composer(web-auth/metadata-service)) = 3.1.1 -Provides: bundled(php-composer(web-auth/webauthn-lib)) = 3.1.1 -Provides: bundled(php-composer(doctrine/cache)) = 1.7.1 -Provides: bundled(php-composer(doctrine/event-manager)) = 1.0.0 -# OpenIconic icons bundled via sabre-dav -Provides: bundled(openiconic-fonts) = 1.0.0 -# jscolor bundled via themeing app -Provides: bundled(jscolor) = 2.0.4 -# jquery-ui-multiselect bundled via user_ldap app -Provides: bundled(jquery-ui-multiselect) = 0.3.1 -# zxcvbn bundled via core -Provides: bundled(zxcvbn) = 4.4.2 - -%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, -calendars and bookmarks across all your devices and enables basic editing right -on the web. NextCloud is extendable via a simple but powerful API for -applications and plugins. - - -%package httpd -Summary: Httpd integration for NextCloud -Provides: %{name}-webserver = %{version}-%{release} -Requires: %{name} = %{version}-%{release} -# PHP dependencies -Requires: php-fpm 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 -%{summary}. - - -%package mysql -Summary: MySQL database support for NextCloud -Provides: %{name}-database = %{version}-%{release} -Requires: %{name} = %{version}-%{release} -# From getSupportedDatabases, mysql => pdo, mysql -Requires: php-mysqlnd - -%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} -# From getSupportedDatabases, pgsql => function, pg_connect -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} -# From getSupportedDatabases, pgsql => class, 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. - - -%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 - -# prepare package doc -cp %{SOURCE300} README.fedora -cp %{SOURCE301} README.mysql -cp %{SOURCE302} README.postgresql -cp %{SOURCE303} MIGRATION.fedora - -# Locate license files and put them sensibly in place -# find all using "find -name '*LICENSE*' -o -name '*COPYING*' | sort" -mv 3rdparty/aws/aws-sdk-php/LICENSE.md aws-LICENSE.md -mv 3rdparty/bantu/ini-get-wrapper/LICENSE bantu-LICENSE -mv 3rdparty/beberlei/assert/LICENSE beberlei-LICENSE -mv 3rdparty/christophwurst/id3parser/LICENSE christophwurst-LICENSE -mv 3rdparty/composer/LICENSE composer-LICENSE -mv 3rdparty/deepdiver1975/tarstreamer/LICENSE deepdiver1975-LICENSE -mv 3rdparty/deepdiver/zipstreamer/COPYING deepdiver-COPYING -mv 3rdparty/doctrine/annotations/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/cache/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/collections/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/common/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/dbal/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/event-manager/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/inflector/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/persistence/LICENSE doctrine-LICENSE -mv 3rdparty/doctrine/reflection/LICENSE doctrine-LICENSE -mv 3rdparty/egulias/email-validator/LICENSE egulias-LICENSE -mv 3rdparty/fgrosse/phpasn1/LICENSE fgrosse-LICENSE -mv 3rdparty/guzzlehttp/guzzle/LICENSE guzzlehttp-LICENSE -mv 3rdparty/guzzlehttp/promises/LICENSE guzzlehttp-LICENSE -mv 3rdparty/guzzlehttp/psr7/LICENSE guzzlehttp-LICENSE -mv 3rdparty/guzzlehttp/ringphp/LICENSE guzzlehttp-LICENSE -mv 3rdparty/guzzlehttp/streams/LICENSE guzzlehttp-LICENSE -mv 3rdparty/icewind/searchdav/LICENSE icewind-LICENSE -mv 3rdparty/interfasys/lognormalizer/COPYING interfasys-COPYING -mv 3rdparty/jeremeamia/SuperClosure/LICENSE.md jeremeamia-LICENSE -mv 3rdparty/justinrainbow/json-schema/LICENSE justinrainbow-LICENSE -mv 3rdparty/league/flysystem/LICENSE league-LICENSE -mv 3rdparty/league/uri-components/LICENSE league-LICENSE -mv 3rdparty/league/uri-interfaces/LICENSE league-LICENSE -mv 3rdparty/league/uri/LICENSE league-LICENSE -mv '3rdparty/LICENSE INFO' 3rdparty-LICENSE_INFO -mv 3rdparty/microsoft/azure-storage-blob/LICENSE microsoft-LICENSE -mv 3rdparty/microsoft/azure-storage-common/LICENSE microsoft-LICENSE -mv 3rdparty/mtdowling/jmespath.php/LICENSE mtdowling-LICENSE -mv 3rdparty/nikic/php-parser/LICENSE nikic-LICENSE -mv 3rdparty/paragonie/random_compat/LICENSE paragonie-LICENSE -mv 3rdparty/patchwork/jsqueeze/LICENSE.ASL20 patchwork-LICENSE-APACHE -mv 3rdparty/patchwork/jsqueeze/LICENSE.GPLv2 patchwork-LICENSE-GPL -mv 3rdparty/patchwork/utf8/LICENSE-APACHE patchwork-LICENSE-APACHE -mv 3rdparty/patchwork/utf8/LICENSE-GPL patchwork-LICENSE-GPL -mv 3rdparty/pear/console_getopt/LICENSE pear-LICENSE -mv 3rdparty/pear/pear_exception/LICENSE pear-LICENSE -mv 3rdparty/php-http/guzzle6-adapter/LICENSE php-http-LICENSE -mv 3rdparty/php-http/httplug/LICENSE php-http-LICENSE -mv 3rdparty/php-http/promise/LICENSE php-http-LICENSE -mv 3rdparty/php-opencloud/openstack/LICENSE php-opencloud-LICENSE -mv 3rdparty/phpseclib/phpseclib/LICENSE phpseclib-LICENSE -mv 3rdparty/psr/container/LICENSE psr-LICENSE -mv 3rdparty/psr/http-client/LICENSE psr-LICENSE -mv 3rdparty/psr/http-factory/LICENSE psr-LICENSE -mv 3rdparty/psr/http-message/LICENSE psr-LICENSE -mv 3rdparty/psr/log/LICENSE psr-LICENSE -mv 3rdparty/punic/punic/LICENSE.txt punic-LICENSE.txt -mv 3rdparty/punic/punic/UNICODE-LICENSE.txt punic-UNICODE-LICENSE -mv 3rdparty/ralouphie/getallheaders/LICENSE ralouphie-LICENSE -mv 3rdparty/ramsey/uuid/LICENSE ramsey-LICENSE -mv 3rdparty/react/promise/LICENSE react-LICENSE -mv 3rdparty/sabre/dav/lib/DAV/Browser/assets/openiconic/ICON-LICENSE sabre-ICON-LICENSE -mv 3rdparty/sabre/dav/LICENSE sabre-LICENSE -mv 3rdparty/sabre/event/LICENSE sabre-LICENSE -mv 3rdparty/sabre/http/LICENSE sabre-LICENSE -mv 3rdparty/sabre/uri/LICENSE sabre-LICENSE -mv 3rdparty/sabre/vobject/LICENSE sabre-LICENSE -mv 3rdparty/sabre/xml/LICENSE sabre-LICENSE -mv 3rdparty/scssphp/scssphp/LICENSE.md scssphp-LICENSE.md -mv 3rdparty/spomky-labs/base64url/LICENSE spomky-labs-LICENSE -mv 3rdparty/spomky-labs/cbor-php/LICENSE spomky-labs-LICENSE -mv 3rdparty/stecman/symfony-console-completion/LICENCE stecman-LICENSE -mv 3rdparty/symfony/console/LICENSE symfony-LICENSE -mv 3rdparty/symfony/event-dispatcher-contracts/LICENSE symfony-LICENSE -mv 3rdparty/symfony/event-dispatcher/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-ctype/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-iconv/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-intl-idn/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-mbstring/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-php56/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-php72/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-php73/LICENSE symfony-LICENSE -mv 3rdparty/symfony/polyfill-util/LICENSE symfony-LICENSE -mv 3rdparty/symfony/process/LICENSE symfony-LICENSE -mv 3rdparty/symfony/routing/LICENSE symfony-LICENSE -mv 3rdparty/symfony/service-contracts/LICENSE symfony-LICENSE -mv 3rdparty/symfony/translation-contracts/LICENSE symfony-LICENSE -mv 3rdparty/symfony/translation/LICENSE symfony-LICENSE -mv 3rdparty/web-auth/cose-lib/LICENSE web-auth-LICENSE -mv 3rdparty/web-auth/metadata-service/LICENSE web-auth-LICENSE -mv 3rdparty/web-auth/webauthn-lib/LICENSE web-auth-LICENSE -mv apps/accessibility/composer/composer/LICENSE accessibility-LICENSE -mv apps/admin_audit/composer/composer/LICENSE admin_audit-LICENSE -mv apps/cloud_federation_api/composer/composer/LICENSE cloud_federation_api-LICENSE -mv apps/cloud_federation_api/LICENSE cloud_federation_api-LICENSE -mv apps/comments/composer/composer/LICENSE comments-LICENSE -mv apps/contactsinteraction/composer/composer/LICENSE contactsinteraction-LICENSE -mv apps/dav/composer/composer/LICENSE dav-LICENSE -mv apps/encryption/composer/composer/LICENSE encryption-LICENSE -mv apps/federatedfilesharing/composer/composer/LICENSE federatedfilesharing-LICENSE -mv apps/federation/composer/composer/LICENSE federation-LICENSE -mv apps/files/composer/composer/LICENSE files-LICENSE -mv apps/files_external/3rdparty/composer/LICENSE files_external-LICENSE -mv apps/files_external/3rdparty/icewind/smb/LICENSE.txt icewind-smb-LICENSE -mv apps/files_external/3rdparty/icewind/streams/LICENCE icewind-streams-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_rightclick/COPYING files_rightclick-COPYING -mv apps/files_rightclick/LICENSE files_rightclick-LICENSE -mv apps/files_sharing/composer/composer/LICENSE files_sharing-LICENSE -mv apps/files_trashbin/composer/composer/LICENSE files_trashbin-LICENSE -mv apps/files_versions/composer/composer/LICENSE files_versions-LICENSE -mv apps/lookup_server_connector/composer/composer/LICENSE lookup_server_connector-LICENSE -mv apps/nextcloud_announcements/COPYING nextcloud_announcements-COPYING -mv apps/notifications/COPYING notifications-LICENSE -mv apps/oauth2/composer/composer/LICENSE oauth2-LICENSE -mv apps/password_policy/LICENSE password_policy-LICENSE -mv apps/photos/COPYING photos-COPYING -mv apps/privacy/COPYING privacy-COPYING -mv apps/provisioning_api/composer/composer/LICENSE provisioning_api-LICENSE -mv apps/recommendations/LICENSE recommendations-LICENSE -mv apps/serverinfo/COPYING serverinfo-LICENSE -mv apps/settings/composer/composer/LICENSE settings-LICENSE -mv apps/sharebymail/composer/composer/LICENSE sharebymail-LICENSE -mv apps/survey_client/COPYING survey_client-LICENSE -mv apps/systemtags/composer/composer/LICENSE systemtags-LICENSE -mv apps/text/COPYING text-COPYING -mv apps/theming/js/3rdparty/jscolor/LICENSE.txt jscolor-LICENSE -mv apps/twofactor_backupcodes/composer/composer/LICENSE twofactor_backupcodes-LICENSE -mv apps/updatenotification/composer/composer/LICENSE updatenotification-LICENSE -mv apps/user_ldap/composer/composer/LICENSE user_ldap-LICENSE -mv apps/user_ldap/vendor/ui-multiselect/MIT-LICENSE js-jqueryui-multiselect-LICENSE -mv apps/viewer/COPYING viewer-COPYING -mv apps/workflowengine/composer/composer/LICENSE workflowengine-LICENSE -mv COPYING nextcloud-LICENSE -mv core/fonts/LICENSE_OFL.txt fonts-LICENSE -mv core/vendor/zxcvbn/LICENSE.txt zxcvbn-LICENSE -mv lib/composer/composer/LICENSE composer-LICENSE - - -%check -# 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 ] - 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,*.html,robots.txt}; do - install -pm 644 "$f" %{buildroot}%{_datadir}/%{name} -done - -# occ should be executable -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 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/config.php - -# httpd config -install -Dpm 644 %{SOURCE100} \ - %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf -install -Dpm 644 %{SOURCE101} \ - %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail -install -Dpm 644 %{SOURCE102} %{SOURCE103} %{SOURCE104} %{SOURCE105} \ - %{buildroot}%{_sysconfdir}/httpd/conf.d/ - -# 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 -install -Dpm 644 %{SOURCE202} \ - %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf - -# Install the systemd timer -install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/nextcloud-cron.service -install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/nextcloud-cron.timer - -%post httpd -/usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : -/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : - -%postun httpd -if [ $1 -eq 0 ]; then - /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : - /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : -fi - -%post nginx -/usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || : -/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : - -%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 - -%files -%doc AUTHORS README.fedora MIGRATION.fedora config/config.sample.php -%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/%{name}*.inc -%config(noreplace) %{_sysconfdir}/php-fpm.d/%{name}.conf - -%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 -%autochangelog diff --git a/plans/base.fmf b/plans/base.fmf deleted file mode 100644 index fc3dea5..0000000 --- a/plans/base.fmf +++ /dev/null @@ -1,11 +0,0 @@ -summary: Basic occ functionality -discover: - how: fmf - url: https://src.fedoraproject.org/tests/nextcloud -prepare: - how: install - package: nextcloud -environment: - PACKAGES: nextcloud -execute: - how: tmt diff --git a/sources b/sources deleted file mode 100644 index 3c3a758..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (nextcloud-19.0.13.tar.bz2) = fd144a0d42617b33388bf1127673adb2e523ef04804021ac90e8e679abcb61d839dcba61270108c8ac62093712e6bffcb83a1caef0c810598a108a57d8bd85d9 diff --git a/utils/get-bundled-versions.py b/utils/get-bundled-versions.py deleted file mode 100755 index 40fb247..0000000 --- a/utils/get-bundled-versions.py +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/env python - -import os -import json - -for root, dirs, files in os.walk("apps"): - for file in files: - if file == 'composer.lock': - with open(os.path.join(root, file)) as f: - lockdata = json.load(f) - try: - for i in lockdata['packages']: - print("Provides: bundled(php-composer(" + i['name'] + ")) = " + i['version'].strip('v')) - except KeyError: - pass - -for root, dirs, files in os.walk("3rdparty"): - for file in files: - if file == 'composer.lock': - with open(os.path.join(root, file)) as f: - lockdata = json.load(f) - try: - for i in lockdata['packages']: - print("Provides: bundled(php-composer(" + i['name'] + ")) = " + i['version'].strip('v')) - except KeyError: - pass diff --git a/utils/get-composer-requires.py b/utils/get-composer-requires.py deleted file mode 100755 index 21ea731..0000000 --- a/utils/get-composer-requires.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/env python - -import os -import json -import re -import subprocess - -defaultconstraint = 2 -excludes = ('php') - -constraintmap = ('any', 'loose', 'strict', 'exact') - -def get_requires(name, version, constraint): - version = version.split('.') - - if constraint == 0: - requires = 'php-composer(' + name + ')' - elif constraint == 1: - wipe = False - for i in range(0, len(version)): - if version[i] == '0' or wipe: - version[i] = '0' - else: - version[i] = str(int(version[i]) + 1) - wipe = True - requires = '(php-composer(' + name + ') >= ' + minver + ' with php-composer(' + name + ') < ' + '.'.join(version) + ')' - elif constraint == 2: - version[-1] = '0' - version[-2] = str(int(version[-2]) + 1) - requires = '(php-composer(' + name + ') >= ' + minver + ' with php-composer(' + name + ') < ' + '.'.join(version) + ')' - else: - requires = 'php-composer(' + name + ') = ' + minver - return requires - -def repoquery(query): - stdout = subprocess.run(['dnf', 'repoquery', '-q', '--whatprovides', requires], stdout=subprocess.PIPE, universal_newlines=True, check = True).stdout - return stdout - - -with open('3rdparty/composer.json') as f: -#with open('apps/files_external/3rdparty/composer.json') as f: - depdata = json.load(f) - for name, version in depdata['require'].items(): - if name in excludes: - print('Skipping ' + name + ': Excluded') - continue - print(name, version, ':') - version = version.replace('v', '') - if version == '*': - constraint = 0 - version = '0' - elif version.startswith('^'): - constraint = 1 - version = version.strip('^') - elif version.startswith('~'): - constraint = 2 - version = version.strip('~') - else: - constraint = defaultconstraint - - if re.search('[^.0-9]', version): - print('Unparseable version:', version) - continue - else: - minver = version - - requires = get_requires(name, version, constraint) - print(' Constraint (' + constraintmap[constraint] + '): ' + requires) - - package = repoquery(requires) - while len(package) == 0: - constraint -= 1 - if constraint < 0: - break - requires = get_requires(name, version, constraint) - print(' Constraint (' + constraintmap[constraint] + '): ' + requires) - package = repoquery(requires) - - if len(package) == 0: - print(' -> no providing package found\n') - else: - print(' -> ' + package)