From 3f78dc4bbfd6370b83d43f0bbd90a801b08477b6 Mon Sep 17 00:00:00 2001 From: Noel Kuntze Date: Sun, 10 Mar 2024 09:55:52 +0100 Subject: [PATCH] testing/grommunio-admin-api: new aport Backend for grommunio management --- .../grommunio-admin-api/0001-makefile.patch | 13 ++++ testing/grommunio-admin-api/APKBUILD | 74 +++++++++++++++++++ testing/grommunio-admin-api/database.yaml | 6 ++ .../grommunio-admin-api.confd | 3 + .../grommunio-admin-api.initd | 3 + 5 files changed, 99 insertions(+) create mode 100644 testing/grommunio-admin-api/0001-makefile.patch create mode 100644 testing/grommunio-admin-api/APKBUILD create mode 100644 testing/grommunio-admin-api/database.yaml create mode 100644 testing/grommunio-admin-api/grommunio-admin-api.confd create mode 100644 testing/grommunio-admin-api/grommunio-admin-api.initd diff --git a/testing/grommunio-admin-api/0001-makefile.patch b/testing/grommunio-admin-api/0001-makefile.patch new file mode 100644 index 00000000000..1fd14b87dcc --- /dev/null +++ b/testing/grommunio-admin-api/0001-makefile.patch @@ -0,0 +1,13 @@ +diff -ruN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2024-03-06 20:12:27.339495351 +0100 ++++ b/CMakeLists.txt 2024-03-06 20:16:05.869420274 +0100 +@@ -41,7 +41,7 @@ + install(FILES data/api.conf DESTINATION ${NGINXDIR}) + + install(FILES data/autocomplete.sh DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/bash-completion/completions RENAME grommunio-admin) +-install(FILES data/grommunio-admin-api.service data/grommunio-admin-api.socket DESTINATION ${UNITDIR}) ++#install(FILES data/grommunio-admin-api.service data/grommunio-admin-api.socket DESTINATION ${UNITDIR}) + install(FILES data/portrait.jpg DESTINATION ${COMMONDIR}) +-install(FILES data/tmpfiles-grommunio-admin-api.conf DESTINATION ${TMPFILESDIR} RENAME grommunio-admin-api.conf) ++#install(FILES data/tmpfiles-grommunio-admin-api.conf DESTINATION ${TMPFILESDIR} RENAME grommunio-admin-api.conf) + install(FILES data/grommunio-sudo DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/sudoers.d) diff --git a/testing/grommunio-admin-api/APKBUILD b/testing/grommunio-admin-api/APKBUILD new file mode 100644 index 00000000000..e87cb59f09b --- /dev/null +++ b/testing/grommunio-admin-api/APKBUILD @@ -0,0 +1,74 @@ +# Maintainer: Noel Kuntze +pkgname=grommunio-admin-api +pkgdesc="Backend for grommunio management" +pkgver=1.14 +pkgrel=0 +arch="noarch !riscv64" +url="http://www.grommunio.com" +license="AGPL-3.0-only" +options="!check" # No test suite +subpackages="$pkgname-doc $pkgname-openrc $pkgname-bash-completion" +makedepends="cmake py3-yaml ninja nginx" +depends="grommunio-admin-common + grommunio-gromox + libexmdbpp + py3-ldap3 + py3-mysqlclient + py3-redis + py3-sqlalchemy + py3-argcomplete + py3-jsonschema + py3-idna + py3-dnspython + py3-cryptography + py3-psutil + py3-yaml + py3-flask + py3-jwt + py3-multidict + py3-openapi-codec + py3-requests + uwsgi + " + +pkgusers="grommunio" +pkggroups="grommunio" + +source="$pkgname-$pkgver.tar.gz::https://github.com/grommunio/admin-api/archive/refs/tags/$pkgver.tar.gz + 0001-makefile.patch + grommunio-admin-api.initd + grommunio-admin-api.confd + database.yaml + " + +builddir="$srcdir/admin-api-$pkgver" + +build() { + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCONFDIR=/usr/share/examples/grommunio-admin-api \ + -DCOMMONCONFDIR=/usr/share/examples/grommunio-admin-common \ + -DCMAKE_BUILD_TYPE=MinSizeRel + + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --install build + + # create first dummy service to get the directory and overwrite it with symlink to uwsgi + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + ln -sf "/etc/init.d/uwsgi" "$pkgdir/etc/init.d/$pkgname" + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + install -m644 -D "$srcdir"/database.yaml "$pkgdir"/etc/grommunio-admin-api/conf.d/database.yaml + install -d -m0775 -o grommunio -g nginx "$pkgdir"/var/run/grommunio +} + +sha512sums=" +3dfb6a0c194d862f0358dd854830b52f84730b8944940aa5a3ec200f50a3a5cef03184347684a08978b146ed0214d969962ac8d299b68f146551b3be3446f693 grommunio-admin-api-1.14.tar.gz +47dc0698ca3d107b9a37f4778c386d099bd24bfaa6104e9512166b0266898dfcb1a63eb1eb2b1bb27d7d54b56560c4cfb6f3a48c7e56e5a61c21cb445aa830ea 0001-makefile.patch +b87910a731ad58b86679b08674632fffb4d76a94ad67602906200acf7e36fb23508ec19f56ca2f8a1e257a7ef3a32c4dbfa7b27d9d902006eff3d92d8816c067 grommunio-admin-api.initd +b634a1d20372f45e9f9e347d9f0b0785dca561849920381e223b2a7f356d7e9a37299087b8b6e69d8caf1af87313f14d8e0ac85699bafd9258c6e7153c590cf5 grommunio-admin-api.confd +bf166f9f46d3a6755c2273502576c63060b17d2eb7a4abbac9da5ed1b74a4ed47baf6269eda58adf04657a78028e862572cd7b24d9c8b5b6497b778338def12f database.yaml +" diff --git a/testing/grommunio-admin-api/database.yaml b/testing/grommunio-admin-api/database.yaml new file mode 100644 index 00000000000..b579e888081 --- /dev/null +++ b/testing/grommunio-admin-api/database.yaml @@ -0,0 +1,6 @@ +DB: + host: 'localhost' + user: 'grommunio' + pass: '' + database: 'grommunio' + diff --git a/testing/grommunio-admin-api/grommunio-admin-api.confd b/testing/grommunio-admin-api/grommunio-admin-api.confd new file mode 100644 index 00000000000..4746d7a3641 --- /dev/null +++ b/testing/grommunio-admin-api/grommunio-admin-api.confd @@ -0,0 +1,3 @@ +# Configuration for /etc/init.d/grommunio-admin-api + +uwsgi_opts="--ini /usr/share/grommunio-admin-api/api-config.ini" diff --git a/testing/grommunio-admin-api/grommunio-admin-api.initd b/testing/grommunio-admin-api/grommunio-admin-api.initd new file mode 100644 index 00000000000..b2fb3138cda --- /dev/null +++ b/testing/grommunio-admin-api/grommunio-admin-api.initd @@ -0,0 +1,3 @@ +#!/sbin/openrc-run + +# dummy init file which is overwritten with symlink to uwsgi