Files
Jackie Huang eb4e712eee openldap: update for stx 5.0
* inherit stx-metadata to help install updated files
  from stx 'config-files' repo

* remove do_copy_config_files since it's not
  needed after using stx-metadata

Story: 2008952
Task: 42576

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: I7dbe85e9a6b38375b29bd927034c7e637983804b
2021-06-24 17:07:05 +08:00

186 lines
5.6 KiB
Plaintext

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
inherit stx-metadata
STX_REPO = "config-files"
STX_SUBPATH = "openldap-config"
LICENSE_append = "& Apache-2.0"
LIC_FILES_CHKSUM += "\
file://${STX_METADATA_PATH}/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
"
SRC_URI += " \
file://rootdn-should-not-bypass-ppolicy.patch \
file://0021-openldap-and-stx-source-and-config-files.patch \
"
RRECOMMENDS_openldap += " \
openldap-backend-shell \
openldap-backend-passwd \
openldap-backend-null \
openldap-backend-monitor \
openldap-backend-meta \
openldap-backend-ldap \
openldap-backend-dnssrv \
openldap-staticdev \
openldap-locale \
openldap-overlay-proxycache \
openldap-slapd \
openldap-slurpd \
openldap-bin \
"
inherit pkgconfig useradd
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "-r -g ldap -u 55 -d / -s /sbin/nologin -c 'OpenLDAP server' ldap"
GROUPADD_PARAM_${PN} = "-r -g 55 ldap"
inherit systemd
SYSTEMD_PACKAGES += "${PN}"
SYSTEMD_SERVICE_${PN}_append = "slapd.service"
SYSETMD_AUTO_ENABLE_${PN} = "enable"
# Needed for stx init.d/openldap
DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
PACKAGECONFIG_CONFARGS_remove = "--with-tls=gnutls "
DEPENDS += " \
openssl \
glibc \
mariadb \
mariadb-native \
libtirpc \
"
RDEPENDS_${PN}_append = " bash"
# Do not remove libtool la files slapd.conf uses ppolicy.la
REMOVE_LIBTOOL_LA = "0"
# Defaults:
# --enable-bdb=no
# --enable-hdb=no
# --enable-bdb=no
# --enable-monitor=mod
######
# Stx :
# --enable-wrappers=yes
# --enable-moznss-compatibility=yes
#################
# TODO:
# mysql_config: native command missing
EXTRA_OECONF += " \
--enable-syslog \
--enable-proctitle \
--enable-ipv6 \
--enable-local \
--enable-slapd \
--enable-dynacl \
--enable-aci \
--enable-cleartext \
--enable-crypt \
--enable-lmpasswd \
--enable-modules \
--enable-rewrite \
--enable-rlookups \
--disable-slp \
--enable-wrappers=no \
--enable-backends=mod \
--enable-bdb=yes \
--enable-hdb=yes \
--enable-mdb=yes \
--enable-monitor=yes \
--disable-ndb \
--enable-overlays=mod \
--disable-static \
--enable-shared \
--with-cyrus-sasl \
--without-fetch \
--with-tls=openssl \
"
# --enable-moznss-compatibility=no
# NEW:
# --enable-lmpasswd
# --enable-slapi
# --enable-wrappers
# --enable-moznss-compatibility=yes
do_configure_append () {
cd ${S}
ln -f -s ${S}/contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
ln -f -s ${S}/contrib/slapd-modules/allop/allop.c servers/slapd/overlays
ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.c servers/slapd/overlays
ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.h servers/slapd/overlays
ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/slapd-sha2.c servers/slapd/overlays
}
do_install_append () {
# For this we need to build ltb-project-openldap
#install -m 755 check_password.so.%{check_password_version} %{buildroot}%{_libdir}/openldap/
cd ${S}/stx-sources
install -m 0755 -d ${D}/var/run/openldap
install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
install -m 0755 ${S}/stx-sources/slapd.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
install -m 0755 ${S}/stx-sources/openldap.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/openldap.conf
install -m 0755 ${S}/stx-sources/ldap.conf ${D}/${sysconfdir}/tmpfiles.d/ldap.conf
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
echo "d /var/lib/openldap-data 0700 ldap ldap -" >> ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
install -m 0644 libexec-functions ${D}/${libexecdir}/openldap/functions
install -m 0755 libexec-convert-config.sh ${D}/${libexecdir}/openldap/convert-config.sh
install -m 0755 libexec-check-config.sh ${D}/${libexecdir}/openldap/check-config.sh
install -m 0755 libexec-upgrade-db.sh ${D}/${libexecdir}/openldap/upgrade-db.sh
install -m 0755 libexec-create-certdb.sh ${D}/${libexecdir}/openldap/create-certdb.sh
install -m 0755 libexec-generate-server-cert.sh ${D}/${libexecdir}/openldap/generate-server-cert.sh
install -m 0755 libexec-update-ppolicy-schema.sh ${D}/${libexecdir}/openldap/update-ppolicy-schema.sh
install -m 0755 -d ${D}/${sysconfdir}/sysconfig
install -m 0644 slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
install -m 0755 -d ${D}/${datadir}/openldap-servers
install -m 0644 slapd.ldif ${D}/${datadir}/openldap-servers/slapd.ldif
install -m 0750 -d ${D}/${sysconfdir}/openldap/slapd.d
rm -rf ${D}/var/run
sed -i -e 's:\(/sbin/runuser\):/usr\1:g' ${D}/usr/libexec/openldap/functions
install -m 755 ${STX_METADATA_PATH}/files/initscript ${D}/${sysconfdir}/init.d/openldap
install -m 600 ${STX_METADATA_PATH}/files/slapd.conf ${D}/${sysconfdir}/openldap/slapd.conf
install -m 600 ${STX_METADATA_PATH}/files/initial_config.ldif ${D}/${sysconfdir}/openldap/initial_config.ldif
install -D -m 644 ${STX_METADATA_PATH}/files/slapd.service ${D}/${systemd_system_unitdir}/slapd.service
sed -i -e 's|/var/run|/run|' ${D}/${systemd_system_unitdir}/slapd.service
install -m 644 ${STX_METADATA_PATH}/files/slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
}
FILES_${PN}_append = " \
${datadir}/openldap-servers/ \
${libexecdir}/openldap/ \
${sysconfdir}/sysconfig \
${sysconfdir}/tmpfiles.d \
${systemd_system_unitdir}/slapd.service \
${sysconfdir}/openldap/initial_config.ldif \
"
# *.la are openldap modules.
FILES_${PN}-dev = " \
${includedir} \
${FILES_SOLIBSDEV} \
${libdir}/*.la \
${libexecdir}/openldap/*${SOLIBSDEV} \
"