From 007db89f577e8221f42739dc69aa754b57e61f9c Mon Sep 17 00:00:00 2001 From: Noel Kuntze Date: Tue, 31 Aug 2021 03:45:09 +0200 Subject: [PATCH] testing/grommunio-web: new aport WebApp for grommunio --- testing/grommunio-web/0001-makefile.patch | 20 +++++ .../grommunio-web/0002-config-php-dist.patch | 21 +++++ .../0003-plugins-files-config-php.patch | 12 +++ testing/grommunio-web/APKBUILD | 87 +++++++++++++++++++ .../grommunio-web/grommunio-web.pre-install | 6 ++ 5 files changed, 146 insertions(+) create mode 100644 testing/grommunio-web/0001-makefile.patch create mode 100644 testing/grommunio-web/0002-config-php-dist.patch create mode 100644 testing/grommunio-web/0003-plugins-files-config-php.patch create mode 100644 testing/grommunio-web/APKBUILD create mode 100644 testing/grommunio-web/grommunio-web.pre-install diff --git a/testing/grommunio-web/0001-makefile.patch b/testing/grommunio-web/0001-makefile.patch new file mode 100644 index 00000000000..871e9d62981 --- /dev/null +++ b/testing/grommunio-web/0001-makefile.patch @@ -0,0 +1,20 @@ +diff -ruN a/Makefile b/Makefile +--- a/Makefile 2024-03-06 10:42:16.333816043 +0100 ++++ b/Makefile 2024-03-06 10:42:34.613808357 +0100 +@@ -95,11 +95,11 @@ + find $(DESTDIR) -iname "*gpl*.txt" -exec rm -f {} \; + + js: $(JSDEPLOY)/fingerprint.js $(JSDEPLOY)/resize.js $(JSDEPLOY)/grommunio.js $(JSDEPLOY)/extjs-mod/extjs-mod.js $(JSDEPLOY)/extjs/ext-base-all.js $(DESTDIR)/client/third-party/ux-thirdparty.js $(DEPLOYPURIFYJS) $(JSDEPLOY)/filepreviewer/pdfjs/build/pdf.sandbox.js $(JSDEPLOY)/filepreviewer/pdfjs/build/pdf.worker.js $(JSDEPLOY)/filepreviewer/pdfjs/build/pdf.js $(JSDEPLOY)/filepreviewer/pdfjs/web/viewer.js $(JSDEPLOY)/filepreviewer/ViewerJS/ImageViewerPlugin.js $(JSDEPLOY)/filepreviewer/ViewerJS/MultimediaViewerPlugin.js $(JSDEPLOY)/filepreviewer/ViewerJS/ODFViewerPlugin.js $(JSDEPLOY)/filepreviewer/ViewerJS/UnknownFilePlugin.js $(JSDEPLOY)/filepreviewer/ViewerJS/viewer.js $(JSDEPLOY)/filepreviewer/ViewerJS/video-js/video.js +- cp -rn client/tinymce $(DESTDIR)/client/ +- cp -rn client/tinymce-languages $(DESTDIR)/client/ +- cp -rn client/tinymce-plugins $(DESTDIR)/client/ +- cp -rn client/extjs $(DESTDIR)/client/ +- cp -rn client/filepreviewer $(DESTDIR)/client/ ++ cp -r client/tinymce $(DESTDIR)/client/ ++ cp -r client/tinymce-languages $(DESTDIR)/client/ ++ cp -r client/tinymce-plugins $(DESTDIR)/client/ ++ cp -r client/extjs $(DESTDIR)/client/ ++ cp -r client/filepreviewer $(DESTDIR)/client/ + rm $(DESTDIR)/client/extjs/ext-base.js $(DESTDIR)/client/extjs/ext-base-debug.js $(DESTDIR)/client/extjs/ext-all.js $(DESTDIR)/client/filepreviewer/pdfjs/web/debugger.js + + $(DESTDIR)/%.php: %.php diff --git a/testing/grommunio-web/0002-config-php-dist.patch b/testing/grommunio-web/0002-config-php-dist.patch new file mode 100644 index 00000000000..eb4b7a048b5 --- /dev/null +++ b/testing/grommunio-web/0002-config-php-dist.patch @@ -0,0 +1,21 @@ +diff -ruN a/config.php.dist b/config.php.dist +--- a/config.php.dist 2024-03-06 10:53:34.113527229 +0100 ++++ b/config.php.dist 2024-03-06 10:55:15.483483870 +0100 +@@ -49,7 +49,7 @@ + + // Defines the temp path (absolute). Here uploaded attachments will be saved. + // The web client doesn't work without this directory. +- define("TMP_PATH", "/var/lib/grommunio-web/tmp"); ++ define("TMP_PATH", "/var/tmp/grommunio-web"); + + // Define the path to the plugin directory (No slash at the end) + define("PATH_PLUGIN_DIR", "plugins"); +@@ -67,7 +67,7 @@ + define("APPDATA_DIR", "appdata"); + + // Path used for full text index of every user +- define("SQLITE_INDEX_PATH", "/var/lib/grommunio-web/sqlite-index"); ++ define("SQLITE_INDEX_PATH", "/var/cache/grommunio-web/sqlite-index"); + + // General grommunio Web theme. This will be loaded by default for every user + // (if the theme is installed as a plugin) diff --git a/testing/grommunio-web/0003-plugins-files-config-php.patch b/testing/grommunio-web/0003-plugins-files-config-php.patch new file mode 100644 index 00000000000..95059d0e41f --- /dev/null +++ b/testing/grommunio-web/0003-plugins-files-config-php.patch @@ -0,0 +1,12 @@ +diff -ruN a/plugins/files/config.php b/plugins/files/config.php +--- a/plugins/files/config.php 2024-03-06 11:00:28.653349922 +0100 ++++ b/plugins/files/config.php 2024-03-06 11:01:01.823335725 +0100 +@@ -28,7 +28,7 @@ + * The directory where to save cache files for phpfastcache. + * This is a fallback setting, redis should be always available. + */ +-define('PLUGIN_FILES_CACHE_DIR', "/var/lib/grommunio-web/plugin_files"); ++define('PLUGIN_FILES_CACHE_DIR', "/var/cache/grommunio-web/plugin_files"); + + /* + * Set the verbosity of the plugin. diff --git a/testing/grommunio-web/APKBUILD b/testing/grommunio-web/APKBUILD new file mode 100644 index 00000000000..cda77b2d0a5 --- /dev/null +++ b/testing/grommunio-web/APKBUILD @@ -0,0 +1,87 @@ +# Maintainer: Noel Kuntze +pkgname=grommunio-web +pkgdesc="Web user interface for grommunio" +pkgver=3.7 +pkgrel=0 +arch="noarch !riscv64" +url="http://www.grommunio.com" +license="AGPL-3.0-only" +options="!check" # No test suite +_php=php83 +install="$pkgname.pre-install" +depends="grommunio-gromox + grommunio-mapi-header-php + $_php + $_php-gettext + $_php-bcmath + $_php-ctype + $_php-curl + $_php-dom + $_php-gd + $_php-gettext + $_php-iconv + $_php-mbstring + $_php-openssl + $_php-sodium + $_php-sqlite3 + $_php-sysvshm + $_php-zip + " + +makedepends="libxml2-utils $_php-gettext npm gettext" + +source="https://github.com/grommunio/grommunio-web/archive/refs/tags/grommunio-web-$pkgver.tar.gz + 0001-makefile.patch + 0002-config-php-dist.patch + 0003-plugins-files-config-php.patch + " + +builddir="$srcdir/grommunio-web-grommunio-web-$pkgver" + +build() { + make -j1 +} + +package() { + # webapp + install -dm0755 "$pkgdir/usr/share/webapps/" + cp -rp deploy "$pkgdir/usr/share/webapps/$pkgname" + + # license + install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # nginx conf + sed -i "s@/var/lib/grommunio-web@/var/tmp/grommunio-web@" build/grommunio-web.conf + install -Dpm644 build/grommunio-web.conf "$pkgdir/usr/share/grommunio-common/nginx/locations.d/grommunio-web.conf" + install -Dpm644 build/grommunio-web-upstream.conf "$pkgdir/usr/share/grommunio-common/nginx/upstreams.d/grommunio-web.conf" + + # php-fpm + install -Dpm644 build/pool-grommunio-web.conf "$pkgdir/etc/$_php/php-fpm.d/pool-grommunio-web.conf" + + # web config + install -Dm644 config.php.dist "$pkgdir/etc/grommunio-web/config.php" + ln -sf "/etc/grommunio-web/config.php" "$pkgdir/usr/share/webapps/grommunio-web/config.php" + rm -f "$pkgdir/usr/share/webapps/grommunio-web/config.php.dist" + rm -f "$pkgdir/usr/share/webapps/grommunio-web/debug.php.dist" + + # plugin config + for dir in "$pkgdir/usr/share/webapps/grommunio-web/plugins"/*; do + plugindir=$(basename "$dir") + if [ -f "$pkgdir/usr/share/webapps/grommunio-web/plugins/$plugindir/config.php" ]; then + mv "$pkgdir/usr/share/webapps/grommunio-web/plugins/$plugindir/config.php" "$pkgdir/etc/grommunio-web/config-$plugindir.php" + ln -s "/etc/grommunio-web/config-$plugindir.php" "$pkgdir/usr/share/webapps/grommunio-web/plugins/$plugindir/config.php" + fi + done + + # npm gives ownership of ALL FILES to build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "$pkgdir" + +} + +sha512sums=" +4bd72cbfbe7dd156c8a8a6b4f58e8c78c1fe457eb5b90a159a56613e209f7fdde5c2a7dd315c8375f5030a938257602d1b9cb503df521a8f30956a343fc14d73 grommunio-web-3.7.tar.gz +fcfb070ab0bb8cca6f24221fe66eeac7e0c33981c16fff947db7509cc73d39b086710e5fd75bce34a230fa18bc10828d87410d98d147d31cc6ae1c16c41b48ae 0001-makefile.patch +aaf924c834454078e512a7dff44fca647416eabb328e90e7cc1d78873c2ecb8f5f4a139284f8a4a4c9119ea8aec61d34d343ec1e8bced77f3dfbcdabae32d0d7 0002-config-php-dist.patch +2e3f55bc799c712ecf453cacd9da74893b07f8cf9ec1b6954993ae15a229219c612b632b372f9bc69ae6f8eb010c65484b7b55c3e90af3a0049c525321ba606e 0003-plugins-files-config-php.patch +" diff --git a/testing/grommunio-web/grommunio-web.pre-install b/testing/grommunio-web/grommunio-web.pre-install new file mode 100644 index 00000000000..c94c36a2e80 --- /dev/null +++ b/testing/grommunio-web/grommunio-web.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S groweb 2>/dev/null +adduser -S -D -H -h /usr/share/grommunio-web -s /sbin/nologin -G groweb -g "Grommunio web" groweb 2>/dev/null + +exit 0