[arch-commits] Commit in nextcloud/repos (10 files)
David Runge
dvzrv at archlinux.org
Sun Feb 21 18:01:05 UTC 2021
Date: Sunday, February 21, 2021 @ 18:01:05
Author: dvzrv
Revision: 867776
archrelease: copy trunk to community-testing-any
Added:
nextcloud/repos/community-testing-any/
nextcloud/repos/community-testing-any/PKGBUILD
(from rev 867775, nextcloud/trunk/PKGBUILD)
nextcloud/repos/community-testing-any/apache.example.conf
(from rev 867775, nextcloud/trunk/apache.example.conf)
nextcloud/repos/community-testing-any/nextcloud.config.php
(from rev 867775, nextcloud/trunk/nextcloud.config.php)
nextcloud/repos/community-testing-any/nextcloud.hook
(from rev 867775, nextcloud/trunk/nextcloud.hook)
nextcloud/repos/community-testing-any/nextcloud.install
(from rev 867775, nextcloud/trunk/nextcloud.install)
nextcloud/repos/community-testing-any/nextcloud.occ.sh
(from rev 867775, nextcloud/trunk/nextcloud.occ.sh)
nextcloud/repos/community-testing-any/nextcloud.sysusers
(from rev 867775, nextcloud/trunk/nextcloud.sysusers)
nextcloud/repos/community-testing-any/nextcloud.tmpfiles
(from rev 867775, nextcloud/trunk/nextcloud.tmpfiles)
nextcloud/repos/community-testing-any/nextcloud.uwsgi
(from rev 867775, nextcloud/trunk/nextcloud.uwsgi)
----------------------+
PKGBUILD | 113 +++++++++++++++++++++++++++++++++++++++++++++++++
apache.example.conf | 17 +++++++
nextcloud.config.php | 17 +++++++
nextcloud.hook | 13 +++++
nextcloud.install | 13 +++++
nextcloud.occ.sh | 41 +++++++++++++++++
nextcloud.sysusers | 1
nextcloud.tmpfiles | 9 +++
nextcloud.uwsgi | 65 ++++++++++++++++++++++++++++
9 files changed, 289 insertions(+)
Copied: nextcloud/repos/community-testing-any/PKGBUILD (from rev 867775, nextcloud/trunk/PKGBUILD)
===================================================================
--- community-testing-any/PKGBUILD (rev 0)
+++ community-testing-any/PKGBUILD 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,113 @@
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Maintainer: David Runge <dvzrv at archlinux.org>
+
+pkgname=nextcloud
+# NOTE: do not package x.0.0 versions as they are considered beta
+pkgver=21.0.0
+pkgrel=7
+pkgdesc="A cloud server to store your files centrally on a hardware controlled by you"
+arch=('any')
+url="https://nextcloud.com"
+license=('AGPL3')
+depends=('php>=8.0.0' 'php<8.1.0' 'php-gd')
+optdepends=(
+ 'ffmpeg: for preview generation'
+ 'mariadb: to use a local MariaDB server'
+ 'memcached: to use a local memcached server'
+ 'php-apcu: for caching with APCU'
+ 'php-apache: to use the Apache web server'
+ 'php-fpm: to run in fastCGI process manager'
+ 'php-imagick: for preview generation'
+ 'php-imap: for external user authentication'
+ 'php-intl: to increase language translation performance and fix sorting'
+ 'php-ldap: for LDAP authentication'
+ 'php-memcached: for caching with memcached'
+ 'php-pgsql: to use the PostgreSQL database backend'
+ 'php-redis: for caching with redis'
+ 'php-sqlite: to use the SQLite database backend'
+ 'postgresql: to use a local PostgreSQL server'
+ 'redis: to use a local Redis server'
+ 'smbclient: for SMB/CIFS integration'
+ 'sudo: for occ command'
+ 'libreoffice: for preview generation'
+ 'uwsgi-plugin-php: run as application container - php7 only'
+)
+backup=(
+ "etc/webapps/${pkgname}/config/config.php"
+ "etc/uwsgi/${pkgname}.ini"
+)
+# there are no elf files, no need to strip anything
+options=(!strip)
+install="${pkgname}.install"
+source=(
+ "https://download.nextcloud.com/server/releases/nextcloud-${pkgver}.tar.bz2"{,.asc}
+ 'apache.example.conf'
+ "${pkgname}.config.php"
+ "${pkgname}.hook"
+ "${pkgname}.occ.sh"
+ "${pkgname}.sysusers"
+ "${pkgname}.tmpfiles"
+ "${pkgname}.uwsgi"
+)
+sha512sums=('a1ae3400f0fb5997e54b0cee821c50d13e4ba0e27c9d11731c8b5233cba564666121a58aed848ccd2593a9783e27db1ed98ff559588a76a1acaeaf083ef4404a'
+ 'SKIP'
+ '6f9f284d78d414a3bb7c159a812b105e31e8cd2393afee44465701e6f18169709f6d492d790e403e1e66f308c51b6b6496d29ddce29e4fac2c73a3c84a10c7fe'
+ '92592f9a76ee534d0ae6d3aedf2257c147337debe7e2d6dbec1daff66a682e3abc74611e08662058de314bf3ea6ff1c85efd678674b782d71251c38786e446f9'
+ '7b18b73ee369607b8ee3d00d2a054262a7b8f3033fc4873eb333c9b9333d7338870c035910ae123b564a65d7d245730178137311048f0713d5bc524de3654923'
+ '32d88eafe9725db7eed7b5d47ad302b24d8e5bbbf9cff6100b4b1185b40e8a61b6b25ce5364986f0cc7ff3e74b6256c81380ec980956a0779fee8d5c8085615f'
+ '1d06f339c43d57e5f5406c2698b815241fd9e39039a9e55f777face510c9a5ddae5ccd4e051393e8f16f391301a6aa03fff2462837a2d3441d969ea7195e7d84'
+ 'e9cc3e29358720ff6514dff4670c7e61462fc01b6150bf668e6b3084ffaf57f618c68ab718f2277edf484aa6357ce5bbd4eb78c83f3f4561d99e9243b337f6c8'
+ 'a3ebcabcdb8c2d2653f44a248abd213bc4dbb317766b82c8f3e93b31e72ace350d7e8037bd4e22a632ab33f739e1941467b0e9d2cf7d0a7433227b4169030051')
+b2sums=('7c583c150f6b315830191329310993582439e7aef57f306b93681d654b8fa7d4d5dafee082befd493aafd2bf6efd940d52ca0ca05b8e42b79a1599ff3e809550'
+ 'SKIP'
+ 'a7e1aa1d8cb2b0ff7832bb7d6d857987733253317c0f3727e744502aeaa3b2008351b47ecc24e348fe7b252cefaffe2418797523ee288dfd55e128917e8fbe2c'
+ '4ad061efbc20b4d0e9f8cfd01c5e8e612fa5af29bce754b77f90c1835b98ee445ef4de3d8c83da91461053622620af14d880eb9014b51f2383c75f1860d479f4'
+ '772a9571fe7d88dbcbeb46351a188354e237dfe8e020131f2752b3a36cff0ff177423b4cfd6a1a5f28946f86a8581f3e24ee06ebda7260c5f862ca4071908e43'
+ '054eab4d46cbd9f7436eb2d7e5b3e979477890a12f84b09ee61002e76249d91e4efb77baa5546c82042ea3205ebb617df94066748acce330b2f59b6fba16f3e0'
+ '1a61a89531636b65dade03cd7edca8747b3e1e880f9bbd4d5a53cffa452d70fe17e345cfed739ae92e99e336d4c1f2633c84a5c84a4ee6da518762bf1396b1db'
+ '913ce3c91de88c991ec79fe237eb40c13a7e9babd4463694b5f6c25ff47f6a133d48f5cd25a38d4fcb425a822ff5541db9cd4c0f545b3f4726272599278fa95f'
+ 'd3c66e22c3cc1b8de1c0b60cd32701080d599dc9853af41d9d9d493ffe3a8d9a2573455d80dd0de019dfe9992187cb23b9df90c18f0ca5962912566014c6779c')
+validpgpkeys=('28806A878AE423A28372792ED75899B9A724937A') # Nextcloud Security <security at nextcloud.com>
+
+prepare() {
+ mv -v "${pkgname}" "${pkgname}-${pkgver}"
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ # sysusers.d integration
+ install -vDm 644 ../${pkgname}.sysusers \
+ "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+ # tmpfiles.d integration
+ install -vDm 644 ../${pkgname}.tmpfiles \
+ "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+ # state dir for data and writable apps
+ install -vdm 755 "${pkgdir}/var/lib/${pkgname}/"
+ install -vdm 770 "${pkgdir}/var/lib/${pkgname}/data"
+ install -vdm 755 "${pkgdir}/var/lib/${pkgname}/apps"
+ # log dir
+ install -vdm 755 "${pkgdir}/var/log/${pkgname}/"
+ # uwsgi integration
+ install -vDm 644 "../${pkgname}.uwsgi" "${pkgdir}/etc/uwsgi/${pkgname}.ini"
+ # config dir
+ install -vDm 640 "../${pkgname}.config.php" "${pkgdir}/etc/webapps/${pkgname}/config/config.php"
+ find config -type f -exec install -vDm 644 {} "${pkgdir}/etc/webapps/${pkgname}/"{} \;
+ # remove config dir from source so that it is not installed to default location
+ rm -rf config
+
+ # webapp
+ find . -type f -exec install -vDm 644 {} "${pkgdir}/usr/share/webapps/${pkgname}/"{} \;
+
+ # symlink config directory into place
+ ln -sv "/etc/webapps/${pkgname}/config" "${pkgdir}/usr/share/webapps/${pkgname}/"
+ # add symlink to default writable apps directory
+ ln -sv "/var/lib/${pkgname}/apps" "${pkgdir}/usr/share/webapps/${pkgname}/wapps"
+ # install occ command
+ install -vDm 755 occ -t "${pkgdir}/usr/share/webapps/${pkgname}"
+ # occ script
+ install -vDm 755 "../${pkgname}.occ.sh" "${pkgdir}/usr/bin/occ"
+ # optional pacman hook
+ install -vDm 644 "../${pkgname}.hook" -t "${pkgdir}/usr/share/doc/${pkgname}/"
+ # apache example conf
+ install -vDm 644 ../apache.example.conf -t "${pkgdir}/usr/share/doc/${pkgname}/"
+}
Copied: nextcloud/repos/community-testing-any/apache.example.conf (from rev 867775, nextcloud/trunk/apache.example.conf)
===================================================================
--- community-testing-any/apache.example.conf (rev 0)
+++ community-testing-any/apache.example.conf 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,17 @@
+<IfModule mod_alias.c>
+ Alias /nextcloud /usr/share/webapps/nextcloud/
+</IfModule>
+
+<Directory /usr/share/webapps/nextcloud/>
+ Options FollowSymlinks
+ AllowOverride all
+ Require all granted
+</Directory>
+
+<VirtualHost *:80>
+ ServerAdmin foo at foofarm.com
+ DocumentRoot /usr/share/webapps/nextcloud
+ ServerName nextcloud.foo.com
+ ErrorLog /var/log/httpd/nextcloud.foo.info-error_log
+ CustomLog /var/log/httpd/nextcloud.foo.info-access_log common
+</VirtualHost>
Copied: nextcloud/repos/community-testing-any/nextcloud.config.php (from rev 867775, nextcloud/trunk/nextcloud.config.php)
===================================================================
--- community-testing-any/nextcloud.config.php (rev 0)
+++ community-testing-any/nextcloud.config.php 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,17 @@
+<?php
+$CONFIG = array (
+'datadirectory' => '/var/lib/nextcloud/data',
+'logfile' => '/var/log/nextcloud/nextcloud.log',
+'apps_paths' => [
+ [
+ 'path'=> '/usr/share/webapps/nextcloud/apps',
+ 'url' => '/apps',
+ 'writable' => false,
+ ],
+ [
+ 'path'=> '/var/lib/nextcloud/apps',
+ 'url' => '/wapps',
+ 'writable' => true,
+ ],
+],
+);
Copied: nextcloud/repos/community-testing-any/nextcloud.hook (from rev 867775, nextcloud/trunk/nextcloud.hook)
===================================================================
--- community-testing-any/nextcloud.hook (rev 0)
+++ community-testing-any/nextcloud.hook 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,13 @@
+# Update Nextcloud when core or -apps are touched
+
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Type = Package
+Target = nextcloud
+Target = nextcloud-app-*
+
+[Action]
+Description = Updating Nextcloud installation
+When = PostTransaction
+Exec = /usr/bin/runuser -u nextcloud -- /usr/bin/php /usr/share/webapps/nextcloud/occ upgrade
Copied: nextcloud/repos/community-testing-any/nextcloud.install (from rev 867775, nextcloud/trunk/nextcloud.install)
===================================================================
--- community-testing-any/nextcloud.install (rev 0)
+++ community-testing-any/nextcloud.install 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,13 @@
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp "$2" 21.0.0)" -le 0 ]; then
+ printf "WARNING: Major changes introduced to package!\n"
+ printf " The application is now run as its own user - nextcloud.\n"
+ printf " Default directories for runtime, state and log files are provided.\n"
+ printf " A convenience wrapper around occ is provided in /usr/bin/occ.\n"
+ fi
+ # directories below /usr/share/webapps/nextcloud are still group-owned by the
+ # nextcloud user due to nextcloud < 21.0.0
+ find /usr/share/webapps/nextcloud -type d -exec chgrp root {} \;
+}
Copied: nextcloud/repos/community-testing-any/nextcloud.occ.sh (from rev 867775, nextcloud/trunk/nextcloud.occ.sh)
===================================================================
--- community-testing-any/nextcloud.occ.sh (rev 0)
+++ community-testing-any/nextcloud.occ.sh 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+
+readonly default_config="/etc/php/php.ini"
+readonly default_php_command="/usr/bin/php"
+readonly default_user="nextcloud"
+
+config=""
+php_command=""
+user=""
+
+check_sudo() {
+ if ! command -v sudo > /dev/null; then
+ printf "The sudo command is not available.\n"
+ exit 1
+ fi
+}
+
+check_sudo
+
+# allow overriding the php.ini
+if [[ -n "${NEXTCLOUD_PHP_CONFIG}" ]] && [[ -f "${NEXTCLOUD_PHP_CONFIG}" ]]; then
+ config="${NEXTCLOUD_PHP_CONFIG}"
+else
+ config="${default_config}"
+fi
+
+# allow overriding the php executable
+if [[ -n "${NEXTCLOUD_PHP}" ]] && command -v "${NEXTCLOUD_PHP}" > /dev/null; then
+ php_command="${NEXTCLOUD_PHP}"
+else
+ php_command="${default_php_command}"
+fi
+
+# allow overriding the user to run as
+if [[ -n "${NEXTCLOUD_USER}" ]] && uid "${NEXTCLOUD_USER}" > /dev/null 2>&1; then
+ user="${NEXTCLOUD_USER}"
+else
+ user="${default_user}"
+fi
+
+sudo -u "$user" "$php_command" -c "${config}" /usr/share/webapps/nextcloud/occ "$@"
Copied: nextcloud/repos/community-testing-any/nextcloud.sysusers (from rev 867775, nextcloud/trunk/nextcloud.sysusers)
===================================================================
--- community-testing-any/nextcloud.sysusers (rev 0)
+++ community-testing-any/nextcloud.sysusers 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1 @@
+u nextcloud - "Nextcloud user" - -
Copied: nextcloud/repos/community-testing-any/nextcloud.tmpfiles (from rev 867775, nextcloud/trunk/nextcloud.tmpfiles)
===================================================================
--- community-testing-any/nextcloud.tmpfiles (rev 0)
+++ community-testing-any/nextcloud.tmpfiles 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,9 @@
+Z /etc/webapps/nextcloud/config - nextcloud nextcloud
+z /etc/webapps/nextcloud/ 0755 root root
+Z %C/nextcloud - nextcloud nextcloud
+d %t/nextcloud 0755 nextcloud nextcloud
+z %L/nextcloud 0755 nextcloud nextcloud
+Z %S/nextcloud - nextcloud nextcloud
+z %S/nextcloud 0755 nextcloud nextcloud
+z %S/nextcloud/apps 0755 nextcloud nextcloud
+z %S/nextcloud/data 0770 nextcloud nextcloud
Copied: nextcloud/repos/community-testing-any/nextcloud.uwsgi (from rev 867775, nextcloud/trunk/nextcloud.uwsgi)
===================================================================
--- community-testing-any/nextcloud.uwsgi (rev 0)
+++ community-testing-any/nextcloud.uwsgi 2021-02-21 18:01:05 UTC (rev 867776)
@@ -0,0 +1,65 @@
+[uwsgi]
+procname-master = %n
+plugins = php
+master = true
+socket = /run/uwsgi/%n.sock
+stats = /run/uwsgi/%n-stats.sock
+uid = nextcloud
+gid = nextcloud
+processes = 10
+cheaper = 4
+cheaper-step = 1
+idle = 600
+die-on-idle = true
+
+; reload whenever this config file changes
+touch-reload = %p
+
+cloud_data_dir = /var/lib/nextcloud/data
+cloud_writable_apps_dir = /var/lib/nextcloud/apps
+chdir = %(cloud_data_dir)
+
+php-allowed-ext = .php
+php-docroot = /usr/share/webapps/%n
+php-index = index.php
+php-set = date.timezone=Europe/Berlin
+php-set = open_basedir=%(cloud_data_dir):%(cloud_writable_apps_dir):/tmp/:/usr/share/webapps/%n:/etc/webapps/%n:/dev/urandom:/usr/lib/php/modules:/run/redis/redis.sock:/var/log/%n.log:/proc/meminfo
+php-set = session.save_path=/tmp
+php-set = session.gc_maxlifetime 21600
+php-set = session.gc_divisor 500
+php-set = session.gc_probability 1
+php-set = post_max_size=1000M
+php-set = upload_max_filesize=1000M
+php-set = always_populate_raw_post_data=-1
+php-set = max_input_time=120
+php-set = max_execution_time=60
+php-set = memory_limit=768M
+php-set = zend_extension=opcache
+php-set = opcache.enable=1
+php-set = opcache.enable_cli=1
+php-set = opcache.interned_strings_buffer=8
+php-set = opcache.max_accelerated_files=10000
+php-set = opcache.memory_consumption=128
+php-set = opcache.save_comments=1
+php-set = opcache.revalidate_freq=1
+
+php-set = extension=intl
+php-set = extension=apcu
+php-set = extension=bcmath
+php-set = extension=bz2
+php-set = extension=curl
+php-set = extension=exif
+php-set = extension=gd
+php-set = extension=imagick
+php-set = extension=gmp
+php-set = extension=iconv
+php-set = extension=pdo_mysql
+php-set = extension=igbinary
+php-set = extension=redis
+php-set = extension=sockets
+php-set = extension=xmlrpc
+php-set = extension=xsl
+php-set = extension=zip
+
+# change the URL to your own address to run a cron job every five minutes
+cron = -5 -1 -1 -1 -1 curl --silent https://change.me.tld/cron.php 1>/dev/null
More information about the arch-commits
mailing list