aports/main/openldap/APKBUILD
Sertonix 589dff3eb8 main/openldap: remove noop provides=""
abuild sets provides to an empty string for all subpackages by default
so it isn't needed explicitly.
2024-10-28 10:49:19 +00:00

389 lines
9.3 KiB
Text

# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
#
# secfixes:
# 2.6.2-r0:
# - CVE-2022-29155
# 2.4.57-r1:
# - CVE-2021-27212
# 2.4.57-r0:
# - CVE-2020-36221
# - CVE-2020-36222
# - CVE-2020-36223
# - CVE-2020-36224
# - CVE-2020-36225
# - CVE-2020-36226
# - CVE-2020-36227
# - CVE-2020-36228
# - CVE-2020-36229
# - CVE-2020-36230
# 2.4.56-r0:
# - CVE-2020-25709
# - CVE-2020-25710
# 2.4.50-r0:
# - CVE-2020-12243
# 2.4.48-r0:
# - CVE-2019-13565
# - CVE-2019-13057
# 2.4.46-r0:
# - CVE-2017-14159
# - CVE-2017-17740
# 2.4.44-r5:
# - CVE-2017-9287
#
pkgname=openldap
pkgver=2.6.8
pkgrel=0
pkgdesc="LDAP Server"
url="https://www.openldap.org/"
arch="all"
license="OLDAP-2.8"
pkgusers="ldap"
pkggroups="ldap"
depends_dev="
cyrus-sasl-dev
libevent-dev
libsodium-dev
util-linux-dev
"
makedepends="
$depends_dev
argon2-dev
autoconf
automake
db-dev
groff
libtool
mosquitto-dev
openssl-dev
unixodbc-dev
"
provides="$pkgname-back-monitor=$pkgver-r$pkgrel" # for backward compatibility (Alpine <3.15)
subpackages="
$pkgname-dev
$pkgname-doc
libldap
$pkgname-lloadd
$pkgname-lloadd-openrc:lloadd_openrc
$pkgname-clients
$pkgname-passwd-argon2:passwd_argon2
$pkgname-passwd-pbkdf2:passwd_pbkdf2
$pkgname-passwd-sha2:passwd_sha2
$pkgname-backend-all:_backend_all:noarch
$pkgname-overlay-all:_overlay_all:noarch
$pkgname-openrc
"
install="
$pkgname.pre-install
$pkgname.post-install
$pkgname.pre-upgrade
$pkgname.post-upgrade
$pkgname-lloadd.pre-install
"
source="https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-$pkgver.tgz
0001-Fix-build-issue-in-clients-tools-common.c.patch
0002-Add-UNIX_LINK_LIBS-to-slapi-Makefile.patch
0003-Add-mqtt-overlay.patch
0004-Fix-manpages.patch
0005-Correct-command-line-syntax-in-lloadd-tests.patch
0007-Use-correct-extension-for-slapd-modules.patch
0008-Remove-pidfile-and-argsfile.patch
0009-Include-more-schemas-in-default-config.patch
lloadd.conf
slapd.initd
slapd.confd
lloadd.initd
lloadd.confd
"
# SLAPD backends
_backends="
asyncmeta
dnssrv
ldap
lload
mdb
meta
null
passwd
relay
sock
sql
"
for _name in $_backends; do
subpackages="$subpackages $pkgname-back-$_name:_backend"
_backend_pkgs="$_backend_pkgs $pkgname-back-$_name"
done
# SLAPD overlays
_overlays="
accesslog
auditlog
autoca
collect
constraint
dds
deref
dyngroup
dynlist
homedir
lastbind
memberof
mqtt
otp
ppolicy
proxycache
refint
remoteauth
retcode
rwm
seqmod
sssvlv
syncprov
translucent
unique
valsort
"
for _name in $_overlays; do
subpackages="$subpackages $pkgname-overlay-$_name:_overlay"
_overlay_pkgs="$_overlay_pkgs $pkgname-overlay-$_name"
done
# Extra modules from contrib/slapd-modules to build and install.
_extra_modules="
mqtt
passwd/pbkdf2
passwd/sha2
lastbind
"
# s390x: fails test001-slapadd
# armhf: fails test046-dds
case "$CARCH" in
s390x|armhf)
options="!check"
;;
esac
prepare() {
default_prepare
sed -i '/^STRIP/s,-s,,g' build/top.mk
AUTOMAKE=/bin/true autoreconf -fi
}
build() {
_configure \
--enable-slapd \
--enable-modules \
--enable-dnssrv=mod \
--enable-ldap=mod \
--enable-mdb=mod \
--enable-meta=mod \
--enable-asyncmeta=mod \
--enable-null=mod \
--enable-passwd=mod \
--enable-relay=mod \
--enable-sock=mod \
--enable-sql=mod \
--enable-overlays=mod \
--enable-balancer=mod \
--enable-argon2
make
local dir; for dir in $_extra_modules; do
msg "Building module $dir"
make -C contrib/slapd-modules/$dir prefix=/usr libexecdir=/usr/lib
done
cp -ar "$builddir" "$builddir-lloadd"
cd "$builddir-lloadd"
msg "Building standalone lloadd"
make -C servers clean
_configure \
--enable-balancer=yes
make
}
_configure() {
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var/lib/openldap \
--enable-dynamic \
--enable-crypt \
--enable-spasswd \
--with-tls=openssl \
--with-systemd=no \
--with-cyrus-sasl \
"$@"
}
check() {
# FIXME: Failing network tests on some platforms.
rm -f tests/scripts/test018-syncreplication-persist
rm -f tests/scripts/test063-delta-multiprovider
rm -f tests/scripts/test079-proxy-timeout
make test
}
package() {
make DESTDIR="$pkgdir" install
local dir; for dir in $_extra_modules; do
make -C contrib/slapd-modules/$dir \
DESTDIR="$pkgdir" prefix=/usr libexecdir=/usr/lib install
done
make -C "$builddir-lloadd"/servers/lloadd DESTDIR="$pkgdir" install
cd "$pkgdir"
rmdir var/lib/openldap/run
# Fix tools symlinks to slapd.
find usr/sbin/ -type l -exec ln -sf slapd {} \;
# Move executables from lib to sbin.
mv usr/lib/slapd usr/lib/lloadd usr/sbin/
# Move *.default configs to docs.
mkdir -p usr/share/doc/$pkgname
mv etc/openldap/*.default usr/share/doc/$pkgname/
chgrp ldap etc/openldap/slapd.*
chmod g+r etc/openldap/slapd.*
install -D -m 640 -g ldap "$srcdir"/lloadd.conf -t etc/openldap/
install -d -m 700 -o ldap -g ldap \
run/openldap \
var/lib/openldap \
var/lib/openldap/openldap-data \
var/lib/openldap/openldap-lloadd
install -D -m 755 "$srcdir"/slapd.initd etc/init.d/slapd
install -D -m 644 "$srcdir"/slapd.confd etc/conf.d/slapd
install -D -m 755 "$srcdir"/lloadd.initd etc/init.d/lloadd
install -D -m 644 "$srcdir"/lloadd.confd etc/conf.d/lloadd
}
libldap() {
pkgdesc="OpenLDAP libraries"
depends=""
amove usr/lib/*.so*
amove etc/openldap/ldap.conf
}
lloadd() {
pkgdesc="Standalone LDAP Load Balancer Daemon"
amove etc/openldap/lloadd.conf
amove usr/sbin/lloadd
amove var/lib/openldap/openldap-lloadd
}
lloadd_openrc() {
pkgdesc="Standalone LDAP Load Balancer Daemon (OpenRC init scripts)"
depends="$depends_openrc"
install_if="openrc $pkgname-lloadd=$pkgver-r$pkgrel"
amove etc/init.d/lloadd
amove etc/conf.d/lloadd
}
clients() {
pkgdesc="LDAP client utilities"
amove usr/bin
}
passwd_argon2() {
pkgdesc="Argon2 OpenLDAP support"
depends="$pkgname"
amove usr/lib/openldap/argon2.*
}
passwd_pbkdf2() {
pkgdesc="PBKDF2 OpenLDAP support"
depends="$pkgname"
amove usr/lib/openldap/pw-pbkdf2.*
}
passwd_sha2() {
pkgdesc="SHA2 OpenLDAP support"
depends="$pkgname"
amove usr/lib/openldap/pw-sha2.*
}
_backend_all() {
pkgdesc="Virtual package that installs all OpenLDAP backends"
depends="$_backend_pkgs"
mkdir -p "$subpkgdir"
}
_overlay_all() {
pkgdesc="Virtual package that installs all OpenLDAP overlays"
depends="$_overlay_pkgs"
mkdir -p "$subpkgdir"
}
_backend() {
backend_name="${subpkgname#openldap-back-}"
pkgdesc="OpenLDAP $backend_name backend"
case "$backend_name" in
lload) pkgdesc="OpenLDAP load balancer backend (module)";;
*) backend_name="back_$backend_name";;
esac
amove usr/lib/openldap/$backend_name*
}
_overlay() {
overlay_name="${subpkgname#openldap-overlay-}"
pkgdesc="OpenLDAP $overlay_name overlay"
case "$overlay_name" in
proxycache)
overlay_name=pcache
;;
mqtt)
# For backward compatibility (Alpine <3.15).
provides="$pkgname-mqtt=$pkgver-r$pkgrel"
replaces="$pkgname-mqtt"
;;
esac
amove usr/lib/openldap/$overlay_name*
}
sha512sums="
c86bda8a0af2645e586d56a1494a5bd486ec5dd55c47859dbabcc2bb6ddc0a8307e23c6b58228d49ee3c8bc5e4d6ead305863442efdcee3dc2ab9953097b5a77 openldap-2.6.8.tgz
8fa57c43c2d51cd2d1d297b4dd4edd9a15b549b6d5beb8038f66f65cb1d7c93b8fda326c33b4f9356ea99e63703c553662deefc87222f23a1e5517fbf2fabdeb 0001-Fix-build-issue-in-clients-tools-common.c.patch
a47f909a2ddc1efa12c369243ba59c5b312bebf67f5106d92b575ce9cb694540a9053a1cf6e9811c1ba1da8a9ea36062c357ff7e94d4bf8b4c2457fc4fdaaaec 0002-Add-UNIX_LINK_LIBS-to-slapi-Makefile.patch
81a9b769bc5b6b599c17381a9f6515f2c479d82f4d728627c83a746403fc3401529dc47146390a4b66a3a4e074cd09c850d3fabe1a097d92066ce16c4443a0fb 0003-Add-mqtt-overlay.patch
0552438d010a3cf225aa90b8c7744a8dbf853885f34a42f6dfc92e08a8b5b86c0082b1548498c6bc55522ca4ac8e3699cfba63be2279d9dcbbffa2690901f632 0004-Fix-manpages.patch
f88de2f92a31f1b906e850daa1b518fc90822e668c9ca99c33934304d260237a1406cb845c2f4985bcc1c1c49355784287cb8e27f724ab6833a8e90912decf73 0005-Correct-command-line-syntax-in-lloadd-tests.patch
30af37e70a53a55c56bb0e74eee770a00abe83d4b0a787845363ccff564b49b8ba20c907bb976442b4dc2278db7b0a039a11c85dd40a547af6de9a7f1591328f 0007-Use-correct-extension-for-slapd-modules.patch
eaadec2a58a7f117c67b10673e26fe8c38e40ae4c1ae5fda9004c9bbebca81b6cd51cc482f28d94dacd8154ed800fd1e90f48807970f54652bfc021f8039806e 0008-Remove-pidfile-and-argsfile.patch
1c2a18280ea06f8095f013c110f8b1b0779c3dc89aa19158cdedbe3a7e1019e7ea5a503cba4d3e3ae824423ded22b2ef334665d2281969ac3b0efb96de34e37e 0009-Include-more-schemas-in-default-config.patch
c47a415a2a9cd98bb448820b981f40df82b4825e0ebcc8a5fb3c604d15e8f57ea1578afca6b3aa90351fd13e7ddba7dc7452bdb669df4a402f02990ca154e34e lloadd.conf
d8bd06f56a816851015488cccb352657df09f1aed9990fc2870208ffb1c5c499ac1d7592c42e8fa6e4a26a6bb2535f57e91d3a2aecfb38cf15d86de20e0e69a7 slapd.initd
5898139481b3317b257ce1bfab401dd4e111a8f7ebb02262a8dcb165c6416fba1e5bb070cdf618918f018d2ad942d9514ce6a9b2ab1c57ac30ec75fb53b04af1 slapd.confd
60667ed6fe2a4fa590f3b3ab6b33e338d6f78334ed234941a8912cf6fe646d1a70b2480586faa18c33c9e130cb53347c9681900ebaa66c900ed76d93a7876d40 lloadd.initd
de18b02336ebfff79b681ae4781ed0fa29903162ab9fb64328750f0ae8f6c2533dac69d5430efb56f10734642a3f4cd81c50bdb2920b6f70ad89c87acabecbe2 lloadd.confd
"