diff --git a/_service b/_service
index b785af2..774e725 100644
--- a/_service
+++ b/_service
@@ -4,7 +4,7 @@
git
https://github.com/grommunio/gromox
master
- gromox-1.1
+ gromox-1.4
@PARENT_TAG@.@TAG_OFFSET@.%h
gromox-?(.*)
diff --git a/debian.changelog b/debian.changelog
index 9bec076..f8fe4ae 100644
--- a/debian.changelog
+++ b/debian.changelog
@@ -1,4 +1,4 @@
-gromox (1.1.43.566b624e-0) unstable; urgency=low
+gromox (1.4.0-0) unstable; urgency=low
* Initial package.
diff --git a/debian.compat b/debian.compat
deleted file mode 100644
index e243817..0000000
--- a/debian.compat
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/debian.control b/debian.control
index 905ed59..7b21ddc 100644
--- a/debian.control
+++ b/debian.control
@@ -3,11 +3,14 @@ Priority: optional
Section: mail
Maintainer: Gromox
Standards-Version: 4.5.0
+Build-Depends: debhelper-compat (= 12)
Package: gromox
Architecture: any
Pre-Depends: ${misc:Pre-Depends}
-Depends: php-cli, php-mysql, php-soap, w3m, ${shlibs:Depends}, ${misc:Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ php-cli, php-fpm, php-mysql, php-simplexml, php-soap,
+ system-user-gromox, w3m, libhx32 (>= 4.0)
Description: Groupware server (backend) with RPCH, IMAP and Z-MAPI support
.
Gromox is the central groupware server component of grommunio. It is
@@ -16,8 +19,8 @@ Description: Groupware server (backend) with RPCH, IMAP and Z-MAPI support
(RPC-over-HTTP), IMAP/POP3, an SMTP-speaking LDA, and a PHP module
with a Z-MAPI function subset.
.
- Gromox relies on other components to provide a sensibly complete mail
- system, such as Postfix as a mail transfer agent, and grommunio-admin
- for user management. A webmail client interface is available with
- grommunio-web. The grommunio appliance for example ships such a
+ Gromox relies on other components to provide a sensibly complete
+ mail system, such as Postfix as a mail transfer agent, and
+ grommunio-admin for user management. A web interface is available with
+ grommunio-web. The grommunio distribution ships these essentials and has a
ready-to-run installation of Gromox.
diff --git a/debian.gromox.postinst b/debian.gromox.postinst
new file mode 100644
index 0000000..04dd2b6
--- /dev/null
+++ b/debian.gromox.postinst
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# %files
+chown gromox:gromox /var/lib/gromox /var/log/gromox || :
+chmod 0770 /var/lib/gromox /var/log/gromox || :
+
+# %post
+if test -x /usr/bin/systemctl; then
+ systemd-tmpfiles --create tmpfiles-gromox.conf || :
+ systemctl daemon-reload || :
+ systemctl try-restart gromox-adaptor.service gromox-delivery.service gromox-delivery-queue.service gromox-event.service gromox-http.service gromox-imap.service gromox-midb.service gromox-pop3.service gromox-timer.service gromox-zcore.service grommunio-chat.service php7.4-fpm.service 2>/dev/null || :
+fi
diff --git a/debian.rules b/debian.rules
index ce2f684..623c246 100644
--- a/debian.rules
+++ b/debian.rules
@@ -1,3 +1,21 @@
#!/usr/bin/make -f
+export DH_VERBOSE=1
%:
dh $@ --parallel --with autoreconf
+
+override_dh_auto_install:
+ dh_auto_install
+ find ${INSTDIR} -type f -name "*.la" -delete
+ for i in /var/lib/gromox /var/lib/gromox/domain \
+ /var/lib/gromox/queue /var/lib/gromox/queue/clone \
+ /var/lib/gromox/queue/mess /var/lib/gromox/queue/save \
+ /var/lib/gromox/queue/cache /var/lib/gromox/queue/insulation \
+ /var/lib/gromox/queue/timer /var/lib/gromox/user \
+ /var/log/gromox /run/gromox \
+ /usr/lib/sysctl.d; do \
+ mkdir -pv debian/gromox/$$i; \
+ done
+ mkdir -pv debian/gromox/etc/php/7.4/mods-available debian/gromox/etc/php/7.4/cli/conf.d debian/gromox/etc/php/7.4/fpm/conf.d
+ mv -v debian/gromox/etc/php/7.4/cli/conf.d/mapi.ini debian/gromox/etc/php/7.4/mods-available/
+ ln -s ../mods-available/mapi.ini debian/gromox/etc/php/7.4/cli/conf.d/mapi.ini
+ ln -s ../mods-available/mapi.ini debian/gromox/etc/php/7.4/fpm/conf.d/mapi.ini
diff --git a/gromox-1.1.43.566b624e.tar.xz b/gromox-1.1.43.566b624e.tar.xz
deleted file mode 100644
index c03dfa5..0000000
--- a/gromox-1.1.43.566b624e.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0366bd646017d4e5f85127be4aad08250509727f59f75dec9831ab96226c74ba
-size 972076
diff --git a/gromox-1.4.0.66f7fe55.tar.xz b/gromox-1.4.0.66f7fe55.tar.xz
new file mode 100644
index 0000000..cbd1841
--- /dev/null
+++ b/gromox-1.4.0.66f7fe55.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:71cfd018b497ebd3746f44f1f654c9b192136b36b955696304289113ee9beda1
+size 976820
diff --git a/gromox.changes b/gromox.changes
index 24cc067..b9526d0 100644
--- a/gromox.changes
+++ b/gromox.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Fri Oct 8 19:36:00 UTC 2021 - Jan Engelhardt
+
+- Update to release 1.4
+ * The event(8gx) and timer(8gx) daemons now run unprivileged.
+ * gromox-pff2mt now skips over unrecognizable MAPI properties
+ rather than exiting.
+ * gromox-mt2exm now supports storing to public mailboxes.
+
-------------------------------------------------------------------
Wed Sep 1 10:03:05 UTC 2021 - Jan Engelhardt
diff --git a/gromox.dsc b/gromox.dsc
index 4b7a095..7b53f7f 100644
--- a/gromox.dsc
+++ b/gromox.dsc
@@ -1,7 +1,7 @@
Format: 1.0
Source: gromox
-Architecture: any all
-Version: 1.1.43.566b624e
+Architecture: any
+Version: 1.4
DEBTRANSFORM-RELEASE: 1
Maintainer: Gromox
Homepage: https://gromox.com
@@ -11,14 +11,14 @@ Build-Depends:
automake (>= 1:1.11) | automake1.11,
autotools-dev,
binutils (>= 2.20),
- debhelper (>= 12),
+ debhelper-compat (>= 12),
devscripts,
fakeroot,
g++ (>= 7),
gettext,
libbfio-dev,
libgumbo-dev,
- libhx-dev (>= 3),
+ libhx-dev (>= 4.0),
libjsoncpp-dev (>= 1.4.0),
libldap2-dev,
libmariadbclient-dev | libmysqlclient-dev | libmariadb-dev,
diff --git a/gromox.spec b/gromox.spec
index 9378f6c..dc5a9ac 100644
--- a/gromox.spec
+++ b/gromox.spec
@@ -3,7 +3,7 @@
%define _libexecdir %_prefix/libexec
Name: gromox
-Version: 1.1.43.566b624e
+Version: 1.4.0.66f7fe55
Release: 0
Summary: Groupware server backend with RPC, IMAP,POP3, PHP-MAPI support
License: AGPL-3.0-or-later AND GPL-2.0-only AND GPL-3.0-or-later
@@ -33,7 +33,7 @@ BuildRequires: xz
BuildRequires: group(gromox)
BuildRequires: pkgconfig(gumbo)
BuildRequires: pkgconfig(jsoncpp)
-BuildRequires: pkgconfig(libHX) >= 3
+BuildRequires: pkgconfig(libHX) >= 4.0
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libpff)
BuildRequires: pkgconfig(libssl)
@@ -47,10 +47,8 @@ Requires: w3m
Requires(pre): user(gromox)
Requires(pre): group(gromox)
%{?systemd_ordering}
-%if 0%{?suse_version} && 0%{?suse_version} < 1550
-%define pamdir /%_lib/security
-%else
-%define pamdir %_libdir/security
+%if !0%{?_pamdir:1}
+%define _pamdir /%_lib/security
%endif
%description
@@ -63,7 +61,7 @@ module with a Z-MAPI function subset.
Gromox relies on other components to provide a sensibly complete mail
system, such as Postfix as a mail transfer agent, and grommunio-admin
for user management. A webmail client interface is available with
-grommunio-web. The grommunio appliance for example ships such a
+grommunio-web. The grommunio appliance ships these essentials and has a
ready-to-run installation of Gromox.
%prep
@@ -77,33 +75,26 @@ autoreconf -fi
%install
b="%buildroot"
%make_install
+%if "%_pamdir" != "%_libdir/security"
+# libtool gets confused if pamlibdir is not below prefix;
+# as such we are not using `make install pamlibdir=...`
+mkdir -pv "$b/%_pamdir"
+mv "$b/%_libdir/security"/* "$b/%_pamdir/"
+%endif
+rm -fv "%buildroot/%_sysusersdir/sysusers-gromox.conf"
for i in /var/lib/gromox /var/lib/gromox/domain \
/var/lib/gromox/queue /var/lib/gromox/queue/clone \
/var/lib/gromox/queue/mess /var/lib/gromox/queue/save \
/var/lib/gromox/queue/cache /var/lib/gromox/queue/insulation \
/var/lib/gromox/queue/timer /var/lib/gromox/user \
- /var/log/gromox /run/gromox \
- /usr/lib/sysctl.d; do
+ /var/log/gromox; do
mkdir -p "$b/$i"
done
-cat <<-EOF >"$b/usr/lib/sysctl.d/50-gromox.conf"
- # privdrop mechanism not optimal yet
- fs.suid_dumpable=2
-EOF
-
find "$b" -type f -name "*.la" -delete
rm -fv "$b/%_libdir"/*.so
-%if "%pamdir" != "%_libdir/security"
-mkdir -p "$b/%pamdir"
-mv "$b/%_libdir/security"/* "$b/%pamdir/"
-%endif
mkdir -p "$b/%_sysconfdir/%name" "$b/%_datadir/%name"
-mkdir -p "$b/%_sysusersdir" "$b/%_tmpfilesdir"
-ln -s "%_datadir/gromox/tmpfiles-gromox.conf" "$b/%_tmpfilesdir/gromox.conf"
-
-perl -i -lpe 's{Type=simple}{Type=simple\nRestart=on-failure}' "$b/%_unitdir"/*.service
%fdupes %buildroot/%_prefix
%global services gromox-adaptor.service gromox-delivery.service gromox-delivery-queue.service gromox-event.service gromox-http.service gromox-imap.service gromox-midb.service gromox-pop3.service gromox-timer.service gromox-zcore.service
@@ -115,7 +106,7 @@ perl -i -lpe 's{Type=simple}{Type=simple\nRestart=on-failure}' "$b/%_unitdir"/*.
%post
/sbin/ldconfig
-%tmpfiles_create gromox.conf
+%tmpfiles_create tmpfiles-gromox.conf
%if 0%{?service_add_post:1}
%service_add_post %services
%else
@@ -124,7 +115,7 @@ perl -i -lpe 's{Type=simple}{Type=simple\nRestart=on-failure}' "$b/%_unitdir"/*.
if ! test -x /usr/bin/systemctl; then
exit 0
fi
-/usr/bin/systemctl try-restart php-fpm.service || :
+/usr/bin/systemctl try-restart grommunio-chat.service php-fpm.service || :
%preun
%if 0%{?service_del_preun:1}
@@ -152,16 +143,14 @@ fi
%_libdir/*.so.*
%_libdir/%name/
%_libdir/php*/
-%_prefix/lib/sysctl.d/
%_libexecdir/%name/
-%pamdir/
+%_pamdir/
%_datadir/%name/
%_mandir/man*/*.[0-9]*
%_tmpfilesdir/*.conf
%_unitdir/*
%attr(0770,gromox,gromox) /var/lib/gromox/
%attr(0770,gromox,gromox) /var/log/gromox/
-%attr(0770,gromox,gromox) %ghost /run/gromox/
%if 0%{?suse_version} >= 1500 && 0%{?suse_version} < 1550
%dir %_libexecdir
%endif