Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-integ / recipes-support / openldap / openldap_%.bbappend
1 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
2
3 inherit stx-metadata
4
5 STX_REPO = "config-files"
6 STX_SUBPATH = "openldap-config"
7
8 LICENSE_append = "& Apache-2.0"
9 LIC_FILES_CHKSUM += "\
10         file://${STX_METADATA_PATH}/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
11         "
12
13 SRC_URI += " \
14         file://rootdn-should-not-bypass-ppolicy.patch \
15         file://0021-openldap-and-stx-source-and-config-files.patch \
16         "
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 \
25         openldap-staticdev \
26         openldap-locale \
27         openldap-overlay-proxycache \
28         openldap-slapd \
29         openldap-slurpd \
30         openldap-bin \
31         "
32
33 inherit pkgconfig useradd
34
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"
38
39 inherit systemd
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"
45
46 PACKAGECONFIG_CONFARGS_remove = "--with-tls=gnutls "
47 DEPENDS += " \
48         openssl \
49         glibc \
50         mariadb \
51         mariadb-native \
52         libtirpc \
53         "
54
55 RDEPENDS_${PN}_append = " bash"
56
57 # Do not remove libtool la files slapd.conf uses ppolicy.la 
58 REMOVE_LIBTOOL_LA = "0"
59
60
61 # Defaults:
62 #       --enable-bdb=no
63 #       --enable-hdb=no
64 #       --enable-bdb=no
65 #       --enable-monitor=mod 
66 ######
67 # Stx :
68 #       --enable-wrappers=yes
69 #       --enable-moznss-compatibility=yes
70
71 #################
72 # TODO:
73 #       mysql_config: native command missing
74
75 EXTRA_OECONF += " \
76                 --enable-syslog \
77                 --enable-proctitle \
78                 --enable-ipv6 \
79                 --enable-local \
80                 --enable-slapd \
81                 --enable-dynacl \
82                 --enable-aci \
83                 --enable-cleartext \
84                 --enable-crypt \
85                 --enable-lmpasswd \
86                 --enable-modules \
87                 --enable-rewrite \
88                 --enable-rlookups \
89                 --disable-slp \
90                 --enable-wrappers=no \
91                 --enable-backends=mod \
92                 --enable-bdb=yes \
93                 --enable-hdb=yes \
94                 --enable-mdb=yes \
95                 --enable-monitor=yes \
96                 --disable-ndb \
97                 --enable-overlays=mod \
98                 --disable-static \
99                 --enable-shared \
100                 --with-cyrus-sasl \
101                 --without-fetch \
102                 --with-tls=openssl \
103                 "
104 #       --enable-moznss-compatibility=no 
105 # NEW:
106 # --enable-lmpasswd 
107 # --enable-slapi
108 # --enable-wrappers
109 # --enable-moznss-compatibility=yes
110
111 do_configure_append () {
112    cd ${S}
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
118 }
119
120
121 do_install_append () {
122         
123         # For this we need to build ltb-project-openldap
124         #install -m 755 check_password.so.%{check_password_version} %{buildroot}%{_libdir}/openldap/
125
126         cd ${S}/stx-sources
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 
132
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
137
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
142
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
146
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
152         rm -rf ${D}/var/run
153
154         sed -i -e 's:\(/sbin/runuser\):/usr\1:g' ${D}/usr/libexec/openldap/functions 
155
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
158
159         install -m 600 ${STX_METADATA_PATH}/files/initial_config.ldif ${D}/${sysconfdir}/openldap/initial_config.ldif
160
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
163
164         install -m 644 ${STX_METADATA_PATH}/files/slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
165
166 }
167
168
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 \
176         "
177
178 # *.la are openldap modules. 
179 FILES_${PN}-dev = " \
180         ${includedir} \
181         ${FILES_SOLIBSDEV} \
182         ${libdir}/*.la \
183         ${libexecdir}/openldap/*${SOLIBSDEV} \
184         "
185