Files
2026-02-16 23:42:28 +03:00

117 lines
4.2 KiB
Python

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
KeepSpecial = ["libtool"]
def setup():
pisitools.dosed(
"include/ldap_defaults.h",
"(#define LDAPI_SOCK).*",
'\\1 "/run/openldap/slapd.sock"'
)
pisitools.dosed("servers/slapd/Makefile.in", "(\$\(DESTDIR\))\$\(localstatedir\)(\/run)", r"\1\2")
# pisitools.flags.add("-D_REENTRANT -D_GNU_SOURCE -fPIC -Wl,--as-needed -DLDAP_CONNECTIONLESS")
# shelltools.system("sed -i 's|%LOCALSTATEDIR%/run|/run/openldap|' servers/slapd/slapd.{conf,ldif}")
shelltools.system("sed -i 's|-m 644 $(LIBRARY)|-m 755 $(LIBRARY)|' libraries/{liblber,libldap}/Makefile.in")
#pisitools.ldflags.add("-pie")
options = "--prefix=/usr \
--enable-backends=mod \
--enable-slapd \
--enable-passwd=mod \
--enable-dnssrv=mod \
--enable-ldap \
--enable-meta=mod \
--enable-null=mod \
--enable-rlookups \
--enable-modules \
--enable-cleartext \
--enable-slapi \
--enable-dyngroup \
--enable-proxycache \
--enable-syslog \
--enable-dynamic \
--enable-local \
--enable-overlays=mod \
--with-pic \
--without-fetch \
--disable-wt \
--enable-crypt \
--enable-ipv6 \
--enable-dynacl \
--enable-shared \
--enable-static=no \
--disable-slp \
--localstatedir=/var/lib"
# --enable-aci \
# --enable-wrappers \
if get.buildTYPE() == "emul32":
options += " --prefix=/emul32 \
--libdir=/usr/lib32 \
--libexecdir=/usr/lib32 \
--disable-bdb \
--disable-hdb \
--disable-wrappers \
--disable-spasswd \
--disable-perl \
--with-tls=auto \
--disable-ndb \
--disable-sql \
--without-cyrus-sasl"
else: options += " --enable-wrappers \
--enable-spasswd \
--enable-perl \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--enable-mdb=yes \
--with-cyrus-sasl \
--enable-bdb=yes \
--enable-hdb=yes \
--with-gnu-ld \
--with-threads \
--with-tls=auto"
shelltools.export("AUTOMAKE", "/bin/true")
autotools.autoreconf("-fi")
autotools.configure(options)
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
def build():
autotools.make("-j1")
def install():
if get.buildTYPE() == "emul32":
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dosym("/usr/lib/libslapi.so.2.0.200", "/usr/lib/libldap-2.4.so.2")
pisitools.dosym("/usr/lib/liblber.so.2.0.200", "/usr/lib/liblber-2.4.so.2")
pisitools.dosym("/usr/lib/libslapi.so.2.0.200", "/usr/lib/libslapi-2.4.so.2")
# pisitools.dosym("/usr/lib/slapd", "/usr/libexec/slapd")
pisitools.dosym("/usr/lib/slapd", "/usr/bin/slapd")
pisitools.remove("/usr/lib32/*.la")
pisitools.remove("/usr/lib32/openldap/*.la")
return
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dodir("/run/openldap")
pisitools.dodir("/etc/openldap/ssl")
pisitools.dodoc("ANNOUNCEMENT", "CHANGES", "COPYRIGHT", "LICENSE")
pisitools.remove("/usr/lib/*.la")
pisitools.remove("/usr/lib/openldap/*.la")