1 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
5 STX_REPO = "config-files"
6 STX_SUBPATH = "openldap-config"
8 LICENSE_append = "& Apache-2.0"
10 file://${STX_METADATA_PATH}/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
14 file://rootdn-should-not-bypass-ppolicy.patch \
15 file://0021-openldap-and-stx-source-and-config-files.patch \
17 RRECOMMENDS_openldap += " \
18 openldap-backend-shell \
19 openldap-backend-passwd \
20 openldap-backend-null \
21 openldap-backend-monitor \
22 openldap-backend-meta \
23 openldap-backend-ldap \
24 openldap-backend-dnssrv \
27 openldap-overlay-proxycache \
33 inherit pkgconfig useradd
35 USERADD_PACKAGES = "${PN}"
36 USERADD_PARAM_${PN} = "-r -g ldap -u 55 -d / -s /sbin/nologin -c 'OpenLDAP server' ldap"
37 GROUPADD_PARAM_${PN} = "-r -g 55 ldap"
40 SYSTEMD_PACKAGES += "${PN}"
41 SYSTEMD_SERVICE_${PN}_append = "slapd.service"
42 SYSETMD_AUTO_ENABLE_${PN} = "enable"
43 # Needed for stx init.d/openldap
44 DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
46 PACKAGECONFIG_CONFARGS_remove = "--with-tls=gnutls "
55 RDEPENDS_${PN}_append = " bash"
57 # Do not remove libtool la files slapd.conf uses ppolicy.la
58 REMOVE_LIBTOOL_LA = "0"
65 # --enable-monitor=mod
68 # --enable-wrappers=yes
69 # --enable-moznss-compatibility=yes
73 # mysql_config: native command missing
90 --enable-wrappers=no \
91 --enable-backends=mod \
95 --enable-monitor=yes \
97 --enable-overlays=mod \
104 # --enable-moznss-compatibility=no
109 # --enable-moznss-compatibility=yes
111 do_configure_append () {
113 ln -f -s ${S}/contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
114 ln -f -s ${S}/contrib/slapd-modules/allop/allop.c servers/slapd/overlays
115 ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.c servers/slapd/overlays
116 ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.h servers/slapd/overlays
117 ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/slapd-sha2.c servers/slapd/overlays
121 do_install_append () {
123 # For this we need to build ltb-project-openldap
124 #install -m 755 check_password.so.%{check_password_version} %{buildroot}%{_libdir}/openldap/
127 install -m 0755 -d ${D}/var/run/openldap
128 install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
129 install -m 0755 ${S}/stx-sources/slapd.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
130 install -m 0755 ${S}/stx-sources/openldap.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/openldap.conf
131 install -m 0755 ${S}/stx-sources/ldap.conf ${D}/${sysconfdir}/tmpfiles.d/ldap.conf
133 # The database directory MUST exist prior to running slapd AND
134 # should only be accessible by the slapd and slap tools.
135 # Mode 700 recommended.
136 echo "d /var/lib/openldap-data 0700 ldap ldap -" >> ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
138 install -m 0644 libexec-functions ${D}/${libexecdir}/openldap/functions
139 install -m 0755 libexec-convert-config.sh ${D}/${libexecdir}/openldap/convert-config.sh
140 install -m 0755 libexec-check-config.sh ${D}/${libexecdir}/openldap/check-config.sh
141 install -m 0755 libexec-upgrade-db.sh ${D}/${libexecdir}/openldap/upgrade-db.sh
143 install -m 0755 libexec-create-certdb.sh ${D}/${libexecdir}/openldap/create-certdb.sh
144 install -m 0755 libexec-generate-server-cert.sh ${D}/${libexecdir}/openldap/generate-server-cert.sh
145 install -m 0755 libexec-update-ppolicy-schema.sh ${D}/${libexecdir}/openldap/update-ppolicy-schema.sh
147 install -m 0755 -d ${D}/${sysconfdir}/sysconfig
148 install -m 0644 slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
149 install -m 0755 -d ${D}/${datadir}/openldap-servers
150 install -m 0644 slapd.ldif ${D}/${datadir}/openldap-servers/slapd.ldif
151 install -m 0750 -d ${D}/${sysconfdir}/openldap/slapd.d
154 sed -i -e 's:\(/sbin/runuser\):/usr\1:g' ${D}/usr/libexec/openldap/functions
156 install -m 755 ${STX_METADATA_PATH}/files/initscript ${D}/${sysconfdir}/init.d/openldap
157 install -m 600 ${STX_METADATA_PATH}/files/slapd.conf ${D}/${sysconfdir}/openldap/slapd.conf
159 install -m 600 ${STX_METADATA_PATH}/files/initial_config.ldif ${D}/${sysconfdir}/openldap/initial_config.ldif
161 install -D -m 644 ${STX_METADATA_PATH}/files/slapd.service ${D}/${systemd_system_unitdir}/slapd.service
162 sed -i -e 's|/var/run|/run|' ${D}/${systemd_system_unitdir}/slapd.service
164 install -m 644 ${STX_METADATA_PATH}/files/slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
169 FILES_${PN}_append = " \
170 ${datadir}/openldap-servers/ \
171 ${libexecdir}/openldap/ \
172 ${sysconfdir}/sysconfig \
173 ${sysconfdir}/tmpfiles.d \
174 ${systemd_system_unitdir}/slapd.service \
175 ${sysconfdir}/openldap/initial_config.ldif \
178 # *.la are openldap modules.
179 FILES_${PN}-dev = " \
183 ${libexecdir}/openldap/*${SOLIBSDEV} \