Nextcloud 18 is EOLed upstream and no longer supported

This commit is contained in:
Christopher Engelhard 2022-07-31 18:52:00 +02:00
parent 0058a65b3c
commit c075fdfbf5
28 changed files with 1 additions and 1432 deletions

View File

@ -1 +0,0 @@
1

3
.gitignore vendored
View File

@ -1,3 +0,0 @@
/nextcloud-*.tar.bz2
/nextcloud
*.pkgtmp

View File

@ -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;
}
/**

View File

@ -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
<?php
/**
* Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>

View File

@ -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.

1
dead.package Normal file
View File

@ -0,0 +1 @@
Nextcloud 18 is EOLed upstream and no longer supported

View File

@ -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}

View File

@ -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

View File

@ -1,165 +0,0 @@
# Migration from owncloud
When migrating from an existing owncloud install it's possible to use the same database,
or to rename the database to reduce confusion.
Before carrying out the migration it is important to prevent anyone from changing things.
Of course it's advised to carry out a backup of the database and files before any migration.
### Prevent people using owncloud
sudo -u apache php /usr/share/owncloud/occ maintenance:mode --on
### Migration whilst keeping owncloud data intact
This is the safest option as it is nondestructive to owncloud, but it will require
double the data storage during the migration.
#### Copy data over from one location to the other
The data layout is identical, it's just the location that differs.
```
rsync -aPh /var/lib/owncloud/ /var/lib/nextcloud/
```
## Renaming the database
This is optional but might serve to confuse less, and prevents any changes to the owncloud
database in case there are issues requiring a fallback. Naturally use better credentials and
use the correct database names for your setup!
##### MySQL
```
mysql -e 'create database nextclouddb;'
mysql -e "grant all on nextclouddb.* to 'nextcloud_user'@'localhost' identified by 'nextcloud_pass';"
mysqldump -v ownclouddb | mysql -D nextclouddb
```
##### PostgreSQL
```
sudo -u postgres psql <<EOF
/* Create the user for nextcloud */
CREATE USER nextcloud_user WITH PASSWORD 'nextcloud_pass';
/* KILL ALL EXISTING CONNECTION FROM ORIGINAL DB (ownclouddb)*/
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'ownclouddb' AND pid <> pg_backend_pid();
/* CLONE DATABASE TO NEW ONE(nextclouddb) */
CREATE DATABASE nextclouddb WITH TEMPLATE ownclouddb OWNER nextcloud_user;
GRANT ALL PRIVILEGES ON DATABASE nextclouddb TO nextcloud_user;
/* The tables need to be transferred in owner as well */
\c nextclouddb;
REASSIGN OWNED BY owncloud_user TO nextcloud_user;
EOF
```
Don't forget to update pg_hba.conf to allow access to the new database as the new user!
```
host nextclouddb nextcloud_user ::1/128 password
host nextclouddb nextcloud_user 127.0.0.1/32 password
```
### Migration in place without preserving owncloud data
If there is not sufficient disk then data can be moved, this will break owncloud in the process
and there won't be a fallback option if things go wrong beyond restiring data/backups.
#### Copy data over from one location to the other
```
mv /var/lib/owncloud/* /var/lib/nextcloud/
```
#### Renaming the database
This is even more optional since the old database will be destroyed in the process, but it may serve
to lessen confusion later on for future maintenance. Again replace with the desired credentials and
database names for your environment.
Note that since the database sizes are small it's more reliable and safer for the data stores to follow
the steps to duplicate the database laid out above.
##### MySQL
```
mysql -e 'create database nextclouddb;'
mysql -e "grant all on nextclouddb.* to 'nextcloud_user'@'localhost' identified by 'nextcloud_pass';"
mysql ownclouddb -sNe 'show tables' | while read table; do mysql -sNe "rename table ownclouddb.$table to nextclouddb.$table;"; done
```
##### PostgreSQL
```
sudo -u postgres psql <<EOF
/* Create the user for nextcloud */
CREATE USER nextcloud_user WITH PASSWORD 'nextcloud_pass';
/* KILL ALL EXISTING CONNECTION FROM ORIGINAL DB (ownclouddb)*/
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'ownclouddb' AND pid <> pg_backend_pid();
/* ALTER DATABASE to rename it */
ALTER DATABASE ownclouddb RENAME TO nextclouddb;
ALTER DATABASE nextclouddb OWNER TO nextcloud_user;
GRANT ALL PRIVILEGES ON DATABASE nextclouddb TO nextcloud_user;
/* The tables need to be transferred in owner as well */
\c nextclouddb;
REASSIGN OWNED BY owncloud_user TO nextcloud_user;
EOF
```
Again remember to update pg_hba.conf so the new database and user can be used.
### Bring over the old configuration and update paths
The config can be copied as-is which will preserve most settings. This is a coarse rename of everything
from owncloud to nextcloud, but if the database isn't renamed then this too much. Verify the database
credentials and name in the config file are correct before moving on to the next step.
```
cp /etc/owncloud/config.php /etc/nextcloud/config.php
sed -i 's/owncloud/nextcloud/g' /etc/nextcloud/config.php
```
### Enable the nextcloud interface on httpd
If using httpd then enable the interface the same way as the README describes for a fresh install
```
ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf
```
### Carry out any migration required
A migration step for database schemas etc needs to be carried out to ensure everything is correct.
Although the WebUI will be prompting the standard "click here to update" it is best for this major
migration to carry it out at the command line.
```
sudo -u apache php /usr/share/nextcloud/occ upgrade
```
### Verify that everything looks right
It's best at this stage to enter as an admin and have the instance in single user mode only
```
sudo -u apache php /usr/share/nextcloud/occ maintenance:singleuser --on
sudo -u apache php /usr/share/nextcloud/occ maintenance:mode --off
```
__NOTE__ It is usual for things like webdav to be disabled during singleuser which may prevent seeing
files, however just use this to verify the admin screens. On testing apps needed to be disabled
and then enabled again for nextcloud to correctly pick them up.
### Enable allow people to use nextcloud
If things are looking good then open the floodgates to everyone else.
```
sudo -u apache php /usr/share/nextcloud/occ maintenance:singleuser --off
```
### Clean up the owncloud stuff
Finally clean up the old owncloud install, replace with the database and user for your own setup.
```
dnf remove -y owncloud\*
rm -rf /var/lib/owncloud /etc/owncloud /etc/httpd/conf.d/*owncloud*
# mysql
mysql -e "drop database ownclouddb; drop user owncloud_user@'localhost';"
# postgres
sudo -u postgres psql <<EOF
DROP DATABASE ownclouddb;
DROP USER owncloud_user;
EOF
```

View File

@ -1,118 +0,0 @@
nextcloud packaging notes
========================
Start
------
After installation you should be able to access the login/configuration page
at the following URL:
http://localhost/nextcloud/
If not, make sure your webserver is running properly.
Webserver
---------
Currently nextcloud in Fedora supports httpd (Apache) and nginx. You must install
at least one webserver subpackage (nextcloud-<webserver>). 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-<database>).
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

View File

@ -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.
<Directory /usr/share/nextcloud/>
Include conf.d/nextcloud-auth-any.inc
</Directory>
<Directory /var/lib/nextcloud/apps/>
Include conf.d/nextcloud-auth-any.inc
</Directory>
<Directory /var/lib/nextcloud/assets/>
Include conf.d/nextcloud-auth-any.inc
</Directory>

View File

@ -1,12 +0,0 @@
# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files
# with Include. Allows access from any system.
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Allow from all
</IfModule>

View File

@ -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.
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
</IfModule>

View File

@ -1,12 +0,0 @@
# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files
# with Include. Denies all access.
<IfModule mod_authz_core.c>
# Apache 2.4
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
</IfModule>

View File

@ -1,4 +0,0 @@
upstream php-nextcloud {
server unix:/run/php-fpm/nextcloud.sock;
}

View File

@ -1,26 +0,0 @@
<?php
$CONFIG = array (
"log_type" => "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,
),
),
);

View File

@ -1,81 +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;
# 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;
}
}

View File

@ -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
<IfModule mod_fcgid.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
</IfModule>
</IfModule>
</IfModule>
<IfModule mod_php5.c>
php_value upload_max_filesize 10G
php_value post_max_size 10G
php_value memory_limit 512M
php_value mbstring.func_overload 0
php_value always_populate_raw_post_data -1
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

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

@ -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
<Directory /usr/share/nextcloud/>
Include conf.d/nextcloud-auth-local.inc
Include conf.d/nextcloud-defaults.inc
<FilesMatch ^(\.|autotest|occ|issue|indie|db_|console).*>
Include conf.d/nextcloud-auth-none.inc
</FilesMatch>
</Directory>
<Directory /var/lib/nextcloud/apps/>
Include conf.d/nextcloud-auth-local.inc
Include conf.d/nextcloud-defaults.inc
</Directory>
<Directory /var/lib/nextcloud/assets/>
Include conf.d/nextcloud-auth-local.inc
Include conf.d/nextcloud-defaults.inc
</Directory>
# For safety, explicitly deny any access to these locations.
# Upstream's .htaccess does something similar with mod_rewrite.
<Directory /var/lib/nextcloud/data/>
Include conf.d/nextcloud-auth-none.inc
</Directory>
<DirectoryMatch /usr/share/nextcloud/(3rdparty|lib|config|templates)/>
Include conf.d/nextcloud-auth-none.inc
</DirectoryMatch>

View File

@ -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

View File

@ -1,25 +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[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

View File

@ -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

View File

@ -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

View File

@ -1,10 +0,0 @@
[Unit]
Description=This triggers the nextcloud cron service
[Timer]
OnBootSec=5min
OnUnitInactiveSec=15min
[Install]
WantedBy=timers.target

View File

@ -1,578 +0,0 @@
Name: nextcloud
Version: 18.0.13
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
# 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.93.9
Provides: bundled(php-composer(bantu/ini-get-wrapper)) = 1.0.1
Provides: bundled(php-composer(christophwurst/id3parser)) = 0.1.1
Provides: bundled(php-composer(deepdiver/zipstreamer)) = 1.1.1
Provides: bundled(php-composer(deepdiver1975/tarstreamer)) = 0.1.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(guzzlehttp/guzzle)) = 6.3.3
Provides: bundled(php-composer(guzzlehttp/promises)) = 1.3.1
Provides: bundled(php-composer(guzzlehttp/psr7)) = 1.5.2
Provides: bundled(php-composer(guzzlehttp/ringphp)) = 1.1.0
Provides: bundled(php-composer(guzzlehttp/streams)) = 3.0.0
Provides: bundled(php-composer(icewind/searchdav)) = 1.0.2
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.8
Provides: bundled(php-composer(leafo/scssphp)) = 0.7.7
Provides: bundled(php-composer(league/flysystem)) = 1.0.37
Provides: bundled(php-composer(microsoft/azure-storage-blob)) = 1.2.0
Provides: bundled(php-composer(microsoft/azure-storage-common)) = 1.2.0
Provides: bundled(php-composer(mtdowling/jmespath.php)) = 2.4.0
Provides: bundled(php-composer(nikic/php-parser)) = 4.2.1
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.8
Provides: bundled(php-composer(pear/console_getopt)) = 1.4.1
Provides: bundled(php-composer(pear/pear-core-minimal)) = 1.10.3
Provides: bundled(php-composer(pear/pear_exception)) = 1.0.0
Provides: bundled(php-composer(php-opencloud/openstack)) = 3.0.6
Provides: bundled(php-composer(phpseclib/phpseclib)) = 2.0.23
Provides: bundled(php-composer(pimple/pimple)) = 3.2.3
Provides: bundled(php-composer(psr/container)) = 1.0.0
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)) = 2.0.5
Provides: bundled(php-composer(react/promise)) = 2.2.1
Provides: bundled(php-composer(sabre/dav)) = 3.2.3
Provides: bundled(php-composer(sabre/event)) = 3.0.0
Provides: bundled(php-composer(sabre/http)) = 4.2.4
Provides: bundled(php-composer(sabre/uri)) = 1.2.1
Provides: bundled(php-composer(sabre/vobject)) = 4.1.6
Provides: bundled(php-composer(sabre/xml)) = 1.5.0
Provides: bundled(php-composer(stecman/symfony-console-completion)) = 0.8.0
Provides: bundled(php-composer(swiftmailer/swiftmailer)) = 6.2.3
Provides: bundled(php-composer(symfony/console)) = 4.3.4
Provides: bundled(php-composer(symfony/event-dispatcher)) = 4.3.4
Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = 1.1.5
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.12.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.12.0
Provides: bundled(php-composer(symfony/polyfill-util)) = 1.10.0
Provides: bundled(php-composer(symfony/process)) = 4.3.4
Provides: bundled(php-composer(symfony/routing)) = 4.3.4
Provides: bundled(php-composer(symfony/service-contracts)) = 1.1.6
Provides: bundled(php-composer(symfony/translation)) = 4.3.4
Provides: bundled(php-composer(symfony/translation-contracts)) = 1.1.6
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
%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/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/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/leafo/scssphp/LICENSE.md leafo-LICENSE
mv 3rdparty/league/flysystem/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/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-opencloud/openstack/LICENSE php-opencloud-LICENSE
mv 3rdparty/phpseclib/phpseclib/LICENSE phpseclib-LICENSE
mv 3rdparty/psr/container/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/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/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-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 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/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
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 || :
%postun httpd
if [ $1 -eq 0 ]; then
/usr/bin/systemctl reload httpd.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
%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
* Sat Jan 16 2021 Christopher Engelhard <ce@lcts.de> - 18.0.13-1
- Update to Nextcloud 18.0.13
- This is the final upstream release of the 18.x branch
* Mon Dec 28 2020 Christopher Engelhard <ce@lcts.de> - 18.0.12-2
- Remove syslinux labeling
- Remove duplicate dependencies
- Add missing dependency on CA certs bundle
- Add Provides: for bundled libraries
* Thu Dec 10 2020 Christopher Engelhard <ce@lcts.de> - 18.0.12-1
- Update to Nextcloud 18.0.12
* Thu Nov 19 2020 Christopher Engelhard <ce@lcts.de> - 18.0.11-1
- Update to Nextcloud 18.0.11
* Wed Nov 11 2020 Christopher Engelhard <ce@lcts.de> - 18.0.9-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 from spec file
* Sun Oct 11 2020 Christopher Engelhard <ce@lcts.de> - 18.0.9-1
- Update to Nextcloud 18.0.9
* Sat Feb 08 2020 Ivan Chavero <ichavero@redhat.com> - 18.0.0-1
- Refactor spec file
- Update to Nextcoud 18.0.0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.4-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 9 2019 Remi Collet <remi@remirepo.net> - 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 <releng@fedoraproject.org> - 10.0.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Mar 25 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 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 <james.hogarth@gmail.com> - 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 <james.hogarth@gmail.com> - 10.0.3-1
- update to 10.0.3
* Thu Oct 06 2016 James Hogarth <james.hogarth@gmail.com> - 10.0.1-1
- update to 10.0.1
* Mon Aug 01 2016 James Hogarth <james.hogarth@gmail.com> - 9.0.53-5
- Use lua to have a common srpm between epel7 and fedora
* Fri Jul 29 2016 James Hogarth <james.hogarth@gmail.com> - 9.0.53-4
- Don't unbundle javascript on EPEL7 due to versioning issues
* Fri Jul 29 2016 James Hogarth <james.hogarth@gmail.com> - 9.0.53-3
- Unbundle javascript libraries from core where possible
* Tue Jul 26 2016 James Hogarth <james.hogarth@gmail.com> - 9.0.53-2
- Update the autoloader to use the path from the approved package
* Tue Jul 19 2016 James Hogarth <james.hogarth@gmail.com> - 9.0.53-1
- New release 9.0.53
* Thu Jul 14 2016 James Hogarth <james.hogarth@gmail.com> - 9.0.52-1
- Initial nextcloud build

View File

@ -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

View File

@ -1 +0,0 @@
SHA512 (nextcloud-18.0.13.tar.bz2) = 8040dece29a2de2ac0e5c02aa26f899c05c936312c7e8a5f1b0d2f97fa12150f0c66ec9f08764ce81e92fc90ecc9bde45fa43da3293437d40ec4a3b16b6a744e