cyrus-sasl 2.1.28-3

This commit is contained in:
xhaa123 2024-10-31 22:00:28 +08:00
parent cf8f0dcee1
commit 63f6ccff43
6 changed files with 91 additions and 98 deletions

107
PKGBUILD
View File

@ -4,55 +4,106 @@
# then please put 'unknown'.
# Maintainer: Future Linux Team <future_linux@163.com>
pkgname=cyrus-sasl
pkgname=(cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-ldap)
pkgbase=cyrus-sasl
pkgver=2.1.28
pkgrel=2
pkgrel=3
pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library"
arch=('x86_64')
url="https://www.cyrusimap.org/sasl/"
license=('custom')
depends=('gdbm' 'glibc' 'openssl' 'krb5' 'openldap' 'libxcrypt' 'linux-pam' 'systemd' 'util-linux')
install=${pkgname}.install
source=(https://github.com/cyrusimap/cyrus-sasl/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz
saslauthd
saslauthd.conf
license=('BSD-3-Clause-Attribution')
makedepends=(
'gdbm'
'glibc'
'krb5'
'libldap'
"libsasl=${pkgver}"
'openssl'
'libxcrypt'
'linux-pam'
)
source=(https://github.com/cyrusimap/cyrus-sasl/releases/download/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.gz
saslauthd.conf.d
saslauthd.service)
sha256sums=(7ccfc6abd01ed67c1a0924b353e526f1b766b21f42d4562ee635a8ebfc5bb38c
76d3dc6548dc29a80538ae660ce1c0f3e79016fe54bca8f19adcdfbde8a950ab
3349d9588ac1553948404c38e2f740b0ad85a6c64850466b5569d7f295c14e0b
a2f621dbbbe2e67bc1a11cd0363772e48ebb9e0c6a1d720fe793f173c5c90805)
6a5b11f42ae75b7a9a8ec0f05706a2aef682a0853857c80c3a1b59f1aedcde25
7b21ce969c1c10641fa7511db18a27d06ef0fa26d7f08bf0f796f266cf791ea7)
prepare() {
cd ${pkgbase}-${pkgver}
sed '/saslint/a #include <time.h>' -i lib/saslutil.c
sed '/plugin_common/a #include <time.h>' -i plugins/cram.c
}
build() {
cd ${pkgname}-${pkgver}
cd ${pkgbase}-${pkgver}
${CONFIGURE} \
--sysconfdir=/etc \
--disable-krb4 \
--disable-macos-framework \
--disable-otp \
--disable-passdss \
--disable-srp \
--disable-srp-setpass \
--disable-static \
--enable-alwaystrue \
--enable-anon \
--enable-auth-sasldb \
--with-dblib=gdbm \
--with-dbpath=/var/lib/sasl/sasldb2 \
--with-sphinx-build=no \
--with-saslauthd=/var/run/saslauthd \
--enable-checkapop \
--enable-cram \
--enable-digest \
--enable-gssapi \
--enable-ldapdb \
--enable-login \
--enable-ntlm \
--enable-plain \
--enable-shared \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--with-dblib=gdbm \
--with-devrandom=/dev/urandom \
--with-configdir=/etc/sasl2:/etc/sasl:/usr/lib64/sasl2 \
--with-ldap \
--with-pam
--with-pam \
--with-saslauthd=/run/saslauthd \
--with-sqlite3=/usr/lib64
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
package() {
cd ${pkgname}-${pkgver}
package_cyrus-sasl() {
pkgdesc="Cyrus saslauthd SASL authentication daemon"
depends=('gdbm' 'glibc' 'krb5' 'libldap' "libsasl=${pkgver}" 'libxcrypt' 'openssl' 'linux-pam')
backup=(etc/conf.d/saslauthd)
make DESTDIR=${pkgdir} install
cd ${pkgbase}-${pkgver}
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
make -C saslauthd DESTDIR=${pkgdir} install
make -C saslauthd DESTDIR=${pkgdir} install-data-local
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
install -vDm 644 ${srcdir}/saslauthd.conf.d ${pkgdir}/etc/conf.d/saslauthd
install -vDm 644 ${srcdir}/saslauthd.service -t ${pkgdir}/usr/lib/systemd/system/
}
package_cyrus-sasl-gssapi() {
pkgdesc="GSSAPI authentication mechanism for Cyrus SASL"
depends=('glibc' 'krb5' "libsasl=${pkgver}")
cd ${pkgbase}-${pkgver}
install -vdm 755 ${pkgdir}/usr/lib64/sasl2
cp -av plugins/.libs/libgs{,sapiv}2.so* ${pkgdir}/usr/lib64/sasl2/
}
package_cyrus-sasl-ldap() {
pkgdesc="ldapdb auxprop module for Cyrus SASL"
depends=('glibc' 'libldap' "libsasl=${pkgver}")
cd ${pkgbase}-${pkgver}
install -vdm 755 ${pkgdir}/usr/lib64/sasl2
cp -av plugins/.libs/libldapdb.so* ${pkgdir}/usr/lib64/sasl2/
}

View File

@ -1,24 +0,0 @@
# 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
}

View File

@ -1,36 +0,0 @@
# 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

View File

@ -1 +0,0 @@
d /run/saslauthd 755 root root -

2
saslauthd.conf.d Normal file
View File

@ -0,0 +1,2 @@
SASLAUTHD_OPTS="-a pam"

View File

@ -6,6 +6,7 @@ Type=forking
EnvironmentFile=/etc/default/saslauthd
ExecStart=/usr/sbin/saslauthd -a $MECHANISMS -n $THREADS $MECH_OPTIONS $SASLAUTHD_OPTS
PIDFile=/run/saslauthd/saslauthd.pid
RuntimeDirectory=saslauthd
[Install]
WantedBy=multi-user.target