1 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
3 SRCREV_FORMAT = "opendev"
4 SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
5 SUBPATH0 = "openldap-config"
6 DSTSUFX0 = "stx-configfiles"
8 LICENSE_append = "& Apache-2.0"
10 file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
14 git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
15 file://rootdn-should-not-bypass-ppolicy.patch \
16 file://0021-openldap-and-stx-source-and-config-files.patch \
18 RRECOMMENDS_openldap += " \
19 openldap-backend-shell \
20 openldap-backend-passwd \
21 openldap-backend-null \
22 openldap-backend-monitor \
23 openldap-backend-meta \
24 openldap-backend-ldap \
25 openldap-backend-dnssrv \
28 openldap-overlay-proxycache \
34 inherit pkgconfig useradd
36 USERADD_PACKAGES = "${PN}"
37 USERADD_PARAM_${PN} = "-r -g ldap -u 55 -d / -s /sbin/nologin -c 'OpenLDAP server' ldap"
38 GROUPADD_PARAM_${PN} = "-r -g 55 ldap"
41 SYSTEMD_PACKAGES += "${PN}"
42 SYSTEMD_SERVICE_${PN}_append = "slapd.service"
43 SYSETMD_AUTO_ENABLE_${PN} = "enable"
44 # Needed for stx init.d/openldap
45 DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
47 PACKAGECONFIG_CONFARGS_remove = "--with-tls=gnutls "
56 RDEPENDS_${PN}_append = " bash"
58 # Do not remove libtool la files slapd.conf uses ppolicy.la
59 REMOVE_LIBTOOL_LA = "0"
66 # --enable-monitor=mod
69 # --enable-wrappers=yes
70 # --enable-moznss-compatibility=yes
74 # mysql_config: native command missing
91 --enable-wrappers=no \
92 --enable-backends=mod \
96 --enable-monitor=yes \
98 --enable-overlays=mod \
105 # --enable-moznss-compatibility=no
110 # --enable-moznss-compatibility=yes
113 bb.build.exec_func('do_copy_config_files', d)
116 do_copy_config_files () {
117 cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
120 do_configure_append () {
122 ln -f -s ${S}/contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
123 ln -f -s ${S}/contrib/slapd-modules/allop/allop.c servers/slapd/overlays
124 ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.c servers/slapd/overlays
125 ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.h servers/slapd/overlays
126 ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/slapd-sha2.c servers/slapd/overlays
130 do_install_append () {
132 # For this we need to build ltb-project-openldap
133 #install -m 755 check_password.so.%{check_password_version} %{buildroot}%{_libdir}/openldap/
136 install -m 0755 -d ${D}/var/run/openldap
137 install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
138 install -m 0755 ${S}/stx-sources/slapd.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
139 install -m 0755 ${S}/stx-sources/openldap.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/openldap.conf
140 install -m 0755 ${S}/stx-sources/ldap.conf ${D}/${sysconfdir}/tmpfiles.d/ldap.conf
142 # The database directory MUST exist prior to running slapd AND
143 # should only be accessible by the slapd and slap tools.
144 # Mode 700 recommended.
145 echo "d /var/lib/openldap-data 0700 ldap ldap -" >> ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
147 install -m 0644 libexec-functions ${D}/${libexecdir}/openldap/functions
148 install -m 0755 libexec-convert-config.sh ${D}/${libexecdir}/openldap/convert-config.sh
149 install -m 0755 libexec-check-config.sh ${D}/${libexecdir}/openldap/check-config.sh
150 install -m 0755 libexec-upgrade-db.sh ${D}/${libexecdir}/openldap/upgrade-db.sh
152 install -m 0755 libexec-create-certdb.sh ${D}/${libexecdir}/openldap/create-certdb.sh
153 install -m 0755 libexec-generate-server-cert.sh ${D}/${libexecdir}/openldap/generate-server-cert.sh
154 install -m 0755 libexec-update-ppolicy-schema.sh ${D}/${libexecdir}/openldap/update-ppolicy-schema.sh
156 install -m 0755 -d ${D}/${sysconfdir}/sysconfig
157 install -m 0644 slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
158 install -m 0755 -d ${D}/${datadir}/openldap-servers
159 install -m 0644 slapd.ldif ${D}/${datadir}/openldap-servers/slapd.ldif
160 install -m 0750 -d ${D}/${sysconfdir}/openldap/slapd.d
163 sed -i -e 's:\(/sbin/runuser\):/usr\1:g' ${D}/usr/libexec/openldap/functions
165 install -m 755 ${WORKDIR}/${DSTSUFX0}/files/initscript ${D}/${sysconfdir}/init.d/openldap
166 install -m 600 ${WORKDIR}/${DSTSUFX0}/files/slapd.conf ${D}/${sysconfdir}/openldap/slapd.conf
168 install -m 600 ${WORKDIR}/${DSTSUFX0}/files/initial_config.ldif ${D}/${sysconfdir}/openldap/initial_config.ldif
170 # install -D -m 644 ${WORKDIR}/${DSTSUFX0}/files/slapd.service ${D}/${sysconfdir}/systemd/system/slapd.service
171 install -D -m 644 ${WORKDIR}/${DSTSUFX0}/files/slapd.service ${D}/${systemd_system_unitdir}/slapd.service
172 sed -i -e 's|/var/run|/run|' ${D}/${systemd_system_unitdir}/slapd.service
174 install -m 644 ${WORKDIR}/${DSTSUFX0}/files/slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
179 FILES_${PN}_append = " \
180 ${datadir}/openldap-servers/ \
181 ${libexecdir}/openldap/ \
182 ${sysconfdir}/sysconfig \
183 ${sysconfdir}/tmpfiles.d \
184 ${systemd_system_unitdir}/slapd.service \
185 ${sysconfdir}/openldap/initial_config.ldif \
188 # *.la are openldap modules.
189 FILES_${PN}-dev = " \
193 ${libexecdir}/openldap/*${SOLIBSDEV} \