Compare commits
15 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27c9e2b243 | ||
|
|
45c38600d4 | ||
|
|
65b8e0d76b | ||
|
|
cac73e1fb8 | ||
|
|
adaa751944 | ||
|
|
ec9a720aee | ||
|
|
0a4d6d316a | ||
|
|
0d1778b5d4 | ||
|
|
c33ad39dd5 | ||
|
|
234d299804 | ||
|
|
e188d2585e | ||
|
|
32d115906f | ||
|
|
c8494b5a17 | ||
|
|
9085a5dda2 | ||
|
|
978b5ce25f |
17 changed files with 266 additions and 231 deletions
19
.gitignore
vendored
19
.gitignore
vendored
|
|
@ -3,20 +3,5 @@
|
|||
/.*.swp
|
||||
/results_cyrus-imapd/
|
||||
/cyrus-imapd-*/
|
||||
/cassandane-testdata-ca669d4b.tar.gz
|
||||
/cassandane-17d372f.tar.gz
|
||||
/cyrus-imapd-3.2.4.tar.gz
|
||||
/cassandane-8d3fced.tar.gz
|
||||
/cyrus-imapd-3.2.6.tar.gz
|
||||
/cyrus-imapd-3.4.3.tar.gz
|
||||
/cyrus-imapd-3.4.4.tar.gz
|
||||
/cyrus-imapd-3.6.0.tar.gz
|
||||
/cyrus-imapd-3.6.0.tar.gz.sig
|
||||
/cyrus-imapd-3.8.0.tar.gz
|
||||
/cyrus-imapd-3.8.0.tar.gz.sig
|
||||
/cyrus-imapd-3.8.1.tar.gz
|
||||
/cyrus-imapd-3.8.1.tar.gz.sig
|
||||
/cyrus-imapd-3.8.2.tar.gz
|
||||
/cyrus-imapd-3.8.2.tar.gz.sig
|
||||
/cyrus-imapd-3.8.3.tar.gz
|
||||
/cyrus-imapd-3.8.3.tar.gz.sig
|
||||
/cyrus-imapd-*.tar.gz
|
||||
/cyrus-imapd-*.gz.sig
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
# The idea here is to run tests on the just-compiled version of cyrus-imapd.
|
||||
# However, many of the build locations are just random temporary directories, and
|
||||
# so this requires some finesse.
|
||||
#
|
||||
# Example config: https://github.com/cyrusimap/cyrus-imapd/blob/master/cassandane/cassandane.ini.example
|
||||
|
||||
[cassandane]
|
||||
rootdir = CASSDIR/work
|
||||
|
|
@ -35,9 +37,10 @@ quota = cyr_quota
|
|||
# backupd = yes
|
||||
|
||||
[config]
|
||||
altnamespace = no
|
||||
unixhierarchysep = no
|
||||
client_timeout = 60
|
||||
# Keep altnamespace on by default, many tests fail when set to no
|
||||
#altnamespace = no
|
||||
#unixhierarchysep = no
|
||||
#client_timeout = 60
|
||||
|
||||
#[caldavtalk]
|
||||
#basedir = CASSDIR/cassandane/testdata
|
||||
|
|
|
|||
1
ci.fmf
Normal file
1
ci.fmf
Normal file
|
|
@ -0,0 +1 @@
|
|||
resultsdb-testcase: separate
|
||||
|
|
@ -9,4 +9,4 @@ ConditionPathExists=!/etc/pki/cyrus-imapd/cyrus-imapd-ca.pem
|
|||
Type=oneshot
|
||||
Group=mail
|
||||
RemainAfterExit=no
|
||||
ExecStart=/usr/bin/sscg --package cyrus-imapd --cert-file /etc/pki/cyrus-imapd/cyrus-imapd.pem --cert-key-file /etc/pki/cyrus-imapd/cyrus-imapd-key.pem --ca-file /etc/pki/cyrus-imapd/cyrus-imapd-ca.pem --cert-key-mode=0640
|
||||
ExecStart=/usr/bin/sscg --cert-file /etc/pki/cyrus-imapd/cyrus-imapd.pem --cert-key-file /etc/pki/cyrus-imapd/cyrus-imapd-key.pem --ca-file /etc/pki/cyrus-imapd/cyrus-imapd-ca.pem --cert-key-mode=0640
|
||||
|
|
|
|||
261
cyrus-imapd.spec
261
cyrus-imapd.spec
|
|
@ -1,10 +1,16 @@
|
|||
#%%global prever rc1
|
||||
|
||||
Name: cyrus-imapd
|
||||
Version: 3.8.3
|
||||
Release: %autorelease
|
||||
Version: 3.12.1
|
||||
Release: %autorelease %{?prever:-e %prever}
|
||||
Summary: A high-performance email, contacts and calendar server
|
||||
License: BSD-Attribution-HPND-disclaimer
|
||||
URL: http://www.cyrusimap.org/
|
||||
|
||||
# cyrus-imapd does not to support LTO, but we keep it enabled
|
||||
# https://github.com/cyrusimap/cyrus-imapd/pull/4679
|
||||
#%%define _lto_cflags %%{nil}
|
||||
|
||||
# UID/GID 76 have long been reserved for Cyrus
|
||||
%define uid 76
|
||||
%define gid 76
|
||||
|
|
@ -18,14 +24,20 @@ URL: http://www.cyrusimap.org/
|
|||
%global __provides_exclude ^perl\\(AnnotateInlinedCIDs\\)$
|
||||
|
||||
# Cassandane testsuite is no longer executed during build time. It is called from separate CI test:
|
||||
# https://src.fedoraproject.org/tests/cyrus-imapd/blob/main/f/Sanity/cassandane
|
||||
#
|
||||
# https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd/-/tree/main/Sanity/cassandane
|
||||
#
|
||||
# Do not remove CASSANDANE* and CASSANDANE*_END tags - the content between them is extracted and executed inside the CI test.
|
||||
# If you want to run cassandane locally:
|
||||
# Run: `rpmbuild '--with cassandane'` or `echo '%%_with_cassandane 1' >> ~/.rpmmacros`.
|
||||
#
|
||||
# If you want to run cassandane manually through this spec file, run:
|
||||
# # echo -e '%%_with_cassandane 1\n%%_topdir /tmp/rpmbuild' | sed -e 's/%//' >> ~/.rpmmacros
|
||||
# # rpm -i cyrus-imapd-*.src.rpm
|
||||
# # dnf builddep /tmp/rpmbuild/SPECS/cyrus-imapd.spec -y
|
||||
# # rpmbuild -bi /tmp/rpmbuild/SPECS/cyrus-imapd.spec 2>&1 | tee build.log
|
||||
%bcond_with cassandane
|
||||
|
||||
Source0: https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-%version/cyrus-imapd-%version.tar.gz
|
||||
Source1: https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-%version/cyrus-imapd-%version.tar.gz.sig
|
||||
Source0: https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-%version%{?prever:-%prever}/cyrus-imapd-%version%{?prever:-%prever}.tar.gz
|
||||
Source1: https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-%version%{?prever:-%prever}/cyrus-imapd-%version%{?prever:-%prever}.tar.gz.sig
|
||||
Source2: ellie-pub.key
|
||||
Source10: cyrus-imapd.logrotate
|
||||
Source11: cyrus-imapd.pam-config
|
||||
|
|
@ -36,8 +48,8 @@ Source14: cyrus-imapd.cron-daily
|
|||
Source15: README.rpm
|
||||
Source16: cyrus-imapd.service
|
||||
Source17: cyrus-imapd-init.service
|
||||
Source18: cyrus-imapd.tmpfiles.conf
|
||||
Source19: cyrus-imapd.sysusers
|
||||
Source18: systemd-tmpfiles.conf
|
||||
Source19: systemd-sysusers.conf
|
||||
|
||||
# A template config file for cassandane; we will substitute in varions values.
|
||||
Source81: cassandane.ini
|
||||
|
|
@ -49,17 +61,12 @@ Patch1: patch-cyrus-default-configs
|
|||
# We rename quota to cyr_quota to avoid a conflict with /usr/bin/quota; one
|
||||
# place in the source must be patched to match.
|
||||
Patch2: patch-cyrus-rename-quota
|
||||
# Workaround for some compiled Perl modules not being linked against
|
||||
# libpcreposix, which causes them to fail to load.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1668723
|
||||
# https://github.com/cyrusimap/cyrus-imapd/issues/2629#issuecomment-456925909
|
||||
Patch3: patch-cyrus-perl-linking
|
||||
# cyrus-imapd does not support LTO
|
||||
# https://github.com/cyrusimap/cyrus-imapd/pull/4679
|
||||
# Remove attribute always_inline to fix compilation error and keep LTO enabled:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2223951
|
||||
Patch4: patch-cyrus-remove-always-inline-for-buf-len
|
||||
Patch5: patch-cyrus-rename-imtest
|
||||
Patch3: patch-cyrus-remove-always-inline-for-buf-len
|
||||
Patch4: patch-cyrus-rename-imtest
|
||||
|
||||
# Cassandane patches:
|
||||
# Prevent cassandane from trying to syslog things
|
||||
|
|
@ -67,33 +74,28 @@ Patch91: patch-cassandane-no-syslog
|
|||
# Tell the annotator script to run as the current user/group
|
||||
# Upstream ticket https://github.com/cyrusimap/cyrus-imapd/issues/1995
|
||||
Patch92: patch-cassandane-fix-annotator
|
||||
# TODO libexec/cyrus-imapd path element got into upstream:
|
||||
# https://github.com/cyrusimap/cyrus-imapd/commit/9233f70bf7a2872ab0b456ea294ce36e0e01e182
|
||||
# try to get fixed the below upstream to work on Fedora:
|
||||
# https://github.com/cyrusimap/cyrus-imapd/commit/f10eee167313418d84e63d215310477d4fe68e94
|
||||
Patch93: patch-cassandane-xapian-delve-path
|
||||
# Due to the /usr/sbin->/usr/bin merge, add /usr/bin path to the mix
|
||||
Patch93: patch-cassandane-build-info.patch
|
||||
|
||||
BuildRequires: autoconf automake bison flex gcc gcc-c++ git glibc-langpack-en
|
||||
BuildRequires: groff libtool make pkgconfig rsync systemd
|
||||
BuildRequires: perl-devel perl-generators perl(ExtUtils::MakeMaker)
|
||||
BuildRequires: perl(Pod::Html)
|
||||
BuildRequires: groff libtool make perl-devel perl(ExtUtils::MakeMaker)
|
||||
BuildRequires: perl-generators perl(Pod::Html) pkgconfig rsync systemd
|
||||
BuildRequires: systemd-rpm-macros xxd
|
||||
BuildRequires: CUnit-devel cyrus-sasl-devel glib2-devel
|
||||
BuildRequires: jansson-devel krb5-devel libical-devel libicu-devel
|
||||
BuildRequires: libnghttp2-devel libpq-devel libxml2-devel
|
||||
BuildRequires: mariadb-connector-c-devel net-snmp-devel
|
||||
BuildRequires: openldap-devel openssl-devel pcre2-devel
|
||||
BuildRequires: sqlite-devel wslay-devel xapian-core-devel
|
||||
# Miscellaneous modules needed for 'make check' to function:
|
||||
BuildRequires: cyrus-sasl-plain cyrus-sasl-md5
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: clamav-devel shapelib-devel
|
||||
%endif
|
||||
%if 0%{?fedora} || 0%{?rhel} > 8
|
||||
BuildRequires: gnupg2
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: clamav-devel shapelib-devel
|
||||
%endif
|
||||
BuildRequires: CUnit-devel cyrus-sasl-devel glib2-devel
|
||||
BuildRequires: jansson-devel krb5-devel libical-devel libicu-devel
|
||||
BuildRequires: libnghttp2-devel libxml2-devel mariadb-connector-c-devel net-snmp-devel
|
||||
BuildRequires: openldap-devel openssl-devel pcre2-devel libpq-devel
|
||||
BuildRequires: sqlite-devel xapian-core-devel
|
||||
|
||||
# Miscellaneous modules needed for 'make check' to function:
|
||||
BuildRequires: cyrus-sasl-plain cyrus-sasl-md5
|
||||
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
||||
%if %{with cassandane}
|
||||
# Additional packages required for cassandane to function
|
||||
|
|
@ -203,6 +205,7 @@ BuildRequires: perl(version)
|
|||
BuildRequires: perl(warnings)
|
||||
BuildRequires: perl(XML::DOM)
|
||||
BuildRequires: perl(XML::Generator)
|
||||
BuildRequires: perl(XML::Simple)
|
||||
BuildRequires: perl(XML::Spice)
|
||||
# These were reported as missing during the build itself
|
||||
BuildRequires: perl(DBD::SQLite)
|
||||
|
|
@ -213,9 +216,7 @@ BuildRequires: perl(Types::Standard)
|
|||
BuildRequires: perl(Unix::Syslog)
|
||||
%endif
|
||||
|
||||
Requires(pre): shadow-utils
|
||||
%{?systemd_requires}
|
||||
%{?sysusers_requires_compat}
|
||||
|
||||
Requires: cyrus-imapd-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: cyrus-imapd-utils = %{version}-%{release}
|
||||
|
|
@ -240,7 +241,7 @@ is through software using the IMAP, IMAPS, JMAP, POP3, POP3S, KPOP, CalDAV
|
|||
and/or CardDAV protocols.
|
||||
|
||||
The private mailbox database design gives the Cyrus IMAP server large
|
||||
advantages in efficiency, scalability, and administratability. Multiple
|
||||
advantages in efficiency, scalability, and administrability. Multiple
|
||||
concurrent read/write connections to the same mailbox are permitted. The server
|
||||
supports access control lists on mailboxes and storage quotas on mailbox
|
||||
hierarchies.
|
||||
|
|
@ -304,7 +305,7 @@ This package contains Perl libraries used to interface with Cyrus IMAPd.
|
|||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%endif
|
||||
|
||||
%autosetup -p1
|
||||
%autosetup -p1 -n cyrus-imapd-%{version}%{?prever:-%{prever}}
|
||||
|
||||
# https://github.com/cyrusimap/cyrus-imapd/commit/216934c3f4884999206715db3499fc0162e1d65c
|
||||
echo %version > VERSION
|
||||
|
|
@ -337,11 +338,10 @@ sed -i \
|
|||
|
||||
%if %{with cassandane}
|
||||
pushd cassandane
|
||||
mkdir work
|
||||
cp %SOURCE81 cassandane.ini
|
||||
# RF rpm-buildroot-usage
|
||||
sed -i \
|
||||
-e "s!CASSDIR!$(pwd)!" \
|
||||
-e "s!CASSDIR!/tmp/cassandane!" \
|
||||
-e "s!BUILDROOT!%buildroot!" \
|
||||
cassandane.ini
|
||||
popd
|
||||
|
|
@ -349,7 +349,7 @@ popd
|
|||
|
||||
|
||||
%build
|
||||
#autoreconf -vi
|
||||
autoreconf --verbose --force --install
|
||||
|
||||
%if %{with cassandane} && 0%{?fedora}
|
||||
# Needed for Cyrus::FastMail tests to pass
|
||||
|
|
@ -357,6 +357,9 @@ export CLD2_CFLAGS="-I/usr/include/cld2"
|
|||
export CLD2_LIBS="-lcld2"
|
||||
%endif
|
||||
|
||||
# C++17 or later needed for libicu-devel
|
||||
export CXXFLAGS="%{optflags} -std=gnu++17"
|
||||
|
||||
%configure \
|
||||
--disable-silent-rules \
|
||||
\
|
||||
|
|
@ -377,7 +380,6 @@ export CLD2_LIBS="-lcld2"
|
|||
--with-syslogfacility=MAIL \
|
||||
\
|
||||
--enable-autocreate \
|
||||
--enable-backup \
|
||||
--enable-calalarmd \
|
||||
--enable-http \
|
||||
--enable-idled \
|
||||
|
|
@ -417,6 +419,52 @@ yes | cpan -T IO::File::fcntl
|
|||
pushd cassandane
|
||||
export NOCYRUS=1
|
||||
make
|
||||
|
||||
export IMAPTEST_COMMIT=44ff753f51d1a767b8d71b04e882847664d9f0c8
|
||||
|
||||
# Do not depend on imaptest package (missing on RHEL10)
|
||||
wget https://github.com/dovecot/imaptest/archive/$IMAPTEST_COMMIT/imaptest-$IMAPTEST_COMMIT.tar.gz
|
||||
rm -rf imaptest-src
|
||||
mkdir imaptest-src
|
||||
tar -xf imaptest-$IMAPTEST_COMMIT.tar.gz --strip-components=1 -C imaptest-src
|
||||
pushd imaptest-src
|
||||
cat <<'EOF_so-file.patch' > so-file.patch
|
||||
From 39d3dcc8f8ae4e7e751cb0ba633301630e32f54e Mon Sep 17 00:00:00 2001
|
||||
From: Aki Tuomi <aki.tuomi@open-xchange.com>
|
||||
Date: Tue, 20 May 2025 11:47:24 +0300
|
||||
Subject: [PATCH] configure: Use libssl_iostream_openssl.so with installed
|
||||
dovecot
|
||||
|
||||
---
|
||||
configure.ac | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d8c3405..df881b5 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -25,8 +25,8 @@ AS_IF([test "$DOVECOT_INSTALLED" = 'no'], [
|
||||
LIBDOVECOT=$abs_dovecotdir/src/lib-dovecot/libdovecot.la
|
||||
LIBDOVECOT_SSL=$abs_dovecotdir/src/lib-ssl-iostream/libssl_iostream_openssl.la
|
||||
], [
|
||||
- LIBDOVECOT=$dovecot_pkglibdir/libdovecot.la
|
||||
- LIBDOVECOT_SSL=$dovecot_moduledir/libssl_iostream_openssl.la
|
||||
+ LIBDOVECOT=$dovecot_pkglibdir/libdovecot.so
|
||||
+ LIBDOVECOT_SSL=$dovecot_moduledir/libssl_iostream_openssl.so
|
||||
])
|
||||
AC_SUBST([LIBDOVECOT_SSL])
|
||||
EOF_so-file.patch
|
||||
patch -p1 < so-file.patch
|
||||
autoreconf -i
|
||||
# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1103927#c4 (and later)
|
||||
sed -e 's@\(^LIBDOVECOT .*\)@\1 -Wl,-rpath -Wl,/usr/lib64/dovecot@' -i src/Makefile.in
|
||||
./configure --with-dovecot=/usr/lib64/dovecot
|
||||
make
|
||||
popd
|
||||
|
||||
mkdir -p imaptest/src
|
||||
ln -sfr ./imaptest-src/src/imaptest imaptest/src
|
||||
ln -sfr ./imaptest-src/src/tests imaptest/src
|
||||
popd
|
||||
%endif
|
||||
# CASSANDANE_BUILD_END
|
||||
|
|
@ -479,6 +527,7 @@ install -p -D -m 644 %{SOURCE19} %{buildroot}%{_sysusersdir}/cyrus-imapd.conf
|
|||
find doc perl -name CVS -type d -prune -exec rm -rf {} \;
|
||||
find doc perl -name .cvsignore -type f -exec rm -f {} \;
|
||||
rm -f doc/Makefile.dist*
|
||||
rm -f doc/html/.buildinfo
|
||||
rm -f doc/text/htmlstrip.c
|
||||
rm -f doc/text/Makefile
|
||||
rm -rf doc/man
|
||||
|
|
@ -502,15 +551,11 @@ find %buildroot/%_libdir/perl5/ -type f -name "*.so" -exec chmod 755 {} \;
|
|||
|
||||
# Actual binary conflicts
|
||||
# Rename 'fetchnews' binary and manpage to avoid clash with leafnode
|
||||
mv %buildroot/%_sbindir/fetchnews %buildroot/%_sbindir/cyr_fetchnews
|
||||
mv %buildroot/%_bindir/fetchnews %buildroot/%_bindir/cyr_fetchnews
|
||||
mv %buildroot/%_mandir/man8/fetchnews.8 %buildroot/%_mandir/man8/cyr_fetchnews.8
|
||||
|
||||
# Fix conflict with dump
|
||||
mv %buildroot/%_sbindir/restore %buildroot/%_sbindir/cyr_restore
|
||||
mv %buildroot/%_mandir/man8/restore.8 %buildroot/%_mandir/man8/cyr_restore.8
|
||||
|
||||
# Fix conceptual conflict with quota
|
||||
mv %buildroot/%_sbindir/quota %buildroot/%_sbindir/cyr_quota
|
||||
mv %buildroot/%_bindir/quota %buildroot/%_bindir/cyr_quota
|
||||
mv %buildroot/%_mandir/man8/quota.8 %buildroot/%_mandir/man8/cyr_quota.8
|
||||
|
||||
# fix conflicts with uw-imap
|
||||
|
|
@ -559,25 +604,27 @@ chmod -x %buildroot/%perl_vendorlib/Cyrus/Annotator/Daemon.pm
|
|||
|
||||
|
||||
%check
|
||||
# TODO: unit tests fail on i686 - https://github.com/cyrusimap/cyrus-imapd/issues/5431
|
||||
%ifnarch i686
|
||||
LD_LIBRARY_PATH=%buildroot/%_libdir make -j%{?_smp_build_ncpus} check || exit 1
|
||||
%endif
|
||||
|
||||
%if %{without cassandane}
|
||||
exit 0
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} armv7hl
|
||||
exit 0
|
||||
%endif
|
||||
|
||||
# TODO: The mime_boundary_extended cunit test fails due to LTO on ppc64le, skip it for now:
|
||||
%ifnarch ppc64le
|
||||
LD_LIBRARY_PATH=%buildroot/%_libdir make -j%{?_smp_build_ncpus} check || exit 1
|
||||
%endif
|
||||
|
||||
# Cassandane cannot run solely as root because imap services would otherwise quit:
|
||||
# Create user&group for Cassandane. Cassandane cannot run solely as root because imap services would otherwise quit:
|
||||
#$ grep -R "must run as the Cyrus user" | egrep "imapd|httpd|pop3d"
|
||||
#imap/imapd.c: if (geteuid() == 0) fatal("must run as the Cyrus user", EX_USAGE);
|
||||
#imap/httpd.c: if (geteuid() == 0) fatal("must run as the Cyrus user", EX_USAGE);
|
||||
#imap/pop3d.c: if (geteuid() == 0) fatal("must run as the Cyrus user", EX_USAGE);
|
||||
getent group saslauth >/dev/null || /usr/sbin/groupadd -g %gid -r saslauth
|
||||
getent passwd saslauth >/dev/null && (
|
||||
# Workaround for systemd-sysusers bug: https://github.com/systemd/systemd/issues/37495
|
||||
# If cyrus-sasl package is installed first, it creates user saslauth with UID 76 instead of only group.
|
||||
usermod -g users saslauth
|
||||
userdel saslauth
|
||||
)
|
||||
# Set up shell and home directory for cyrus so that debugging of failing tests is easier.
|
||||
getent passwd cyrus >/dev/null && /usr/sbin/usermod -s /bin/bash cyrus
|
||||
getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /var/lib/imap -g %cyrusgroup \
|
||||
|
|
@ -586,38 +633,19 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v
|
|||
# Set LD_LIBRARY_PATH for cyrus so that it points to cyrus-imapd libraries we just built.
|
||||
[ -z "`grep LD_LIBRARY_PATH /var/lib/imap/.bashrc`" ] && echo "export LD_LIBRARY_PATH=%buildroot/%_libdir" >> /var/lib/imap/.bashrc
|
||||
|
||||
# CASSANDANE
|
||||
# TODO: Temporary workaround for missing mail::IMAPTalk methods.
|
||||
# https://github.com/robmueller/mail-imaptalk/commit/0cf2624edca6fc0dd1cdc851a8710af928ba1f1e
|
||||
dnf downgrade -y https://kojipkgs.fedoraproject.org//packages/perl-Mail-IMAPTalk/4.04/22.fc39/noarch/perl-Mail-IMAPTalk-4.04-22.fc39.noarch.rpm
|
||||
mkdir -p /tmp/cassandane/work
|
||||
chown -R %cyrususer:%cyrusgroup /tmp/cassandane/
|
||||
|
||||
# CASSANDANE
|
||||
# Run the Cassandane test suite. This will exhaustively test the various
|
||||
# server components, but running it in a mock chroot is rather an exercise.
|
||||
pushd cassandane
|
||||
|
||||
# Do not depend on imaptest package (missing on RHEL10)
|
||||
wget https://dovecot.org/nightly/imaptest/imaptest-20210511.tar.gz
|
||||
rm -rf imaptest-src
|
||||
mkdir imaptest-src
|
||||
tar -xf imaptest-20210511.tar.gz --strip-components=1 -C imaptest-src
|
||||
pushd imaptest-src
|
||||
# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1103927#c4 (and later)
|
||||
sed -e 's@\(^LIBDOVECOT .*\)@\1 -Wl,-rpath -Wl,/usr/lib64/dovecot@' -i src/Makefile.in
|
||||
./configure --with-dovecot=/usr/lib64/dovecot
|
||||
make
|
||||
popd
|
||||
|
||||
mkdir -p imaptest/src
|
||||
ln -sfr ./imaptest-src/src/imaptest imaptest/src
|
||||
ln -sfr ./imaptest-src/src/tests imaptest/src
|
||||
|
||||
chown -R cyrus:mail .
|
||||
|
||||
# Construct the set of excluded tests to pass to Cassandane
|
||||
# ---------------------------------------------------------
|
||||
exclude=()
|
||||
tests=(
|
||||
# This exclusion list was verified on 2024-06-10.
|
||||
# This exclusion list was verified on 2025-12-19.
|
||||
|
||||
# This tests coredumping and won't work on a machine where systemd
|
||||
# intercepts coredumps, which includes our builders.
|
||||
|
|
@ -625,43 +653,26 @@ tests=(
|
|||
|
||||
# Can't currently be run at build time because of compiled-in paths. See
|
||||
# https://github.com/cyrusimap/cyrus-imapd/issues/2386
|
||||
Admin.imap_admins
|
||||
Cyrus::Admin.imap_admins
|
||||
Cyrus::Admin.imap_admins_virtdomains
|
||||
|
||||
# TODO currently failing
|
||||
Cyrus::Flags.userflags_crash
|
||||
Cyrus::JMAPCore.eventsource
|
||||
Cyrus::JMAPEmail.email_query_no_guidsearch_ignore_jmapuploads
|
||||
Cyrus::JMAPEmail.email_query_seen_multimbox
|
||||
Cyrus::JMAPEmail.email_query_unicodefdfx
|
||||
Cyrus::JMAPMailbox.mailbox_ignore_notes_subfolders
|
||||
Cyrus::JMAPMailbox.mailbox_set_create_specialuse_nochildren
|
||||
Cyrus::JMAPMailbox.mailbox_set_sharewith_acl
|
||||
Cyrus::JMAPSieve.getmetadata
|
||||
Cyrus::Caldav.freebusy_empty_rrule
|
||||
Cyrus::ImapTest.urlauth2
|
||||
Cyrus::IMAPLimits.maxargssize_append_flags
|
||||
Cyrus::JMAPCalendars.calendarevent_guesstz_ignore_xjmapid
|
||||
Cyrus::JMAPCalendars.itip_ignore_invalid_timezone
|
||||
Cyrus::JMAPEmail.email_query_emailaddress
|
||||
Cyrus::JMAPEmail.email_query_messageid
|
||||
Cyrus::LibCyrus.example_libcyrus
|
||||
Cyrus::LibCyrus.example_libcyrus_min
|
||||
Cyrus::SearchFuzzy.dedup_part_compact
|
||||
Cyrus::SearchFuzzy.dedup_part_index
|
||||
Cyrus::SearchFuzzy.index_tier_audit_bug
|
||||
Cyrus::SearchSquat.nonincremental
|
||||
Cyrus::SearchSquat.incremental
|
||||
Cyrus::SearchSquat.one_doc_per_message
|
||||
|
||||
# The following fail only on f41 (f39,f40 pass)
|
||||
# These time out:
|
||||
Cyrus::Annotator.add_annot_deliver
|
||||
Cyrus::Annotator.add_annot_splitconv
|
||||
Cyrus::Annotator.add_annot_deliver_tomailbox
|
||||
Cyrus::Annotator.add_annot_splitconv_rerun
|
||||
Cyrus::Annotator.annotator_callout_disabled
|
||||
Cyrus::Annotator.fetch_after_annotate
|
||||
Cyrus::Annotator.reconstruct_after_delivery
|
||||
Cyrus::Annotator.set_system_flag_deliver
|
||||
Cyrus::Annotator.set_user_flag_deliver
|
||||
Cyrus::Master.service_unix
|
||||
# This unexpectedly ends with unsolicited response:
|
||||
Cyrus::Idle.idled_default_timeout
|
||||
# These end with 'BYE Fatal error: socket path too long'
|
||||
Cyrus::MurderIMAP.frontend_commands
|
||||
Cyrus::MurderIMAP.list_specialuse
|
||||
Cyrus::MurderIMAP.move_to_backend_nonexistent
|
||||
Cyrus::MurderIMAP.move_to_nonexistent
|
||||
Cyrus::MurderIMAP.rename_with_location
|
||||
Cyrus::MurderIMAP.xlist
|
||||
Cyrus::Simple.sasl_ir
|
||||
)
|
||||
for i in ${tests[@]}; do exclude+=("!$i"); done
|
||||
|
||||
|
|
@ -693,14 +704,11 @@ sudo -u cyrus -g mail LD_LIBRARY_PATH=%buildroot/%_libdir ./testrunner.pl -j%{?_
|
|||
# CASSANDANE_END
|
||||
|
||||
if [ -s "work/failed" ]; then
|
||||
cat work/failed
|
||||
exit 1
|
||||
cat work/failed
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
%pre
|
||||
%sysusers_create_compat %{SOURCE19}
|
||||
|
||||
%post
|
||||
%systemd_post cyrus-imapd.service
|
||||
|
||||
|
|
@ -717,7 +725,6 @@ fi
|
|||
|
||||
%{_sbindir}/arbitron
|
||||
%{_sbindir}/chk_cyrus
|
||||
%{_sbindir}/ctl_backups
|
||||
%{_sbindir}/ctl_conversationsdb
|
||||
%{_sbindir}/ctl_cyrusdb
|
||||
%{_sbindir}/ctl_deliver
|
||||
|
|
@ -725,7 +732,6 @@ fi
|
|||
%{_sbindir}/ctl_zoneinfo
|
||||
%{_sbindir}/cvt_cyrusdb
|
||||
%{_sbindir}/cvt_xlist_specialuse
|
||||
%{_sbindir}/cyr_backup
|
||||
%{_sbindir}/cyr_buildinfo
|
||||
%{_sbindir}/cyr_cd.sh
|
||||
%{_sbindir}/cyr_dbtool
|
||||
|
|
@ -737,9 +743,9 @@ fi
|
|||
%{_sbindir}/cyr_ls
|
||||
%{_sbindir}/cyr_pwd
|
||||
%{_sbindir}/cyr_quota
|
||||
%{_sbindir}/cyr_restore
|
||||
%{_sbindir}/cyr_synclog
|
||||
%{_sbindir}/cyr_userseen
|
||||
%{_sbindir}/cyr_withlock_run
|
||||
%{_sbindir}/cyrdump
|
||||
%{_sbindir}/dav_reconstruct
|
||||
%{_sbindir}/deliver
|
||||
|
|
@ -762,11 +768,9 @@ fi
|
|||
%{_mandir}/man1/dav_reconstruct.1*
|
||||
%{_mandir}/man5/cyrus.conf.5*
|
||||
%{_mandir}/man5/imapd.conf.5*
|
||||
%{_mandir}/man5/krb.equiv.5*
|
||||
%{_mandir}/man8/arbitron.8*
|
||||
%{_mandir}/man8/backupd.8*
|
||||
%{_mandir}/man8/calalarmd.8*
|
||||
%{_mandir}/man8/chk_cyrus.8*
|
||||
%{_mandir}/man8/ctl_backups.8*
|
||||
%{_mandir}/man8/ctl_conversationsdb.8*
|
||||
%{_mandir}/man8/ctl_cyrusdb.8*
|
||||
%{_mandir}/man8/ctl_deliver.8*
|
||||
|
|
@ -774,7 +778,6 @@ fi
|
|||
%{_mandir}/man8/ctl_zoneinfo.8*
|
||||
%{_mandir}/man8/cvt_cyrusdb.8*
|
||||
%{_mandir}/man8/cvt_xlist_specialuse.8*
|
||||
%{_mandir}/man8/cyr_backup.8*
|
||||
%{_mandir}/man8/cyr_buildinfo.8*
|
||||
%{_mandir}/man8/cyr_dbtool.8*
|
||||
%{_mandir}/man8/cyr_deny.8*
|
||||
|
|
@ -784,9 +787,9 @@ fi
|
|||
%{_mandir}/man8/cyr_info.8*
|
||||
%{_mandir}/man8/cyr_ls.8*
|
||||
%{_mandir}/man8/cyr_quota.8*
|
||||
%{_mandir}/man8/cyr_restore.8*
|
||||
%{_mandir}/man8/cyr_synclog.8*
|
||||
%{_mandir}/man8/cyr_userseen.8*
|
||||
%{_mandir}/man8/cyr_withlock_run.8*
|
||||
%{_mandir}/man8/cyradm.8*
|
||||
%{_mandir}/man8/cyrdump.8*
|
||||
%{_mandir}/man8/deliver.8*
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
d /run/cyrus 0750 cyrus mail -
|
||||
d /run/cyrus/db 0700 cyrus mail -
|
||||
d /run/cyrus/lock 0700 cyrus mail -
|
||||
d /run/cyrus/proc 0700 cyrus mail -
|
||||
d /run/cyrus/socket 0750 cyrus mail -
|
||||
15
gating.yaml
15
gating.yaml
|
|
@ -1,26 +1,25 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_contexts: [bodhi_update_push_testing]
|
||||
decision_context: bodhi_update_push_testing
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
|
||||
#gating rawhide
|
||||
#Rawhide
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_contexts: [bodhi_update_push_stable]
|
||||
decision_context: bodhi_update_push_stable
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
|
||||
#gating rhel
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-*
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/public.functional}
|
||||
|
|
|
|||
13
patch-cassandane-build-info.patch
Normal file
13
patch-cassandane-build-info.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/cassandane/Cassandane/BuildInfo.pm b/cassandane/Cassandane/BuildInfo.pm
|
||||
index f98bf2d..19720ec 100644
|
||||
--- a/cassandane/Cassandane/BuildInfo.pm
|
||||
+++ b/cassandane/Cassandane/BuildInfo.pm
|
||||
@@ -71,7 +71,7 @@ sub _read_buildinfo
|
||||
my ($destdir, $prefix) = @_;
|
||||
|
||||
my $cyr_buildinfo;
|
||||
- foreach my $bindir (qw(sbin cyrus/bin)) {
|
||||
+ foreach my $bindir (qw(bin sbin cyrus/bin)) {
|
||||
my $p = "$destdir$prefix/$bindir/cyr_buildinfo";
|
||||
if (-x $p) {
|
||||
$cyr_buildinfo = $p;
|
||||
|
|
@ -55,3 +55,25 @@ index 20d3763..0238d82 100644
|
|||
+{
|
||||
+ fake_vsyslog(priority, format, ap);
|
||||
}
|
||||
diff --git a/cassandane/Cassandane/Instance.pm b/cassandane/Cassandane/Instance.pm
|
||||
index 77ddd54..3162fc6 100644
|
||||
--- a/cassandane/Cassandane/Instance.pm
|
||||
+++ b/cassandane/Cassandane/Instance.pm
|
||||
@@ -2347,17 +2347,6 @@ sub setup_syslog_replacement
|
||||
return;
|
||||
}
|
||||
|
||||
- # Can't reliably replace syslog when source fortification is in play,
|
||||
- # and syslog_probe can't reliably detect whether the replacement has
|
||||
- # worked or not in this case, so just turn syslog replacement off if
|
||||
- # we detect source fortification
|
||||
- if ($self->{buildinfo}->get('version', 'FORTIFY_LEVEL')) {
|
||||
- xlog "Cyrus was built with -D_FORTIFY_SOURCE";
|
||||
- xlog "tests will not examine syslog output";
|
||||
- $self->{have_syslog_replacement} = 0;
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
$self->{syslog_fname} = "$self->{basedir}/conf/log/syslog";
|
||||
$self->{have_syslog_replacement} = 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/cassandane/Cassandane/Instance.pm b/cassandane/Cassandane/Instance.pm
|
||||
index 78e7100..edf6f5d 100644
|
||||
--- a/cassandane/Cassandane/Instance.pm
|
||||
+++ b/cassandane/Cassandane/Instance.pm
|
||||
@@ -492,9 +492,7 @@ sub _find_binary
|
||||
my $base = $self->{cyrus_destdir} . $self->{cyrus_prefix};
|
||||
|
||||
if ($name eq 'delve') {
|
||||
- my $lib = `ldd $base/libexec/imapd` || die "can't ldd imapd";
|
||||
- $lib =~ m{(/\S+)/lib/libxapian-([0-9.]+)\.so};
|
||||
- return "$1/bin/xapian-delve-$2";
|
||||
+ return "/bin/xapian-delve";
|
||||
}
|
||||
|
||||
foreach (qw( bin sbin libexec libexec/cyrus-imapd lib cyrus/bin ))
|
||||
|
|
@ -1,7 +1,27 @@
|
|||
diff --git a/doc/examples/imapd_conf/normal.conf b/doc/examples/imapd_conf/normal.conf
|
||||
index 95b54e9..3935b77 100644
|
||||
--- a/doc/examples/imapd_conf/normal.conf
|
||||
+++ b/doc/examples/imapd_conf/normal.conf
|
||||
diff -uap cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf.2 cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf
|
||||
--- cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf.2 2024-04-26 01:59:22.000000000 +0100
|
||||
+++ cyrus-imapd-3.8.3/doc/examples/cyrus_conf/prefork.conf 2025-01-15 15:56:40.112544167 +0000
|
||||
@@ -19,8 +19,8 @@ SERVICES {
|
||||
# nntps cmd="nntpd -s" listen="nntps" prefork=1
|
||||
|
||||
# these are only necessary if using HTTP for CalDAV, CardDAV, or RSS
|
||||
-# http cmd="httpd" listen="http" prefork=3
|
||||
-# https cmd="httpd -s" listen="https" prefork=1
|
||||
+ http cmd="httpd" listen="http" prefork=3
|
||||
+ https cmd="httpd -s" listen="https" prefork=1
|
||||
|
||||
# at least one LMTP is required for delivery
|
||||
# lmtp cmd="lmtpd" listen="lmtp" prefork=0
|
||||
@@ -51,5 +51,5 @@ EVENTS {
|
||||
|
||||
DAEMON {
|
||||
# this is only necessary if using idled for IMAP IDLE
|
||||
-# idled cmd="idled"
|
||||
+ idled cmd="idled"
|
||||
}
|
||||
diff -uap cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf.2 cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf
|
||||
--- cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf.2 2024-04-08 04:46:02.000000000 +0100
|
||||
+++ cyrus-imapd-3.8.3/doc/examples/imapd_conf/normal.conf 2025-01-15 15:55:44.361093153 +0000
|
||||
@@ -10,7 +10,7 @@ admins: cyrus
|
||||
###################################################################
|
||||
|
||||
|
|
@ -88,18 +108,3 @@ index 95b54e9..3935b77 100644
|
|||
# File containing the global certificate used for ALL services (imap,
|
||||
# pop3, lmtp, sieve)
|
||||
#tls_server_cert: /etc/ssl/certs/ssl-cert-snakeoil.pem
|
||||
diff --git a/doc/examples/cyrus_conf/prefork.conf b/doc/examples/cyrus_conf/prefork.conf
|
||||
index 186fe66..ab97848 100644
|
||||
--- a/doc/examples/cyrus_conf/prefork.conf
|
||||
+++ b/doc/examples/cyrus_conf/prefork.conf
|
||||
@@ -19,8 +19,8 @@ SERVICES {
|
||||
# nntps cmd="nntpd -s" listen="nntps" prefork=1
|
||||
|
||||
# these are only necessary if using HTTP for CalDAV, CardDAV, or RSS
|
||||
-# http cmd="httpd" listen="http" prefork=3
|
||||
-# https cmd="httpd -s" listen="https" prefork=1
|
||||
+ http cmd="httpd" listen="http" prefork=3
|
||||
+ https cmd="httpd -s" listen="https" prefork=1
|
||||
|
||||
# at least one LMTP is required for delivery
|
||||
# lmtp cmd="lmtpd" listen="lmtp" prefork=0
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
diff --git a/perl/sieve/managesieve/Makefile.PL.in b/perl/sieve/managesieve/Makefile.PL.in
|
||||
index 7180b98..d589ebe 100644
|
||||
--- a/perl/sieve/managesieve/Makefile.PL.in
|
||||
+++ b/perl/sieve/managesieve/Makefile.PL.in
|
||||
@@ -69,7 +69,7 @@ WriteMakefile(
|
||||
'ABSTRACT' => 'Cyrus Sieve management interface',
|
||||
'VERSION_FROM' => "@top_srcdir@/perl/sieve/managesieve/managesieve.pm", # finds $VERSION
|
||||
'MYEXTLIB' => '../lib/.libs/libisieve.a @top_builddir@/perl/.libs/libcyrus.a @top_builddir@/perl/.libs/libcyrus_min.a',
|
||||
- 'LIBS' => ["$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @LIB_REGEX@ @ZLIB@ @SQLITE_LIBADD@ @MYSQL_LIBADD@ @PGSQL_LIBADD@"],
|
||||
+ 'LIBS' => ["$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @LIB_REGEX@ @ZLIB@ @SQLITE_LIBADD@ @MYSQL_LIBADD@ @PGSQL_LIBADD@ -lpcre2-posix"],
|
||||
'CCFLAGS' => '@GCOV_CFLAGS@',
|
||||
'DEFINE' => '-DPERL_POLLUTE', # e.g., '-DHAVE_SOMETHING'
|
||||
'INC' => "-I@top_srcdir@/lib -I@top_srcdir@/perl/sieve -I@top_srcdir@/perl/sieve/lib @SASLFLAGS@ @SSL_CPPFLAGS@",
|
||||
diff --git a/perl/imap/Makefile.PL.in b/perl/imap/Makefile.PL.in
|
||||
index 71416cc..f76cda6 100644
|
||||
--- a/perl/imap/Makefile.PL.in
|
||||
+++ b/perl/imap/Makefile.PL.in
|
||||
@@ -91,7 +91,7 @@ WriteMakefile(
|
||||
'LD' => $Config{ld} . ' @GCOV_LDFLAGS@',
|
||||
'OBJECT' => 'IMAP.o',
|
||||
'MYEXTLIB' => '@top_builddir@/perl/.libs/libcyrus.a @top_builddir@/perl/.libs/libcyrus_min.a',
|
||||
- 'LIBS' => [ "$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @ZLIB@ @GCOV_LIBS@ @LIBCAP_LIBS@"],
|
||||
+ 'LIBS' => [ "$LIB_SASL @SSL_LIBS@ @LIB_UUID@ @ZLIB@ @GCOV_LIBS@ @LIBCAP_LIBS@ -lpcre2-posix"],
|
||||
'DEFINE' => '-DPERL_POLLUTE', # e.g., '-DHAVE_SOMETHING'
|
||||
'INC' => "-I@top_srcdir@ -I@top_srcdir@/com_err/et @SASLFLAGS@ @SSL_CPPFLAGS@ @GCOV_CFLAGS@ -I@top_srcdir@/perl/imap",
|
||||
'EXE_FILES' => [cyradm],
|
||||
35
plans.fmf
Normal file
35
plans.fmf
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/tier1-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
|
||||
name: /plans/tier1/internal
|
||||
|
||||
/tier1-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
|
||||
name: /plans/tier1/public
|
||||
|
||||
/tier2-tier3-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
|
||||
name: /plans/tier2-tier3/internal
|
||||
|
||||
/tier2-tier3-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
|
||||
name: /plans/tier2-tier3/public
|
||||
|
||||
/others-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
|
||||
name: /plans/others/internal
|
||||
|
||||
/others-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://gitlab.com/redhat/centos-stream/tests/cyrus-imapd.git
|
||||
name: /plans/others/public
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
summary: Test plan with all Fedora tests
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/cyrus-imapd.git
|
||||
execute:
|
||||
how: tmt
|
||||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (cyrus-imapd-3.8.3.tar.gz) = 6af60863ae2b8491bc36c74a760c080c94fa163851877976c33c43793409723660293ad469d1547e779d39b35a36c7c2d7ae7352260a9e8af18cb9f3fa566a1a
|
||||
SHA512 (cyrus-imapd-3.8.3.tar.gz.sig) = f8bc7172b9f9f70bb3533efcd9f556c6b0c9a9c0e568b0585a0d8ba790ad57a732e918f12b5711c165d3ad806bd55d1ab52e396a91255f43a7da188be1a11c43
|
||||
SHA512 (cyrus-imapd-3.12.1.tar.gz) = ec2727eb0567ebf978ff4db9e9086bc01fdc2739b6e06cad73cf74f9af990c30a70130aa2474d822d8ca078e1012a60179101de90845bf40f7a9b47a8b5e4d92
|
||||
SHA512 (cyrus-imapd-3.12.1.tar.gz.sig) = a548769b7443a179cbfeabd20fce113d94b9ccbf134aab3c6aa5197edcad41f1a73f1d28ba8e2b80046457053949344385ca68b22489d47721d4760e42cd4dd4
|
||||
|
|
|
|||
21
systemd-tmpfiles.conf
Normal file
21
systemd-tmpfiles.conf
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
d /run/cyrus 0750 cyrus mail -
|
||||
d /run/cyrus/db 0700 cyrus mail -
|
||||
d /run/cyrus/lock 0700 cyrus mail -
|
||||
d /run/cyrus/proc 0700 cyrus mail -
|
||||
d /run/cyrus/socket 0750 cyrus mail -
|
||||
d /var/lib/imap 0750 cyrus mail -
|
||||
d /var/lib/imap/backup 0700 cyrus mail -
|
||||
d /var/lib/imap/db 0700 cyrus mail -
|
||||
d /var/lib/imap/log 0700 cyrus mail -
|
||||
d /var/lib/imap/meta 0700 cyrus mail -
|
||||
d /var/lib/imap/md5 0700 cyrus mail -
|
||||
d /var/lib/imap/msg 0700 cyrus mail -
|
||||
d /var/lib/imap/proc 0700 cyrus mail -
|
||||
d /var/lib/imap/ptclient 0700 cyrus mail -
|
||||
d /var/lib/imap/quota 0700 cyrus mail -
|
||||
d /var/lib/imap/rpm 0700 cyrus mail -
|
||||
d /var/lib/imap/sieve 0700 cyrus mail -
|
||||
d /var/lib/imap/socket 0750 cyrus mail -
|
||||
d /var/lib/imap/sync 0700 cyrus mail -
|
||||
d /var/lib/imap/user 0700 cyrus mail -
|
||||
d /var/spool/imap 0700 cyrus mail -
|
||||
Loading…
Add table
Add a link
Reference in a new issue