[arch-commits] Commit in openldap/repos (5 files)
Antonio Rojas
arojas at gemini.archlinux.org
Sat Nov 13 09:06:48 UTC 2021
Date: Saturday, November 13, 2021 @ 09:06:48
Author: arojas
Revision: 428212
archrelease: copy trunk to staging-x86_64
Added:
openldap/repos/staging-x86_64/
openldap/repos/staging-x86_64/PKGBUILD
(from rev 428211, openldap/trunk/PKGBUILD)
openldap/repos/staging-x86_64/openldap.sysusers
(from rev 428211, openldap/trunk/openldap.sysusers)
openldap/repos/staging-x86_64/openldap.tmpfiles
(from rev 428211, openldap/trunk/openldap.tmpfiles)
openldap/repos/staging-x86_64/slapd.service
(from rev 428211, openldap/trunk/slapd.service)
-------------------+
PKGBUILD | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++
openldap.sysusers | 1
openldap.tmpfiles | 3
slapd.service | 9 ++
4 files changed, 173 insertions(+)
Copied: openldap/repos/staging-x86_64/PKGBUILD (from rev 428211, openldap/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2021-11-13 09:06:48 UTC (rev 428212)
@@ -0,0 +1,160 @@
+# Maintainer:
+# Contributor: George Rawlinson <grawlinson at archlinux.org>
+
+pkgbase=openldap
+pkgname=('openldap' 'libldap')
+pkgver=2.6.0
+pkgrel=1
+arch=('x86_64')
+url="https://www.openldap.org/"
+license=('custom')
+makedepends=('libtool' 'libsasl' 'e2fsprogs' 'util-linux' 'chrpath' 'unixodbc' 'libsodium' 'systemd')
+options=('!makeflags' 'emptydirs')
+source=(
+ https://www.openldap.org/software/download/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz{,.asc}
+ openldap.tmpfiles
+ openldap.sysusers)
+sha256sums=('b71c580eac573e9aba15d95f33dd4dd08f2ed4f0d7fc09e08ad4be7ed1e41a4f'
+ 'SKIP'
+ '0be46138e53ff2fa6d4b4c06bfbdd2100426e0bd2ed29bf3419ade6b5974e9a0'
+ 'c6e3fa72138edfebb4ecb17f677e217c885ff9eef805b5c8ad1c09169bb0ff8e')
+validpgpkeys=('3CE269B5398BC8B785645E987F67D5FD1CE1CBCE') # OpenLDAP Project <project at openldap.org> https://www.openldap.org/software/download/OpenLDAP/gpg-pubkey.txt
+
+# extra modules found in contrib/slapd-modules
+_extra_modules=(
+ 'nssov'
+ 'autogroup'
+ 'lastbind'
+ 'passwd/sha2'
+)
+
+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
+
+ # modify upstream systemd service
+ sed -i -e "s|EnvironmentFile.*|EnvironmentFile=-/etc/conf.d/slapd|" -e "s/slapd -d 0/\0 -u ldap -g ldap/" servers/slapd/slapd.service
+}
+
+build() {
+ cd ${pkgbase}-${pkgver}
+ autoconf
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib/openldap \
+ --sbindir=/usr/bin \
+ --enable-dynamic \
+ --enable-syslog \
+ --enable-ipv6 \
+ --enable-local \
+ --enable-crypt \
+ --enable-spasswd \
+ --enable-modules \
+ --enable-backends \
+ --enable-argon2 \
+ --with-argon2=libsodium \
+ --disable-wt \
+ --enable-overlays=mod \
+ --with-cyrus-sasl \
+ --with-threads
+
+ 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
+}
+
+check() {
+ cd ${pkgbase}-${pkgver}
+ make test
+}
+
+package_libldap() {
+ pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries"
+ 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"
+ depends=("libldap>=${pkgver}" 'libtool' 'unixodbc' 'perl' 'systemd-libs' '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
+ if [ "$module" != "passwd/sha2" ]; then
+ 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}
+
+ # systemd integration
+ install -Dm644 "${srcdir}"/openldap.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/openldap.conf
+ install -Dm644 "${srcdir}"/openldap.sysusers "${pkgdir}"/usr/lib/sysusers.d/openldap.conf
+
+ # license
+ install -Dm644 -t "${pkgdir}"/usr/share/licenses/"${pkgname}" LICENSE
+}
Copied: openldap/repos/staging-x86_64/openldap.sysusers (from rev 428211, openldap/trunk/openldap.sysusers)
===================================================================
--- staging-x86_64/openldap.sysusers (rev 0)
+++ staging-x86_64/openldap.sysusers 2021-11-13 09:06:48 UTC (rev 428212)
@@ -0,0 +1 @@
+u ldap 439 "LDAP Server" /var/lib/openldap
Copied: openldap/repos/staging-x86_64/openldap.tmpfiles (from rev 428211, openldap/trunk/openldap.tmpfiles)
===================================================================
--- staging-x86_64/openldap.tmpfiles (rev 0)
+++ staging-x86_64/openldap.tmpfiles 2021-11-13 09:06:48 UTC (rev 428212)
@@ -0,0 +1,3 @@
+D /run/openldap 0755 ldap ldap -
+
+f /var/lib/openldap/.placeholder 0644 ldap ldap - "prevent pwcheck error; pacman should not remove ~ldap"
Copied: openldap/repos/staging-x86_64/slapd.service (from rev 428211, openldap/trunk/slapd.service)
===================================================================
--- staging-x86_64/slapd.service (rev 0)
+++ staging-x86_64/slapd.service 2021-11-13 09:06:48 UTC (rev 428212)
@@ -0,0 +1,9 @@
+[Unit]
+Description=OpenLDAP server daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/slapd -u ldap -g ldap
+
+[Install]
+WantedBy=multi-user.target
More information about the arch-commits
mailing list