From 4b210507d77c367fe43c0c4c8e1f1e63e438c7e0 Mon Sep 17 00:00:00 2001 From: Christopher Engelhard Date: Sun, 31 Jul 2022 18:52:34 +0200 Subject: [PATCH] Nextcloud 19 is EOLed upstream and no longer supported --- .fmf/version | 1 - .gitignore | 3 - 0000-disable-update-version-check.patch | 20 - 0001-mangle-shebang.patch | 9 - README.md | 11 - changelog | 106 ----- dead.package | 1 + gating.yml | 9 - nextcloud-MIGRATION.fedora | 165 -------- nextcloud-README.fedora | 118 ------ nextcloud-access-httpd.conf.avail | 24 -- nextcloud-auth-any.inc | 12 - nextcloud-auth-local.inc | 14 - nextcloud-auth-none.inc | 12 - nextcloud-conf-nginx.conf | 4 - nextcloud-config.php | 26 -- nextcloud-default-nginx.conf | 82 ---- nextcloud-defaults.inc | 73 ---- nextcloud-fedora-autoloader.php | 70 --- nextcloud-httpd.conf | 50 --- nextcloud-mysql.txt | 28 -- nextcloud-php-fpm.conf | 26 -- nextcloud-postgresql.txt | 43 -- nextcloud-systemd-timer.service | 8 - nextcloud-systemd-timer.timer | 10 - nextcloud.spec | 537 ------------------------ plans/base.fmf | 11 - sources | 1 - utils/get-bundled-versions.py | 26 -- utils/get-composer-requires.py | 82 ---- 30 files changed, 1 insertion(+), 1581 deletions(-) delete mode 100644 .fmf/version delete mode 100644 .gitignore delete mode 100644 0000-disable-update-version-check.patch delete mode 100644 0001-mangle-shebang.patch delete mode 100644 README.md delete mode 100644 changelog create mode 100644 dead.package delete mode 100644 gating.yml delete mode 100644 nextcloud-MIGRATION.fedora delete mode 100644 nextcloud-README.fedora delete mode 100644 nextcloud-access-httpd.conf.avail delete mode 100644 nextcloud-auth-any.inc delete mode 100644 nextcloud-auth-local.inc delete mode 100644 nextcloud-auth-none.inc delete mode 100644 nextcloud-conf-nginx.conf delete mode 100644 nextcloud-config.php delete mode 100644 nextcloud-default-nginx.conf delete mode 100644 nextcloud-defaults.inc delete mode 100644 nextcloud-fedora-autoloader.php delete mode 100644 nextcloud-httpd.conf delete mode 100644 nextcloud-mysql.txt delete mode 100644 nextcloud-php-fpm.conf delete mode 100644 nextcloud-postgresql.txt delete mode 100644 nextcloud-systemd-timer.service delete mode 100644 nextcloud-systemd-timer.timer delete mode 100644 nextcloud.spec delete mode 100644 plans/base.fmf delete mode 100644 sources delete mode 100755 utils/get-bundled-versions.py delete mode 100755 utils/get-composer-requires.py diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 099c403..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/nextcloud-*.tar.bz2 -/nextcloud -*.pkgtmp diff --git a/0000-disable-update-version-check.patch b/0000-disable-update-version-check.patch deleted file mode 100644 index fa63f39..0000000 --- a/0000-disable-update-version-check.patch +++ /dev/null @@ -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; - } - - /** diff --git a/0001-mangle-shebang.patch b/0001-mangle-shebang.patch deleted file mode 100644 index 5755104..0000000 --- a/0001-mangle-shebang.patch +++ /dev/null @@ -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 - diff --git a/README.md b/README.md deleted file mode 100644 index 9db76d6..0000000 --- a/README.md +++ /dev/null @@ -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. diff --git a/changelog b/changelog deleted file mode 100644 index a8107b4..0000000 --- a/changelog +++ /dev/null @@ -1,106 +0,0 @@ -* Wed Jun 30 2021 Christopher Engelhard - 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 - 19.0.9-1 -- Update to Nextcloud 19.0.9 - -* Sat Feb 20 2021 Christopher Engelhard - 19.0.8-1 -- Update to Nextcloud 19.0.8 - -* Sat Jan 16 2021 Christopher Engelhard - 19.0.7-1 -- Update to Nextcloud 19.0.7 - -* Mon Dec 28 2020 Christopher Engelhard - 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 - 19.0.6-1 -- Update to Nextcloud 19.0.6 - -* Thu Nov 19 2020 Christopher Engelhard - 19.0.5-1 -- Update to Nextcloud 19.0.5 - -* Wed Nov 11 2020 Christopher Engelhard - 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 - 19.0.3-1 -- Update to Nextcloud 19.0.3 - -* Tue Jul 28 2020 Fedora Release Engineering - 19.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sun Jun 28 2020 Ivan Chavero - 19.0.0-1 -- Update to Nextcloud 19.0.0 -- Update licenses - -* Thu Apr 30 2020 Ivan Chavero - 18.0.4-1 -- Update to Nextcloud 18.0.4 - -* Sat Feb 08 2020 Ivan Chavero - 18.0.0-1 -- Refactor spec file -- Update to Nextcoud 18.0.0 - -* Wed Jan 29 2020 Fedora Release Engineering - 10.0.4-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 10.0.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 10.0.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Jan 9 2019 Remi Collet - 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 - 10.0.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Feb 08 2018 Fedora Release Engineering - 10.0.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 10.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Mar 25 2017 Shawn Iwinski - 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 - 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 - 10.0.3-1 -- update to 10.0.3 - -* Thu Oct 06 2016 James Hogarth - 10.0.1-1 -- update to 10.0.1 - -* Mon Aug 01 2016 James Hogarth - 9.0.53-5 -- Use lua to have a common srpm between epel7 and fedora - -* Fri Jul 29 2016 James Hogarth - 9.0.53-4 -- Don't unbundle javascript on EPEL7 due to versioning issues - -* Fri Jul 29 2016 James Hogarth - 9.0.53-3 -- Unbundle javascript libraries from core where possible - -* Tue Jul 26 2016 James Hogarth - 9.0.53-2 -- Update the autoloader to use the path from the approved package - -* Tue Jul 19 2016 James Hogarth - 9.0.53-1 -- New release 9.0.53 - -* Thu Jul 14 2016 James Hogarth - 9.0.52-1 -- Initial nextcloud build diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..c437afd --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Nextcloud 19 is EOLed upstream and no longer supported diff --git a/gating.yml b/gating.yml deleted file mode 100644 index dfb0041..0000000 --- a/gating.yml +++ /dev/null @@ -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} diff --git a/nextcloud-MIGRATION.fedora b/nextcloud-MIGRATION.fedora deleted file mode 100644 index 9225f3f..0000000 --- a/nextcloud-MIGRATION.fedora +++ /dev/null @@ -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 < 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 < 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 <). 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-). -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 diff --git a/nextcloud-access-httpd.conf.avail b/nextcloud-access-httpd.conf.avail deleted file mode 100644 index 1caf642..0000000 --- a/nextcloud-access-httpd.conf.avail +++ /dev/null @@ -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. - - - Include conf.d/nextcloud-auth-any.inc - - - - Include conf.d/nextcloud-auth-any.inc - - - - Include conf.d/nextcloud-auth-any.inc - diff --git a/nextcloud-auth-any.inc b/nextcloud-auth-any.inc deleted file mode 100644 index 4744713..0000000 --- a/nextcloud-auth-any.inc +++ /dev/null @@ -1,12 +0,0 @@ -# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files -# with Include. Allows access from any system. - - -# Apache 2.4 -Require all granted - - -# Apache 2.2 -Order Deny,Allow -Allow from all - diff --git a/nextcloud-auth-local.inc b/nextcloud-auth-local.inc deleted file mode 100644 index 69cfd00..0000000 --- a/nextcloud-auth-local.inc +++ /dev/null @@ -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. - - -# Apache 2.4 -Require local - - -# Apache 2.2 -Order Deny,Allow -Deny from all -Allow from 127.0.0.1 -Allow from ::1 - diff --git a/nextcloud-auth-none.inc b/nextcloud-auth-none.inc deleted file mode 100644 index 212315e..0000000 --- a/nextcloud-auth-none.inc +++ /dev/null @@ -1,12 +0,0 @@ -# Apache config snippet. To be used by /etc/httpd/conf.d/*.conf files -# with Include. Denies all access. - - -# Apache 2.4 -Require all denied - - -# Apache 2.2 -Order Deny,Allow -Deny from all - diff --git a/nextcloud-conf-nginx.conf b/nextcloud-conf-nginx.conf deleted file mode 100644 index 85dfd8c..0000000 --- a/nextcloud-conf-nginx.conf +++ /dev/null @@ -1,4 +0,0 @@ -upstream php-nextcloud { - server unix:/run/php-fpm/nextcloud.sock; -} - diff --git a/nextcloud-config.php b/nextcloud-config.php deleted file mode 100644 index 96aa36e..0000000 --- a/nextcloud-config.php +++ /dev/null @@ -1,26 +0,0 @@ - "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, - ), - ), -); diff --git a/nextcloud-default-nginx.conf b/nextcloud-default-nginx.conf deleted file mode 100644 index 7151521..0000000 --- a/nextcloud-default-nginx.conf +++ /dev/null @@ -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; - } - - } - - - diff --git a/nextcloud-defaults.inc b/nextcloud-defaults.inc deleted file mode 100644 index c5d4478..0000000 --- a/nextcloud-defaults.inc +++ /dev/null @@ -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 - - - - - SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1 - RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION - - - - - - php_value upload_max_filesize 10G - php_value post_max_size 10G - php_value memory_limit 512M - php_value mbstring.func_overload 0 - php_value always_populate_raw_post_data -1 - php_value default_charset 'UTF-8' - php_value output_buffering off - - SetEnv htaccessWorking true - - - - - php_value upload_max_filesize 10G - php_value post_max_size 10G - php_value memory_limit 512M - php_value mbstring.func_overload 0 - php_value always_populate_raw_post_data -1 - php_value default_charset 'UTF-8' - php_value output_buffering off - - SetEnv htaccessWorking true - - - -# The rewrites for legacy caldav and carddav URLs are omitted here -# because they do not work with Fedora's ownCloud directory layout. -# See https://github.com/nextcloud/core/issues/243#issuecomment-75426453 - - RewriteEngine on - RewriteBase /nextcloud/ - RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] - RewriteRule ^remote/(.*) remote.php [QSA,L] - - -AddDefaultCharset utf-8 -Options -Indexes - - - ModPagespeed Off - - - - - Header set Cache-Control "max-age=7200, public" - - diff --git a/nextcloud-fedora-autoloader.php b/nextcloud-fedora-autoloader.php deleted file mode 100644 index a125728..0000000 --- a/nextcloud-fedora-autoloader.php +++ /dev/null @@ -1,70 +0,0 @@ -register(); -} - -// For PEAR components -$fedoraClassLoader->setUseIncludePath(true); - -// Dependencies from 3rdparty composer.json -// "guzzlehttp/guzzle" -require_once $vendor . '/GuzzleHttp/autoload.php'; -// "sabre/dav" -require_once $vendor . '/Sabre/DAV/autoload.php'; -// "doctrine/dbal" -require_once $vendor . '/Doctrine/DBAL/autoload.php'; -// mcnetic/zipstreamer" -require_once $vendor . '/ZipStreamer/autoload.php'; -// "phpeclib/phpseclib" -require_once $vendor . '/phpseclib/autoload.php'; -// "rackspace/php-opencloud" -require_once $vendor . '/OpenCloud/autoload.php'; -// "jeremeamia/superclosure" -require_once $vendor . '/SuperClosure/autoload.php'; -// "bantu/ini-get-wrapper" -require_once $vendor . '/bantu/IniGetWrapper/IniGetWrapper.php'; -// "natxet/CssMin" -require_once $vendor . '/natxet/CssMin/autoload.php'; -// "punic/punic" -require_once $vendor . '/Punic/autoload.php'; -// "patchwork/utf8" -require_once $vendor . '/Patchwork/autoload.php'; -// "symfony/console" -require_once $vendor . '/Symfony/Component/Console/autoload.php'; -// "symfony/event-dispatcher" -require_once $vendor . '/Symfony/Component/EventDispatcher/autoload.php'; -// "symfony/routing" -require_once $vendor . '/Symfony/Component/Routing/autoload.php'; -// "symfony/process" -require_once $vendor . '/Symfony/Component/Process/autoload.php'; -// "pimple/pimple" -require_once $vendor . '/Pimple/autoload.php'; -// "ircmaxell/password-compat" -if (file_exists($vendor . '/password_compat/password.php')) { - require_once $vendor . '/password_compat/password.php'; -} -// "nikic/php-parser" -require_once $vendor . '/PhpParser/autoload.php'; -// "icewind/Streams" -require_once $vendor . '/Icewind/Streams/autoload.php'; -// "swiftmailer/swiftmailer -require_once $vendor . '/Swift/swift_required.php'; -// "league/flysystem" -require_once $vendor . '/League/Flysystem/autoload.php'; -// "interfasys/lognormalizer" -require_once $vendor . '/InterfaSys/LogNormalizer/autoload.php'; -// "deepdiver1975/TarSTreamer" -require_once $vendor . '/ownCloud/TarStreamer/autoload.php'; -// "patchwork/jsqueeze" -require_once $vendor . '/Patchwork/JSqueeze.php'; -// "symfony/polyfill-php{55,56,70}" -require_once $vendor . '/Symfony/Polyfill/autoload.php'; -// "lukasreschke/id3parser": "^0.0.1" -require_once $vendor . '/ID3Parser/autoload.php'; diff --git a/nextcloud-httpd.conf b/nextcloud-httpd.conf deleted file mode 100644 index 5a4ce55..0000000 --- a/nextcloud-httpd.conf +++ /dev/null @@ -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 - - - Include conf.d/nextcloud-auth-local.inc - Include conf.d/nextcloud-defaults.inc - - Include conf.d/nextcloud-auth-none.inc - - - - - Include conf.d/nextcloud-auth-local.inc - Include conf.d/nextcloud-defaults.inc - - - - Include conf.d/nextcloud-auth-local.inc - Include conf.d/nextcloud-defaults.inc - - -# For safety, explicitly deny any access to these locations. -# Upstream's .htaccess does something similar with mod_rewrite. - - - Include conf.d/nextcloud-auth-none.inc - - - - Include conf.d/nextcloud-auth-none.inc - diff --git a/nextcloud-mysql.txt b/nextcloud-mysql.txt deleted file mode 100644 index 1284442..0000000 --- a/nextcloud-mysql.txt +++ /dev/null @@ -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 diff --git a/nextcloud-php-fpm.conf b/nextcloud-php-fpm.conf deleted file mode 100644 index b626a97..0000000 --- a/nextcloud-php-fpm.conf +++ /dev/null @@ -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 - diff --git a/nextcloud-postgresql.txt b/nextcloud-postgresql.txt deleted file mode 100644 index 15e7ad9..0000000 --- a/nextcloud-postgresql.txt +++ /dev/null @@ -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 diff --git a/nextcloud-systemd-timer.service b/nextcloud-systemd-timer.service deleted file mode 100644 index ccff38f..0000000 --- a/nextcloud-systemd-timer.service +++ /dev/null @@ -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 - diff --git a/nextcloud-systemd-timer.timer b/nextcloud-systemd-timer.timer deleted file mode 100644 index cfaf4b7..0000000 --- a/nextcloud-systemd-timer.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=This triggers the nextcloud cron service - -[Timer] -OnBootSec=5min -OnUnitInactiveSec=15min - -[Install] -WantedBy=timers.target - diff --git a/nextcloud.spec b/nextcloud.spec deleted file mode 100644 index 67e1939..0000000 --- a/nextcloud.spec +++ /dev/null @@ -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 diff --git a/plans/base.fmf b/plans/base.fmf deleted file mode 100644 index fc3dea5..0000000 --- a/plans/base.fmf +++ /dev/null @@ -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 diff --git a/sources b/sources deleted file mode 100644 index 3c3a758..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (nextcloud-19.0.13.tar.bz2) = fd144a0d42617b33388bf1127673adb2e523ef04804021ac90e8e679abcb61d839dcba61270108c8ac62093712e6bffcb83a1caef0c810598a108a57d8bd85d9 diff --git a/utils/get-bundled-versions.py b/utils/get-bundled-versions.py deleted file mode 100755 index 40fb247..0000000 --- a/utils/get-bundled-versions.py +++ /dev/null @@ -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 diff --git a/utils/get-composer-requires.py b/utils/get-composer-requires.py deleted file mode 100755 index 21ea731..0000000 --- a/utils/get-composer-requires.py +++ /dev/null @@ -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)