commit 8f8d01d212b58e9a7f382d3ca19620e43527676d Author: xhaa123 Date: Sun May 12 17:57:30 2024 +0800 cyrus-sasl 2.1.28-1 diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..da6ed2b --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,53 @@ +# This is an example PKGBUILD file. Use this as a start to creating your own, +# and remove these comments. For more information, see 'man PKGBUILD'. +# NOTE: Please fill out the license field for your package! If it is unknown, +# then please put 'unknown'. + +# Maintainer: Future Linux Team +pkgname=cyrus-sasl +pkgver=2.1.28 +pkgrel=1 +pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library" +arch=('x86_64') +url="https://www.cyrusimap.org/sasl/" +license=('custom') +depends=('gdbm' 'glibc' 'openssl') +makedepends=('systemd') +install=${pkgname}.install +source=(https://github.com/cyrusimap/cyrus-sasl/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz + saslauthd + saslauthd.conf + saslauthd.service) +sha256sums=(7ccfc6abd01ed67c1a0924b353e526f1b766b21f42d4562ee635a8ebfc5bb38c + 76d3dc6548dc29a80538ae660ce1c0f3e79016fe54bca8f19adcdfbde8a950ab + 3349d9588ac1553948404c38e2f740b0ad85a6c64850466b5569d7f295c14e0b + a2f621dbbbe2e67bc1a11cd0363772e48ebb9e0c6a1d720fe793f173c5c90805) + +build() { + cd ${pkgname}-${pkgver} + + ${CONFIGURE} \ + --sysconfdir=/etc \ + --enable-auth-sasldb \ + --with-dblib=lmdb \ + --with-dbpath=/var/lib/sasl/sasldb2 \ + --with-sphinx-build=no \ + --with-saslauthd=/var/run/saslauthd + + make +} + +package() { + cd ${pkgname}-${pkgver} + + make DESTDIR=${pkgdir} install + + install -v -dm755 ${pkgdir}/usr/share/doc/${pkgname}-${pkgver}/html + install -v -m644 saslauthd/LDAP_SASLAUTHD ${pkgdir}/usr/share/doc/${pkgname}-${pkgver} + install -v -m644 doc/legacy/*.html ${pkgdir}/usr/share/doc/${pkgname}-${pkgver}/html + install -v -dm700 ${pkgdir}/var/lib/sasl + + install -vDm644 ${srcdir}/saslauthd ${pkgdir}/etc/default/saslauthd + install -vDm644 ${srcdir}/saslauthd.conf ${pkgdir}/usr/lib/tmpfiles.d/saslauthd.conf + install -vDm644 ${srcdir}/saslauthd.service ${pkgdir}/usr/lib/systemd/system/saslauthd.service +} diff --git a/cyrus-sasl.install b/cyrus-sasl.install new file mode 100644 index 0000000..7ceaf1c --- /dev/null +++ b/cyrus-sasl.install @@ -0,0 +1,24 @@ +# This is a default template for a post-install scriptlet. +# Uncomment only required functions and remove any functions +# you don't need (and this header). + +post_install() { + systemd-tmpfiles --create saslauthd.conf + systemctl enable saslauthd.service +} + +pre_upgrade() { + systemctl stop saslauthd.service + systemctl disable saslauthd.service +} + +post_upgrade() { + systemd-tmpfiles --create saslauthd.conf + systemctl enable saslauthd.service +} + +pre_remove() { + systemctl stop saslauthd.service + systemctl disable saslauthd.service +} + diff --git a/saslauthd b/saslauthd new file mode 100644 index 0000000..cb0fe67 --- /dev/null +++ b/saslauthd @@ -0,0 +1,36 @@ +# Begin /etc/default/saslauthd + +# Which authentication mechanisms should saslauthd use? (default: shadow) +# +# Available options in this package: +# getpwent -- use the getpwent() library function +# kerberos5 -- use Kerberos 5 +# pam -- use PAM +# rimap -- use a remote IMAP server +# shadow -- use the local shadow password file +# sasldb -- use the local sasldb database file +# ldap -- use LDAP (configuration is in /etc/saslauthd.conf) +# +# Only one option may be used at a time. See the saslauthd man page +# for more information. +# +# Example: MECHANISMS="shadow" +MECHANISMS="shadow" + +# Additional options for this mechanism. (default: none) +# See the saslauthd man page for information about mech-specific options. +# Note: Specify "-O options" in the following variable or saslauthd will fail. +MECH_OPTIONS="" + +# How many saslauthd processes should we run? (default: 5) +# A value of 0 will fork a new process for each connection. +THREADS=5 + +# Other options (default: -c -m /run/saslauthd) +# Note: You MUST specify the -m option or saslauthd won't run! +# +# See the saslauthd man page and the output of 'saslauthd -h' for general +# information about these options. +SASLAUTHD_OPTS="-c -m /run/saslauthd" + +# End /etc/default/saslauthd diff --git a/saslauthd.conf b/saslauthd.conf new file mode 100644 index 0000000..96c5a7f --- /dev/null +++ b/saslauthd.conf @@ -0,0 +1 @@ +d /run/saslauthd 755 root root - diff --git a/saslauthd.service b/saslauthd.service new file mode 100644 index 0000000..cabda78 --- /dev/null +++ b/saslauthd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Cyrus SASL authentication daemon + +[Service] +Type=forking +EnvironmentFile=/etc/default/saslauthd +ExecStart=/usr/sbin/saslauthd -a $MECHANISMS -n $THREADS $MECH_OPTIONS $SASLAUTHD_OPTS +PIDFile=/run/saslauthd/saslauthd.pid + +[Install] +WantedBy=multi-user.target