jobcore/openldap/PKGBUILD

183 lines
5.5 KiB
Bash
Raw Permalink Normal View History

2022-03-20 13:19:37 +01:00
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
2024-08-22 17:58:58 +02:00
# PkgSource : url="https://git.disroot.org/joborun-pkg/jobcore/src/branch/main/$pkgname"
2022-05-07 02:11:34 +02:00
# Website : https://pozol.eu
2022-03-20 13:19:37 +01:00
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=openldap
pkgname=('openldap' 'libldap')
pkgdesc='Lightweight Directory Access Protocol (LDAP) client, libraries, and server, w/o ipv6 & systemd'
2024-05-24 00:43:36 +02:00
pkgver=2.6.8
pkgrel=01
2022-03-20 13:19:37 +01:00
url='https://www.openldap.org'
source=($url/software/download/OpenLDAP/openldap-release/$pkgbase-$pkgver.tgz{,.asc}
openldap.tmpfiles
openldap.sysusers)
# extra modules found in contrib/slapd-modules
_extra_modules=(
'nssov'
'autogroup'
'lastbind'
'passwd/sha2'
2023-04-02 22:03:12 +02:00
'allowed'
'noopsrch'
2022-03-20 13:19:37 +01:00
)
makedepends=('libtool' 'libsasl' 'util-linux' 'chrpath' 'unixodbc' 'libsodium')
#options=('!makeflags' 'emptydirs' '!lto')
options=('!makeflags' 'emptydirs')
2022-03-20 13:19:37 +01:00
prepare() {
cd $pkgbase-$pkgver
# change perms from 0644 to 0755
sed -i 's|-m 644 $(LIBRARY)|-m 755 $(LIBRARY)|' libraries/{liblber,libldap}/Makefile.in
# change rundir to /run/openldap
sed -i 's|#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi"|#define LDAPI_SOCK LDAP_DIRSEP "run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi"|' include/ldap_defaults.h
sed -i 's|%LOCALSTATEDIR%/run|/run/openldap|' servers/slapd/slapd.{conf,ldif}
sed -i 's|-$(MKDIR) $(DESTDIR)$(localstatedir)/run|-$(MKDIR) $(DESTDIR)/run/openldap|' servers/slapd/Makefile.in
}
build() {
cd $pkgbase-$pkgver
autoconf
./configure \
--prefix=/usr \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--localstatedir=/var/lib/openldap \
--sbindir=/usr/bin \
--enable-dynamic \
--enable-syslog \
--disable-ipv6 \
--enable-local \
--enable-crypt \
--enable-spasswd \
--enable-modules \
--enable-backends \
--enable-argon2 \
--with-argon2=libsodium \
--disable-wt \
--enable-overlays=mod \
--with-cyrus-sasl \
2022-11-15 16:49:16 +01:00
--with-threads
2022-03-20 13:19:37 +01:00
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
# build extra modules
for module in "${_extra_modules[@]}"; do
make -C "contrib/slapd-modules/$module" \
OPT="$CFLAGS $CPPFLAGS" \
prefix=/usr \
libexecdir=/usr/lib \
sysconfdir=/etc/openldap
done
}
2022-11-15 16:49:16 +01:00
#
# if a test fails comment this out and makepkg without the -f option
#
#check() {
# cd $pkgbase-$pkgver
# make test
#}
#
#
2022-03-20 13:19:37 +01:00
package_libldap() {
pkgdesc='Lightweight Directory Access Protocol (LDAP) client libraries without ipv6'
depends=('libsasl' 'e2fsprogs')
backup=('etc/openldap/ldap.conf')
cd $pkgbase-$pkgver
for dir in include libraries doc/man/man3 ; do
pushd ${dir}
make DESTDIR="${pkgdir}" install
popd
done
install -Dm644 -t"$pkgdir/usr/share/man/man5" doc/man/man5/ldap.conf.5
# remove duplicate conf files
rm $pkgdir/etc/openldap/*.default
# shared library versioning
ln -sf liblber.so $pkgdir/usr/lib/liblber.so.2
ln -sf libldap.so $pkgdir/usr/lib/libldap.so.2
# license
install -Dm644 -t $pkgdir/usr/share/licenses/$pkgname LICENSE
}
package_openldap() {
pkgdesc='Lightweight Directory Access Protocol (LDAP) client and server without ipv6'
depends=("libldap>=$pkgver" 'libtool' 'unixodbc' 'perl' 'libsodium')
backup=('etc/openldap/slapd.conf' 'etc/openldap/slapd.ldif')
cd $pkgbase-$pkgver
for dir in clients servers doc/man/man{1,5,8}; do
pushd ${dir}
make DESTDIR="${pkgdir}" install
popd
done
# install extra modules
for module in "${_extra_modules[@]}"; do
make -C "contrib/slapd-modules/$module" \
prefix=/usr \
libexecdir=/usr/lib \
sysconfdir=/etc/openldap \
DESTDIR="$pkgdir" install
# passwd/sha2 has no man page, so skip it
2023-04-02 22:03:12 +02:00
if [ -f "contrib/slapd-modules/$module/slapo-$module.5" ]; then
2022-03-20 13:19:37 +01:00
install -m644 -t "$pkgdir/usr/share/man/man5" \
"contrib/slapd-modules/$module/slapo-$module.5"
fi
done
# should be in libldap package
rm "${pkgdir}"/usr/share/man/man5/ldap.conf.5
# let systemd-tmpfiles generate this directory
rm -r "${pkgdir}"/run
# get rid of duplicate conf files
rm "${pkgdir}"/etc/openldap/*.default
ln -s ../lib/slapd "${pkgdir}"/usr/bin/slapd
chown root:439 "${pkgdir}"/etc/openldap/slapd.{conf,ldif}
chmod 640 "${pkgdir}"/etc/openldap/slapd.{conf,ldif}
install -dm700 -o 439 -g 439 "${pkgdir}"/var/lib/openldap
chown -R 439:439 "${pkgdir}"/var/lib/openldap
install -dm700 -o 439 -g 439 "${pkgdir}"/etc/openldap/slapd.d
install -Dm644 "${srcdir}"/openldap.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/openldap.conf
install -Dm644 "${srcdir}"/openldap.sysusers "${pkgdir}"/usr/lib/sysusers.d/openldap.conf
install -Dm644 -t "${pkgdir}"/usr/share/licenses/"${pkgname}" LICENSE
}
2023-04-02 22:03:12 +02:00
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
2022-03-20 13:19:37 +01:00
license=(custom)
validpgpkeys=('3CE269B5398BC8B785645E987F67D5FD1CE1CBCE') # OpenLDAP Project <project@openldap.org> https://www.openldap.org/software/download/OpenLDAP/gpg-pubkey.txt
2024-05-24 00:43:36 +02:00
sha256sums=(48969323e94e3be3b03c6a132942dcba7ef8d545f2ad35401709019f696c3c4e # openldap-2.6.8.tgz
add421666e2e0ad41b18a60f3687466eb26cae338b1c315d7a4fd6a03ba5f948 # openldap-2.6.8.tgz.asc
0be46138e53ff2fa6d4b4c06bfbdd2100426e0bd2ed29bf3419ade6b5974e9a0 # openldap.tmpfiles
2022-03-20 13:19:37 +01:00
c6e3fa72138edfebb4ecb17f677e217c885ff9eef805b5c8ad1c09169bb0ff8e) # openldap.sysusers
2024-05-24 00:43:36 +02:00
## a0d6bb0c7ba367097c13d89b2b9e72ccb55239472b99fa7d940d89fae9010975 openldap-2.6.8-01-x86_64.pkg.tar.lz
## 65d93869ccb8a057dfdba51730f34e4d26f5761a1b978e1524d6ea679c76270b libldap-2.6.8-01-x86_64.pkg.tar.lz
2024-01-30 22:06:44 +01:00