Compare commits

..

8 commits

Author SHA1 Message Date
Iván Chavero
52ddc356df Update for 25.0.1 2022-11-27 21:43:33 -06:00
Avi Alkalay
c996e55f04 update to 24.0.5 2022-10-08 22:06:18 -05:00
Avi Alkalay
898f69ed72 Set PHP output_buffering to false to kill nextcloud setup warnings 2022-10-08 22:06:18 -05:00
Avi Alkalay
fd8873d065 Add new .well-known redirects 2022-10-08 22:06:18 -05:00
Avi Alkalay
7232addca6 use FPM’s specific configuration 2022-10-08 22:06:18 -05:00
Fedora Release Engineering
57fcfa476a Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-10-08 22:06:18 -05:00
Fedora Release Engineering
583fbab813 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-10-08 22:06:18 -05:00
Iván Chavero
cd854549af Update to 24.0.3 2022-07-30 00:00:27 -06:00
12 changed files with 628 additions and 194 deletions

View file

@ -1,21 +1,20 @@
diff --git a/lib/private/Updater.php b/lib/private/Updater.php diff -Naur a/lib/private/Updater.php b/lib/private/Updater.php
index 5a14bb17507..38dcb55db7f 100644 --- a/lib/private/Updater.php 2020-10-24 10:37:44.000000000 +0200
--- a/lib/private/Updater.php +++ b/lib/private/Updater.php 2020-11-10 10:51:10.511861549 +0100
+++ b/lib/private/Updater.php @@ -197,14 +197,11 @@
@@ -174,10 +174,13 @@
$this->config->setAppValue('core', 'vendor', $currentVendor);
} }
+ /*
+ Fedora package:
+ Remove updater version check, we know that updates across more than one
+ version are possible
+ */
if ($currentVendor === 'nextcloud') { if ($currentVendor === 'nextcloud') {
- return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) - return isset($allowedPreviousVersions[$currentVendor][$majorMinor])
- && (version_compare($oldVersion, $newVersion, '<=') - && (version_compare($oldVersion, $newVersion, '<=') ||
- || $this->config->getSystemValueBool('debug', false)); - $this->config->getSystemValue('debug', false));
+ return true; + return true;
} }
// Check if the instance can be migrated // Check if the instance can be migrated
- return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) ||
- isset($allowedPreviousVersions[$currentVendor][$oldVersion]);
+ return true;
}
/**

View file

@ -4,8 +4,8 @@ Nextcloud requires some additional steps after installation/upgrade that are not
### Other versions ### 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.

View file

@ -12,7 +12,7 @@ If not, make sure your webserver is running properly.
Webserver 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-<webserver>). These packages at least one webserver subpackage (nextcloud-<webserver>). These packages
include additional configuration files for the webservers. Remote access is 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 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 Logging
------- -------
As specified by the configuration file, nextcloud sends messages to the system 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 systemd journal: try "journalctl -b -t Nextcloud". You can also change the
loglevel or switch to the built-in log mechanism of nextcloud. loglevel or switch to the built-in log mechanism of nextcloud.
@ -115,4 +115,4 @@ systemctl enable --now nextcloud-cron.timer
Migration from owncloud Migration from owncloud
----------------------- -----------------------
For detailed instructions on this please read MIGRATION.distro For detailed instructions on this please read MIGRATION.fedora

View file

@ -1,5 +1,5 @@
<?php <?php
$CONFIG = [ $CONFIG = array (
"log_type" => "syslog", "log_type" => "syslog",
"datadirectory" => "/var/lib/nextcloud/data", "datadirectory" => "/var/lib/nextcloud/data",
"updatechecker" => false, "updatechecker" => false,
@ -9,15 +9,18 @@ $CONFIG = [
"preview_libreoffice_path" => '/usr/bin/libreoffice', "preview_libreoffice_path" => '/usr/bin/libreoffice',
"apps_paths" => [ "apps_paths" => array(
[ 'path'=> '/usr/share/nextcloud/apps', 0 =>
array (
'path'=> '/usr/share/nextcloud/apps',
'url' => '/apps', 'url' => '/apps',
'writable' => false, 'writable' => false,
], ),
[ 1 =>
array (
'path' => '/var/lib/nextcloud/apps', 'path' => '/var/lib/nextcloud/apps',
'url' => '/apps-appstore', 'url' => '/apps-appstore',
'writable' => true, 'writable' => true,
], ),
], ),
]; );

View file

@ -1,8 +1,76 @@
# The contents of the default Nextcloud .htaccess file are appended to this # These are based on the .htaccess file shipped by ownCloud, with
# file during build. Some directives may be irrelevant to the Fedora/EPEL # appropriate adjustments for distribution packaging. Some directives
# ecosystem but are NOT omitted. # 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 # DO NOT EDIT THIS FILE DIRECTLY. To override any element of the
# packaged Nextcloud configuration, create a new /etc/httpd/conf.d/ # packaged ownCloud configuration, create a new /etc/httpd/conf.d/
# file which will be read later than this one. # 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
<IfModule mod_fcgid.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
<FilesMatch \.(php|phar)$>
SetHandler "proxy:unix:/run/php-fpm/nextcloud.sock|fcgi://localhost"
</FilesMatch>
</IfModule>
<IfModule mod_php5.c>
php_value upload_max_filesize 10G
php_value post_max_size 10G
php_value memory_limit 512M
php_value mbstring.func_overload 0
php_value always_populate_raw_post_data -1
php_value default_charset 'UTF-8'
php_value output_buffering off
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
<IfModule mod_php7.c>
php_value upload_max_filesize 10G
php_value post_max_size 10G
php_value memory_limit 512M
php_value mbstring.func_overload 0
php_value always_populate_raw_post_data -1
php_value default_charset 'UTF-8'
php_value output_buffering off
<IfModule mod_env.c>
SetEnv htaccessWorking true
</IfModule>
</IfModule>
# The rewrites for legacy caldav and carddav URLs are omitted here
# because they do not work with Fedora's ownCloud directory layout.
# See https://github.com/nextcloud/core/issues/243#issuecomment-75426453
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /nextcloud/
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^remote/(.*) remote.php [QSA,L]
</IfModule>
AddDefaultCharset utf-8
Options -Indexes
<IfModule pagespeed_module>
ModPagespeed Off
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=7200, public"
</FilesMatch>
</IfModule>

View file

@ -0,0 +1,70 @@
<?php
$vendor = '##DATADIR##/php';
if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {
if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {
require_once $vendor . '/Symfony/Component/ClassLoader/ClassLoader.php';
}
$fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
$fedoraClassLoader->register();
}
// For PEAR components
$fedoraClassLoader->setUseIncludePath(true);
// Dependencies from 3rdparty composer.json
// "guzzlehttp/guzzle"
require_once $vendor . '/GuzzleHttp/autoload.php';
// "sabre/dav"
require_once $vendor . '/Sabre/DAV/autoload.php';
// "doctrine/dbal"
require_once $vendor . '/Doctrine/DBAL/autoload.php';
// mcnetic/zipstreamer"
require_once $vendor . '/ZipStreamer/autoload.php';
// "phpeclib/phpseclib"
require_once $vendor . '/phpseclib/autoload.php';
// "rackspace/php-opencloud"
require_once $vendor . '/OpenCloud/autoload.php';
// "jeremeamia/superclosure"
require_once $vendor . '/SuperClosure/autoload.php';
// "bantu/ini-get-wrapper"
require_once $vendor . '/bantu/IniGetWrapper/IniGetWrapper.php';
// "natxet/CssMin"
require_once $vendor . '/natxet/CssMin/autoload.php';
// "punic/punic"
require_once $vendor . '/Punic/autoload.php';
// "patchwork/utf8"
require_once $vendor . '/Patchwork/autoload.php';
// "symfony/console"
require_once $vendor . '/Symfony/Component/Console/autoload.php';
// "symfony/event-dispatcher"
require_once $vendor . '/Symfony/Component/EventDispatcher/autoload.php';
// "symfony/routing"
require_once $vendor . '/Symfony/Component/Routing/autoload.php';
// "symfony/process"
require_once $vendor . '/Symfony/Component/Process/autoload.php';
// "pimple/pimple"
require_once $vendor . '/Pimple/autoload.php';
// "ircmaxell/password-compat"
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';

View file

@ -16,12 +16,9 @@ Alias /nextcloud /usr/share/nextcloud
# Allows compliant CalDAV / CardDAV clients to be configured using only # Allows compliant CalDAV / CardDAV clients to be configured using only
# the domain name. For more details see # http://tools.ietf.org/html/rfc6764 # the domain name. For more details see # http://tools.ietf.org/html/rfc6764
# Nextcloud 29 checks specifically for trailing slash in dav 301 redirects Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
# https://github.com/nextcloud/server/issues/45033#issuecomment-2079306503 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/webfinger /nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo

View file

@ -1,34 +0,0 @@
From 9f38c6300712a23ccdc75e140143a1c461e15705 Mon Sep 17 00:00:00 2001
From: Andrew Bauer <zonexpertconsulting@outlook.com>
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'] = '';

View file

@ -1 +0,0 @@
apc.enable_cli=1

View file

@ -2,10 +2,7 @@
Description=Cron for nextcloud background jobs Description=Cron for nextcloud background jobs
[Service] [Service]
# https://docs.nextcloud.com/server/25/admin_manual/configuration_server/background_jobs_configuration.html#systemd
Type=oneshot Type=oneshot
User=apache
KillMode=process
ExecStart=/usr/bin/php -f /usr/share/nextcloud/cron.php ExecStart=/usr/bin/php -f /usr/share/nextcloud/cron.php
User=apache

View file

@ -1,15 +1,8 @@
%if 0%{?fedora}
%global distro fedora
%else
%global distro epel
%endif
Name: nextcloud Name: nextcloud
Version: 34.0.3 Version: 25.0.1
Release: %autorelease Release: %autorelease
Summary: Private file sync and share server 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: AGPLv3+ and MIT and BSD and ASL 2.0 and WTFPL and CC-BY-SA and GPLv3+ and Adobe
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
URL: http://nextcloud.com URL: http://nextcloud.com
Source0: https://download.nextcloud.com/server/releases/%{name}-%{version}.tar.bz2 Source0: https://download.nextcloud.com/server/releases/%{name}-%{version}.tar.bz2
@ -30,7 +23,6 @@ Source105: %{name}-defaults.inc
Source200: %{name}-default-nginx.conf Source200: %{name}-default-nginx.conf
Source201: %{name}-conf-nginx.conf Source201: %{name}-conf-nginx.conf
Source202: %{name}-php-fpm.conf Source202: %{name}-php-fpm.conf
Source203: %{name}-php.ini
# packaging notes and doc # packaging notes and doc
Source300: %{name}-README.fedora Source300: %{name}-README.fedora
Source301: %{name}-mysql.txt Source301: %{name}-mysql.txt
@ -40,27 +32,22 @@ Source303: %{name}-MIGRATION.fedora
# Remove updater version check, we know that updates across more than one # Remove updater version check, we know that updates across more than one
# version are possible # version are possible
Patch0: 0000-disable-update-version-check.patch Patch0: 0000-disable-update-version-check.patch
# Add the ability to exclude files we specify from the nextcloud integrity checker # Change occ shebang to /usr/bin/php
Patch1: nextcloud-integritycheck-exclusion.patch Patch1: 0001-mangle-shebang.patch
BuildArch: noarch BuildArch: noarch
# For the systemd macros
# Set this to the minimum supported php version Nextcloud will run on %if 0%{?fedora} > 29
# Exists to prevent accidental building on distros with outdated php's
BuildRequires: php(language) >= 8.2
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
BuildRequires: sed %else
BuildRequires: systemd
# Auto-generate Provides from bundled php-composer libraries %endif
BuildRequires: composer-generators
# expand pear macros on install # expand pear macros on install
BuildRequires: php-pear BuildRequires: php-pear
# Require one webserver and database backend # Require one webserver and database backend
Requires: %{name}-webserver = %{version}-%{release} Requires: %{name}-webserver = %{version}-%{release}
Requires: %{name}-database = %{version}-%{release} Requires: %{name}-database = %{version}-%{release}
Requires: php-bcmath
# Require php CLI for occ command # Require php CLI for occ command
Requires: php-cli Requires: php-cli
# Core PHP libs/extensions required by OC core # Core PHP libs/extensions required by OC core
@ -68,38 +55,192 @@ Requires: php-curl
Requires: php-dom Requires: php-dom
Requires: php-exif Requires: php-exif
Requires: php-fileinfo Requires: php-fileinfo
Requires: php-filter
Requires: php-gd Requires: php-gd
Requires: php-gmp
Requires: php-iconv Requires: php-iconv
Requires: php-intl
Requires: php-json Requires: php-json
Requires: php-ldap Requires: php-ldap
Requires: php-mbstring Requires: php-mbstring
Requires: php-openssl Requires: php-openssl
Requires: php-pcre Requires: php-pcre
Requires: php-pdo 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-session
Requires: php-simplexml Requires: php-simplexml
Requires: php-smbclient
Requires: php-spl
Recommends: php-sodium
Requires: php-opcache
Requires: php-xmlwriter Requires: php-xmlwriter
Requires: php-spl
Requires: php-zip 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 # For systemd support during install/uninstall
%{?systemd_requires} %{?systemd_requires}
# Fedora dropped legacy CA cert bundle symlinks # the CA cert bundle is linked to from the config dir
# See https://fedoraproject.org/wiki/Changes/dropingOfCertPemFile Requires: %{_sysconfdir}/pki/tls/certs/ca-bundle.crt
Requires: %{_sysconfdir}/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
# 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.1
Provides: bundled(php-composer(amphp/parser)) = 1.0.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(aws/aws-sdk-php)) = 3.184.6
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(christian-riesen/base32)) = 1.6.0
Provides: bundled(php-composer(christophwurst/id3parser)) = 0.1.4
Provides: bundled(php-composer(composer/package-versions-deprecated)) = 1.11.99.4
Provides: bundled(php-composer(composer/semver)) = 3.2.5
Provides: bundled(php-composer(composer/xdebug-handler)) = 2.0.2
Provides: bundled(php-composer(cweagans/composer-patches)) = 1.7.1
Provides: bundled(php-composer(darsyn/ip)) = 4.1.0
Provides: bundled(php-composer(deepdiver1975/tarstreamer)) = 2.0.0
Provides: bundled(php-composer(deepdiver/zipstreamer)) = 2.0.0
Provides: bundled(php-composer(doctrine/annotations)) = 1.13.2
Provides: bundled(php-composer(doctrine/cache)) = 2.1.1
Provides: bundled(php-composer(doctrine/dbal)) = 3.1.4
Provides: bundled(php-composer(doctrine/deprecations)) = 0.5.3
Provides: bundled(php-composer(doctrine/event-manager)) = 1.1.1
Provides: bundled(php-composer(doctrine/lexer)) = 1.2.1
Provides: bundled(php-composer(doctrine/lexer)) = 1.2.1
Provides: bundled(php-composer(doctrine/lexer)) = 1.2.1
Provides: bundled(php-composer(egulias/email-validator)) = 3.1.1
Provides: bundled(php-composer(fgrosse/phpasn1)) = 2.3.0
Provides: bundled(php-composer(friendsofphp/php-cs-fixer)) = 2.19.2
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.12.38
Provides: bundled(php-composer(giggsey/locale)) = 2.1
Provides: bundled(php-composer(guzzlehttp/guzzle)) = 7.4.5
Provides: bundled(php-composer(guzzlehttp/promises)) = 1.5.1
Provides: bundled(php-composer(guzzlehttp/psr7)) = 1.9.0
Provides: bundled(php-composer(guzzlehttp/uri-template)) = 0.2.0
Provides: bundled(php-composer(icewind/searchdav)) = 3.0.1
Provides: bundled(php-composer(icewind/smb)) = 3.5.2
Provides: bundled(php-composer(icewind/streams)) = 0.7.4
Provides: bundled(php-composer(icewind/streams)) = 0.7.5
Provides: bundled(php-composer(justinrainbow/json-schema)) = 5.2.10
Provides: bundled(php-composer(laravel/serializable-closure)) = 1.2.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(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.2
Provides: bundled(php-composer(microsoft/azure-storage-common)) = 1.5.1
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/coding-standard)) = 0.5.0
Provides: bundled(php-composer(nextcloud/lognormalizer)) = 1.0.0
Provides: bundled(php-composer(nikic/php-parser)) = 4.10.5
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-cs-fixer/diff)) = 1.3.1
Provides: bundled(php-composer(php-ds/php-ds)) = 1.3.0
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.1.0
Provides: bundled(php-composer(phpseclib/phpseclib)) = 2.0.38
Provides: bundled(php-composer(pimple/pimple)) = 3.5.0
Provides: bundled(php-composer(psr/cache)) = 1.0.1
Provides: bundled(php-composer(psr/container)) = 1.1.1
Provides: bundled(php-composer(psr/container)) = 1.1.1
Provides: bundled(php-composer(psr/event-dispatcher)) = 1.0.0
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(psr/log)) = 1.1.4
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(rubix/ml)) = 20
Provides: bundled(php-composer(rubix/tensor)) = 2.2.3
Provides: bundled(php-composer(rullzer/easytotp)) = 0.1.4
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.8.1
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.2.7
Provides: bundled(php-composer(symfony/console)) = 4.4.30
Provides: bundled(php-composer(symfony/console)) = 5.3.7
Provides: bundled(php-composer(symfony/css-selector)) = 5.4.11
Provides: bundled(php-composer(symfony/deprecation-contracts)) = 2.4.0
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)) = 5.3.7
Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = 1.1.9
Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = 2.4.0
Provides: bundled(php-composer(symfony/filesystem)) = 5.3.4
Provides: bundled(php-composer(symfony/finder)) = 5.3.7
Provides: bundled(php-composer(symfony/http-foundation)) = 5.4.10
Provides: bundled(php-composer(symfony/options-resolver)) = 5.3.7
Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-iconv)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-intl-grapheme)) = 1.23.1
Provides: bundled(php-composer(symfony/polyfill-intl-grapheme)) = 1.23.1
Provides: bundled(php-composer(symfony/polyfill-intl-idn)) = 1.22.1
Provides: bundled(php-composer(symfony/polyfill-intl-idn)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-intl-normalizer)) = 1.22.1
Provides: bundled(php-composer(symfony/polyfill-intl-normalizer)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-intl-normalizer)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.23.1
Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.26.0
Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.26.0
Provides: bundled(php-composer(symfony/polyfill-php70)) = 1.20.0
Provides: bundled(php-composer(symfony/polyfill-php72)) = 1.22.1
Provides: bundled(php-composer(symfony/polyfill-php72)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-php72)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.23.0
Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.26.0
Provides: bundled(php-composer(symfony/polyfill-php80)) = 1.23.1
Provides: bundled(php-composer(symfony/polyfill-php80)) = 1.26.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/process)) = 5.3.7
Provides: bundled(php-composer(symfony/routing)) = 4.4.30
Provides: bundled(php-composer(symfony/service-contracts)) = 2.4.0
Provides: bundled(php-composer(symfony/service-contracts)) = 2.4.0
Provides: bundled(php-composer(symfony/stopwatch)) = 5.3.4
Provides: bundled(php-composer(symfony/string)) = 5.3.7
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 # 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 # zxcvbn bundled via core
Provides: bundled(zxcvbn) = 4.4.2 Provides: bundled(zxcvbn) = 4.4.2
@ -150,7 +291,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 also install and enable a MySQL / MariaDB server package. See README.mysql for
more details. more details.
%package postgresql %package postgresql
Summary: PostgreSQL database support for NextCloud Summary: PostgreSQL database support for NextCloud
Provides: %{name}-database = %{version}-%{release} Provides: %{name}-database = %{version}-%{release}
@ -179,77 +319,286 @@ Requires: %{name} = %{version}-%{release}
This package ensures the necessary dependencies are in place for NextCloud to This package ensures the necessary dependencies are in place for NextCloud to
work with an SQLite 3 database stored on the local system. work with an SQLite 3 database stored on the local system.
%prep %prep
%autosetup -n %{name} -p1 %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 # patch backup files and .git stuff
find . -name \*.orig -type f -delete -print find . -name \*.orig -type f -exec rm {} \; -print
find . -name .gitignore -type f -delete -print find . -name .gitignore -type f -exec rm {} \; -print
find . -name .github -type d -prune -exec rm -r {} \; -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 # prepare package doc
cp %{SOURCE300} README.%{distro} cp %{SOURCE300} README.fedora
cp %{SOURCE301} README.mysql cp %{SOURCE301} README.mysql
cp %{SOURCE302} README.postgresql cp %{SOURCE302} README.postgresql
cp %{SOURCE303} MIGRATION.%{distro} cp %{SOURCE303} MIGRATION.fedora
# point the reader to the correct README filename
sed -i 's/distro/%{distro}/g' README.%{distro}
# Locate license files and put them sensibly in place # Locate license files and put them sensibly in place
# get rid of all composer licenses # get rid of all composer licenses
find -wholename "*/composer/LICENSE" -exec mv {} composer-LICENSE \; find -wholename "*/composer/LICENSE" -exec mv {} composer-LICENSE \;
# Deal with licenses automatically # find all remaining using "find -name '*LICENCE*' -name '*LICENSE*' -o -name '*COPYING*' | sort"
find . -mindepth 2 \( -name '*LICENSE*' -o -name '*LICENCE*' \) | { while read a ; do mv "$a" $(echo $a | sed "s_^./__" | tr "/ " "__" )-LICENSE ; done ; } mv 3rdparty/aws/aws-sdk-php/LICENSE.md aws-LICENSE.md
find . -mindepth 2 -name '*COPYING*' | { while read a ; do mv "$a" $(echo $a | sed "s_^./__" | tr "/ " "__" )-COPYING ; done ; } mv 3rdparty/bantu/ini-get-wrapper/LICENSE bantu-LICENSE
mv 3rdparty/beberlei/assert/LICENSE beberlei-LICENSE
# case-sensitive list of partial matches to exclude from the nextcloud integrity checker mv 3rdparty/brick/math/LICENSE brick-LICENSE
# include readme, license, other docs, and any files we move or patch during the build mv 3rdparty/christophwurst/id3parser/LICENSE christophwurst-LICENSE
excludedFilenames=" mv 3rdparty/composer/package-versions-deprecated/LICENSE composer-LICENSE
README mv 3rdparty/deepdiver1975/tarstreamer/LICENSE deepdiver1975-LICENSE
readme mv 3rdparty/deepdiver/zipstreamer/COPYING deepdiver-COPYING
LICENSE mv 3rdparty/doctrine/cache/LICENSE doctrine-LICENSE
LICENCE mv 3rdparty/doctrine/dbal/LICENSE doctrine-LICENSE
license mv 3rdparty/doctrine/event-manager/LICENSE doctrine-LICENSE
copying mv 3rdparty/egulias/email-validator/LICENSE egulias-LICENSE
COPYING mv 3rdparty/fgrosse/phpasn1/LICENSE fgrosse-LICENSE
AUTHORS mv 3rdparty/giggsey/libphonenumber-for-php/LICENSE giggsey-LICENSE
htaccess mv 3rdparty/giggsey/locale/LICENSE giggsey-LICENSE
gitignore mv 3rdparty/guzzlehttp/guzzle/LICENSE guzzlehttp-LICENSE
user.ini mv 3rdparty/guzzlehttp/promises/LICENSE guzzlehttp-LICENSE
update.admin.php mv 3rdparty/guzzlehttp/psr7/LICENSE guzzlehttp-LICENSE
Updater.php mv 3rdparty/guzzlehttp/uri-template/LICENSE.md guzzlehttp-LICENSE
occ mv 3rdparty/icewind/searchdav/LICENSE icewind-LICENSE
Checker.php mv 3rdparty/justinrainbow/json-schema/LICENSE justinrainbow-LICENSE
" mv 3rdparty/league/uri-interfaces/LICENSE league-LICENSE
mv 3rdparty/league/uri/LICENSE league-LICENSE
# nextcloud source files use tabs rather than spaces, ew mv '3rdparty/LICENSE INFO' 3rdparty-LICENSE_INFO
tabs=" " mv 3rdparty/microsoft/azure-storage-blob/LICENSE microsoft-LICENSE
cr=" mv 3rdparty/microsoft/azure-storage-common/LICENSE microsoft-LICENSE
" mv 3rdparty/mtdowling/jmespath.php/LICENSE mtdowling-LICENSE
mv 3rdparty/nextcloud/lognormalizer/COPYING lognormalizer-LICENSE
# Add quotes, commas, and escaped newlines mv 3rdparty/nikic/php-parser/LICENSE nikic-LICENSE
for f in $excludedFilenames; do mv 3rdparty/opis/closure/LICENSE opis-LICENSE
formattedlist="$formattedlist$tabs'$f',\\$cr" mv 3rdparty/pear/console_getopt/LICENSE pear-LICENSE
done mv 3rdparty/pear/pear_exception/LICENSE pear-LICENSE
mv 3rdparty/php-ds/php-ds/LICENSE php-ds-LICENSE
# look for our sed placeholder we patched in earlier, then insert our formatted list of keywords mv 3rdparty/php-http/guzzle7-adapter/LICENSE php-http-LICENSE
sed -i "s|//sedplaceholder|${formattedlist}|" lib/private/IntegrityCheck/Checker.php mv 3rdparty/php-http/httplug/LICENSE php-http-LICENSE
mv 3rdparty/php-http/promise/LICENSE php-http-LICENSE
# Build nextcloud-defaults.inc from upstream .htaccess. We will install it later. mv 3rdparty/php-opencloud/openstack/LICENSE php-opencloud-LICENSE
cat .htaccess >> %{SOURCE105} mv 3rdparty/phpseclib/phpseclib/LICENSE phpseclib-LICENSE
mv 3rdparty/psr/event-dispatcher/LICENSE psr-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/collection/LICENSE ramsey-LICENSE
mv 3rdparty/ramsey/uuid/LICENSE ramsey-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-grapheme/LICENSE symfony-LICENSE
mv 3rdparty/symfony/polyfill-intl-idn/LICENSE symfony-LICENSE
mv 3rdparty/symfony/polyfill-intl-normalizer/LICENSE symfony-LICENSE
mv 3rdparty/symfony/polyfill-mbstring/LICENSE symfony-LICENSE
mv 3rdparty/symfony/polyfill-php72/LICENSE symfony-LICENSE
mv 3rdparty/symfony/polyfill-php73/LICENSE symfony-LICENSE
mv 3rdparty/symfony/polyfill-php80/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/thecodingmachine/safe/LICENSE thecodingmachine-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/cweagans/composer-patches/LICENSE.md composer-patches-LICENSE.md
mv 3rdparty/symfony/deprecation-contracts/LICENSE deprecation-contracts-LICENSE
mv apps/activity/js/activity-sidebar.js.LICENSE.txt activity-sidebar.js-LICENSE
mv apps/activity/js/activity-dashboard.js.LICENSE.txt activity-dashboard.js-LICENSE.txt
mv apps/circles/LICENSE circles-LICENSE
mv apps/cloud_federation_api/LICENSE cloud_federation_api-LICENSE
mv apps/files_external/3rdparty/icewind/smb/LICENSE.txt icewind-LICENSE
mv apps/files_external/3rdparty/icewind/streams/LICENCE icewind-LICENSE
mv apps/files_pdfviewer/js/files_pdfviewer-workersrc.js.LICENSE.txt files_pdfviewer-workersrc.js-LICENSE
mv apps/files_pdfviewer/js/files_pdfviewer-main.js.LICENSE.txt files_pdfviewer-main.js-LICENSE
mv apps/files_pdfviewer/js/files_pdfviewer-public.js.LICENSE.txt files_pdfviewer-public.js-LICENSE
mv apps/files_pdfviewer/js/pdfjs/LICENSE js-pdfjs-LICENSE
mv apps/files_pdfviewer/js/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/logreader/js/logreader-main.js.LICENSE.txt logreader-main.js-LICENSE
mv apps/nextcloud_announcements/COPYING nextcloud_announcements-COPYING
mv apps/notifications/COPYING notifications-LICENSE
mv apps/notifications/js/notifications-main.js.LICENSE.txt notifications-main.js-LICENSE
mv apps/password_policy/LICENSE password_policy-LICENSE
mv apps/password_policy/js/password_policy-settings.js.LICENSE.txt password_policy-settings.js-LICENSE
mv apps/photos/COPYING photos-COPYING
mv apps/photos/js/photos-main.js.LICENSE.txt photos-main.js-LICENSE
mv apps/privacy/COPYING privacy-COPYING
mv apps/privacy/js/privacy-main.js.LICENSE.txt privacy-main.js-LICENSE
mv apps/recommendations/LICENSE recommendations-LICENSE
mv apps/serverinfo/COPYING serverinfo-LICENSE
mv apps/survey_client/COPYING survey_client-LICENSE
mv apps/text/COPYING text-COPYING
mv apps/text/js/vendors.js.LICENSE.txt vendors.js-LICENSE.txt
mv apps/text/js/editor.js.LICENSE.txt editor.js.LICENSE.txt
mv apps/text/js/text-files.js.LICENSE.txt text-files.js-LICENSE.txt
mv apps/text/js/text-public.js.LICENSE.txt text-public.js-LICENSE.txt
mv apps/text/js/text-text.js.LICENSE.txt text-text.js-LICENSE.txt
mv apps/text/js/text-viewer.js.LICENSE.txt text-viewer.js-LICENSE.txt
mv apps/theming/js/3rdparty/jscolor/LICENSE.txt jscolor-LICENSE
mv apps/user_ldap/js/vendor/ui-multiselect/MIT-LICENSE js-jqueryui-multiselect-LICENSE
mv apps/viewer/COPYING viewer-COPYING
mv apps/viewer/js/viewer-main.js.LICENSE.txt viewer-main.js-LICENSE
mv COPYING nextcloud-LICENSE
mv core/fonts/LICENSE_OFL.txt fonts-LICENSE
mv core/vendor/zxcvbn/LICENSE.txt zxcvbn-LICENSE
mv apps/files_pdfviewer/COPYING files_pdfviewer-COPYING
mv apps/files_pdfviewer/js/pdfjs/web/standard_fonts/LICENSE_FOXIT standard_fonts-LICENSE_FOXIT
mv apps/files_pdfviewer/js/pdfjs/web/standard_fonts/LICENSE_LIBERATION standard_fonts-LICENSE_LIBERATION
mv apps/firstrunwizard/js/firstrunwizard-main.js.LICENSE.txt firstrunwizard-main.js-LICENSE.txt
mv apps/photos/js/photos-vendors-node_modules_nextcloud_vue_dist_Components_ActionButton_js-node_modules_nextcloud_vue-208129.js.LICENSE.txt photos-vendors-node_modules_nextcloud_vue_dist_Components_ActionButton_js-node_modules_nextcloud_vue-208129.js-LICENSE.txt
mv apps/notifications/js/notifications-settings.js.LICENSE.txt notifications-settings.js-LICENSE.txt
mv dist/settings-vue-settings-personal-security.js.LICENSE.txt settings-vue-settings-personal-security.js.LICENSE.txt
mv dist/core-login.js.LICENSE.txt core-login.js-LICENSE.txt
mv dist/files-sidebar.js.LICENSE.txt files-sidebar.js-LICENSE.txt
mv dist/core-recommendedapps.js.LICENSE.txt core-recommendedapps.js-LICENSE.txt
mv dist/files_sharing-main.js.LICENSE.txt files_sharing-main.js-LICENSE.txt
mv dist/dav-settings-personal-availability.js.LICENSE.txt dav-settings-personal-availability.js-LICENSE.txt
mv dist/weather_status-weather-status.js.LICENSE.txt weather_status-weather-status.js-LICENSE.txt
mv dist/core-profile.js.LICENSE.txt core-profile.js-LICENSE.txt
mv dist/settings-vue-settings-admin-basic-settings.js.LICENSE.txt settings-vue-settings-admin-basic-settings.js-LICENSE.txt
mv dist/settings-vue-settings-admin-security.js.LICENSE.txt settings-vue-settings-admin-security.js-LICENSE.txt
mv dist/core-files_client.js.LICENSE.txt core-files_client.js-LICENSE.txt
mv dist/systemtags-systemtags.js.LICENSE.txt systemtags-systemtags.js-LICENSE.txt
mv dist/comments-comments.js.LICENSE.txt comments-comments.js-LICENSE.txt
mv dist/files_versions-files_versions.js.LICENSE.txt files_versions-files_versions.js.LICENSE.txt
mv dist/twofactor_backupcodes-settings.js.LICENSE.txt twofactor_backupcodes-settings.js-LICENSE.txt
mv dist/updatenotification-updatenotification.js.LICENSE.txt updatenotification-updatenotification.js-LICENSE.txt
mv dist/settings-vue-settings-admin-delegation.js.LICENSE.txt settings-vue-settings-admin-delegation.js-LICENSE.txt
mv dist/core-systemtags.js.LICENSE.txt core-systemtags.js-LICENSE.txt
mv dist/comments-comments-app.js.LICENSE.txt comments-comments-app.js-LICENSE.txt
mv dist/core-files_fileinfo.js.LICENSE.txt core-files_fileinfo.js-LICENSE.txt
mv dist/files-main.js.LICENSE.txt files-main.js-LICENSE.txt
mv dist/core-main.js.LICENSE.txt core-main.js-LICENSE.txt
mv dist/files_sharing-additionalScripts.js.LICENSE.txt files_sharing-additionalScripts.js-LICENSE.txt
mv dist/settings-vue-settings-apps-users-management.js.LICENSE.txt settings-vue-settings-apps-users-management.js-LICENSE.txt
mv dist/settings-vue-settings-nextcloud-pdf.js.LICENSE.txt settings-vue-settings-nextcloud-pdf.js-LICENSE.txt
mv dist/settings-vue-settings-personal-info.js.LICENSE.txt settings-vue-settings-personal-info.js-LICENSE.txt
mv dist/settings-vue-settings-personal-webauthn.js.LICENSE.txt settings-vue-settings-personal-webauthn.js-LICENSE.txt
mv dist/user_status-dashboard.js.LICENSE.txt user_status-dashboard.js-LICENSE.txt
mv dist/user_status-menu.js.LICENSE.txt user_status-menu.js-LICENSE.txt
mv dist/workflowengine-workflowengine.js.LICENSE.txt workflowengine-workflowengine.js-LICENSE.txt
mv dist/comments-comments-tab.js.LICENSE.txt comments-comments-tab.js-LICENSE.txt
mv dist/core-install.js.LICENSE.txt core-install.js-LICENSE.txt
mv dist/core-unified-search.js.LICENSE.txt core-unified-search.js-LICENSE.txt
mv dist/dashboard-main.js.LICENSE.txt dashboard-main.js-LICENSE.txt
mv dist/files-personal-settings.js.LICENSE.txt files-personal-settings.js-LICENSE.txt
mv dist/files_sharing-files_sharing_tab.js.LICENSE.txt files_sharing-files_sharing_tab.js-LICENSE.txt
mv dist/files_sharing-personal-settings.js.LICENSE.txt files_sharing-personal-settings.js-LICENSE.txt
mv dist/files_trashbin-files_trashbin.js.LICENSE.txt files_trashbin-files_trashbin.js-LICENSE.txt
mv dist/oauth2-oauth2.js.LICENSE.txt oauth2-oauth2.js-LICENSE.txt
mv dist/settings-users-8351.js.LICENSE.txt settings-users-8351.js-LICENSE.txt
mv dist/core-common.js.LICENSE.txt core-common.js-LICENSE.txt
mv dist/settings-vue-settings-personal-password.js.LICENSE.txt settings-vue-settings-personal-password.js.LICENSE.txt
#mv dist/federatedfilesharing-vue-settings-admin.js.LICENSE.txt federatedfilesharing-vue-settings-admin.js.LICENSE.txt
#mv dist/sharebymail-vue-settings-admin-sharebymail.js.LICENSE.txt sharebymail-vue-settings-admin-sharebymail.js.LICENSE.txt
#mv dist/theming-theming-settings.js.LICENSE.txt theming-theming-settings.js.LICENSE.txt
mv apps/suspicious_login/js/settings.js.LICENSE.txt settings.js.LICENSE.txt
mv apps/suspicious_login/vendor/psr/log/LICENSE LICENSE
mv apps/suspicious_login/vendor/symfony/polyfill-mbstring/LICENSE LICENSE
mv apps/suspicious_login/vendor/symfony/polyfill-php80/LICENSE LICENSE
mv apps/suspicious_login/vendor/symfony/polyfill-php73/LICENSE LICENSE
mv apps/suspicious_login/vendor/league/flysystem/LICENSE LICENSE
mv apps/suspicious_login/vendor/league/mime-type-detection/LICENSE LICENSE
mv apps/suspicious_login/vendor/darsyn/ip/LICENSE.md LICENSE.md
mv apps/suspicious_login/vendor/amphp/process/LICENSE LICENSE
mv apps/suspicious_login/vendor/amphp/sync/LICENSE LICENSE
mv apps/suspicious_login/vendor/amphp/amp/LICENSE LICENSE
mv apps/suspicious_login/vendor/amphp/parser/LICENSE LICENSE
mv apps/suspicious_login/vendor/amphp/parallel/LICENSE LICENSE
mv apps/suspicious_login/vendor/amphp/byte-stream/LICENSE LICENSE
mv apps/suspicious_login/vendor/amphp/serialization/LICENSE LICENSE
mv apps/suspicious_login/vendor/rubix/ml/LICENSE LICENSE
mv apps/suspicious_login/vendor/rubix/tensor/lib/JAMA/LICENCE.md LICENCE.md
mv apps/suspicious_login/vendor/rubix/tensor/LICENSE LICENSE
mv apps/suspicious_login/COPYING COPYING
mv apps/related_resources/js/vendors-node_modules_nextcloud_vue_dist_Components_NcRelatedResourcesPanel_js.related_resources.js.LICENSE.txt vendors-node_modules_nextcloud_vue_dist_Components_NcRelatedResourcesPanel_js.related_resources.js.LICENSE.txt
mv apps/related_resources/js/related_resources.js.LICENSE.txt related_resources.js.LICENSE.txt
mv apps/related_resources/LICENSE LICENSE
mv apps/photos/js/photos-vendors-node_modules_nextcloud_upload_dist_index_esm_js-node_modules_nextcloud_vue_dist_Compo-9e098d.js.LICENSE.txt photos-vendors-node_modules_nextcloud_upload_dist_index_esm_js-node_modules_nextcloud_vue_dist_Compo-9e098d.js.LICENSE.txt
mv apps/photos/js/photos-src_services_DavRequest_js-src_components_File_vue.js.LICENSE.txt photos-src_services_DavRequest_js-src_components_File_vue.js.LICENSE.txt
mv apps/photos/js/photos-vendors-node_modules_nextcloud_upload_dist_index_esm_js-node_modules_vue-virtual-grid_dist_vu-bebe85.js.LICENSE.txt photos-vendors-node_modules_nextcloud_upload_dist_index_esm_js-node_modules_vue-virtual-grid_dist_vu-bebe85.js.LICENSE.txt
mv apps/photos/js/photos-src_services_DavRequest_js-src_utils_CancelableRequest_js-src_components_File_vue.js.LICENSE.txt photos-src_services_DavRequest_js-src_utils_CancelableRequest_js-src_components_File_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_GridConfig_js-src_utils_CancelableRequest_js-src_components_EmptyContent_vue-src_c-c08051.js.LICENSE.txt photos-src_mixins_GridConfig_js-src_utils_CancelableRequest_js-src_components_EmptyContent_vue-src_c-c08051.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_AbortControllerMixin_js-src_components_Collection_CollectionCover_vue-src_componen-960c86.js.LICENSE.txt photos-src_mixins_AbortControllerMixin_js-src_components_Collection_CollectionCover_vue-src_componen-960c86.js.LICENSE.txt
mv apps/photos/js/photos-src_views_FaceContent_vue.js.LICENSE.txt photos-src_views_FaceContent_vue.js.LICENSE.txt
mv apps/photos/js/photos-vendors-node_modules_nextcloud_vue_dist_Components_ActionButton_js-node_modules_nextcloud_vue-535d92.js.LICENSE.txt photos-vendors-node_modules_nextcloud_vue_dist_Components_ActionButton_js-node_modules_nextcloud_vue-535d92.js.LICENSE.txt
mv apps/photos/js/photos-vendors-node_modules_nextcloud_upload_dist_index_esm_js.js.LICENSE.txt photos-vendors-node_modules_nextcloud_upload_dist_index_esm_js.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-node_modules_vue-material-desig-ab9ff7.js.LICENSE.txt photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-node_modules_vue-material-desig-ab9ff7.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchFilesMixin_js-node_modules_vue-material-design-icons_ImagePlus_vue-src_compon-c78281.js.LICENSE.txt photos-src_mixins_FetchFilesMixin_js-node_modules_vue-material-design-icons_ImagePlus_vue-src_compon-c78281.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_AbortControllerMixin_js-src_services_DavRequest_js-src_components_File_vue.js.LICENSE.txt photos-src_mixins_AbortControllerMixin_js-src_services_DavRequest_js-src_components_File_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-src_components_Actions_ActionDo-a6eb03.js.LICENSE.txt photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-src_components_Actions_ActionDo-a6eb03.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-node_modules_vue-material-desig-f0a37f.js.LICENSE.txt photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-node_modules_vue-material-desig-f0a37f.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_AbortControllerMixin_js-src_components_VirtualScrolling_vue-src_views_Albums_vue.js.LICENSE.txt photos-src_mixins_AbortControllerMixin_js-src_components_VirtualScrolling_vue-src_views_Albums_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchAlbumsMixin_js-src_components_Albums_AlbumForm_vue.js.LICENSE.txt photos-src_mixins_FetchAlbumsMixin_js-src_components_Albums_AlbumForm_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchAlbumsMixin_js-node_modules_vue-material-design-icons_Plus_vue-src_components-4c933a.js.LICENSE.txt photos-src_mixins_FetchAlbumsMixin_js-node_modules_vue-material-design-icons_Plus_vue-src_components-4c933a.js.LICENSE.txt
mv apps/photos/js/photos-public.js.LICENSE.txt photos-public.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesSelectionMixin_js-node_modules_vue-material-des-bd2ac8.js.LICENSE.txt photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesSelectionMixin_js-node_modules_vue-material-des-bd2ac8.js.LICENSE.txt
mv apps/photos/js/photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-4e283b.js.LICENSE.txt photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-4e283b.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_GridConfig_js-src_components_EmptyContent_vue-src_components_FolderTagPreview_vue--cac48e.js.LICENSE.txt photos-src_mixins_GridConfig_js-src_components_EmptyContent_vue-src_components_FolderTagPreview_vue--cac48e.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchAlbumsMixin_js-node_modules_vue-material-design-icons_Plus_vue-src_components-b06a7d.js.LICENSE.txt photos-src_mixins_FetchAlbumsMixin_js-node_modules_vue-material-design-icons_Plus_vue-src_components-b06a7d.js.LICENSE.txt
mv apps/photos/js/photos-src_views_Timeline_vue.js.LICENSE.txt photos-src_views_Timeline_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_views_Tags_vue.js.LICENSE.txt photos-src_views_Tags_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-node_modules_vue-material-desig-cf825a.js.LICENSE.txt photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesByMonthMixin_js-node_modules_vue-material-desig-cf825a.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_AbortControllerMixin_js-src_components_CollectionCover_vue-src_components_Collecti-e80ab0.js.LICENSE.txt photos-src_mixins_AbortControllerMixin_js-src_components_CollectionCover_vue-src_components_Collecti-e80ab0.js.LICENSE.txt
mv apps/photos/js/photos-src_views_SharedAlbums_vue.js.LICENSE.txt photos-src_views_SharedAlbums_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchAlbumsMixin_js-node_modules_vue-material-design-icons_Plus_vue-src_components-f20774.js.LICENSE.txt photos-src_mixins_FetchAlbumsMixin_js-node_modules_vue-material-design-icons_Plus_vue-src_components-f20774.js.LICENSE.txt
mv apps/photos/js/photos-src_views_SharedAlbumContent_vue.js.LICENSE.txt photos-src_views_SharedAlbumContent_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_AbortControllerMixin_js-src_mixins_FilesSelectionMixin_js-src_components_File_vue--80ca54.js.LICENSE.txt photos-src_mixins_AbortControllerMixin_js-src_mixins_FilesSelectionMixin_js-src_components_File_vue--80ca54.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchSharedAlbumsMixin_js-src_components_HeaderNavigation_vue.js.LICENSE.txt photos-src_mixins_FetchSharedAlbumsMixin_js-src_components_HeaderNavigation_vue.js.LICENSE.txt
mv apps/photos/js/photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-36962a.js.LICENSE.txt photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-36962a.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_AbortControllerMixin_js-src_views_Albums_vue.js.LICENSE.txt photos-src_mixins_AbortControllerMixin_js-src_views_Albums_vue.js.LICENSE.txt
mv apps/photos/js/photos-vendors-node_modules_nextcloud_vue_dist_ncvuecomponents_js.js.LICENSE.txt photos-vendors-node_modules_nextcloud_vue_dist_ncvuecomponents_js.js.LICENSE.txt
mv apps/photos/js/photos-src_views_AlbumContent_vue.js.LICENSE.txt photos-src_views_AlbumContent_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_AbortControllerMixin_js-node_modules_vue-material-design-icons_Send_vue-src_views_-9eb30b.js.LICENSE.txt photos-src_mixins_AbortControllerMixin_js-node_modules_vue-material-design-icons_Send_vue-src_views_-9eb30b.js.LICENSE.txt
mv apps/photos/js/photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesSelectionMixin_js-node_modules_vue-material-des-d0b874.js.LICENSE.txt photos-src_mixins_FetchFilesMixin_js-src_mixins_FilesSelectionMixin_js-node_modules_vue-material-des-d0b874.js.LICENSE.txt
mv apps/photos/js/photos-src_views_Folders_vue.js.LICENSE.txt photos-src_views_Folders_vue.js.LICENSE.txt
mv apps/photos/js/photos-vendors-node_modules_vue-virtual-grid_dist_vue-virtual-grid_es_js.js.LICENSE.txt photos-vendors-node_modules_vue-virtual-grid_dist_vue-virtual-grid_es_js.js.LICENSE.txt
mv apps/photos/js/photos-node_modules_vue-material-design-icons_AlertCircle_vue-node_modules_vue-material-design-icons-5becbc.js.LICENSE.txt photos-node_modules_vue-material-design-icons_AlertCircle_vue-node_modules_vue-material-design-icons-5becbc.js.LICENSE.txt
mv apps/photos/js/photos-src_views_Faces_vue.js.LICENSE.txt photos-src_views_Faces_vue.js.LICENSE.txt
mv apps/photos/js/photos-src_services_Albums_js-src_components_HeaderNavigation_vue.js.LICENSE.txt photos-src_services_Albums_js-src_components_HeaderNavigation_vue.js.LICENSE.txt
mv apps/recommendations/js/files_recommendation-main.js.LICENSE.txt files_recommendation-main.js.LICENSE.txt
mv apps/recommendations/js/files_recommendation-dashboard.js.LICENSE.txt files_recommendation-dashboard.js.LICENSE.txt
mv apps/bruteforcesettings/js/bruteforcesettings-main.js.LICENSE.txt bruteforcesettings-main.js.LICENSE.txt
mv apps/bruteforcesettings/LICENSE LICENSE
mv apps/twofactor_totp/js/twofactor_totp-main-settings.js.LICENSE.txt twofactor_totp-main-settings.js.LICENSE.txt
mv apps/twofactor_totp/js/twofactor_totp-main-login-setup.js.LICENSE.txt twofactor_totp-main-login-setup.js.LICENSE.txt
mv apps/twofactor_totp/vendor/christian-riesen/base32/LICENSE LICENSE
mv apps/twofactor_totp/vendor/rullzer/easytotp/LICENSE LICENSE
mv apps/twofactor_totp/COPYING COPYING
mv apps/activity/js/activity-adminSettings.js.LICENSE.txt activity-adminSettings.js.LICENSE.txt
mv apps/activity/js/activity-personalSettings.js.LICENSE.txt activity-personalSettings.js.LICENSE.txt
mv 3rdparty/mexitek/phpcolors/LICENSE LICENSE
mv 3rdparty/fusonic/linq/LICENSE LICENSE
mv 3rdparty/fusonic/opengraph/LICENSE LICENSE
mv 3rdparty/laravel/serializable-closure/LICENSE.md LICENSE.md
mv 3rdparty/symfony/css-selector/LICENSE LICENSE
mv 3rdparty/symfony/http-foundation/LICENSE LICENSE
mv 3rdparty/symfony/dom-crawler/LICENSE LICENSE
mv 3rdparty/mlocati/ip-lib/LICENSE.txt LICENSE.txt
mv dist/federatedfilesharing-vue-settings-admin.js.LICENSE.txt federatedfilesharing-vue-settings-admin.js.LICENSE.txt
mv dist/sharebymail-vue-settings-admin-sharebymail.js.LICENSE.txt sharebymail-vue-settings-admin-sharebymail.js.LICENSE.txt
mv dist/theming-theming-settings.js.LICENSE.txt theming-theming-settings.js.LICENSE.txt
%check %check
# Make sure there are no license files left over # Make sure there are no license files left over
@ -288,10 +637,10 @@ done
install -pm 755 occ %{buildroot}%{_datadir}/%{name} install -pm 755 occ %{buildroot}%{_datadir}/%{name}
# symlink config dir # 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 # 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 # set default config
install -pm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/config.php install -pm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/config.php
@ -314,25 +663,10 @@ install -Dpm 644 %{SOURCE201} \
install -Dpm 644 %{SOURCE202} \ install -Dpm 644 %{SOURCE202} \
%{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf %{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 the systemd timer
install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/nextcloud-cron.service install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/nextcloud-cron.service
install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/nextcloud-cron.timer install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/nextcloud-cron.timer
# If there's a new installation activate the installation wizard
%post
INSTALLED=$(grep -c secret /etc/nextcloud/config.php)
if [ "${INSTALLED}" -eq "0" ]; then
echo "First time installation, enabling installation wizard"
touch %{_sysconfdir}/%{name}/CAN_INSTALL
chown apache:apache %{_sysconfdir}/%{name}/CAN_INSTALL
fi
/usr/bin/systemctl restart php-fpm.service > /dev/null 2>&1 || :
%post httpd %post httpd
/usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || : /usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || :
/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || : /usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || :
@ -354,12 +688,11 @@ if [ $1 -eq 0 ]; then
fi fi
%files %files
%doc AUTHORS README.%{distro} MIGRATION.%{distro} config/config.sample.php %doc AUTHORS README.fedora MIGRATION.fedora config/config.sample.php
%license *-LICENSE %license *-LICENSE
%dir %attr(-,apache,apache) %{_sysconfdir}/%{name} %dir %attr(-,apache,apache) %{_sysconfdir}/%{name}
# contains sensitive data (dbpassword, passwordsalt) # contains sensitive data (dbpassword, passwordsalt)
%config(noreplace) %attr(0600,apache,apache) %{_sysconfdir}/%{name}/config.php %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 # need the symlink in confdir but it's not config
%{_sysconfdir}/%{name}/ca-bundle.crt %{_sysconfdir}/%{name}/ca-bundle.crt
%{_datadir}/%{name} %{_datadir}/%{name}
@ -390,3 +723,4 @@ fi
%changelog %changelog
%autochangelog %autochangelog

View file

@ -1 +1,2 @@
SHA512 (nextcloud-34.0.3.tar.bz2) = 3463dbbdeae5275a0791b115cf86aed41c5a138fdd19bb32ec12837a6698106b6f172e24fb1264a2d4e20b2b805bcf7841b2338e4e02f1fd5394fbed830cc695 SHA512 (nextcloud-24.0.5.tar.bz2) = 2673853ba97bb868b318b9bb5025bb44dfdb6c82a9d518bb9c5ee642b781ce39f05fd1b31517946e8cace329cd0ab613341005a39b84afe86cd157a8404d4fcd
SHA512 (nextcloud-25.0.1.tar.bz2) = 7fd401ffe01e5b1d568e4f66cdc5972d5e3c0b82f147a04330da9fe5ab1f2ddf152943e28f152fb635e8bca8d83a95a5a269a1f34fa189cef4a3c9dbe4e8c89b