Magellan Linux

Contents of /smage/trunk/extras/openldap/openldap-2.6.7-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17873 - (show annotations) (download)
Wed Jan 31 16:14:11 2024 UTC (3 months, 2 weeks ago) by niro
File size: 5985 byte(s)
-ver bump to 2.6.7-r1
1 # $Id$
2
3 PNAME="openldap"
4 PVER="2.6.7"
5 PBUILD="r1"
6
7 SPLIT_PACKAGES="libldap libldap-lib32 libldap-dev openldap"
8
9 PCAT="net-nds"
10 HOMEPAGE="http://www.openldap.org/"
11
12 # enable features or not (0|1)
13 ENABLE_SASL=0
14 ENABLE_TCPWRAPPERS=0
15
16 LIB_DEPEND=">= dev-libs/openssl-1.1"
17
18 if [[ ${ENABLE_SASL} = 1 ]]
19 then
20 LIB_DEPEND="${LIB_DEPEND}
21 >= dev-libs/cyrus-sasl-2.1.26"
22 fi
23 if [[ ${ENABLE_TCPWRAPPERS} = 1 ]]
24 then
25 LIB_DEPEND="${LIB_DEPEND}
26 >= sys-apps/tcp-wrappers-7"
27 fi
28
29 # requires libltdl.so.7 from libtool package
30 LDAP_DEPEND=">= dev-db/db-6.2
31 >= sys-libs/libuuid-2.39
32 >= sys-libs/libltdl-2.9"
33
34 LDAP_LIB32_DEPEND=">= dev-db/db-6.2
35 >= sys-libs/libuuid-lib32-2.39
36 >= sys-libs/libltdl-lib32-2.9"
37
38 ALX_DEV_DEPEND=">= dev-db/db-dev-6.2
39 >= sys-libs/libuuid-dev-2.39
40 >= dev-libs/openssl-dev-3.1"
41
42 SDEPEND="${LIB_DEPEND}
43 ${LDAP_DEPEND}
44 >= sys-apps/util-linux-2.39
45 >= sys-dev/libtool-2.4
46 ${ALX_DEV_DEPEND}"
47
48 SRCFILE="${PNAME}-${PVER}.tgz"
49 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
50
51 sminclude multilib mtools systemd rpath cleanutils
52 msetfeature "!check"
53
54 SRC_URI=(
55 http://www.openldap.org/software/download/OpenLDAP/openldap-release/${SRCFILE}
56 mirror://${PNAME}/${SRCFILE}
57 mirror://${PNAME}/slapd.service
58 mirror://${PNAME}/slapd.confd
59 mirror://${PNAME}/slapd.tmpfile
60 )
61
62 UP2DATE="updatecmd https://www.openldap.org/software/download/OpenLDAP/openldap-release/ | grep ${PNAME}-[0-9] | highesttarball tgz"
63
64 split_info_libldap()
65 {
66 DESCRIPTION="Lightweight Directory Access Protocol client libraries."
67 DEPEND="${LIB_DEPEND}"
68 }
69
70 split_info_libldap-lib32()
71 {
72 DESCRIPTION="Lightweight Directory Access Protocol client libraries - 32bit."
73 DEPEND="== net-nds/libldap-${PVER}
74 ${LIB_LIB32_DEPEND}"
75 }
76
77 split_info_libldap-dev()
78 {
79 DESCRIPTION="Development files for libldap."
80 DEPEND="== net-nds/libldap-${PVER}
81 == net-nds/libldap-lib32-${PVER}"
82 }
83
84 split_info_openldap()
85 {
86 DESCRIPTION="OpenLDAP is an open source implementation of the Lightweight Directory Access Protocol."
87 DEPEND="== net-nds/libldap-${PVER}
88 ${LDAP_DEPEND}"
89 }
90
91 pkg_setup()
92 {
93 preinstall_openldap
94 }
95
96 src_prepare()
97 {
98 munpack ${SRCFILE} || die
99
100 local abi
101 for abi in ${MULTILIB_ABIS}
102 do
103 cd ${SRCDIR}-${abi}
104 # fix localstate dir to /run/openldap
105 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
106 sed -i 's:%LOCALSTATEDIR%/run:/run/openldap:' servers/slapd/slapd.conf || die
107 sed -i 's:-$(MKDIR) $(DESTDIR)$(localstatedir)/run:-$(MKDIR) $(DESTDIR)/run/openldap:' servers/slapd/Makefile.in || die
108
109 # remove db version limits
110 sed -i '/6.0.20/ a\\t__db_version_compat' build/openldap.m4 || die
111
112 # non standard, autoreconf doesn't work
113 libtoolize --force || die
114 aclocal || die
115 autoconf --force || die
116 done
117 }
118
119 src_compile()
120 {
121 local myconf
122
123 if [[ ${ENABLE_SASL} = 1 ]]
124 then
125 # enable sasl
126 myconf+=" --with-cyrus-sasl"
127 else
128 # disable sasl
129 myconf+=" --without-cyrus-sasl"
130 fi
131
132 if [[ ${ENABLE_TCPWRAPPERS} = 1 ]]
133 then
134 # enable tcp-wrappers
135 myconf+=" --enable-wrappers"
136 else
137 # disable tcp-wrappers
138 myconf+=" --disable-wrappers"
139 fi
140
141 # use mdb as default db, drop berkeley db support
142 mconfigure \
143 --localstatedir=/var/lib/openldap \
144 --libexecdir=/usr/$(mlibdir)/openldap \
145 --enable-overlays=mod \
146 --enable-modules=yes \
147 ${myconf} \
148 || die
149
150 all-abis "sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool" || die
151
152 mmake || die
153 }
154
155 src_install_libldap()
156 {
157 only-m64 mmake -j1 -C libraries DESTDIR=${BINDIR} install || die
158 zapmost ${BINDIR} etc usr/$(mlibdir)/\*.so\* || die
159 }
160
161 src_install_libldap-lib32()
162 {
163 only-m32 mmake -j1 -C libraries DESTDIR=${BINDIR} install || die
164 zapmost ${BINDIR} usr/$(MABI=m32 mlibdir)/\*.so\* || die
165 }
166
167 src_install_libldap-dev()
168 {
169 mmake -j1 -C libraries DESTDIR=${BINDIR} install || die
170 zapmost ${BINDIR} \
171 usr/$(mlibdir)/\*.so \
172 usr/$(mlibdir)/\*.la \
173 usr/$(mlibdir)/\*.a \
174 usr/$(mlibdir)/pkgconfig \
175 usr/$(MABI=m32 mlibdir)/\*.so \
176 usr/$(MABI=m32 mlibdir)/\*.la \
177 usr/$(MABI=m32 mlibdir)/\*.a \
178 usr/$(MABI=m32 mlibdir)/pkgconfig \
179 || die
180
181 mmake -j1 -C include DESTDIR=${BINDIR} install || die
182 mmake -j1 -C doc/man/man3 DESTDIR=${BINDIR} install || die
183 # install ldap.conf man
184 cp doc/man/man5/ldap.conf.5.tmp ldap.conf.5 || die
185 minstallman ldap.conf.5 || die
186
187 minstalldocs COPYRIGHT LICENSE || die
188 }
189
190 src_install_openldap()
191 {
192 # temp install to fix some relinking issues
193 mmake -j1 -C libraries DESTDIR=${BINDIR} install || die
194 mdelete -r /etc || die
195
196 mmake -j1 -C clients DESTDIR=${BINDIR} install || die
197 mmake -j1 -C servers DESTDIR=${BINDIR} install || die
198 mmake -j1 -C doc/man/man1 DESTDIR=${BINDIR} install || die
199 mmake -j1 -C doc/man/man5 DESTDIR=${BINDIR} install || die
200 mmake -j1 -C doc/man/man8 DESTDIR=${BINDIR} install || die
201
202 # clean up temp libraries
203 mdelete -r /usr/$(mlibdir) || die
204 if [[ $(MABI=m64 mlibdir) != lib ]]
205 then
206 mdelete -r /usr/$(MABI=m64 mlibdir) || die
207 fi
208 if [[ $(MABI=m32 mlibdir) != lib ]]
209 then
210 mdelete -r /usr/$(MABI=m32 mlibdir) || die
211 fi
212
213 # missing symlink
214 mlink ../$(mlibdir)/openldap/slapd /usr/sbin/slapd || die
215 # remove ldap.conf man, which is in the lib package
216 mdelete /usr/share/man/man5/ldap.conf.5 || die
217
218 # create runtime
219 mkeepdir /var/lib/openldap || die
220 mchown ldap:ldap /var/lib/openldap || die
221 mchmod 0700 /var/lib/openldap || die
222 # openldap modules dir
223 mkeepdir /usr/$(mlibdir)/openldap/openldap || die
224
225 # service
226 minstallunit slapd.service || die
227 minstallconf slapd.confd slapd || die
228 minstalltmp slapd.tmpfile slapd.conf || die
229
230 # remove insecure rpath
231 mdeleterpath || die
232
233 minstalldocs ANNOUNCEMENT CHANGES COPYRIGHT LICENSE || die
234 }
235
236 preinstall_openldap()
237 {
238 # adding ldap user
239 mgroupadd -o "-g 439" ldap
240 museradd -o "-u 439 -g ldap -d /var/lib/openldap -s /bin/false" ldap
241 }
242
243 postinstall_openldap()
244 {
245 mstartunit slapd.service
246 }
247
248 postremove_openldap()
249 {
250 mstopunit slapd.service
251 }