Date: Saturday, February 20, 2021 @ 23:09:46
  Author: dvzrv
Revision: 867284

upgpkg: nextcloud 21.0.0-5: Rebuild to fix config directory location.

Remove custom command to check for versioning (it breaks the use of updpkgsums).
Add etc/webapps/nextcloud/config/config.php back to backup array.
Remove patch to customize config.sample.php (the full config should not be 
used).
Add custom config.php, that only introduces the default locations (data, apps, 
logs dirs).
Install the log directory more permissively (the log file mode can be adjusted).
Install the config directory to /etc/webapps/nextcloud/ again (nextcloud needs 
it to be writable).
Symlink the entire config directory in place again.
Fix the tmpfiles.d integration by relying on recursively setting ownership.
Tested with entire upgrade path 20.0.7 -> 21.0.3 -> 21.0.4 -> 21.0.5.

Added:
  nextcloud/trunk/nextcloud.config.php
Modified:
  nextcloud/trunk/PKGBUILD
  nextcloud/trunk/nextcloud.tmpfiles
Deleted:
  nextcloud/trunk/nextcloud-21.0.0-config.patch

-------------------------------+
 PKGBUILD                      |   46 ++++++++++++++++++++--------------------
 nextcloud-21.0.0-config.patch |   36 -------------------------------
 nextcloud.config.php          |   17 ++++++++++++++
 nextcloud.tmpfiles            |    6 ++---
 4 files changed, 43 insertions(+), 62 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2021-02-20 23:09:31 UTC (rev 867283)
+++ PKGBUILD    2021-02-20 23:09:46 UTC (rev 867284)
@@ -2,9 +2,9 @@
 # Maintainer: David Runge <[email protected]>
 
 pkgname=nextcloud
+# NOTE: do not package x.0.0 versions as they are considered beta
 pkgver=21.0.0
-[[ "$pkgver" == *.0 ]] && { echo "wait for .1 version" ; exit 1; }
-pkgrel=4
+pkgrel=5
 pkgdesc="A cloud server to store your files centrally on a hardware controlled 
by you"
 arch=('any')
 url="https://nextcloud.com";
@@ -33,7 +33,7 @@
   'uwsgi-plugin-php: run as application container - php7 only'
 )
 backup=(
-  "etc/webapps/${pkgname}/config.php"
+  "etc/webapps/${pkgname}/config/config.php"
   "etc/uwsgi/${pkgname}.ini"
 )
 # there are no elf files, no need to strip anything
@@ -41,8 +41,8 @@
 install="${pkgname}.install"
 source=(
   
"https://download.nextcloud.com/server/releases/nextcloud-${pkgver}.tar.bz2"{,.asc}
-  "${pkgname}-21.0.0-config.patch"
   'apache.example.conf'
+  "${pkgname}.config.php"
   "${pkgname}.hook"
   "${pkgname}.occ.sh"
   "${pkgname}.sysusers"
@@ -51,29 +51,26 @@
 )
 
sha512sums=('a1ae3400f0fb5997e54b0cee821c50d13e4ba0e27c9d11731c8b5233cba564666121a58aed848ccd2593a9783e27db1ed98ff559588a76a1acaeaf083ef4404a'
             'SKIP'
-            
'7e5f72591e7a8d2dde9d1cca2a3cff2bd5e48a8e938540dd94dbdc2eb35056a5d4f60f0c0bdbfdd080474e078b4f36b61650d9ed38927e50b29a29613506fd39'
             
'6f9f284d78d414a3bb7c159a812b105e31e8cd2393afee44465701e6f18169709f6d492d790e403e1e66f308c51b6b6496d29ddce29e4fac2c73a3c84a10c7fe'
+            
'92592f9a76ee534d0ae6d3aedf2257c147337debe7e2d6dbec1daff66a682e3abc74611e08662058de314bf3ea6ff1c85efd678674b782d71251c38786e446f9'
             
'7b18b73ee369607b8ee3d00d2a054262a7b8f3033fc4873eb333c9b9333d7338870c035910ae123b564a65d7d245730178137311048f0713d5bc524de3654923'
             
'cd86397e08459c9f06cfd44ff27a35879157166f5e8aab95d51bc7c4bb11f93e7c414a08ec1cbe9e81f1b4edfbf5eb5eaba7c6904da80a2c92c765bcb546aa66'
             
'1d06f339c43d57e5f5406c2698b815241fd9e39039a9e55f777face510c9a5ddae5ccd4e051393e8f16f391301a6aa03fff2462837a2d3441d969ea7195e7d84'
-            
'4f951e7cad06940d983035c3dc51531bbbcbc0c74296af63f2fab1705b413f340ff67300506377fade0ed7ddecee8552b3da028711751c120f1fad4b1c33e8d5'
+            
'220837083fe6ea19f506642d7bc465f4ad8c4daa7d374875f6f9026cc2e893d5a077d161b6e6e8f335718c6b8f488378649273218db19c30fa48e391afb5fb5e'
             
'a3ebcabcdb8c2d2653f44a248abd213bc4dbb317766b82c8f3e93b31e72ace350d7e8037bd4e22a632ab33f739e1941467b0e9d2cf7d0a7433227b4169030051')
 
b2sums=('7c583c150f6b315830191329310993582439e7aef57f306b93681d654b8fa7d4d5dafee082befd493aafd2bf6efd940d52ca0ca05b8e42b79a1599ff3e809550'
         'SKIP'
-        
'2b84b21e40c9493869670e851b545692d3a53705a0ee3564dd002be135c553b73ad124f27e91f0c2bda1ce110e8bd5b62c0678f5fead4598826cb41dbc2dc3d3'
         
'a7e1aa1d8cb2b0ff7832bb7d6d857987733253317c0f3727e744502aeaa3b2008351b47ecc24e348fe7b252cefaffe2418797523ee288dfd55e128917e8fbe2c'
+        
'4ad061efbc20b4d0e9f8cfd01c5e8e612fa5af29bce754b77f90c1835b98ee445ef4de3d8c83da91461053622620af14d880eb9014b51f2383c75f1860d479f4'
         
'772a9571fe7d88dbcbeb46351a188354e237dfe8e020131f2752b3a36cff0ff177423b4cfd6a1a5f28946f86a8581f3e24ee06ebda7260c5f862ca4071908e43'
         
'6a90659bf0ab7163fe0cf591abed9b58b9ff09c548698e7f8844ecc710917cf05561bad754f6d7543593d13b41e9ec630042b4fc3fbad43e1011b0e45868e4ed'
         
'1a61a89531636b65dade03cd7edca8747b3e1e880f9bbd4d5a53cffa452d70fe17e345cfed739ae92e99e336d4c1f2633c84a5c84a4ee6da518762bf1396b1db'
-        
'a644617d2b42ab357da546a5c9e3182fa9d2d8ae36ee77b24a04ed036e837212c9cbbd2f40d6e0c6f075a38aa58c7a8c01807ff820c9ee4f6556c661be81e0cb'
+        
'30e5f0e67ce8004cc3a1d08009c452549c65041b0da4d8f5d630b62ea7cc77a028907c388144f37774b839ca449d0977afb95145501ef620bface8e714754e38'
         
'd3c66e22c3cc1b8de1c0b60cd32701080d599dc9853af41d9d9d493ffe3a8d9a2573455d80dd0de019dfe9992187cb23b9df90c18f0ca5962912566014c6779c')
 validpgpkeys=('28806A878AE423A28372792ED75899B9A724937A') # Nextcloud Security 
<[email protected]>
 
 prepare() {
   mv -v "${pkgname}" "${pkgname}-${pkgver}"
-  cd "${pkgname}-${pkgver}"
-  # patch config.sample.php to use FHS compliant paths for state and logs
-  patch -Np1 -i ../"${pkgname}-21.0.0-config.patch"
 }
 
 package() {
@@ -88,15 +85,14 @@
   install -vdm 750 "${pkgdir}/var/lib/${pkgname}/"
   install -vdm 755 "${pkgdir}/var/lib/${pkgname}/"{apps,data}
   # log dir
-  install -vdm 750 "${pkgdir}/var/log/${pkgname}/"
+  install -vdm 755 "${pkgdir}/var/log/${pkgname}/"
   # uwsgi integration
   install -vDm 644 "../${pkgname}.uwsgi" "${pkgdir}/etc/uwsgi/${pkgname}.ini"
-  # config
-  install -vDm 640 config/config.sample.php 
"${pkgdir}/etc/webapps/${pkgname}/config.php"
-  # 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}/"
+  # 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 \( \
@@ -138,12 +134,16 @@
     -or -iname "*.htaccess" \
     \) -exec install -vDm 644 {} "${pkgdir}/usr/share/webapps/${pkgname}/"{} \;
 
-  # config symlink
-  ln -sv "/etc/webapps/${pkgname}/config.php" 
"${pkgdir}/usr/share/webapps/${pkgname}/config/config.php"
-  # occ
+  # 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}/"
-  # add symlink for default writable apps directory
-  ln -sv "/var/lib/${pkgname}/apps" 
"${pkgdir}/usr/share/webapps/${pkgname}/wapps"
 }

Deleted: nextcloud-21.0.0-config.patch
===================================================================
--- nextcloud-21.0.0-config.patch       2021-02-20 23:09:31 UTC (rev 867283)
+++ nextcloud-21.0.0-config.patch       2021-02-20 23:09:46 UTC (rev 867284)
@@ -1,36 +0,0 @@
-diff -ruN a/config/config.sample.php b/config/config.sample.php
---- a/config/config.sample.php 2021-02-19 09:49:36.000000000 +0100
-+++ b/config/config.sample.php 2021-02-20 13:29:19.194514157 +0100
-@@ -83,7 +83,7 @@
-  *
-  * Default to ``data/`` in the Nextcloud directory.
-  */
--'datadirectory' => '/var/www/nextcloud/data',
-+'datadirectory' => '/var/lib/nextcloud/data',
- 
- /**
-  * The current version number of your Nextcloud installation. This is set up
-@@ -831,7 +831,7 @@
-  *
-  * Defaults to ``[datadirectory]/nextcloud.log``
-  */
--'logfile' => '/var/log/nextcloud.log',
-+'logfile' => '/var/log/nextcloud/nextcloud.log',
- 
- /**
-  * Log file mode for the Nextcloud loggin type in octal notation.
-@@ -968,8 +968,13 @@
-  */
- 'apps_paths' => [
-       [
--              'path'=> '/var/www/nextcloud/apps',
-+              'path'=> '/usr/share/webapps/nextcloud/apps',
-               'url' => '/apps',
-+              'writable' => false,
-+      ],
-+      [
-+              'path'=> '/var/lib/nextcloud/apps',
-+              'url' => '/wapps',
-               'writable' => true,
-       ],
- ],

Added: nextcloud.config.php
===================================================================
--- nextcloud.config.php                                (rev 0)
+++ nextcloud.config.php        2021-02-20 23:09:46 UTC (rev 867284)
@@ -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,
+  ],
+],
+);

Modified: nextcloud.tmpfiles
===================================================================
--- nextcloud.tmpfiles  2021-02-20 23:09:31 UTC (rev 867283)
+++ nextcloud.tmpfiles  2021-02-20 23:09:46 UTC (rev 867284)
@@ -1,6 +1,6 @@
+Z /etc/webapps/nextcloud/config - nextcloud nextcloud
 z /etc/webapps/nextcloud/ 0755 root root
-z /etc/webapps/nextcloud/*.php 0640 nextcloud nextcloud
 Z %C/nextcloud - nextcloud nextcloud
 d %t/nextcloud 0755 nextcloud nextcloud
-z %L/nextcloud 0750 nextcloud nextcloud
-z %S/nextcloud 0750 nextcloud nextcloud
+z %L/nextcloud 0755 nextcloud nextcloud
+Z %S/nextcloud - nextcloud nextcloud

Reply via email to