Compare commits
135 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c7ef9445d | ||
|
|
4f892068ec | ||
|
|
eb3b5fd33e | ||
|
|
f0ed8f15a9 | ||
|
|
db98a32e09 | ||
|
|
b701ace299 | ||
|
|
796f9d876b | ||
|
|
5c14182672 | ||
|
|
0224438526 | ||
|
|
a31e3cccd8 | ||
|
|
5fb288a672 | ||
|
|
c4d346f41d | ||
|
|
44fa2177d7 | ||
|
|
cd2bac1d17 | ||
|
|
d67faf73ac | ||
|
|
c34e89c698 | ||
|
|
d625665feb | ||
|
|
f267212179 | ||
|
|
cff27361a1 | ||
|
|
7d4cd2558a | ||
|
|
9dc14f5076 | ||
|
|
f3e2eb4218 | ||
|
|
7ab2f104e8 | ||
|
|
ab682ab5e5 | ||
|
|
05c35a1326 | ||
|
|
7b50c912fe | ||
|
|
ced6af0351 | ||
|
|
8c7282c8e7 | ||
|
|
2a1247110d | ||
|
|
cb014a1f22 | ||
|
|
9af3572351 | ||
|
|
6e2d37e5ab | ||
|
|
fc8ec08353 | ||
|
|
31f5ea601e | ||
|
|
5f0df84f1e | ||
|
|
5977cd12ba | ||
|
|
2200403fb8 | ||
|
|
e26b2416fb | ||
|
|
c65a6fe4f4 | ||
|
|
810deff518 | ||
|
|
11821f6aa8 | ||
|
|
ecf38e3889 | ||
|
|
990cb3205c | ||
|
|
c455a1050d | ||
|
|
57e90b3869 | ||
|
|
704431c4ef | ||
|
|
da145e7dfc | ||
|
|
3461401d17 | ||
|
|
cda4bc06db | ||
|
|
104a40bc81 | ||
|
|
09b27f7653 | ||
|
|
662a74cdbf | ||
|
|
5fe8e1ea11 | ||
|
|
b379529877 | ||
|
|
9c7713f3ea | ||
|
|
69c14756e5 | ||
|
|
3598940ccc | ||
|
|
dc8dd19e99 | ||
|
|
6e4b536f6d | ||
|
|
5421d59536 | ||
|
|
63b1c07960 | ||
|
|
ad714e79e2 | ||
|
|
4b147e3fae | ||
|
|
748b1f68bd | ||
|
|
5e1f4caff2 | ||
|
|
39224eb82e | ||
|
|
6ef46d5fe9 | ||
|
|
1053fdee18 | ||
|
|
d94c4af65d |
||
|
|
4d543f424e |
||
|
|
9e3b394cdc |
||
|
|
8ea470cd32 | ||
|
|
47c19c6313 | ||
|
|
eb1820eb9f | ||
|
|
193ac7f158 | ||
|
|
c0eb2f9d51 | ||
|
|
560c9df0eb | ||
|
|
417c20ec5d | ||
|
|
46041201ef | ||
|
|
36c8256f8f | ||
|
|
cc7fd53e0a | ||
|
|
150ec7a301 | ||
|
|
6bd25af18e | ||
|
|
03cae4799e | ||
|
|
1ce22856b3 | ||
|
|
5890e801ce | ||
|
|
89fa9b3da6 | ||
|
|
c7217d191d | ||
|
|
09829dc43e | ||
|
|
0e47473c10 | ||
|
|
08f49df206 | ||
|
|
98ca85608b | ||
|
|
84fb3520f8 | ||
|
|
e091af1f54 | ||
|
|
a57f8ec2fc | ||
|
|
e86f6f7f45 | ||
|
|
3f6dac606c | ||
|
|
ce3ab7ff5f | ||
|
|
67aaf62a2a | ||
|
|
bbad8d3a8c | ||
|
|
de0b910396 | ||
|
|
8ca211d5e5 | ||
|
|
5dff3d9c42 | ||
|
|
266fce3bac | ||
|
|
ecf481aa18 | ||
|
|
a334c7061c | ||
|
|
bfe4e54f92 | ||
|
|
ed26156816 | ||
|
|
bfd9e55213 | ||
|
|
bbf2ec738b | ||
|
|
85d72108c4 | ||
|
|
c47da899c5 | ||
|
|
0eba130f8a | ||
|
|
cb9544c0d0 | ||
|
|
83025bf932 | ||
|
|
f290bf06e4 | ||
|
|
1719ce2670 | ||
|
|
87ca5954cd | ||
|
|
b7bf5756d4 | ||
|
|
cc418ada90 | ||
|
|
0d336cb8f8 | ||
|
|
a88ee0f5d8 | ||
|
|
69cfa9eb29 | ||
|
|
010fbebdb4 | ||
|
|
503c9f882a | ||
|
|
a4e7ed8572 | ||
|
|
258c03d8a7 | ||
|
|
52044a317b | ||
|
|
65e2599eb2 | ||
|
|
cfc35de46b | ||
|
|
c90d633e65 | ||
|
|
3773fcc735 | ||
| d4aacd9b0a | |||
|
|
47a90a30a2 | ||
|
|
f79de87f2b |
33 changed files with 607 additions and 1239 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
|||
/nextcloud-10.0.3.tar.bz2
|
||||
/nextcloud-10.0.4.tar.bz2
|
||||
/nextcloud-*.tar.bz2
|
||||
/nextcloud
|
||||
*.pkgtmp
|
||||
|
|
|
|||
21
0000-disable-update-version-check.patch
Normal file
21
0000-disable-update-version-check.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
diff --git a/lib/private/Updater.php b/lib/private/Updater.php
|
||||
index 5a14bb17507..38dcb55db7f 100644
|
||||
--- a/lib/private/Updater.php
|
||||
+++ b/lib/private/Updater.php
|
||||
@@ -174,10 +174,13 @@
|
||||
$this->config->setAppValue('core', 'vendor', $currentVendor);
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ Fedora package:
|
||||
+ Remove updater version check, we know that updates across more than one
|
||||
+ version are possible
|
||||
+ */
|
||||
if ($currentVendor === 'nextcloud') {
|
||||
- return isset($allowedPreviousVersions[$currentVendor][$majorMinor])
|
||||
- && (version_compare($oldVersion, $newVersion, '<=')
|
||||
- || $this->config->getSystemValueBool('debug', false));
|
||||
+ return true;
|
||||
}
|
||||
|
||||
// Check if the instance can be migrated
|
||||
9
0001-mangle-shebang.patch
Normal file
9
0001-mangle-shebang.patch
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
diff -Naur a/occ b/occ
|
||||
--- a/occ 2020-10-24 10:37:44.000000000 +0200
|
||||
+++ b/occ 2020-11-10 19:39:56.523178958 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env php
|
||||
+#!/usr/bin/php
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>
|
||||
16
README-PACKAGING.md
Normal file
16
README-PACKAGING.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Packaging Notes
|
||||
|
||||
Nextcloud has a fairly quick release cadence. Luckily they follow a strick system of alph-beta-rc-final releases and differences between major versions aren't huge so this rarely causes problems.
|
||||
## Versions/Branches/Modules/Releases
|
||||
### Upstream versioning
|
||||
Upstream uses semantic versioning `major.minor.bugfix` for their version numbers. Contrary to what one might expect, they generally only push releases to their `stable` release channel after the first bugfix release `x.y.1`.
|
||||
### In Fedora
|
||||
`rawhide` generally contains whatever the latest non-rc release upstream is, including the `x.y.0` initial releases of a new major version.
|
||||
Fedora releases stay on whatever major version they inherited from `rawhide` at branching as much as possible. Since nextcloud's and Fedora's release schedule don't entirely sync up, this means that occasionally a Fedora release might ship a `x.y.0` or EOL'd version of nextcloud for a brief time, but this is the best tradeoff between keeping Fedora in sync with upstream and minimizing disruptions within one Fedora release. Users who are unhappy with that can choose modules to work around that.
|
||||
Module streams `nextcloud-X` ship the current release of major version `X`. Module stream `nextcloud-stable` should be rebased to a new major version only after the `x.y.1` bugfix release, in keeping with what upstream considers it's stable branch.
|
||||
### Security fixes
|
||||
Upstream is very conscientious with publishing and fixing CVEs discovered in their code. They generally backport fixes to all but very minor vulnerabilities to all supported versions, so it is generally safe not to change major versions within one Fedora release, even if a vulnerability has been discovered. Impacted users can always choose to upgrade via modules.
|
||||
## Tarballs
|
||||
Release tarballs are located at https://download.nextcloud.com/server/releases while prerelease tarballs are located ata https://download.nextcloud.com/server/prereleases/ . It generally takes about a day after the release annoucement for tarballs to actually appear in those directories.
|
||||
## Bundled dependencies
|
||||
Nextcloud ships a lot of bundled composer libraries, but these are easy to unbundle. The repos `utils` directory contains a script `get-composer-requires.py` that will output all required libraries/versions as well as if they're already available in the Fedora repositories or need to be added, by scanning the `composer.json` files shipped with the nextcloud sources.
|
||||
11
README.md
Normal file
11
README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
### Installation, setup & updating
|
||||
|
||||
Nextcloud requires some additional steps after installation/upgrade that are not part of the package update process. After installation/update, visiting your install's website will automatically trigger the internal Nextcloud updater which will take care of these steps. For more details, see this package's documentation files.
|
||||
|
||||
### Other versions
|
||||
|
||||
[modular nextcloud package Fedora and CentOS/RHEL](https://src.fedoraproject.org/modules/nextcloud) is over
|
||||
|
||||
https://fedoraproject.org/wiki/Changes/RetireModularity
|
||||
|
||||
Once Fedora Linux 38 reaches end of life, we will retire the Fedora instance of Module Build Service.
|
||||
126
changelog
Normal file
126
changelog
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
* Tue Jul 6 2021 Christopher Engelhard <ce@lcts.de> - 22.0.0-1
|
||||
- Update to 22.0.0
|
||||
|
||||
* Wed Jun 30 2021 Christopher Engelhard <ce@lcts.de> - 21.0.2-1
|
||||
- Update to 21.0.2, fixes RHBZ 1977202 / CVE-2021-22915
|
||||
- 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)
|
||||
|
||||
* Wed Feb 24 2021 Christopher Engelhard <ce@lcts.de> - 21.0.0-2
|
||||
- Drop dependency on php-imap. Fixes RHBZ #1933023
|
||||
|
||||
* Wed Feb 24 2021 Christopher Engelhard <ce@lcts.de> - 21.0.0-1
|
||||
- Update to 21.0.0
|
||||
|
||||
* Sat Feb 20 2021 Christopher Engelhard <ce@lcts.de> - 20.0.7-1
|
||||
- Update to 20.0.7
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20.0.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Sat Jan 16 2021 Christopher Engelhard <ce@lcts.de> - 20.0.5-1
|
||||
- Update to 20.0.5
|
||||
|
||||
* Mon Dec 28 2020 Christopher Engelhard <ce@lcts.de> - 20.0.4-2
|
||||
- Remove duplicate dependencies on database drivers
|
||||
- Remove syslinux related stuff, as these are included in
|
||||
the syslinux policy
|
||||
- Add Provides: for bundled libraries
|
||||
|
||||
* Thu Dec 17 2020 Christopher Engelhard <ce@lcts.de> - 20.0.4-1
|
||||
- Update to 20.0.4
|
||||
|
||||
* Thu Dec 10 2020 Christopher Engelhard <ce@lcts.de> - 20.0.3-1
|
||||
- Update to 20.0.3
|
||||
|
||||
* Thu Nov 19 2020 Christopher Engelhard <ce@lcts.de> - 20.0.2-1
|
||||
- Update to 20.0.2
|
||||
|
||||
* Sat Nov 14 2020 Christopher Engelhard <ce@lcts.de> - 20.0.2-0.1.rc1
|
||||
- Update to 20.0.2RC1
|
||||
|
||||
* Wed Nov 11 2020 Christopher Engelhard <ce@lcts.de> - 20.0.1-3
|
||||
- Remove CentOS/RHEL 7 support from spec file
|
||||
|
||||
* Tue Nov 10 2020 Christopher Engelhard <ce@lcts.de> - 20.0.1-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
|
||||
|
||||
* Mon Oct 26 2020 Christopher Engelhard <ce@lcts.de> - 20.0.1-1
|
||||
- Update to Nextcloud 20.0.1
|
||||
|
||||
* Sun Oct 11 2020 Christopher Engelhard <ce@lcts.de> - 20.0.0-1
|
||||
- Update to Nextcloud 20.0.0
|
||||
|
||||
* 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
|
||||
17
gating.yml
Normal file
17
gating.yml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpmdeplint.functional}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional}
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
diff --git a/console.php b/console.php
|
||||
index b2724db..149c265 100644
|
||||
--- a/console.php
|
||||
+++ b/console.php
|
||||
@@ -31,22 +31,6 @@ use Symfony\Component\Console\Output\ConsoleOutput;
|
||||
|
||||
define('OC_CONSOLE', 1);
|
||||
|
||||
-// Show warning if a PHP version below 5.4.0 is used, this has to happen here
|
||||
-// because base.php will already use 5.4 syntax.
|
||||
-if (version_compare(PHP_VERSION, '5.4.0') === -1) {
|
||||
- echo 'This version of Nextcloud requires at least PHP 5.4.0'.PHP_EOL;
|
||||
- echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.'.PHP_EOL;
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-// Show warning if PHP 7.1 is used as Nextcloud is not compatible with PHP 7.1 for now
|
||||
-// @see https://github.com/nextcloud/docker-ci/issues/10
|
||||
-if (version_compare(PHP_VERSION, '7.1.0') !== -1) {
|
||||
- echo 'This version of Nextcloud is not compatible with PHP 7.1.<br/>';
|
||||
- echo 'You are currently running ' . PHP_VERSION . '.';
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
function exceptionHandler($exception) {
|
||||
echo "An unhandled exception has been thrown:" . PHP_EOL;
|
||||
echo $exception;
|
||||
diff --git a/cron.php b/cron.php
|
||||
index 4473dba..7a4e1a6 100644
|
||||
--- a/cron.php
|
||||
+++ b/cron.php
|
||||
@@ -30,20 +30,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-// Show warning if a PHP version below 5.4.0 is used
|
||||
-if (version_compare(PHP_VERSION, '5.4.0') === -1) {
|
||||
- echo 'This version of Nextcloud requires at least PHP 5.4.0<br/>';
|
||||
- echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-// Show warning if PHP 7.1 is used as Nextcloud is not compatible with PHP 7.1 for now
|
||||
-// @see https://github.com/nextcloud/docker-ci/issues/10
|
||||
-if (version_compare(PHP_VERSION, '7.1.0') !== -1) {
|
||||
- echo 'This version of Nextcloud is not compatible with PHP 7.1.<br/>';
|
||||
- echo 'You are currently running ' . PHP_VERSION . '.';
|
||||
- return;
|
||||
-}
|
||||
|
||||
try {
|
||||
|
||||
diff --git a/index.php b/index.php
|
||||
index e72d38c..29920d7 100644
|
||||
--- a/index.php
|
||||
+++ b/index.php
|
||||
@@ -25,22 +25,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-// Show warning if a PHP version below 5.4.0 is used, this has to happen here
|
||||
-// because base.php will already use 5.4 syntax.
|
||||
-if (version_compare(PHP_VERSION, '5.4.0') === -1) {
|
||||
- echo 'This version of Nextcloud requires at least PHP 5.4.0<br/>';
|
||||
- echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-// Show warning if PHP 7.1 is used as Nextcloud is not compatible with PHP 7.1 for now
|
||||
-// @see https://github.com/nextcloud/docker-ci/issues/10
|
||||
-if (version_compare(PHP_VERSION, '7.1.0') !== -1) {
|
||||
- echo 'This version of Nextcloud is not compatible with PHP 7.1.<br/>';
|
||||
- echo 'You are currently running ' . PHP_VERSION . '.';
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
try {
|
||||
|
||||
require_once __DIR__ . '/lib/base.php';
|
||||
diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php
|
||||
index 86b9b76..ac42177 100644
|
||||
--- a/settings/Controller/CheckSetupController.php
|
||||
+++ b/settings/Controller/CheckSetupController.php
|
||||
@@ -212,9 +212,7 @@ class CheckSetupController extends Controller {
|
||||
* @return bool
|
||||
*/
|
||||
protected function isPhpOutdated() {
|
||||
- if (version_compare(PHP_VERSION, '5.5.0') === -1) {
|
||||
- return true;
|
||||
- }
|
||||
+ // PHP supported in distribution
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
diff --git a/core/templates/update.admin.php b/core/templates/update.admin.php
|
||||
index 87f9396..368a533 100644
|
||||
--- a/core/templates/update.admin.php
|
||||
+++ b/core/templates/update.admin.php
|
||||
@@ -37,7 +37,7 @@
|
||||
<input class="updateButton" type="button" value="<?php p($l->t('Start update')) ?>">
|
||||
<div class="infogroup">
|
||||
<?php p($l->t('To avoid timeouts with larger installations, you can instead run the following command from your installation directory:')) ?>
|
||||
- <pre>./occ upgrade</pre>
|
||||
+ <pre>sudo -u apache php /usr/share/nextcloud/occ upgrade</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
diff --git a/core/templates/update.use-cli.php b/core/templates/update.use-cli.php
|
||||
index 52d40cd..945d4d9 100644
|
||||
--- a/core/templates/update.use-cli.php
|
||||
+++ b/core/templates/update.use-cli.php
|
||||
@@ -7,8 +7,10 @@
|
||||
} else {
|
||||
p($l->t('Please use the command line updater because automatic updating is disabled in the config.php.'));
|
||||
} ?><br><br>
|
||||
- <?php
|
||||
- print_unescaped($l->t('For help, see the <a target="_blank" rel="noreferrer" href="%s">documentation</a>.', [link_to_docs('admin-cli-upgrade')])); ?><br><br>
|
||||
+ <code>
|
||||
+sudo -u apache php /usr/share/nextcloud/occ upgrade
|
||||
+</code>
|
||||
+ <br><br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
diff --git a/updater/index.php b/updater/index.php
|
||||
index 017ca70..085c250 100644
|
||||
--- a/updater/index.php
|
||||
+++ b/updater/index.php
|
||||
@@ -1830,7 +1830,7 @@ if(strpos($updaterUrl, 'index.php') === false) {
|
||||
var el = document.getElementById('step-maintenance-mode')
|
||||
.getElementsByClassName('output')[0];
|
||||
if (keepActive) {
|
||||
- el.innerHTML = 'Maintenance mode will kept active.<br>Now trigger the migration via command line: <code>./occ upgrade</code><br>';
|
||||
+ el.innerHTML = 'Maintenance mode will kept active.<br>Now trigger the migration via command line: <code>sudo -u apache php /usr/share/nextcloud/occ upgrade</code><br>';
|
||||
successStep('step-maintenance-mode');
|
||||
currentStep('step-done');
|
||||
performStep(11, performStepCallbacks[11]);
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
From 463e2ea15d6fb71b96363d60c7e4bdc2c020eddf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Thomas=20M=C3=BCller?= <thomas.mueller@tmit.eu>
|
||||
Date: Mon, 4 Jul 2016 13:47:03 +0200
|
||||
Subject: [PATCH] Initialize array elements properly
|
||||
|
||||
---
|
||||
lib/private/App/InfoParser.php | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/private/App/InfoParser.php b/lib/private/App/InfoParser.php
|
||||
index c158e5c..843ed02 100644
|
||||
--- a/lib/private/App/InfoParser.php
|
||||
+++ b/lib/private/App/InfoParser.php
|
||||
@@ -141,7 +141,7 @@ function xmlToArray($xml) {
|
||||
$totalElement = count($xml->{$element});
|
||||
|
||||
if (!isset($array[$element])) {
|
||||
- $array[$element] = "";
|
||||
+ $array[$element] = $totalElement > 1 ? [] : "";
|
||||
}
|
||||
/** @var \SimpleXMLElement $node */
|
||||
// Has attributes
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/apps/files_external/lib/Lib/Storage/AmazonS3.php b/apps/files_external/lib/Lib/Storage/AmazonS3.php
|
||||
index 4bb4312..85e04a3 100644
|
||||
--- a/apps/files_external/lib/Lib/Storage/AmazonS3.php
|
||||
+++ b/apps/files_external/lib/Lib/Storage/AmazonS3.php
|
||||
@@ -35,10 +35,6 @@
|
||||
|
||||
namespace OCA\Files_External\Lib\Storage;
|
||||
|
||||
-set_include_path(get_include_path() . PATH_SEPARATOR .
|
||||
- \OC_App::getAppPath('files_external') . '/3rdparty/aws-sdk-php');
|
||||
-require 'aws-autoloader.php';
|
||||
-
|
||||
use Aws\S3\S3Client;
|
||||
use Aws\S3\Exception\S3Exception;
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/lib/private/IntegrityCheck/Checker.php b/lib/private/IntegrityCheck/Checker.php
|
||||
index d4038f8..7901a2c 100644
|
||||
--- a/lib/private/IntegrityCheck/Checker.php
|
||||
+++ b/lib/private/IntegrityCheck/Checker.php
|
||||
@@ -109,7 +109,7 @@ class Checker {
|
||||
* too prominent. So please do not add it to config.sample.php.
|
||||
*/
|
||||
if ($this->config !== null) {
|
||||
- $isIntegrityCheckDisabled = $this->config->getSystemValue('integrity.check.disabled', false);
|
||||
+ $isIntegrityCheckDisabled = $this->config->getSystemValue('integrity.check.disabled', true);
|
||||
} else {
|
||||
$isIntegrityCheckDisabled = false;
|
||||
}
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
diff --git a/core/Command/Maintenance/UpdateHtaccess.php b/core/Command/Maintenance/UpdateHtaccess.php
|
||||
deleted file mode 100644
|
||||
index 2185078..0000000
|
||||
--- a/core/Command/Maintenance/UpdateHtaccess.php
|
||||
+++ /dev/null
|
||||
@@ -1,45 +0,0 @@
|
||||
-<?php
|
||||
-/**
|
||||
- * @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
- *
|
||||
- * @author Lukas Reschke <lukas@statuscode.ch>
|
||||
- *
|
||||
- * @license AGPL-3.0
|
||||
- *
|
||||
- * This code is free software: you can redistribute it and/or modify
|
||||
- * it under the terms of the GNU Affero General Public License, version 3,
|
||||
- * as published by the Free Software Foundation.
|
||||
- *
|
||||
- * This program is distributed in the hope that it will be useful,
|
||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
- * GNU Affero General Public License for more details.
|
||||
- *
|
||||
- * You should have received a copy of the GNU Affero General Public License, version 3,
|
||||
- * along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
- *
|
||||
- */
|
||||
-namespace OC\Core\Command\Maintenance;
|
||||
-
|
||||
-use InvalidArgumentException;
|
||||
-use OC\Setup;
|
||||
-use OCP\IConfig;
|
||||
-use Symfony\Component\Console\Command\Command;
|
||||
-use Symfony\Component\Console\Input\InputInterface;
|
||||
-use Symfony\Component\Console\Input\InputOption;
|
||||
-use Symfony\Component\Console\Output\OutputInterface;
|
||||
-
|
||||
-class UpdateHtaccess extends Command {
|
||||
-
|
||||
- protected function configure() {
|
||||
- $this
|
||||
- ->setName('maintenance:update:htaccess')
|
||||
- ->setDescription('Updates the .htaccess file');
|
||||
- }
|
||||
-
|
||||
- protected function execute(InputInterface $input, OutputInterface $output) {
|
||||
- \OC\Setup::updateHtaccess();
|
||||
- $output->writeln('.htaccess has been updated');
|
||||
- return 0;
|
||||
- }
|
||||
-}
|
||||
diff --git a/core/register_command.php b/core/register_command.php
|
||||
index 6f20769..09535fe 100644
|
||||
--- a/core/register_command.php
|
||||
+++ b/core/register_command.php
|
||||
@@ -60,7 +60,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
|
||||
$application->add(new OC\Core\Command\App\Enable(\OC::$server->getAppManager()));
|
||||
$application->add(new OC\Core\Command\App\GetPath());
|
||||
$application->add(new OC\Core\Command\App\ListApps(\OC::$server->getAppManager()));
|
||||
-
|
||||
+
|
||||
$application->add(new OC\Core\Command\TwoFactorAuth\Enable(
|
||||
\OC::$server->getTwoFactorAuthManager(), \OC::$server->getUserManager()
|
||||
));
|
||||
@@ -126,7 +126,6 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
|
||||
new \OC\Repair(\OC\Repair::getRepairSteps(), \OC::$server->getEventDispatcher()), \OC::$server->getConfig(),
|
||||
\OC::$server->getEventDispatcher()));
|
||||
$application->add(new OC\Core\Command\Maintenance\SingleUser(\OC::$server->getConfig()));
|
||||
- $application->add(new OC\Core\Command\Maintenance\UpdateHtaccess());
|
||||
|
||||
$application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig(), \OC::$server->getLogger()));
|
||||
|
||||
diff --git a/lib/private/Setup.php b/lib/private/Setup.php
|
||||
index 3b3a57c..cd56795 100644
|
||||
--- a/lib/private/Setup.php
|
||||
+++ b/lib/private/Setup.php
|
||||
@@ -379,10 +379,6 @@ class Setup {
|
||||
// out that this is indeed an ownCloud data directory
|
||||
file_put_contents($config->getSystemValue('datadirectory', \OC::$SERVERROOT.'/data').'/.ocdata', '');
|
||||
|
||||
- // Update .htaccess files
|
||||
- Setup::updateHtaccess();
|
||||
- Setup::protectDataDirectory();
|
||||
-
|
||||
//try to write logtimezone
|
||||
if (date_default_timezone_get()) {
|
||||
$config->setSystemValue('logtimezone', date_default_timezone_get());
|
||||
diff --git a/lib/private/Updater.php b/lib/private/Updater.php
|
||||
index 609e965..85d4869 100644
|
||||
--- a/lib/private/Updater.php
|
||||
+++ b/lib/private/Updater.php
|
||||
@@ -237,14 +237,6 @@ class Updater extends BasicEmitter {
|
||||
throw new \Exception('Updates between multiple major versions and downgrades are unsupported.');
|
||||
}
|
||||
|
||||
- // Update .htaccess files
|
||||
- try {
|
||||
- Setup::updateHtaccess();
|
||||
- Setup::protectDataDirectory();
|
||||
- } catch (\Exception $e) {
|
||||
- throw new \Exception($e->getMessage());
|
||||
- }
|
||||
-
|
||||
// create empty file in data dir, so we can later find
|
||||
// out that this is indeed an ownCloud data directory
|
||||
// (in case it didn't exist before)
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
diff --git a/apps/files_external/ajax/oauth1.php b/apps/files_external/ajax/oauth1.php
|
||||
index e363e6c..d2aefbc 100644
|
||||
--- a/apps/files_external/ajax/oauth1.php
|
||||
+++ b/apps/files_external/ajax/oauth1.php
|
||||
@@ -23,7 +23,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*/
|
||||
-require_once __DIR__ . '/../3rdparty/Dropbox/autoload.php';
|
||||
|
||||
OCP\JSON::checkAppEnabled('files_external');
|
||||
OCP\JSON::checkLoggedIn();
|
||||
diff --git a/apps/files_external/lib/Lib/Storage/Dropbox.php b/apps/files_external/lib/Lib/Storage/Dropbox.php
|
||||
index f0f62f9..1b20a62 100644
|
||||
--- a/apps/files_external/lib/Lib/Storage/Dropbox.php
|
||||
+++ b/apps/files_external/lib/Lib/Storage/Dropbox.php
|
||||
@@ -34,8 +34,6 @@ use Icewind\Streams\IteratorDirectory;
|
||||
use Icewind\Streams\RetryWrapper;
|
||||
use OCP\Files\StorageNotAvailableException;
|
||||
|
||||
-require_once __DIR__ . '/../../../3rdparty/Dropbox/autoload.php';
|
||||
-
|
||||
class Dropbox extends \OC\Files\Storage\Common {
|
||||
|
||||
private $dropbox;
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
diff --git a/apps/files_external/ajax/oauth2.php b/apps/files_external/ajax/oauth2.php
|
||||
index 2d1fae2..d8dac91 100644
|
||||
--- a/apps/files_external/ajax/oauth2.php
|
||||
+++ b/apps/files_external/ajax/oauth2.php
|
||||
@@ -26,9 +26,6 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*/
|
||||
-set_include_path(get_include_path().PATH_SEPARATOR.
|
||||
- \OC_App::getAppPath('files_external').'/3rdparty/google-api-php-client/src');
|
||||
-require_once 'Google/autoload.php';
|
||||
|
||||
OCP\JSON::checkAppEnabled('files_external');
|
||||
OCP\JSON::checkLoggedIn();
|
||||
diff --git a/apps/files_external/lib/Lib/Storage/Google.php b/apps/files_external/lib/Lib/Storage/Google.php
|
||||
index 0b617aa..d40ac36 100644
|
||||
--- a/apps/files_external/lib/Lib/Storage/Google.php
|
||||
+++ b/apps/files_external/lib/Lib/Storage/Google.php
|
||||
@@ -38,10 +38,6 @@ use GuzzleHttp\Exception\RequestException;
|
||||
use Icewind\Streams\IteratorDirectory;
|
||||
use Icewind\Streams\RetryWrapper;
|
||||
|
||||
-set_include_path(get_include_path().PATH_SEPARATOR.
|
||||
- \OC_App::getAppPath('files_external').'/3rdparty/google-api-php-client/src');
|
||||
-require_once 'Google/autoload.php';
|
||||
-
|
||||
class Google extends \OC\Files\Storage\Common {
|
||||
|
||||
private $client;
|
||||
@@ -462,7 +458,6 @@ class Google extends \OC\Files\Storage\Common {
|
||||
$response = $client->get($downloadUrl, [
|
||||
'headers' => $httpRequest->getRequestHeaders(),
|
||||
'stream' => true,
|
||||
- 'verify' => realpath(__DIR__ . '/../../../3rdparty/google-api-php-client/src/Google/IO/cacerts.pem'),
|
||||
]);
|
||||
} catch (RequestException $e) {
|
||||
if(!is_null($e->getResponse())) {
|
||||
|
|
@ -12,7 +12,7 @@ If not, make sure your webserver is running properly.
|
|||
|
||||
Webserver
|
||||
---------
|
||||
Currently nextcloud in Fedora supports httpd (Apache) and nginx. You must install
|
||||
Currently nextcloud in Fedora/EPEL 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
|
||||
|
|
@ -67,7 +67,7 @@ ownership and SELinux context attributes.
|
|||
Logging
|
||||
-------
|
||||
As specified by the configuration file, nextcloud sends messages to the system
|
||||
logger, which means in a standard Fedora configuration it will log to the
|
||||
logger, which means in a standard Fedora/EPEL configuration it will log to the
|
||||
systemd journal: try "journalctl -b -t Nextcloud". You can also change the
|
||||
loglevel or switch to the built-in log mechanism of nextcloud.
|
||||
|
||||
|
|
@ -115,4 +115,4 @@ systemctl enable --now nextcloud-cron.timer
|
|||
Migration from owncloud
|
||||
-----------------------
|
||||
|
||||
For detailed instructions on this please read MIGRATION.fedora
|
||||
For detailed instructions on this please read MIGRATION.distro
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/settings/Controller/SecuritySettingsController.php b/settings/Controller/SecuritySettingsController.php
|
||||
index 88b2803..5c6f174 100644
|
||||
--- a/settings/Controller/SecuritySettingsController.php
|
||||
+++ b/settings/Controller/SecuritySettingsController.php
|
||||
@@ -60,7 +60,7 @@ protected function returnSuccess() {
|
||||
* @return array
|
||||
*/
|
||||
public function trustedDomains($newTrustedDomain) {
|
||||
- $trustedDomains = $this->config->getSystemValue('trusted_domains');
|
||||
+ $trustedDomains = $this->config->getSystemValue('trusted_domains', []);
|
||||
$trustedDomains[] = $newTrustedDomain;
|
||||
$this->config->setSystemValue('trusted_domains', $trustedDomains);
|
||||
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
$CONFIG = array (
|
||||
$CONFIG = [
|
||||
"log_type" => "syslog",
|
||||
"datadirectory" => "/var/lib/nextcloud/data",
|
||||
"updatechecker" => false,
|
||||
|
|
@ -9,18 +9,15 @@ $CONFIG = array (
|
|||
"preview_libreoffice_path" => '/usr/bin/libreoffice',
|
||||
|
||||
|
||||
"apps_paths" => array(
|
||||
0 =>
|
||||
array (
|
||||
'path'=> '/usr/share/nextcloud/apps',
|
||||
"apps_paths" => [
|
||||
[ 'path'=> '/usr/share/nextcloud/apps',
|
||||
'url' => '/apps',
|
||||
'writable' => false,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
],
|
||||
[
|
||||
'path' => '/var/lib/nextcloud/apps',
|
||||
'url' => '/apps-appstore',
|
||||
'writable' => true,
|
||||
),
|
||||
),
|
||||
);
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
add_header X-Robots-Tag none;
|
||||
add_header X-Download-Options noopen;
|
||||
add_header X-Permitted-Cross-Domain-Policies none;
|
||||
add_header Referrer-Policy no-referrer always;
|
||||
|
||||
|
||||
# set max upload size
|
||||
|
|
|
|||
|
|
@ -1,73 +1,8 @@
|
|||
# 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.
|
||||
# The contents of the default Nextcloud .htaccess file are appended to this
|
||||
# file during build. Some directives may be irrelevant to the Fedora/EPEL
|
||||
# ecosystem but are NOT omitted.
|
||||
#
|
||||
# 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'.
|
||||
# packaged Nextcloud configuration, create a new /etc/httpd/conf.d/
|
||||
# file which will be read later than this one.
|
||||
|
||||
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,24 +0,0 @@
|
|||
[nextcloud]
|
||||
user = apache
|
||||
group = apache
|
||||
listen = /run/php-fpm/nextcloud.sock
|
||||
listen.allowed_clients = 127.0.0.1
|
||||
pm = dynamic
|
||||
pm.max_children = 50
|
||||
pm.start_servers = 5
|
||||
pm.min_spare_servers = 5
|
||||
pm.max_spare_servers = 35
|
||||
slowlog = /var/log/php-fpm/nextcloud-slow.log
|
||||
php_admin_value[error_log] = /var/log/php-fpm/nextcloud-error.log
|
||||
php_admin_flag[log_errors] = on
|
||||
php_value[session.save_handler] = files
|
||||
php_value[session.save_path] = /var/lib/php/session
|
||||
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
|
||||
php_value[upload_max_filesize] = 10G
|
||||
php_value[post_max_size] = 10G
|
||||
env[HOSTNAME] = $HOSTNAME
|
||||
env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||
env[TMP] = /tmp
|
||||
env[TMPDIR] = /tmp
|
||||
env[TEMP] = /tmp
|
||||
|
||||
|
|
@ -1,68 +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"
|
||||
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';
|
||||
|
|
@ -16,9 +16,14 @@ 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
|
||||
# Nextcloud 29 checks specifically for trailing slash in dav 301 redirects
|
||||
# https://github.com/nextcloud/server/issues/45033#issuecomment-2079306503
|
||||
|
||||
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav/
|
||||
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav/
|
||||
Redirect 301 /.well-known/webdav /nextcloud/remote.php/dav/
|
||||
Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
|
||||
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo
|
||||
|
||||
<Directory /usr/share/nextcloud/>
|
||||
Include conf.d/nextcloud-auth-local.inc
|
||||
|
|
|
|||
34
nextcloud-integritycheck-exclusion.patch
Normal file
34
nextcloud-integritycheck-exclusion.patch
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
From 9f38c6300712a23ccdc75e140143a1c461e15705 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Bauer <zonexpertconsulting@outlook.com>
|
||||
Date: Mon, 24 Jun 2024 10:11:23 -0500
|
||||
Subject: [PATCH] silence integrity check for excluded files
|
||||
|
||||
---
|
||||
lib/private/IntegrityCheck/Checker.php | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/lib/private/IntegrityCheck/Checker.php b/lib/private/IntegrityCheck/Checker.php
|
||||
index a6de3cf6030d7..3974483601b08 100644
|
||||
--- a/lib/private/IntegrityCheck/Checker.php
|
||||
+++ b/lib/private/IntegrityCheck/Checker.php
|
||||
@@ -337,7 +337,20 @@ private function verify(string $signaturePath, string $basePath, string $certifi
|
||||
$differencesB = array_diff_assoc($currentInstanceHashes, $expectedHashes);
|
||||
$differences = array_unique(array_merge($differencesA, $differencesB));
|
||||
$differenceArray = [];
|
||||
+
|
||||
+ # Nasty hack to silence the integrity checker for files patched during the build process or files we simply don't care about
|
||||
+ $excludedFilenames = [
|
||||
+//sedplaceholder ];
|
||||
+
|
||||
foreach ($differences as $filename => $hash) {
|
||||
+
|
||||
+ # Skip if the file in question matches our exclusion list
|
||||
+ foreach ($excludedFilenames as $excludedFilename) {
|
||||
+ if (strpos($filename, $excludedFilename)!==false) {
|
||||
+ break 2;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// Check if file should not exist in the new signature table
|
||||
if (!array_key_exists($filename, $expectedHashes)) {
|
||||
$differenceArray['EXTRA_FILE'][$filename]['expected'] = '';
|
||||
|
|
@ -15,8 +15,10 @@ 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
|
||||
php_value[output_buffering] = false
|
||||
env[HOSTNAME] = $HOSTNAME
|
||||
env[PATH] = /usr/local/bin:/usr/bin:/bin
|
||||
env[TMP] = /tmp
|
||||
|
|
|
|||
1
nextcloud-php.ini
Normal file
1
nextcloud-php.ini
Normal file
|
|
@ -0,0 +1 @@
|
|||
apc.enable_cli=1
|
||||
|
|
@ -2,7 +2,10 @@
|
|||
Description=Cron for nextcloud background jobs
|
||||
|
||||
[Service]
|
||||
# https://docs.nextcloud.com/server/25/admin_manual/configuration_server/background_jobs_configuration.html#systemd
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/php -f /usr/share/nextcloud/cron.php
|
||||
User=apache
|
||||
KillMode=process
|
||||
ExecStart=/usr/bin/php -f /usr/share/nextcloud/cron.php
|
||||
|
||||
|
||||
|
|
|
|||
879
nextcloud.spec
879
nextcloud.spec
File diff suppressed because it is too large
Load diff
12
plans/base.fmf
Normal file
12
plans/base.fmf
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
summary: Basic occ functionality
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/nextcloud
|
||||
prepare:
|
||||
how: install
|
||||
package: nextcloud
|
||||
environment:
|
||||
PACKAGES: nextcloud
|
||||
VERSION: 20.0.2 RC1
|
||||
execute:
|
||||
how: tmt
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (nextcloud-10.0.4.tar.bz2) = 4bb7a760b56088780eee7be83dd4c645703095f8bf11818f3d4cbf52c6636637d8724c3d972df068c54b0d98836ae29cd7c206e6fb5845ee646aeacc098e701d
|
||||
SHA512 (nextcloud-34.0.3.tar.bz2) = 3463dbbdeae5275a0791b115cf86aed41c5a138fdd19bb32ec12837a6698106b6f172e24fb1264a2d4e20b2b805bcf7841b2338e4e02f1fd5394fbed830cc695
|
||||
|
|
|
|||
26
utils/get-bundled-versions.py
Executable file
26
utils/get-bundled-versions.py
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/env python
|
||||
|
||||
import os
|
||||
import json
|
||||
|
||||
for root, dirs, files in os.walk("apps"):
|
||||
for file in files:
|
||||
if file == 'composer.lock':
|
||||
with open(os.path.join(root, file)) as f:
|
||||
lockdata = json.load(f)
|
||||
try:
|
||||
for i in lockdata['packages']:
|
||||
print("Provides: bundled(php-composer(" + i['name'] + ")) = " + i['version'].strip('v'))
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
for root, dirs, files in os.walk("3rdparty"):
|
||||
for file in files:
|
||||
if file == 'composer.lock':
|
||||
with open(os.path.join(root, file)) as f:
|
||||
lockdata = json.load(f)
|
||||
try:
|
||||
for i in lockdata['packages']:
|
||||
print("Provides: bundled(php-composer(" + i['name'] + ")) = " + i['version'].strip('v'))
|
||||
except KeyError:
|
||||
pass
|
||||
109
utils/get-composer-requires.py
Executable file
109
utils/get-composer-requires.py
Executable file
|
|
@ -0,0 +1,109 @@
|
|||
#!/bin/env python
|
||||
|
||||
import os
|
||||
import json
|
||||
import re
|
||||
import subprocess
|
||||
from colorama import Fore, Style
|
||||
|
||||
defaultconstraint = 2
|
||||
excludes = ('php')
|
||||
basedir = '..'
|
||||
srcdir = os.path.join(basedir, 'nextcloud')
|
||||
outdir = basedir
|
||||
jsonfiles = ('3rdparty/composer.json', 'apps/files_external/3rdparty/composer.json')
|
||||
|
||||
constraintmap = ('any', 'loose', 'strict', 'exact')
|
||||
|
||||
def eval_version(version, constraint=3):
|
||||
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('~')
|
||||
|
||||
if re.search('[^.0-9]', version):
|
||||
print('Unparseable version:', version)
|
||||
version = '0.0.0'
|
||||
constraint = 3
|
||||
|
||||
return version, constraint
|
||||
|
||||
def get_requires(name, version, constraint):
|
||||
splitver = version.split('.')
|
||||
|
||||
if constraint == 0:
|
||||
requires = 'php-composer(' + name + ')'
|
||||
elif constraint == 1:
|
||||
wipe = False
|
||||
for i in range(0, len(splitver)):
|
||||
if splitver[i] == '0' or wipe:
|
||||
splitver[i] = '0'
|
||||
else:
|
||||
splitver[i] = str(int(splitver[i]) + 1)
|
||||
wipe = True
|
||||
requires = '(php-composer(' + name + ') >= ' + version + ' with php-composer(' + name + ') < ' + '.'.join(splitver) + ')'
|
||||
elif constraint == 2:
|
||||
splitver[-1] = '0'
|
||||
splitver[-2] = str(int(splitver[-2]) + 1)
|
||||
requires = '(php-composer(' + name + ') >= ' + version + ' with php-composer(' + name + ') < ' + '.'.join(splitver) + ')'
|
||||
else:
|
||||
requires = 'php-composer(' + name + ') = ' + version
|
||||
return requires
|
||||
|
||||
def repoquery(query):
|
||||
stdout = subprocess.run(['dnf', 'repoquery', '-q', '--whatprovides', requires], stdout=subprocess.PIPE, universal_newlines=True, check = True).stdout
|
||||
return stdout
|
||||
|
||||
requirefile = open(os.path.join(outdir, 'require.pkgtmp'), 'w')
|
||||
requirefile.write('# PHP composer dependencies\n')
|
||||
|
||||
providefile = open(os.path.join(outdir, 'provide.pkgtmp'), 'w')
|
||||
providefile.write('# Bundled libraries\n')
|
||||
|
||||
|
||||
for file in jsonfiles:
|
||||
requirefile.write(f"# From {file}\n")
|
||||
providefile.write(f"# From {file}\n")
|
||||
|
||||
with open(os.path.join(srcdir, file)) as f:
|
||||
jsondata = json.load(f)
|
||||
packages = jsondata['require'].items()
|
||||
|
||||
print(f"\n{Style.BRIGHT}Parsing '{file}'...{Style.RESET_ALL}")
|
||||
for name, verrange in packages:
|
||||
if name in excludes:
|
||||
print(f"{name} {verrange} -> in exclude list, skipping.")
|
||||
continue
|
||||
|
||||
version, constraint = eval_version(verrange, defaultconstraint)
|
||||
|
||||
requires = get_requires(name, version, constraint)
|
||||
package = repoquery(requires)
|
||||
|
||||
color = Fore.GREEN
|
||||
found = True
|
||||
while len(package) == 0:
|
||||
color = Fore.YELLOW
|
||||
constraint -= 1
|
||||
if constraint < 0:
|
||||
constraint = 0
|
||||
color = Fore.RED
|
||||
package = 'none\n'
|
||||
found = False
|
||||
break
|
||||
requires = get_requires(name, version, constraint)
|
||||
package = repoquery(requires)
|
||||
|
||||
print(f"{name} {verrange} -> {Style.BRIGHT}{color}{package.rstrip()}{Style.RESET_ALL} ({constraintmap[constraint]})")
|
||||
|
||||
if found:
|
||||
requirefile.write(f"Requires: {requires}\n")
|
||||
else:
|
||||
providefile.write(f"Provides: bundled(php-composer({name})) = {version}\n")
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue