diff --git a/0000-disable-update-version-check.patch b/0000-disable-update-version-check.patch index 4a77733..2d5828b 100644 --- a/0000-disable-update-version-check.patch +++ b/0000-disable-update-version-check.patch @@ -2,7 +2,7 @@ diff --git a/lib/private/Updater.php b/lib/private/Updater.php index 5a14bb17507..38dcb55db7f 100644 --- a/lib/private/Updater.php +++ b/lib/private/Updater.php -@@ -174,10 +174,13 @@ +@@ -214,15 +214,17 @@ class Updater extends BasicEmitter { $this->config->setAppValue('core', 'vendor', $currentVendor); } @@ -13,9 +13,15 @@ index 5a14bb17507..38dcb55db7f 100644 + */ if ($currentVendor === 'nextcloud') { - return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) -- && (version_compare($oldVersion, $newVersion, '<=') -- || $this->config->getSystemValueBool('debug', false)); +- && (version_compare($oldVersion, $newVersion, '<=') || +- $this->config->getSystemValueBool('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/README.md b/README.md index e294b77..9db76d6 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Nextcloud requires some additional steps after installation/upgrade that are not ### Other versions -[modular nextcloud package Fedora and CentOS/RHEL](https://src.fedoraproject.org/modules/nextcloud) is over +Nextcloud maintains multiple stable branches at the same time. To install those, check out the [modular nextcloud package](https://src.fedoraproject.org/modules/nextcloud). -https://fedoraproject.org/wiki/Changes/RetireModularity +### CentOS/RHEL -Once Fedora Linux 38 reaches end of life, we will retire the Fedora instance of Module Build Service. +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/nextcloud-README.fedora b/nextcloud-README.fedora index 748b6cf..b64fc8d 100644 --- a/nextcloud-README.fedora +++ b/nextcloud-README.fedora @@ -12,7 +12,7 @@ If not, make sure your webserver is running properly. Webserver --------- -Currently nextcloud in Fedora/EPEL supports httpd (Apache) and nginx. You must install +Currently nextcloud in Fedora supports httpd (Apache) and nginx. You must install at least one webserver subpackage (nextcloud-). 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 @@ -67,7 +67,7 @@ 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/EPEL configuration it will log to the +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. @@ -115,4 +115,4 @@ systemctl enable --now nextcloud-cron.timer Migration from owncloud ----------------------- -For detailed instructions on this please read MIGRATION.distro +For detailed instructions on this please read MIGRATION.fedora diff --git a/nextcloud-defaults.inc b/nextcloud-defaults.inc index fef3ec6..c9ceec5 100644 --- a/nextcloud-defaults.inc +++ b/nextcloud-defaults.inc @@ -1,8 +1,76 @@ -# The contents of the default Nextcloud .htaccess file are appended to this -# file during build. Some directives may be irrelevant to the Fedora/EPEL -# ecosystem but are NOT omitted. +# 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 Nextcloud configuration, create a new /etc/httpd/conf.d/ -# file which will be read later than this one. +# 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 + + + + SetHandler "proxy:unix:/run/php-fpm/nextcloud.sock|fcgi://localhost" + + + + + 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 new file mode 100644 index 0000000..a125728 --- /dev/null +++ b/nextcloud-fedora-autoloader.php @@ -0,0 +1,70 @@ +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 index 12c121e..f9ac85d 100644 --- a/nextcloud-httpd.conf +++ b/nextcloud-httpd.conf @@ -16,12 +16,9 @@ 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 -# Nextcloud 29 checks specifically for trailing slash in dav 301 redirects -# https://github.com/nextcloud/server/issues/45033#issuecomment-2079306503 - -Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav/ -Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav/ -Redirect 301 /.well-known/webdav /nextcloud/remote.php/dav/ +Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav +Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav +Redirect 301 /.well-known/webdav /nextcloud/remote.php/dav Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo diff --git a/nextcloud-integritycheck-exclusion.patch b/nextcloud-integritycheck-exclusion.patch deleted file mode 100644 index eeb7ee5..0000000 --- a/nextcloud-integritycheck-exclusion.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9f38c6300712a23ccdc75e140143a1c461e15705 Mon Sep 17 00:00:00 2001 -From: Andrew Bauer -Date: Mon, 24 Jun 2024 10:11:23 -0500 -Subject: [PATCH] silence integrity check for excluded files - ---- - lib/private/IntegrityCheck/Checker.php | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/lib/private/IntegrityCheck/Checker.php b/lib/private/IntegrityCheck/Checker.php -index a6de3cf6030d7..3974483601b08 100644 ---- a/lib/private/IntegrityCheck/Checker.php -+++ b/lib/private/IntegrityCheck/Checker.php -@@ -337,7 +337,20 @@ private function verify(string $signaturePath, string $basePath, string $certifi - $differencesB = array_diff_assoc($currentInstanceHashes, $expectedHashes); - $differences = array_unique(array_merge($differencesA, $differencesB)); - $differenceArray = []; -+ -+ # Nasty hack to silence the integrity checker for files patched during the build process or files we simply don't care about -+ $excludedFilenames = [ -+//sedplaceholder ]; -+ - foreach ($differences as $filename => $hash) { -+ -+ # Skip if the file in question matches our exclusion list -+ foreach ($excludedFilenames as $excludedFilename) { -+ if (strpos($filename, $excludedFilename)!==false) { -+ break 2; -+ } -+ } -+ - // Check if file should not exist in the new signature table - if (!array_key_exists($filename, $expectedHashes)) { - $differenceArray['EXTRA_FILE'][$filename]['expected'] = ''; diff --git a/nextcloud-php.ini b/nextcloud-php.ini deleted file mode 100644 index 008bcab..0000000 --- a/nextcloud-php.ini +++ /dev/null @@ -1 +0,0 @@ -apc.enable_cli=1 diff --git a/nextcloud-systemd-timer.service b/nextcloud-systemd-timer.service index a7efaae..ccff38f 100644 --- a/nextcloud-systemd-timer.service +++ b/nextcloud-systemd-timer.service @@ -2,10 +2,7 @@ Description=Cron for nextcloud background jobs [Service] -# https://docs.nextcloud.com/server/25/admin_manual/configuration_server/background_jobs_configuration.html#systemd Type=oneshot -User=apache -KillMode=process ExecStart=/usr/bin/php -f /usr/share/nextcloud/cron.php - +User=apache diff --git a/nextcloud.spec b/nextcloud.spec index 2b4260b..f3a4498 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -1,15 +1,8 @@ -%if 0%{?fedora} -%global distro fedora -%else -%global distro epel -%endif - Name: nextcloud -Version: 34.0.3 +Version: 27.0.2 Release: %autorelease Summary: Private file sync and share server -# Automatically converted from old format: AGPLv3+ and MIT and BSD and ASL 2.0 and WTFPL and CC-BY-SA and GPLv3+ and Adobe - review is highly recommended. -License: AGPL-3.0-or-later AND LicenseRef-Callaway-MIT AND LicenseRef-Callaway-BSD AND Apache-2.0 AND WTFPL AND LicenseRef-Callaway-CC-BY-SA AND GPL-3.0-or-later AND Adobe-2006 +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 @@ -30,7 +23,6 @@ Source105: %{name}-defaults.inc Source200: %{name}-default-nginx.conf Source201: %{name}-conf-nginx.conf Source202: %{name}-php-fpm.conf -Source203: %{name}-php.ini # packaging notes and doc Source300: %{name}-README.fedora Source301: %{name}-mysql.txt @@ -40,27 +32,22 @@ 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 -# Add the ability to exclude files we specify from the nextcloud integrity checker -Patch1: nextcloud-integritycheck-exclusion.patch +# Change occ shebang to /usr/bin/php +Patch1: 0001-mangle-shebang.patch BuildArch: noarch - -# Set this to the minimum supported php version Nextcloud will run on -# Exists to prevent accidental building on distros with outdated php's -BuildRequires: php(language) >= 8.2 +# For the systemd macros +%if 0%{?fedora} > 29 BuildRequires: systemd-rpm-macros -BuildRequires: sed - -# Auto-generate Provides from bundled php-composer libraries -BuildRequires: composer-generators - +%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} -Requires: php-bcmath # Require php CLI for occ command Requires: php-cli # Core PHP libs/extensions required by OC core @@ -68,38 +55,161 @@ Requires: php-curl Requires: php-dom Requires: php-exif Requires: php-fileinfo -Requires: php-filter Requires: php-gd -Requires: php-gmp Requires: php-iconv -Requires: php-intl Requires: php-json Requires: php-ldap Requires: php-mbstring Requires: php-openssl Requires: php-pcre Requires: php-pdo -Requires: php-pecl-apcu -Requires: php-pecl-imagick -Requires: php-pecl-memcached -Requires: (php-pecl-redis6 or php-pecl-redis5) -Requires: php-process Requires: php-session Requires: php-simplexml -Requires: php-smbclient -Requires: php-spl -Recommends: php-sodium -Requires: php-opcache Requires: php-xmlwriter +Requires: php-spl Requires: php-zip +Requires: php-filter +Requires: php-ldap +Requires: php-smbclient +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} -# Fedora dropped legacy CA cert bundle symlinks -# See https://fedoraproject.org/wiki/Changes/dropingOfCertPemFile -Requires: %{_sysconfdir}/pki/ca-trust/extracted/pem/tls-ca-bundle.pem +# 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(amphp/amp)) = 2.6.2 +Provides: bundled(php-composer(amphp/byte-stream)) = 1.8.1 +Provides: bundled(php-composer(amphp/parallel)) = 1.4.3 +Provides: bundled(php-composer(amphp/parser)) = 1.1.0 +Provides: bundled(php-composer(amphp/process)) = 1.1.4 +Provides: bundled(php-composer(amphp/serialization)) = 1.0.0 +Provides: bundled(php-composer(amphp/sync)) = 1.4.2 +Provides: bundled(php-composer(darsyn/ip)) = 4.1.0 +Provides: bundled(php-composer(league/flysystem)) = 2.5.0 +Provides: bundled(php-composer(league/mime-type-detection)) = 1.11.0 +Provides: bundled(php-composer(psr/log)) = 1.1.4 +Provides: bundled(php-composer(rubix/ml)) = 20 +Provides: bundled(php-composer(rubix/tensor)) = 2.2.3 +Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.27.0 +Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.26.0 +Provides: bundled(php-composer(symfony/polyfill-php80)) = 1.27.0 +Provides: bundled(php-composer(hexogen/kdtree)) = 0.2.5 +Provides: bundled(php-composer(christian-riesen/base32)) = 1.6.0 +Provides: bundled(php-composer(rullzer/easytotp)) = 0.1.4 +Provides: bundled(php-composer(icewind/smb)) = 3.5.4 +Provides: bundled(php-composer(icewind/streams)) = 0.7.7 +Provides: bundled(php-composer(aws/aws-crt-php)) = 1.0.2 +Provides: bundled(php-composer(aws/aws-sdk-php)) = 3.240.8 +Provides: bundled(php-composer(bantu/ini-get-wrapper)) = 1.0.1 +Provides: bundled(php-composer(beberlei/assert)) = 3.3.1 +Provides: bundled(php-composer(brick/math)) = 0.9.2 +Provides: bundled(php-composer(christophwurst/id3parser)) = 0.1.4 +Provides: bundled(php-composer(cweagans/composer-patches)) = 1.7.1 +Provides: bundled(php-composer(deepdiver/zipstreamer)) = 2.0.0 +Provides: bundled(php-composer(deepdiver1975/tarstreamer)) = 2.0.0 +Provides: bundled(php-composer(doctrine/cache)) = 2.2.0 +Provides: bundled(php-composer(doctrine/dbal)) = 3.3.8 +Provides: bundled(php-composer(doctrine/deprecations)) = 1.0.0 +Provides: bundled(php-composer(doctrine/event-manager)) = 1.2.0 +Provides: bundled(php-composer(doctrine/lexer)) = 1.2.3 +Provides: bundled(php-composer(egulias/email-validator)) = 3.2.5 +Provides: bundled(php-composer(fgrosse/phpasn1)) = 2.3.0 +Provides: bundled(php-composer(fusonic/linq)) = 1.1.0 +Provides: bundled(php-composer(fusonic/opengraph)) = 2.2.0 +Provides: bundled(php-composer(giggsey/libphonenumber-for-php)) = 8.13.7 +Provides: bundled(php-composer(giggsey/locale)) = 2.3 +Provides: bundled(php-composer(guzzlehttp/guzzle)) = 7.5.0 +Provides: bundled(php-composer(guzzlehttp/promises)) = 1.5.2 +Provides: bundled(php-composer(guzzlehttp/psr7)) = 2.4.5 +Provides: bundled(php-composer(guzzlehttp/uri-template)) = 0.2.0 +Provides: bundled(php-composer(icewind/searchdav)) = 3.0.1 +Provides: bundled(php-composer(icewind/streams)) = 0.7.7 +Provides: bundled(php-composer(justinrainbow/json-schema)) = 5.2.10 +Provides: bundled(php-composer(laravel/serializable-closure)) = 1.2.2 +Provides: bundled(php-composer(league/uri)) = 6.4.0 +Provides: bundled(php-composer(league/uri-interfaces)) = 2.2.0 +Provides: bundled(php-composer(mexitek/phpcolors)) = 1.0.4 +Provides: bundled(php-composer(microsoft/azure-storage-blob)) = 1.5.4 +Provides: bundled(php-composer(microsoft/azure-storage-common)) = 1.5.2 +Provides: bundled(php-composer(mlocati/ip-lib)) = 1.18.0 +Provides: bundled(php-composer(mtdowling/jmespath.php)) = 2.6.1 +Provides: bundled(php-composer(nextcloud/lognormalizer)) = 1.0.0 +Provides: bundled(php-composer(opis/closure)) = 3.6.3 +Provides: bundled(php-composer(pear/archive_tar)) = 1.4.14 +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.2 +Provides: bundled(php-composer(php-http/guzzle7-adapter)) = 1.0.0 +Provides: bundled(php-composer(php-http/httplug)) = 2.2.0 +Provides: bundled(php-composer(php-http/promise)) = 1.1.0 +Provides: bundled(php-composer(php-opencloud/openstack)) = 3.2.1 +Provides: bundled(php-composer(phpseclib/phpseclib)) = 2.0.40 +Provides: bundled(php-composer(pimple/pimple)) = 3.5.0 +Provides: bundled(php-composer(psr/cache)) = 1.0.1 +Provides: bundled(php-composer(psr/clock)) = 1.0.0 +Provides: bundled(php-composer(psr/container)) = 2.0.2 +Provides: bundled(php-composer(psr/event-dispatcher)) = 1.0.0 +Provides: bundled(php-composer(psr/http-client)) = 1.0.1 +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.4 +Provides: bundled(php-composer(punic/punic)) = 1.6.5 +Provides: bundled(php-composer(ralouphie/getallheaders)) = 3.0.3 +Provides: bundled(php-composer(ramsey/collection)) = 1.1.3 +Provides: bundled(php-composer(ramsey/uuid)) = 4.1.1 +Provides: bundled(php-composer(sabre/dav)) = 4.4.0 +Provides: bundled(php-composer(sabre/event)) = 5.1.4 +Provides: bundled(php-composer(sabre/http)) = 5.1.5 +Provides: bundled(php-composer(sabre/uri)) = 2.2.2 +Provides: bundled(php-composer(sabre/vobject)) = 4.4.2 +Provides: bundled(php-composer(sabre/xml)) = 2.2.5 +Provides: bundled(php-composer(scssphp/scssphp)) = 1.11.0 +Provides: bundled(php-composer(spomky-labs/base64url)) = 2.0.4 +Provides: bundled(php-composer(spomky-labs/cbor-php)) = 2.0.1 +Provides: bundled(php-composer(stecman/symfony-console-completion)) = 0.11.0 +Provides: bundled(php-composer(swiftmailer/swiftmailer)) = 6.3.0 +Provides: bundled(php-composer(symfony/console)) = 5.4.19 +Provides: bundled(php-composer(symfony/css-selector)) = 5.4.11 +Provides: bundled(php-composer(symfony/deprecation-contracts)) = 2.5.2 +Provides: bundled(php-composer(symfony/dom-crawler)) = 5.4.11 +Provides: bundled(php-composer(symfony/event-dispatcher)) = 4.4.30 +Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = 1.1.9 +Provides: bundled(php-composer(symfony/http-foundation)) = 5.4.10 +Provides: bundled(php-composer(symfony/mailer)) = 5.4.19 +Provides: bundled(php-composer(symfony/mime)) = 5.4.19 +Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.23.0 +Provides: bundled(php-composer(symfony/polyfill-iconv)) = 1.27.0 +Provides: bundled(php-composer(symfony/polyfill-intl-grapheme)) = 1.23.1 +Provides: bundled(php-composer(symfony/polyfill-intl-idn)) = 1.27.0 +Provides: bundled(php-composer(symfony/polyfill-intl-normalizer)) = 1.27.0 +Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.27.0 +Provides: bundled(php-composer(symfony/polyfill-php72)) = 1.27.0 +Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.23.0 +Provides: bundled(php-composer(symfony/polyfill-php80)) = 1.26.0 +Provides: bundled(php-composer(symfony/process)) = 4.4.30 +Provides: bundled(php-composer(symfony/routing)) = 4.4.30 +Provides: bundled(php-composer(symfony/service-contracts)) = 3.0.2 +Provides: bundled(php-composer(symfony/string)) = 6.0.19 +Provides: bundled(php-composer(symfony/translation)) = 4.4.41 +Provides: bundled(php-composer(symfony/translation-contracts)) = 2.4.0 +Provides: bundled(php-composer(thecodingmachine/safe)) = 1.3.3 +Provides: bundled(php-composer(web-auth/cose-lib)) = 3.3.9 +Provides: bundled(php-composer(web-auth/metadata-service)) = 3.3.9 +Provides: bundled(php-composer(web-auth/webauthn-lib)) = 3.3.9 + +# 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) = 1.13 +Provides: bundled(jquery-ui-multiselect) = 0.3.1 # zxcvbn bundled via core Provides: bundled(zxcvbn) = 4.4.2 @@ -150,7 +260,6 @@ 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} @@ -179,33 +288,20 @@ Requires: %{name} = %{version}-%{release} 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 -# Fix php shebang in occ -sed -ri 's\^#!/usr/bin/env php$\#!%{_bindir}/php\' occ - # patch backup files and .git stuff -find . -name \*.orig -type f -delete -print -find . -name .gitignore -type f -delete -print +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 -# fix CLI upgrade advice on splash screen -if ! file=$(grep -l 'occ upgrade' dist/*.map); then - echo "Could not find the occ upgrade instructions in dist/*.map" - exit 1 -fi -echo "Updating occ upgrade instructions in $file" -sed -i -e 's#\./\(occ upgrade\)#sudo -u apache php /usr/share/nextcloud/\1#' $file - # prepare package doc -cp %{SOURCE300} README.%{distro} +cp %{SOURCE300} README.fedora cp %{SOURCE301} README.mysql cp %{SOURCE302} README.postgresql -cp %{SOURCE303} MIGRATION.%{distro} - -# point the reader to the correct README filename -sed -i 's/distro/%{distro}/g' README.%{distro} +cp %{SOURCE303} MIGRATION.fedora # Locate license files and put them sensibly in place # get rid of all composer licenses @@ -215,42 +311,6 @@ find -wholename "*/composer/LICENSE" -exec mv {} composer-LICENSE \; find . -mindepth 2 \( -name '*LICENSE*' -o -name '*LICENCE*' \) | { while read a ; do mv "$a" $(echo $a | sed "s_^./__" | tr "/ " "__" )-LICENSE ; done ; } find . -mindepth 2 -name '*COPYING*' | { while read a ; do mv "$a" $(echo $a | sed "s_^./__" | tr "/ " "__" )-COPYING ; done ; } -# case-sensitive list of partial matches to exclude from the nextcloud integrity checker -# include readme, license, other docs, and any files we move or patch during the build -excludedFilenames=" -README -readme -LICENSE -LICENCE -license -copying -COPYING -AUTHORS -htaccess -gitignore -user.ini -update.admin.php -Updater.php -occ -Checker.php -" - -# nextcloud source files use tabs rather than spaces, ew -tabs=" " -cr=" -" - -# Add quotes, commas, and escaped newlines -for f in $excludedFilenames; do - formattedlist="$formattedlist$tabs'$f',\\$cr" -done - -# look for our sed placeholder we patched in earlier, then insert our formatted list of keywords -sed -i "s|//sedplaceholder|${formattedlist}|" lib/private/IntegrityCheck/Checker.php - -# Build nextcloud-defaults.inc from upstream .htaccess. We will install it later. -cat .htaccess >> %{SOURCE105} - %check # Make sure there are no license files left over : Check for leftover license files @@ -288,10 +348,10 @@ done install -pm 755 occ %{buildroot}%{_datadir}/%{name} # symlink config dir -ln -s ../../../%{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config +ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config # nextcloud looks for ca-bundle.crt in config dir -ln -s ../pki/ca-trust/extracted/pem/tls-ca-bundle.pem %{buildroot}%{_sysconfdir}/%{name}/ca-bundle.crt +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 @@ -314,10 +374,6 @@ install -Dpm 644 %{SOURCE201} \ install -Dpm 644 %{SOURCE202} \ %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf -# php.ini config -install -Dpm 644 %{SOURCE203} \ - %{buildroot}%{_sysconfdir}/php.d/60-%{name}.ini - # Install the systemd timer install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/nextcloud-cron.service install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/nextcloud-cron.timer @@ -354,12 +410,11 @@ if [ $1 -eq 0 ]; then fi %files -%doc AUTHORS README.%{distro} MIGRATION.%{distro} config/config.sample.php +%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 -%config(noreplace) %{_sysconfdir}/php.d/60-%{name}.ini # need the symlink in confdir but it's not config %{_sysconfdir}/%{name}/ca-bundle.crt %{_datadir}/%{name} @@ -390,3 +445,4 @@ fi %changelog %autochangelog + diff --git a/sources b/sources index 95997de..d791486 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nextcloud-34.0.3.tar.bz2) = 3463dbbdeae5275a0791b115cf86aed41c5a138fdd19bb32ec12837a6698106b6f172e24fb1264a2d4e20b2b805bcf7841b2338e4e02f1fd5394fbed830cc695 +SHA512 (nextcloud-27.0.2.tar.bz2) = e64f4590512d0b23534bcd29344e8ff6c859121db78912789ea22fba73ea5cc6f3e44f70652ffb536efe350714156285078b3ecd56e493a75860052dafbec4c9