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