22 |
SRC_URI=( |
SRC_URI=( |
23 |
http://www.openldap.org/software/download/OpenLDAP/openldap-release/${SRCFILE} |
http://www.openldap.org/software/download/OpenLDAP/openldap-release/${SRCFILE} |
24 |
mirror://${PNAME}/${SRCFILE} |
mirror://${PNAME}/${SRCFILE} |
25 |
|
mirror://${PNAME}/slapd.service |
26 |
|
mirror://${PNAME}/slapd.confd |
27 |
) |
) |
28 |
|
|
29 |
UP2DATE="updatecmd http://www.openldap.org/software/download/ | grep 'currently avail' | sed 's/.*OpenLDAP-\(.*\)\ is.*/\1/'" |
UP2DATE="updatecmd http://www.openldap.org/software/download/ | grep 'currently avail' | sed 's/.*OpenLDAP-\(.*\)\ is.*/\1/'" |
45 |
munpack ${SRCFILE} || die |
munpack ${SRCFILE} || die |
46 |
cd ${SRCDIR} |
cd ${SRCDIR} |
47 |
|
|
48 |
|
# fix localstate dir to /run/openldap |
49 |
|
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 || die |
50 |
|
sed -i 's:%LOCALSTATEDIR%/run:/run/openldap:' servers/slapd/slapd.conf || die |
51 |
|
sed -i 's:-$(MKDIR) $(DESTDIR)$(localstatedir)/run:-$(MKDIR) $(DESTDIR)/run/openldap:' servers/slapd/Makefile.in || die |
52 |
|
|
53 |
# non standard, autoreconf doesn't work |
# non standard, autoreconf doesn't work |
54 |
mlibtoolize || die |
mlibtoolize || die |
55 |
aclocal || die |
aclocal || die |
60 |
{ |
{ |
61 |
cd ${SRCDIR} |
cd ${SRCDIR} |
62 |
|
|
63 |
# fixes a >=glibc-2.8 bug |
mconfigure \ |
64 |
# getpeereid.c: In function 'lutil_getpeereid': |
--localstatedir=/var/lib/openldap \ |
65 |
# getpeereid.c:65: error: storage size of 'peercred' isn't known |
--libexecdir=/usr/$(mlibdir)/openldap \ |
66 |
export CFLAGS="${CFLAGS} -D_GNU_SOURCE" |
--enable-overlays=mod \ |
67 |
export CXXFLAGS="${CXXFLAGS} -D_GNU_SOURCE" |
--enable-modules=yes \ |
68 |
|
|| die |
69 |
|
|
|
mconfigure --libexecdir=/usr/$(mlibdir)/${PNAME} || die |
|
70 |
mmake || die |
mmake || die |
71 |
} |
} |
72 |
|
|
76 |
mmake -C include DESTDIR=${BINDIR} install || die |
mmake -C include DESTDIR=${BINDIR} install || die |
77 |
mmake -C libraries DESTDIR=${BINDIR} install || die |
mmake -C libraries DESTDIR=${BINDIR} install || die |
78 |
mmake -C doc/man/man3 DESTDIR=${BINDIR} install || die |
mmake -C doc/man/man3 DESTDIR=${BINDIR} install || die |
79 |
|
# install ldap.conf man |
80 |
|
cp doc/man/man5/ldap.conf.5.tmp ldap.conf.5 || die |
81 |
|
minstallman ldap.conf.5 || die |
82 |
|
|
83 |
|
minstalldocs COPYRIGHT LICENSE || die |
84 |
} |
} |
85 |
|
|
86 |
src_install_openldap() |
src_install_openldap() |
91 |
mmake -C doc/man/man1 DESTDIR=${BINDIR} install || die |
mmake -C doc/man/man1 DESTDIR=${BINDIR} install || die |
92 |
mmake -C doc/man/man5 DESTDIR=${BINDIR} install || die |
mmake -C doc/man/man5 DESTDIR=${BINDIR} install || die |
93 |
mmake -C doc/man/man8 DESTDIR=${BINDIR} install || die |
mmake -C doc/man/man8 DESTDIR=${BINDIR} install || die |
94 |
|
# missing symlink |
95 |
|
mlink ../$(mlibdir)/openldap/slapd /usr/sbin/slapd || die |
96 |
|
# remove ldap.conf man, which is in the lib package |
97 |
|
rm ${BINDIR}/usr/share/man/man5/ldap.conf.5 || die |
98 |
|
|
99 |
|
# create runtime |
100 |
|
mkeepdir /var/lib/openldap || die |
101 |
|
mchown ldap:ldap /var/lib/openldap || die |
102 |
|
mchmod 0700 /var/lib/openldap || die |
103 |
|
|
104 |
|
# service |
105 |
|
minstallunit slapd.service || die |
106 |
|
minstallconf slapd.conf || die |
107 |
|
minstalltmp slapd.tempfile slapd.conf || die |
108 |
|
|
109 |
|
minstalldocs ANNOUNCEMENT CHANGES COPYRIGHT LICENSE || die |
110 |
|
} |
111 |
|
|
112 |
|
preinstall_openldap() |
113 |
|
{ |
114 |
|
# adding ssh user |
115 |
|
${MLIBDIR}/mgroupadd -o "-g 439" ldap |
116 |
|
${MLIBDIR}/museradd -o "-u 439 -g ldap -d /var/lib/openldap -s /bin/false" ldap |
117 |
|
} |
118 |
|
|
119 |
|
postinstall_openldap() |
120 |
|
{ |
121 |
|
mstartunit slapd.service |
122 |
|
} |
123 |
|
|
124 |
|
postremove_openldap() |
125 |
|
{ |
126 |
|
mstopunit slapd.service |
127 |
} |
} |