mirror of
https://src.fedoraproject.org/rpms/nextcloud.git
synced 2025-01-10 10:51:54 +01:00
Nextcloud 19 is EOLed upstream and no longer supported
This commit is contained in:
parent
8ae4e5b5d0
commit
4b210507d7
@ -1 +0,0 @@
|
||||
1
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +0,0 @@
|
||||
/nextcloud-*.tar.bz2
|
||||
/nextcloud
|
||||
*.pkgtmp
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
@ -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>
|
11
README.md
11
README.md
@ -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.
|
106
changelog
106
changelog
@ -1,106 +0,0 @@
|
||||
* Wed Jun 30 2021 Christopher Engelhard <ce@lcts.de> - 19.0.12-1
|
||||
- Update to Nextcloud 19.0.12, fixes CVE-2021-22915 (RHBZ 1977202)
|
||||
- Include php-fpm config in httpd subpackage
|
||||
- Set php memory limit to 512MB (RHBZ 1933529)
|
||||
- Add Referrer-policy no-referrer to nginx config (RHBZ 1933530)
|
||||
|
||||
* Sun Feb 28 2021 Christopher Engelhard <ce@lcts.de> - 19.0.9-1
|
||||
- Update to Nextcloud 19.0.9
|
||||
|
||||
* Sat Feb 20 2021 Christopher Engelhard <ce@lcts.de> - 19.0.8-1
|
||||
- Update to Nextcloud 19.0.8
|
||||
|
||||
* Sat Jan 16 2021 Christopher Engelhard <ce@lcts.de> - 19.0.7-1
|
||||
- Update to Nextcloud 19.0.7
|
||||
|
||||
* Mon Dec 28 2020 Christopher Engelhard <ce@lcts.de> - 19.0.6-2
|
||||
- Remove syslinuc rules, these are part of system policy now
|
||||
- Remove duplicate dependencies
|
||||
- Add dependency on CA cert bundle
|
||||
- Add Provides: for bundled libraries
|
||||
|
||||
* Thu Dec 10 2020 Christopher Engelhard <ce@lcts.de> - 19.0.6-1
|
||||
- Update to Nextcloud 19.0.6
|
||||
|
||||
* Thu Nov 19 2020 Christopher Engelhard <ce@lcts.de> - 19.0.5-1
|
||||
- Update to Nextcloud 19.0.5
|
||||
|
||||
* Wed Nov 11 2020 Christopher Engelhard <ce@lcts.de> - 19.0.3-2
|
||||
- Add dependencies on php-cli (for occ) and php-process (for posix)
|
||||
- Remove unneeded BR on php-cli
|
||||
- Add patch to allow updates across more than one major version
|
||||
- Remove CentOS/RHEL 7 support
|
||||
|
||||
* Sun Oct 11 2020 Christopher Engelhard <ce@lcts.de> - 19.0.3-1
|
||||
- Update to Nextcloud 19.0.3
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 19.0.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sun Jun 28 2020 Ivan Chavero <ichavero@redhat.com> - 19.0.0-1
|
||||
- Update to Nextcloud 19.0.0
|
||||
- Update licenses
|
||||
|
||||
* Thu Apr 30 2020 Ivan Chavero <ichavero@redhat.com> - 18.0.4-1
|
||||
- Update to Nextcloud 18.0.4
|
||||
|
||||
* 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
|
1
dead.package
Normal file
1
dead.package
Normal file
@ -0,0 +1 @@
|
||||
Nextcloud 19 is EOLed upstream and no longer supported
|
@ -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}
|
@ -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
|
||||
```
|
@ -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
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -1,4 +0,0 @@
|
||||
upstream php-nextcloud {
|
||||
server unix:/run/php-fpm/nextcloud.sock;
|
||||
}
|
||||
|
@ -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,
|
||||
),
|
||||
),
|
||||
);
|
@ -1,82 +0,0 @@
|
||||
rewrite ^/nextcloud$ /nextcloud/ redirect;
|
||||
|
||||
location /nextcloud/ {
|
||||
root /usr/share/;
|
||||
|
||||
# Add headers to serve security related headers
|
||||
# Before enabling Strict-Transport-Security headers please read into this topic first.
|
||||
# add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header X-Robots-Tag none;
|
||||
add_header X-Download-Options noopen;
|
||||
add_header X-Permitted-Cross-Domain-Policies none;
|
||||
add_header Referrer-Policy no-referrer always;
|
||||
|
||||
|
||||
# set max upload size
|
||||
client_max_body_size 10G;
|
||||
fastcgi_buffers 64 4K;
|
||||
|
||||
# Disable gzip to avoid the removal of the ETag header
|
||||
gzip off;
|
||||
|
||||
# Uncomment if your server is build with the ngx_pagespeed module
|
||||
# This module is currently not supported.
|
||||
#pagespeed off;
|
||||
|
||||
index index.php;
|
||||
|
||||
error_page 403 /nextcloud/core/templates/403.php;
|
||||
error_page 404 /nextcloud/core/templates/404.php;
|
||||
|
||||
location ~ ^/nextcloud/apps-appstore/(.*)$ {
|
||||
alias /var/lib/nextcloud/apps/$1;
|
||||
}
|
||||
|
||||
location ~ ^/nextcloud/assets/(.*)$ {
|
||||
alias /var/lib/nextcloud/assets/$1;
|
||||
}
|
||||
|
||||
location ~ ^/nextcloud/(build|tests|config|lib|3rdparty|templates|data)/ {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console) {
|
||||
deny all;
|
||||
}
|
||||
|
||||
rewrite ^/nextcloud/remote/(.*) /nextcloud/remote.php last;
|
||||
rewrite ^/nextcloud/core/doc/([^\/]+)(?:$|/) /nextcloud/core/doc/$1/index.html;
|
||||
|
||||
try_files $uri $uri/ =404;
|
||||
|
||||
location ~ \.php(?:$|/) {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
# fastcgi_param HTTPS on;
|
||||
fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
|
||||
fastcgi_pass php-nextcloud;
|
||||
fastcgi_intercept_errors on;
|
||||
}
|
||||
|
||||
# Adding the cache control header for js and css files
|
||||
# Make sure it is BELOW the location ~ \.php(?:$|/) { block
|
||||
location ~* \.(?:css|js)$ {
|
||||
add_header Cache-Control "public, max-age=7200";
|
||||
# Optional: Don't log access to assets
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Optional: Don't log access to other assets
|
||||
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ {
|
||||
access_log off;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -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>
|
@ -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';
|
@ -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>
|
@ -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
|
@ -1,26 +0,0 @@
|
||||
[nextcloud]
|
||||
user = apache
|
||||
group = apache
|
||||
listen = /run/php-fpm/nextcloud.sock
|
||||
listen.acl_users = apache,nginx
|
||||
listen.allowed_clients = 127.0.0.1
|
||||
pm = dynamic
|
||||
pm.max_children = 50
|
||||
pm.start_servers = 5
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 35
|
||||
slowlog = /var/log/php-fpm/nextcloud-slow.log
|
||||
php_admin_value[error_log] = /var/log/php-fpm/nextcloud-error.log
|
||||
php_admin_flag[log_errors] = on
|
||||
php_value[session.save_handler] = files
|
||||
php_value[session.save_path] = /var/lib/php/session
|
||||
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
|
||||
php_value[memory_limit] = 512M
|
||||
php_value[upload_max_filesize] = 10G
|
||||
php_value[post_max_size] = 10G
|
||||
env[HOSTNAME] = $HOSTNAME
|
||||
env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||
env[TMP] = /tmp
|
||||
env[TMPDIR] = /tmp
|
||||
env[TEMP] = /tmp
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=This triggers the nextcloud cron service
|
||||
|
||||
[Timer]
|
||||
OnBootSec=5min
|
||||
OnUnitInactiveSec=15min
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
|
537
nextcloud.spec
537
nextcloud.spec
@ -1,537 +0,0 @@
|
||||
Name: nextcloud
|
||||
Version: 19.0.13
|
||||
Release: %autorelease
|
||||
Summary: Private file sync and share server
|
||||
License: AGPLv3+ and MIT and BSD and ASL 2.0 and WTFPL and CC-BY-SA and GPLv3+ and Adobe
|
||||
URL: http://nextcloud.com
|
||||
Source0: https://download.nextcloud.com/server/releases/%{name}-%{version}.tar.bz2
|
||||
|
||||
# basic nextcloud config.php, nextcloud's
|
||||
# initial setup will fill out other settings appropriately
|
||||
Source1: %{name}-config.php
|
||||
# Systemd timer for background jobs
|
||||
Source2: %{name}-systemd-timer.service
|
||||
Source3: %{name}-systemd-timer.timer
|
||||
# httpd config files
|
||||
Source100: %{name}-httpd.conf
|
||||
Source101: %{name}-access-httpd.conf.avail
|
||||
Source102: %{name}-auth-any.inc
|
||||
Source103: %{name}-auth-local.inc
|
||||
Source104: %{name}-auth-none.inc
|
||||
Source105: %{name}-defaults.inc
|
||||
# nginx/php-fpm config files
|
||||
Source200: %{name}-default-nginx.conf
|
||||
Source201: %{name}-conf-nginx.conf
|
||||
Source202: %{name}-php-fpm.conf
|
||||
# packaging notes and doc
|
||||
Source300: %{name}-README.fedora
|
||||
Source301: %{name}-mysql.txt
|
||||
Source302: %{name}-postgresql.txt
|
||||
Source303: %{name}-MIGRATION.fedora
|
||||
|
||||
# Remove updater version check, we know that updates across more than one
|
||||
# version are possible
|
||||
Patch0: 0000-disable-update-version-check.patch
|
||||
# Change occ shebang to /usr/bin/php
|
||||
Patch1: 0001-mangle-shebang.patch
|
||||
|
||||
BuildArch: noarch
|
||||
# For the systemd macros
|
||||
%if 0%{?fedora} > 29
|
||||
BuildRequires: systemd-rpm-macros
|
||||
%else
|
||||
BuildRequires: systemd
|
||||
%endif
|
||||
# expand pear macros on install
|
||||
BuildRequires: php-pear
|
||||
|
||||
# Require one webserver and database backend
|
||||
Requires: %{name}-webserver = %{version}-%{release}
|
||||
Requires: %{name}-database = %{version}-%{release}
|
||||
# Require php CLI for occ command
|
||||
Requires: php-cli
|
||||
# Core PHP libs/extensions required by OC core
|
||||
Requires: php-curl
|
||||
Requires: php-dom
|
||||
Requires: php-exif
|
||||
Requires: php-fileinfo
|
||||
Requires: php-gd
|
||||
Requires: php-iconv
|
||||
Requires: php-json
|
||||
Requires: php-ldap
|
||||
Requires: php-mbstring
|
||||
Requires: php-openssl
|
||||
Requires: php-pcre
|
||||
Requires: php-pdo
|
||||
Requires: php-session
|
||||
Requires: php-simplexml
|
||||
Requires: php-xmlwriter
|
||||
Requires: php-spl
|
||||
Requires: php-zip
|
||||
Requires: php-filter
|
||||
Requires: php-ldap
|
||||
Requires: php-smbclient
|
||||
Requires: php-imap
|
||||
Requires: php-gmp
|
||||
Requires: php-process
|
||||
Requires: php-pecl-imagick
|
||||
Requires: php-pecl-memcached
|
||||
Requires: php-pecl-apcu
|
||||
Requires: php-pecl-redis5
|
||||
# For systemd support during install/uninstall
|
||||
%{?systemd_requires}
|
||||
# the CA cert bundle is linked to from the config dir
|
||||
Requires: %{_sysconfdir}/pki/tls/certs/ca-bundle.crt
|
||||
|
||||
# Bundled composer libraries
|
||||
# many of these can be unbundled
|
||||
Provides: bundled(php-composer(icewind/smb)) = 3.2.7
|
||||
Provides: bundled(php-composer(icewind/streams)) = 0.7.1
|
||||
Provides: bundled(php-composer(aws/aws-sdk-php)) = 3.133.27
|
||||
Provides: bundled(php-composer(bantu/ini-get-wrapper)) = 1.0.1
|
||||
Provides: bundled(php-composer(beberlei/assert)) = 3.2.7
|
||||
Provides: bundled(php-composer(christophwurst/id3parser)) = 0.1.1
|
||||
Provides: bundled(php-composer(deepdiver/zipstreamer)) = 1.1.1
|
||||
Provides: bundled(php-composer(deepdiver1975/tarstreamer)) = 2.0.0
|
||||
Provides: bundled(php-composer(doctrine/annotations)) = 1.6.0
|
||||
Provides: bundled(php-composer(doctrine/cache)) = 1.8.0
|
||||
Provides: bundled(php-composer(doctrine/collections)) = 1.5.0
|
||||
Provides: bundled(php-composer(doctrine/common)) = 2.10.0
|
||||
Provides: bundled(php-composer(doctrine/dbal)) = 2.9.2
|
||||
Provides: bundled(php-composer(doctrine/event-manager)) = 1.0.0
|
||||
Provides: bundled(php-composer(doctrine/inflector)) = 1.3.0
|
||||
Provides: bundled(php-composer(doctrine/lexer)) = 1.2.0
|
||||
Provides: bundled(php-composer(doctrine/persistence)) = 1.1.0
|
||||
Provides: bundled(php-composer(doctrine/reflection)) = 1.0.0
|
||||
Provides: bundled(php-composer(egulias/email-validator)) = 2.1.11
|
||||
Provides: bundled(php-composer(fgrosse/phpasn1)) = 2.1.1
|
||||
Provides: bundled(php-composer(guzzlehttp/guzzle)) = 6.5.2
|
||||
Provides: bundled(php-composer(guzzlehttp/promises)) = 1.3.1
|
||||
Provides: bundled(php-composer(guzzlehttp/psr7)) = 1.6.1
|
||||
Provides: bundled(php-composer(guzzlehttp/ringphp)) = 1.1.0
|
||||
Provides: bundled(php-composer(guzzlehttp/streams)) = 3.0.0
|
||||
Provides: bundled(php-composer(icewind/searchdav)) = 2.0.0
|
||||
Provides: bundled(php-composer(icewind/streams)) = 0.7.1
|
||||
Provides: bundled(php-composer(interfasys/lognormalizer)) = 1.0
|
||||
Provides: bundled(php-composer(jeremeamia/SuperClosure)) = 2.4.0
|
||||
Provides: bundled(php-composer(justinrainbow/json-schema)) = 5.2.9
|
||||
Provides: bundled(php-composer(league/flysystem)) = 1.0.64
|
||||
Provides: bundled(php-composer(league/uri)) = 6.2.1
|
||||
Provides: bundled(php-composer(league/uri-components)) = 2.2.1
|
||||
Provides: bundled(php-composer(league/uri-interfaces)) = 2.1.0
|
||||
Provides: bundled(php-composer(microsoft/azure-storage-blob)) = 1.5.0
|
||||
Provides: bundled(php-composer(microsoft/azure-storage-common)) = 1.4.1
|
||||
Provides: bundled(php-composer(mtdowling/jmespath.php)) = 2.5.0
|
||||
Provides: bundled(php-composer(nikic/php-parser)) = 4.3.0
|
||||
Provides: bundled(php-composer(paragonie/random_compat)) = 9.99.99
|
||||
Provides: bundled(php-composer(patchwork/jsqueeze)) = 2.0.5
|
||||
Provides: bundled(php-composer(patchwork/utf8)) = 1.3.1
|
||||
Provides: bundled(php-composer(pear/archive_tar)) = 1.4.9
|
||||
Provides: bundled(php-composer(pear/console_getopt)) = 1.4.3
|
||||
Provides: bundled(php-composer(pear/pear-core-minimal)) = 1.10.10
|
||||
Provides: bundled(php-composer(pear/pear_exception)) = 1.0.1
|
||||
Provides: bundled(php-composer(php-http/guzzle6-adapter)) = 2.0.1
|
||||
Provides: bundled(php-composer(php-http/httplug)) = 2.1.0
|
||||
Provides: bundled(php-composer(php-http/promise)) = 1.0.0
|
||||
Provides: bundled(php-composer(php-opencloud/openstack)) = 3.0.7
|
||||
Provides: bundled(php-composer(phpseclib/phpseclib)) = 2.0.25
|
||||
Provides: bundled(php-composer(pimple/pimple)) = 3.2.3
|
||||
Provides: bundled(php-composer(psr/container)) = 1.0.0
|
||||
Provides: bundled(php-composer(psr/http-client)) = 1.0.0
|
||||
Provides: bundled(php-composer(psr/http-factory)) = 1.0.1
|
||||
Provides: bundled(php-composer(psr/http-message)) = 1.0.1
|
||||
Provides: bundled(php-composer(psr/log)) = 1.1.0
|
||||
Provides: bundled(php-composer(punic/punic)) = 1.6.5
|
||||
Provides: bundled(php-composer(ralouphie/getallheaders)) = 3.0.3
|
||||
Provides: bundled(php-composer(ramsey/uuid)) = 3.9.3
|
||||
Provides: bundled(php-composer(react/promise)) = 2.2.1
|
||||
Provides: bundled(php-composer(sabre/dav)) = 4.0.3
|
||||
Provides: bundled(php-composer(sabre/event)) = 5.1.0
|
||||
Provides: bundled(php-composer(sabre/http)) = 5.1.0
|
||||
Provides: bundled(php-composer(sabre/uri)) = 2.2.0
|
||||
Provides: bundled(php-composer(sabre/vobject)) = 4.3.0
|
||||
Provides: bundled(php-composer(sabre/xml)) = 2.2.3
|
||||
Provides: bundled(php-composer(scssphp/scssphp)) = 1.0.3
|
||||
Provides: bundled(php-composer(spomky-labs/base64url)) = 2.0.1
|
||||
Provides: bundled(php-composer(spomky-labs/cbor-php)) = 1.0.8
|
||||
Provides: bundled(php-composer(stecman/symfony-console-completion)) = 0.11.0
|
||||
Provides: bundled(php-composer(swiftmailer/swiftmailer)) = 6.2.3
|
||||
Provides: bundled(php-composer(symfony/console)) = 4.4.4
|
||||
Provides: bundled(php-composer(symfony/event-dispatcher)) = 4.4.4
|
||||
Provides: bundled(php-composer(symfony/event-dispatcher-contracts)) = 1.1.7
|
||||
Provides: bundled(php-composer(symfony/polyfill-ctype)) = 1.15.0
|
||||
Provides: bundled(php-composer(symfony/polyfill-iconv)) = 1.12.0
|
||||
Provides: bundled(php-composer(symfony/polyfill-intl-idn)) = 1.12.0
|
||||
Provides: bundled(php-composer(symfony/polyfill-mbstring)) = 1.14.0
|
||||
Provides: bundled(php-composer(symfony/polyfill-php56)) = 1.10.0
|
||||
Provides: bundled(php-composer(symfony/polyfill-php72)) = 1.12.0
|
||||
Provides: bundled(php-composer(symfony/polyfill-php73)) = 1.13.1
|
||||
Provides: bundled(php-composer(symfony/polyfill-util)) = 1.10.0
|
||||
Provides: bundled(php-composer(symfony/process)) = 4.4.4
|
||||
Provides: bundled(php-composer(symfony/routing)) = 4.4.4
|
||||
Provides: bundled(php-composer(symfony/service-contracts)) = 1.1.8
|
||||
Provides: bundled(php-composer(symfony/translation)) = 4.4.4
|
||||
Provides: bundled(php-composer(symfony/translation-contracts)) = 1.1.7
|
||||
Provides: bundled(php-composer(web-auth/cose-lib)) = 3.1.1
|
||||
Provides: bundled(php-composer(web-auth/metadata-service)) = 3.1.1
|
||||
Provides: bundled(php-composer(web-auth/webauthn-lib)) = 3.1.1
|
||||
Provides: bundled(php-composer(doctrine/cache)) = 1.7.1
|
||||
Provides: bundled(php-composer(doctrine/event-manager)) = 1.0.0
|
||||
# OpenIconic icons bundled via sabre-dav
|
||||
Provides: bundled(openiconic-fonts) = 1.0.0
|
||||
# jscolor bundled via themeing app
|
||||
Provides: bundled(jscolor) = 2.0.4
|
||||
# jquery-ui-multiselect bundled via user_ldap app
|
||||
Provides: bundled(jquery-ui-multiselect) = 0.3.1
|
||||
# zxcvbn bundled via core
|
||||
Provides: bundled(zxcvbn) = 4.4.2
|
||||
|
||||
%description
|
||||
NextCloud gives you universal access to your files through a web interface or
|
||||
WebDAV. It also provides a platform to easily view & sync your contacts,
|
||||
calendars and bookmarks across all your devices and enables basic editing right
|
||||
on the web. NextCloud is extendable via a simple but powerful API for
|
||||
applications and plugins.
|
||||
|
||||
|
||||
%package httpd
|
||||
Summary: Httpd integration for NextCloud
|
||||
Provides: %{name}-webserver = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
# PHP dependencies
|
||||
Requires: php-fpm httpd
|
||||
|
||||
%description httpd
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package nginx
|
||||
Summary: Nginx integration for NextCloud
|
||||
Provides: %{name}-webserver = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
# PHP dependencies
|
||||
Requires: php-fpm nginx
|
||||
|
||||
%description nginx
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package mysql
|
||||
Summary: MySQL database support for NextCloud
|
||||
Provides: %{name}-database = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
# From getSupportedDatabases, mysql => pdo, mysql
|
||||
Requires: php-mysqlnd
|
||||
|
||||
%description mysql
|
||||
This package ensures the necessary dependencies are in place for NextCloud to
|
||||
work with MySQL / MariaDB databases. It does not require a MySQL / MariaDB
|
||||
server to be installed, as you may well wish to use a remote database
|
||||
server.
|
||||
|
||||
If you want the database to be on the same system as NextCloud itself, you must
|
||||
also install and enable a MySQL / MariaDB server package. See README.mysql for
|
||||
more details.
|
||||
|
||||
%package postgresql
|
||||
Summary: PostgreSQL database support for NextCloud
|
||||
Provides: %{name}-database = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
# From getSupportedDatabases, pgsql => function, pg_connect
|
||||
Requires: php-pgsql
|
||||
|
||||
%description postgresql
|
||||
This package ensures the necessary dependencies are in place for NextCloud to
|
||||
work with a PostgreSQL database. It does not require the PostgreSQL server
|
||||
package to be installed, as you may well wish to use a remote database
|
||||
server.
|
||||
|
||||
If you want the database to be on the same system as NextCloud itself, you must
|
||||
also install and enable the PostgreSQL server package. See README.postgresql
|
||||
for more details.
|
||||
|
||||
|
||||
%package sqlite
|
||||
Summary: SQLite 3 database support for NextCloud
|
||||
Provides: %{name}-database = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
# From getSupportedDatabases, pgsql => class, SQLite3
|
||||
%description sqlite
|
||||
This package ensures the necessary dependencies are in place for NextCloud to
|
||||
work with an SQLite 3 database stored on the local system.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name} -p1
|
||||
|
||||
# patch backup files and .git stuff
|
||||
find . -name \*.orig -type f -exec rm {} \; -print
|
||||
find . -name .gitignore -type f -exec rm {} \; -print
|
||||
find . -name .github -type d -prune -exec rm -r {} \; -print
|
||||
|
||||
# prepare package doc
|
||||
cp %{SOURCE300} README.fedora
|
||||
cp %{SOURCE301} README.mysql
|
||||
cp %{SOURCE302} README.postgresql
|
||||
cp %{SOURCE303} MIGRATION.fedora
|
||||
|
||||
# Locate license files and put them sensibly in place
|
||||
# find all using "find -name '*LICENSE*' -o -name '*COPYING*' | sort"
|
||||
mv 3rdparty/aws/aws-sdk-php/LICENSE.md aws-LICENSE.md
|
||||
mv 3rdparty/bantu/ini-get-wrapper/LICENSE bantu-LICENSE
|
||||
mv 3rdparty/beberlei/assert/LICENSE beberlei-LICENSE
|
||||
mv 3rdparty/christophwurst/id3parser/LICENSE christophwurst-LICENSE
|
||||
mv 3rdparty/composer/LICENSE composer-LICENSE
|
||||
mv 3rdparty/deepdiver1975/tarstreamer/LICENSE deepdiver1975-LICENSE
|
||||
mv 3rdparty/deepdiver/zipstreamer/COPYING deepdiver-COPYING
|
||||
mv 3rdparty/doctrine/annotations/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/cache/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/collections/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/common/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/dbal/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/event-manager/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/inflector/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/persistence/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/doctrine/reflection/LICENSE doctrine-LICENSE
|
||||
mv 3rdparty/egulias/email-validator/LICENSE egulias-LICENSE
|
||||
mv 3rdparty/fgrosse/phpasn1/LICENSE fgrosse-LICENSE
|
||||
mv 3rdparty/guzzlehttp/guzzle/LICENSE guzzlehttp-LICENSE
|
||||
mv 3rdparty/guzzlehttp/promises/LICENSE guzzlehttp-LICENSE
|
||||
mv 3rdparty/guzzlehttp/psr7/LICENSE guzzlehttp-LICENSE
|
||||
mv 3rdparty/guzzlehttp/ringphp/LICENSE guzzlehttp-LICENSE
|
||||
mv 3rdparty/guzzlehttp/streams/LICENSE guzzlehttp-LICENSE
|
||||
mv 3rdparty/icewind/searchdav/LICENSE icewind-LICENSE
|
||||
mv 3rdparty/interfasys/lognormalizer/COPYING interfasys-COPYING
|
||||
mv 3rdparty/jeremeamia/SuperClosure/LICENSE.md jeremeamia-LICENSE
|
||||
mv 3rdparty/justinrainbow/json-schema/LICENSE justinrainbow-LICENSE
|
||||
mv 3rdparty/league/flysystem/LICENSE league-LICENSE
|
||||
mv 3rdparty/league/uri-components/LICENSE league-LICENSE
|
||||
mv 3rdparty/league/uri-interfaces/LICENSE league-LICENSE
|
||||
mv 3rdparty/league/uri/LICENSE league-LICENSE
|
||||
mv '3rdparty/LICENSE INFO' 3rdparty-LICENSE_INFO
|
||||
mv 3rdparty/microsoft/azure-storage-blob/LICENSE microsoft-LICENSE
|
||||
mv 3rdparty/microsoft/azure-storage-common/LICENSE microsoft-LICENSE
|
||||
mv 3rdparty/mtdowling/jmespath.php/LICENSE mtdowling-LICENSE
|
||||
mv 3rdparty/nikic/php-parser/LICENSE nikic-LICENSE
|
||||
mv 3rdparty/paragonie/random_compat/LICENSE paragonie-LICENSE
|
||||
mv 3rdparty/patchwork/jsqueeze/LICENSE.ASL20 patchwork-LICENSE-APACHE
|
||||
mv 3rdparty/patchwork/jsqueeze/LICENSE.GPLv2 patchwork-LICENSE-GPL
|
||||
mv 3rdparty/patchwork/utf8/LICENSE-APACHE patchwork-LICENSE-APACHE
|
||||
mv 3rdparty/patchwork/utf8/LICENSE-GPL patchwork-LICENSE-GPL
|
||||
mv 3rdparty/pear/console_getopt/LICENSE pear-LICENSE
|
||||
mv 3rdparty/pear/pear_exception/LICENSE pear-LICENSE
|
||||
mv 3rdparty/php-http/guzzle6-adapter/LICENSE php-http-LICENSE
|
||||
mv 3rdparty/php-http/httplug/LICENSE php-http-LICENSE
|
||||
mv 3rdparty/php-http/promise/LICENSE php-http-LICENSE
|
||||
mv 3rdparty/php-opencloud/openstack/LICENSE php-opencloud-LICENSE
|
||||
mv 3rdparty/phpseclib/phpseclib/LICENSE phpseclib-LICENSE
|
||||
mv 3rdparty/psr/container/LICENSE psr-LICENSE
|
||||
mv 3rdparty/psr/http-client/LICENSE psr-LICENSE
|
||||
mv 3rdparty/psr/http-factory/LICENSE psr-LICENSE
|
||||
mv 3rdparty/psr/http-message/LICENSE psr-LICENSE
|
||||
mv 3rdparty/psr/log/LICENSE psr-LICENSE
|
||||
mv 3rdparty/punic/punic/LICENSE.txt punic-LICENSE.txt
|
||||
mv 3rdparty/punic/punic/UNICODE-LICENSE.txt punic-UNICODE-LICENSE
|
||||
mv 3rdparty/ralouphie/getallheaders/LICENSE ralouphie-LICENSE
|
||||
mv 3rdparty/ramsey/uuid/LICENSE ramsey-LICENSE
|
||||
mv 3rdparty/react/promise/LICENSE react-LICENSE
|
||||
mv 3rdparty/sabre/dav/lib/DAV/Browser/assets/openiconic/ICON-LICENSE sabre-ICON-LICENSE
|
||||
mv 3rdparty/sabre/dav/LICENSE sabre-LICENSE
|
||||
mv 3rdparty/sabre/event/LICENSE sabre-LICENSE
|
||||
mv 3rdparty/sabre/http/LICENSE sabre-LICENSE
|
||||
mv 3rdparty/sabre/uri/LICENSE sabre-LICENSE
|
||||
mv 3rdparty/sabre/vobject/LICENSE sabre-LICENSE
|
||||
mv 3rdparty/sabre/xml/LICENSE sabre-LICENSE
|
||||
mv 3rdparty/scssphp/scssphp/LICENSE.md scssphp-LICENSE.md
|
||||
mv 3rdparty/spomky-labs/base64url/LICENSE spomky-labs-LICENSE
|
||||
mv 3rdparty/spomky-labs/cbor-php/LICENSE spomky-labs-LICENSE
|
||||
mv 3rdparty/stecman/symfony-console-completion/LICENCE stecman-LICENSE
|
||||
mv 3rdparty/symfony/console/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/event-dispatcher-contracts/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/event-dispatcher/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-ctype/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-iconv/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-intl-idn/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-mbstring/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-php56/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-php72/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-php73/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/polyfill-util/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/process/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/routing/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/service-contracts/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/translation-contracts/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/symfony/translation/LICENSE symfony-LICENSE
|
||||
mv 3rdparty/web-auth/cose-lib/LICENSE web-auth-LICENSE
|
||||
mv 3rdparty/web-auth/metadata-service/LICENSE web-auth-LICENSE
|
||||
mv 3rdparty/web-auth/webauthn-lib/LICENSE web-auth-LICENSE
|
||||
mv apps/accessibility/composer/composer/LICENSE accessibility-LICENSE
|
||||
mv apps/admin_audit/composer/composer/LICENSE admin_audit-LICENSE
|
||||
mv apps/cloud_federation_api/composer/composer/LICENSE cloud_federation_api-LICENSE
|
||||
mv apps/cloud_federation_api/LICENSE cloud_federation_api-LICENSE
|
||||
mv apps/comments/composer/composer/LICENSE comments-LICENSE
|
||||
mv apps/contactsinteraction/composer/composer/LICENSE contactsinteraction-LICENSE
|
||||
mv apps/dav/composer/composer/LICENSE dav-LICENSE
|
||||
mv apps/encryption/composer/composer/LICENSE encryption-LICENSE
|
||||
mv apps/federatedfilesharing/composer/composer/LICENSE federatedfilesharing-LICENSE
|
||||
mv apps/federation/composer/composer/LICENSE federation-LICENSE
|
||||
mv apps/files/composer/composer/LICENSE files-LICENSE
|
||||
mv apps/files_external/3rdparty/composer/LICENSE files_external-LICENSE
|
||||
mv apps/files_external/3rdparty/icewind/smb/LICENSE.txt icewind-smb-LICENSE
|
||||
mv apps/files_external/3rdparty/icewind/streams/LICENCE icewind-streams-LICENSE
|
||||
mv apps/files_pdfviewer/vendor/pdfjs/LICENSE js-pdfjs-LICENSE
|
||||
mv apps/files_pdfviewer/vendor/pdfjs/web/cmaps/LICENSE js-pdfjs-cmaps-LICENSE
|
||||
mv apps/files_rightclick/COPYING files_rightclick-COPYING
|
||||
mv apps/files_rightclick/LICENSE files_rightclick-LICENSE
|
||||
mv apps/files_sharing/composer/composer/LICENSE files_sharing-LICENSE
|
||||
mv apps/files_trashbin/composer/composer/LICENSE files_trashbin-LICENSE
|
||||
mv apps/files_versions/composer/composer/LICENSE files_versions-LICENSE
|
||||
mv apps/lookup_server_connector/composer/composer/LICENSE lookup_server_connector-LICENSE
|
||||
mv apps/nextcloud_announcements/COPYING nextcloud_announcements-COPYING
|
||||
mv apps/notifications/COPYING notifications-LICENSE
|
||||
mv apps/oauth2/composer/composer/LICENSE oauth2-LICENSE
|
||||
mv apps/password_policy/LICENSE password_policy-LICENSE
|
||||
mv apps/photos/COPYING photos-COPYING
|
||||
mv apps/privacy/COPYING privacy-COPYING
|
||||
mv apps/provisioning_api/composer/composer/LICENSE provisioning_api-LICENSE
|
||||
mv apps/recommendations/LICENSE recommendations-LICENSE
|
||||
mv apps/serverinfo/COPYING serverinfo-LICENSE
|
||||
mv apps/settings/composer/composer/LICENSE settings-LICENSE
|
||||
mv apps/sharebymail/composer/composer/LICENSE sharebymail-LICENSE
|
||||
mv apps/survey_client/COPYING survey_client-LICENSE
|
||||
mv apps/systemtags/composer/composer/LICENSE systemtags-LICENSE
|
||||
mv apps/text/COPYING text-COPYING
|
||||
mv apps/theming/js/3rdparty/jscolor/LICENSE.txt jscolor-LICENSE
|
||||
mv apps/twofactor_backupcodes/composer/composer/LICENSE twofactor_backupcodes-LICENSE
|
||||
mv apps/updatenotification/composer/composer/LICENSE updatenotification-LICENSE
|
||||
mv apps/user_ldap/composer/composer/LICENSE user_ldap-LICENSE
|
||||
mv apps/user_ldap/vendor/ui-multiselect/MIT-LICENSE js-jqueryui-multiselect-LICENSE
|
||||
mv apps/viewer/COPYING viewer-COPYING
|
||||
mv apps/workflowengine/composer/composer/LICENSE workflowengine-LICENSE
|
||||
mv COPYING nextcloud-LICENSE
|
||||
mv core/fonts/LICENSE_OFL.txt fonts-LICENSE
|
||||
mv core/vendor/zxcvbn/LICENSE.txt zxcvbn-LICENSE
|
||||
mv lib/composer/composer/LICENSE composer-LICENSE
|
||||
|
||||
|
||||
%check
|
||||
# Make sure there are no license files left over
|
||||
nb=$( find . -mindepth 2 \( -name '*LICENSE*' -o -name '*LICENCE*' -o -name '*COPYING*' \) | wc -l )
|
||||
if [ $nb -gt 0 ]
|
||||
then
|
||||
false found unexpected licenses to verify
|
||||
fi
|
||||
|
||||
|
||||
%build
|
||||
# Nothing to build
|
||||
|
||||
%install
|
||||
install -dm 755 %{buildroot}%{_datadir}/%{name}
|
||||
|
||||
# create nextcloud datadir
|
||||
mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/data
|
||||
# create writable app dir for appstore
|
||||
mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/apps
|
||||
# create nextcloud sysconfdir
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
||||
|
||||
# install content
|
||||
for d in $(find . -mindepth 1 -maxdepth 1 -type d | grep -v config); do
|
||||
cp -a "$d" %{buildroot}%{_datadir}/%{name}
|
||||
done
|
||||
|
||||
for f in {*.php,*.html,robots.txt}; do
|
||||
install -pm 644 "$f" %{buildroot}%{_datadir}/%{name}
|
||||
done
|
||||
|
||||
# occ should be executable
|
||||
install -pm 755 occ %{buildroot}%{_datadir}/%{name}
|
||||
|
||||
# symlink config dir
|
||||
ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config
|
||||
|
||||
# nextcloud looks for ca-bundle.crt in config dir
|
||||
ln -sf %{_sysconfdir}/pki/tls/certs/ca-bundle.crt %{buildroot}%{_sysconfdir}/%{name}/ca-bundle.crt
|
||||
|
||||
# set default config
|
||||
install -pm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}/config.php
|
||||
|
||||
# httpd config
|
||||
install -Dpm 644 %{SOURCE100} \
|
||||
%{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf
|
||||
install -Dpm 644 %{SOURCE101} \
|
||||
%{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail
|
||||
install -Dpm 644 %{SOURCE102} %{SOURCE103} %{SOURCE104} %{SOURCE105} \
|
||||
%{buildroot}%{_sysconfdir}/httpd/conf.d/
|
||||
|
||||
# nginx config
|
||||
install -Dpm 644 %{SOURCE200} \
|
||||
%{buildroot}%{_sysconfdir}/nginx/default.d/%{name}.conf
|
||||
install -Dpm 644 %{SOURCE201} \
|
||||
%{buildroot}%{_sysconfdir}/nginx/conf.d/%{name}.conf
|
||||
|
||||
# php-fpm config
|
||||
install -Dpm 644 %{SOURCE202} \
|
||||
%{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf
|
||||
|
||||
# Install the systemd timer
|
||||
install -Dpm 644 %{SOURCE2} %{buildroot}%{_unitdir}/nextcloud-cron.service
|
||||
install -Dpm 644 %{SOURCE3} %{buildroot}%{_unitdir}/nextcloud-cron.timer
|
||||
|
||||
%post httpd
|
||||
/usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || :
|
||||
/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || :
|
||||
|
||||
%postun httpd
|
||||
if [ $1 -eq 0 ]; then
|
||||
/usr/bin/systemctl reload httpd.service > /dev/null 2>&1 || :
|
||||
/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%post nginx
|
||||
/usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || :
|
||||
/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || :
|
||||
|
||||
%postun nginx
|
||||
if [ $1 -eq 0 ]; then
|
||||
/usr/bin/systemctl reload nginx.service > /dev/null 2>&1 || :
|
||||
/usr/bin/systemctl reload php-fpm.service > /dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%files
|
||||
%doc AUTHORS README.fedora MIGRATION.fedora config/config.sample.php
|
||||
%license *-LICENSE
|
||||
%dir %attr(-,apache,apache) %{_sysconfdir}/%{name}
|
||||
# contains sensitive data (dbpassword, passwordsalt)
|
||||
%config(noreplace) %attr(0600,apache,apache) %{_sysconfdir}/%{name}/config.php
|
||||
# need the symlink in confdir but it's not config
|
||||
%{_sysconfdir}/%{name}/ca-bundle.crt
|
||||
%{_datadir}/%{name}
|
||||
%dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}
|
||||
# user data must not be world readable
|
||||
%dir %attr(0750,apache,apache) %{_localstatedir}/lib/%{name}/data
|
||||
%attr(-,apache,apache) %{_localstatedir}/lib/%{name}/apps
|
||||
%{_unitdir}/nextcloud-cron.service
|
||||
%{_unitdir}/nextcloud-cron.timer
|
||||
|
||||
%files httpd
|
||||
%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf
|
||||
%{_sysconfdir}/httpd/conf.d/%{name}-access.conf.avail
|
||||
%{_sysconfdir}/httpd/conf.d/%{name}*.inc
|
||||
%config(noreplace) %{_sysconfdir}/php-fpm.d/%{name}.conf
|
||||
|
||||
%files nginx
|
||||
%config(noreplace) %{_sysconfdir}/nginx/default.d/%{name}.conf
|
||||
%config(noreplace) %{_sysconfdir}/nginx/conf.d/%{name}.conf
|
||||
%config(noreplace) %{_sysconfdir}/php-fpm.d/%{name}.conf
|
||||
|
||||
%files mysql
|
||||
%doc README.mysql
|
||||
%files postgresql
|
||||
%doc README.postgresql
|
||||
%files sqlite
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
@ -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
|
1
sources
1
sources
@ -1 +0,0 @@
|
||||
SHA512 (nextcloud-19.0.13.tar.bz2) = fd144a0d42617b33388bf1127673adb2e523ef04804021ac90e8e679abcb61d839dcba61270108c8ac62093712e6bffcb83a1caef0c810598a108a57d8bd85d9
|
@ -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
|
@ -1,82 +0,0 @@
|
||||
#!/bin/env python
|
||||
|
||||
import os
|
||||
import json
|
||||
import re
|
||||
import subprocess
|
||||
|
||||
defaultconstraint = 2
|
||||
excludes = ('php')
|
||||
|
||||
constraintmap = ('any', 'loose', 'strict', 'exact')
|
||||
|
||||
def get_requires(name, version, constraint):
|
||||
version = version.split('.')
|
||||
|
||||
if constraint == 0:
|
||||
requires = 'php-composer(' + name + ')'
|
||||
elif constraint == 1:
|
||||
wipe = False
|
||||
for i in range(0, len(version)):
|
||||
if version[i] == '0' or wipe:
|
||||
version[i] = '0'
|
||||
else:
|
||||
version[i] = str(int(version[i]) + 1)
|
||||
wipe = True
|
||||
requires = '(php-composer(' + name + ') >= ' + minver + ' with php-composer(' + name + ') < ' + '.'.join(version) + ')'
|
||||
elif constraint == 2:
|
||||
version[-1] = '0'
|
||||
version[-2] = str(int(version[-2]) + 1)
|
||||
requires = '(php-composer(' + name + ') >= ' + minver + ' with php-composer(' + name + ') < ' + '.'.join(version) + ')'
|
||||
else:
|
||||
requires = 'php-composer(' + name + ') = ' + minver
|
||||
return requires
|
||||
|
||||
def repoquery(query):
|
||||
stdout = subprocess.run(['dnf', 'repoquery', '-q', '--whatprovides', requires], stdout=subprocess.PIPE, universal_newlines=True, check = True).stdout
|
||||
return stdout
|
||||
|
||||
|
||||
with open('3rdparty/composer.json') as f:
|
||||
#with open('apps/files_external/3rdparty/composer.json') as f:
|
||||
depdata = json.load(f)
|
||||
for name, version in depdata['require'].items():
|
||||
if name in excludes:
|
||||
print('Skipping ' + name + ': Excluded')
|
||||
continue
|
||||
print(name, version, ':')
|
||||
version = version.replace('v', '')
|
||||
if version == '*':
|
||||
constraint = 0
|
||||
version = '0'
|
||||
elif version.startswith('^'):
|
||||
constraint = 1
|
||||
version = version.strip('^')
|
||||
elif version.startswith('~'):
|
||||
constraint = 2
|
||||
version = version.strip('~')
|
||||
else:
|
||||
constraint = defaultconstraint
|
||||
|
||||
if re.search('[^.0-9]', version):
|
||||
print('Unparseable version:', version)
|
||||
continue
|
||||
else:
|
||||
minver = version
|
||||
|
||||
requires = get_requires(name, version, constraint)
|
||||
print(' Constraint (' + constraintmap[constraint] + '): ' + requires)
|
||||
|
||||
package = repoquery(requires)
|
||||
while len(package) == 0:
|
||||
constraint -= 1
|
||||
if constraint < 0:
|
||||
break
|
||||
requires = get_requires(name, version, constraint)
|
||||
print(' Constraint (' + constraintmap[constraint] + '): ' + requires)
|
||||
package = repoquery(requires)
|
||||
|
||||
if len(package) == 0:
|
||||
print(' -> no providing package found\n')
|
||||
else:
|
||||
print(' -> ' + package)
|
Loading…
Reference in New Issue
Block a user