diff --git a/debian.control b/debian.control index 9d47c72..efdaf73 100644 --- a/debian.control +++ b/debian.control @@ -6,11 +6,23 @@ Standards-Version: 4.5.0 Package: system-user-grommunio Architecture: all -Pre-Depends: ${misc:Pre-Depends} -Depends: adduser, ${misc:Depends} -Provides: system-user-groweb +Pre-Depends: adduser, passwd, system-group-gromoxcf, ${misc:Pre-Depends} +Depends: ${misc:Depends} +Provides: system-group-groindex, system-group-grommunio, + system-group-groweb, system-user-grommunio, system-user-groindex, + system-user-groweb Replaces: system-user-groweb -Conflicts: system-user-groweb -Description: System user and group grommunio +Breaks: system-user-groweb +Description: General grommunio system user identities . - This package provides the grommunio account. + This package provides identities related to the Grommunio groupware suite: + * the "grommunio" user identity for running the Administration API + (usually an uwsgi process instance); AAPI needs to read + mysql_adaptor.cfg and ldap_adaptor.cfg, so is added to group + gromoxcf + * the "groweb" user identity for running PHP-FPM workers + * the "groweb" group identity for marking data to be consumed by the + groweb identity but also created by grommunio-index, e.g. groweb + search indexes + * the "groindex" user identity for running the indexer service; this + needs to read mysql_adaptor.cfg so is added to group gromoxcf diff --git a/debian.rules b/debian.rules index 953462f..bbb9c60 100644 --- a/debian.rules +++ b/debian.rules @@ -1,3 +1,13 @@ #!/usr/bin/make -f +sudir = usr/lib/sysusers.d +sufile = ${sudir}/system-user-grommunio.conf %: dh $@ --parallel +override_dh_auto_install: + mkdir -p ${sudir} + echo 'u grommunio - "user for grommunio administration"' >${sufile} + echo 'u groweb - "user for grommunio-web"' >${sufile} + echo 'u groindex - "user for grommunio-index"' >${sufile} + echo 'm grommunio gromoxcf' >${sufile} + echo 'm groindex groweb' >${sufile} + echo 'm groindex gromoxcf' >${sufile} diff --git a/debian.system-user-grommunio.install b/debian.system-user-grommunio.install index 473a0f4..2e6dbc0 100644 --- a/debian.system-user-grommunio.install +++ b/debian.system-user-grommunio.install @@ -0,0 +1 @@ +usr/ diff --git a/debian.system-user-grommunio.postinst b/debian.system-user-grommunio.postinst index d4f80f1..5841f1c 100644 --- a/debian.system-user-grommunio.postinst +++ b/debian.system-user-grommunio.postinst @@ -1,7 +1,16 @@ #!/bin/sh -getent group grommunio >/dev/null || addgroup --system grommunio -getent passwd grommunio >/dev/null || \ - adduser --system grommunio --home / --no-create-home --disabled-password --ingroup grommunio -getent group groweb >/dev/null || addgroup --system groweb -getent passwd groweb >/dev/null || \ - adduser --system groweb --home / --no-create-home --disabled-password --ingroup groweb +case "$1" in +configure|reconfigure) + if [ -x /usr/bin/systemd-sysusers ]; then + /usr/bin/systemd-sysusers system-user-grommunio.conf + else + for i in grommunio groweb groindex; do + getent group "$i" >/dev/null || addgroup --system "$i" + getent passwd "$i" >/dev/null || \ + adduser --system "$i" --home / --no-create-home --disabled-password --ingroup "$i" + done + usermod grommunio -aG gromoxcf + usermod groindex -aG gromoxcf + fi + ;; +esac diff --git a/system-user-grommunio.changes b/system-user-grommunio.changes index 58a53ad..447c0d3 100644 --- a/system-user-grommunio.changes +++ b/system-user-grommunio.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 4 08:03:16 UTC 2024 - Jan Engelhardt + +- Update to release 7 + * New "groindex" user. Updated package descriptions. + ------------------------------------------------------------------- Tue Jan 17 15:45:41 UTC 2023 - Jan Engelhardt diff --git a/system-user-grommunio.dsc b/system-user-grommunio.dsc index f352e45..6122e5c 100644 --- a/system-user-grommunio.dsc +++ b/system-user-grommunio.dsc @@ -1,7 +1,7 @@ Format: 1.0 Source: system-user-grommunio Architecture: all -Version: 3 +Version: 7 Maintainer: Grommunio Homepage: https://grommunio.com Standards-Version: 3.9.4 diff --git a/system-user-grommunio.spec b/system-user-grommunio.spec index d3bea08..da293d2 100644 --- a/system-user-grommunio.spec +++ b/system-user-grommunio.spec @@ -1,7 +1,7 @@ # # spec file for package system-user-grommunio # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,12 @@ Name: system-user-grommunio -Version: 3 +Version: 7 Release: 0 -Summary: System users and groups for grommunio +Summary: General grommunio system user identities License: MIT Group: System/Fhs URL: https://grommunio.com/ -Source: dummy_for_debtransform.tgz BuildArch: noarch BuildRequires: systemd-rpm-macros Obsoletes: system-user-groweb < %version-%release @@ -32,22 +31,41 @@ Provides: system-user-groweb = %version-%release BuildRequires: sysuser-tools %sysusers_requires %else +Provides: group(groindex) Provides: group(grommunio) Provides: group(groweb) +Provides: user(groindex) Provides: user(grommunio) Provides: user(groweb) Requires(pre): /usr/sbin/useradd Requires(pre): /usr/sbin/groupadd %endif +Requires(pre): group(gromoxcf) %description -This package provides the system accounts for grommunio. +This package provides identities related to the Grommunio groupware suite: +* the "grommunio" user identity for running the Administration API + (usually an uwsgi process instance); AAPI needs to read + mysql_adaptor.cfg and ldap_adaptor.cfg, so is added to group + gromoxcf +* the "groweb" user identity for running PHP-FPM workers +* the "groweb" group identity for marking data to be consumed by the + groweb identity but also created by grommunio-index, e.g. groweb + search indexes +* the "groindex" user identity for running the indexer service; this + needs to read mysql_adaptor.cfg so is added to group gromoxcf %prep %build -echo 'u grommunio - "user for grommunio administration"' >u.conf -echo 'u groweb - "user for grommunio-web"' >>u.conf +cat <<-EOF >u.conf + u grommunio - "user for grommunio administration" + u groweb - "user for grommunio-web" + u groindex - "user for grommunio-index" + m grommunio gromoxcf + m groindex groweb + m groindex gromoxcf +EOF %if 0%{?suse_version} %sysusers_generate_pre u.conf user system-user-grommunio.conf %else @@ -65,6 +83,11 @@ getent passwd grommunio >/dev/null || %_sbindir/useradd -g grommunio -s /sbin/no getent group groweb >/dev/null || %_sbindir/groupadd -r groweb getent passwd groweb >/dev/null || %_sbindir/useradd -g groweb -s /sbin/nologin \ -r -c "user for grommunio-web" -d / groweb +getent group groindex >/dev/null || %_sbindir/groupadd -r groindex +getent passwd groindex >/dev/null || %_sbindir/useradd -g groindex -s /sbin/nologin \ + -r -c "user for grommunio-index" -d / groindex +usermod grommunio -aG gromoxcf +usermod groindex -aG gromoxcf %endif %files