Contents of /smage/trunk/extras/openldap/openldap-2.6.7-r1.smage2
Parent Directory | 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)
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 | } |