1
0
system-user-grommunio/system-user-grommunio.spec

97 lines
3.2 KiB
RPMSpec

#
# spec file for package system-user-grommunio
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: system-user-grommunio
Version: 7
Release: 0
Summary: General grommunio system user identities
License: MIT
Group: System/Fhs
URL: https://grommunio.com/
BuildArch: noarch
BuildRequires: systemd-rpm-macros
Obsoletes: system-user-groweb < %version-%release
Provides: system-user-groweb = %version-%release
%if 0%{?suse_version}
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 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
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
>user.pre
%endif
%install
install -Dpm0644 u.conf "%buildroot/%_sysusersdir/system-user-grommunio.conf"
%pre -f user.pre
%if !0%{?suse_version}
getent group grommunio >/dev/null || %_sbindir/groupadd -r grommunio
getent passwd grommunio >/dev/null || %_sbindir/useradd -g grommunio -s /sbin/nologin \
-r -c "user for grommunio administration" -d / grommunio
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
%_sysusersdir/*.conf
%changelog