diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2013-07-13 15:29:38 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2013-07-20 17:04:54 +0200 |
commit | f46afc8821a9f874105598c35b87b8096b542431 (patch) | |
tree | 5fa03aa734fac66df9b34d12d632259facdce1be /meta-oe/recipes-support/openldap | |
parent | e15f15a2dcc1291e2cfb749c92f1a5918ae0920a (diff) | |
download | meta-openembedded-f46afc8821a9f874105598c35b87b8096b542431.tar.gz |
openldap: convert to PACKAGECONFIGs, explicitly disable openssl
* some options like ldbm weren't supported by current version
* when gnutls and openssl were both available it was picking openssl
because default --with-tls is auto
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/openldap')
-rw-r--r-- | meta-oe/recipes-support/openldap/openldap_2.4.23.bb | 136 |
1 files changed, 43 insertions, 93 deletions
diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb b/meta-oe/recipes-support/openldap/openldap_2.4.23.bb index c545b5c00..11210082f 100644 --- a/meta-oe/recipes-support/openldap/openldap_2.4.23.bb +++ b/meta-oe/recipes-support/openldap/openldap_2.4.23.bb | |||
@@ -28,16 +28,6 @@ SRC_URI += "file://install-strip.patch" | |||
28 | 28 | ||
29 | inherit autotools | 29 | inherit autotools |
30 | 30 | ||
31 | # OPTIONS | ||
32 | # The following two variables can be set in a distro or local.conf | ||
33 | # to switch features on. Each feature foo defines OPENLDAP_OPTION_foo | ||
34 | # and OPENLDAP_DEPENDS_foo in this file - to include feature foo add | ||
35 | # the two variables into the setting of the options below (please use | ||
36 | # += because that means this can be done in *both* distro.conf and | ||
37 | # local.conf! | ||
38 | OPENLDAP_OPTIONS ?= "" | ||
39 | OPENLDAP_DEPENDS ?= "" | ||
40 | |||
41 | # CV SETTINGS | 31 | # CV SETTINGS |
42 | # Required to work round AC_FUNC_MEMCMP which gets the wrong answer | 32 | # Required to work round AC_FUNC_MEMCMP which gets the wrong answer |
43 | # when cross compiling (should be in site?) | 33 | # when cross compiling (should be in site?) |
@@ -50,33 +40,21 @@ EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" | |||
50 | EXTRA_OECONF += "--with-yielding-select=yes" | 40 | EXTRA_OECONF += "--with-yielding-select=yes" |
51 | # Shared libraries are nice... | 41 | # Shared libraries are nice... |
52 | EXTRA_OECONF += "--enable-dynamic" | 42 | EXTRA_OECONF += "--enable-dynamic" |
53 | # | 43 | |
54 | # Disable TLS to remove the need for openssl/libcrypto | 44 | PACKAGECONFIG ??= "gnutls modules \ |
55 | OPENLDAP_OPTION_tls ?= "--with-tls" | 45 | ldap meta monitor null passwd shell proxycache dnssrv \ |
56 | # set the following to "openssl" to build tls support | 46 | " |
57 | OPENLDAP_DEPENDS_tls ?= "gnutls" | 47 | #--with-tls with TLS/SSL support auto|openssl|gnutls [auto] |
58 | EXTRA_OECONF += "${OPENLDAP_OPTION_tls}" | 48 | PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls" |
59 | DEPENDS += "${OPENLDAP_DEPENDS_tls}" | 49 | PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" |
60 | # | 50 | |
61 | # Disable Cyrus SASL, which may or may not be working at present... | 51 | PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" |
62 | OPENLDAP_OPTION_sasl ?= "--without-cyrus-sasl" | 52 | PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" |
63 | # set the following to "cyrus-sasl" to build SASL support | ||
64 | OPENLDAP_DEPENDS_sasl ?= "" | ||
65 | EXTRA_OECONF += "${OPENLDAP_OPTION_sasl}" | ||
66 | DEPENDS += "${OPENLDAP_DEPENDS_sasl}" | ||
67 | 53 | ||
68 | # SLAPD options | 54 | # SLAPD options |
69 | # | 55 | # |
70 | # UNIX crypt(3) passwd support: | 56 | # UNIX crypt(3) passwd support: |
71 | EXTRA_OECONF += "--enable-crypt" | 57 | EXTRA_OECONF += "--enable-crypt" |
72 | # | ||
73 | # Enable dynamic module loading. If this is *disabled* the | ||
74 | # dependency on libtool is removed (to disable set the following | ||
75 | # to variables to "" in a .conf file). | ||
76 | OPENLDAP_OPTION_modules += "lt_cv_dlopen_self=yes --enable-modules" | ||
77 | OPENLDAP_DEPENDS_modules += "libtool" | ||
78 | EXTRA_OECONF += " ${OPENLDAP_OPTION_modules}" | ||
79 | DEPENDS += "${OPENLDAP_DEPENDS_modules}" | ||
80 | 58 | ||
81 | # SLAPD BACKEND | 59 | # SLAPD BACKEND |
82 | # | 60 | # |
@@ -99,92 +77,64 @@ md = "${libexecdir}/openldap" | |||
99 | #--enable-bdb enable Berkeley DB backend no|yes|mod yes | 77 | #--enable-bdb enable Berkeley DB backend no|yes|mod yes |
100 | # The Berkely DB is the standard choice. This version of OpenLDAP requires | 78 | # The Berkely DB is the standard choice. This version of OpenLDAP requires |
101 | # the version 4 implementation or better. | 79 | # the version 4 implementation or better. |
102 | # To disable this set all three of the following variables to <empty> in | 80 | PACKAGECONFIG[bdb] = "--enable-bdb=mod,--enable-bdb=no,db" |
103 | # a .conf file (this will allow ldbm to be build with gdbm). | 81 | |
104 | #OPENLDAP_OPTION_bdb ?= "--enable-bdb=mod" | ||
105 | OPENLDAP_DEPENDS_bdb ?= "db" | ||
106 | EXTRA_OECONF += "${OPENLDAP_OPTION_bdb}" | ||
107 | DEPENDS += "${OPENLDAP_DEPENDS_bdb}" | ||
108 | # | ||
109 | #--enable-dnssrv enable dnssrv backend no|yes|mod no | 82 | #--enable-dnssrv enable dnssrv backend no|yes|mod no |
110 | # This has no dependencies. | 83 | PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" |
111 | EXTRA_OECONF += "--enable-dnssrv=mod" | 84 | |
112 | # | ||
113 | #--enable-hdb enable Hierarchical DB backend no|yes|mod no | 85 | #--enable-hdb enable Hierarchical DB backend no|yes|mod no |
114 | # This forces ldbm to use Berkeley too, remove to use gdbm | 86 | # This forces ldbm to use Berkeley too, remove to use gdbm |
115 | #OPENLDAP_OPTION_hdb ?= "--enable-hdb=mod" | 87 | PACKAGECONFIG[hdb] = "--enable-hdb=mod,--enable-hdb=no,db" |
116 | OPENLDAP_DEPENDS_hdb ?= "db" | 88 | |
117 | OPENLDAP_PACKAGE_hdb ?= "${PN}-backend-hdb" | ||
118 | EXTRA_OECONF += "${OPENLDAP_OPTION_hdb}" | ||
119 | DEPENDS += "${OPENLDAP_DEPENDS_hdb}" | ||
120 | # | ||
121 | #--enable-ldap enable ldap backend no|yes|mod no | 89 | #--enable-ldap enable ldap backend no|yes|mod no |
122 | # This has no dependencies | 90 | PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," |
123 | EXTRA_OECONF += "--enable-ldap=mod" | 91 | |
124 | # | ||
125 | #--enable-ldbm enable ldbm backend no|yes|mod no | 92 | #--enable-ldbm enable ldbm backend no|yes|mod no |
126 | # ldbm requires further specification of the underlying database API, because | 93 | # ldbm requires further specification of the underlying database API, because |
127 | # bdb is enabled above this must be set to berkeley, however the config | 94 | # bdb is enabled above this must be set to berkeley, however the config |
128 | # defaults this correctly so --with-ldbm-api is *not* set. The build will | 95 | # defaults this correctly so --with-ldbm-api is *not* set. The build will |
129 | # fail if bdb is removed (above) but not database is built to provide the | 96 | # fail if bdb is removed, but no database is built to provide the |
130 | # support for ldbm (because the 'DEPENDS_ldbm' is empty below.) | 97 | # support for ldbm |
131 | # | 98 | # guide.html:<P>back-ldbm was both slow and unreliable. Its byzantine indexing code was prone to spontaneous corruption, as were the underlying database libraries that were commonly used (e.g. GDBM or NDBM). back-bdb and back-hdb are superior in every aspect, with simplified indexing to avoid index corruption, fine-grained locking for greater concurrency, hierarchical caching for greater performance, streamlined on-disk format for greater efficiency and portability, and full transaction support for greater reliability.</P> |
132 | # So to use gdbm set: | 99 | # configure: WARNING: unrecognized options: --disable-silent-rules, --enable-ldbm, --with-ldbm-api |
133 | OPENLDAP_OPTION_ldbm = "--enable-ldbm=mod --with-ldbm-api=gdbm" | 100 | #PACKAGECONFIG[ldbm] = "--enable-ldbm=mod --with-ldbm-api=gdbm,--enable-ldbm-no,gdbm" |
134 | OPENLDAP_DEPENDS_ldbm = "gdbm" | 101 | |
135 | # And clear the bdb and hdb settings. | ||
136 | OPENLDAP_OPTION_ldbm ?= "--enable-ldbm=mod" | ||
137 | OPENLDAP_DEPENDS_ldbm ?= "" | ||
138 | EXTRA_OECONF += "${OPENLDAP_OPTION_ldbm}" | ||
139 | DEPENDS += "${OPENLDAP_DEPENDS_ldbm}" | ||
140 | # | ||
141 | #--enable-meta enable metadirectory backend no|yes|mod no | 102 | #--enable-meta enable metadirectory backend no|yes|mod no |
142 | # No dependencies | 103 | PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," |
143 | EXTRA_OECONF += "--enable-meta=mod" | 104 | |
144 | # | ||
145 | #--enable-monitor enable monitor backend no|yes|mod yes | 105 | #--enable-monitor enable monitor backend no|yes|mod yes |
146 | EXTRA_OECONF += "--enable-monitor=mod" | 106 | PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," |
147 | # | 107 | |
148 | #--enable-null enable null backend no|yes|mod no | 108 | #--enable-null enable null backend no|yes|mod no |
149 | EXTRA_OECONF += "--enable-null=mod" | 109 | PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," |
150 | # | 110 | |
151 | #--enable-passwd enable passwd backend no|yes|mod no | 111 | #--enable-passwd enable passwd backend no|yes|mod no |
152 | EXTRA_OECONF += " --enable-passwd=mod" | 112 | PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," |
153 | # | 113 | |
154 | #--enable-perl enable perl backend no|yes|mod no | 114 | #--enable-perl enable perl backend no|yes|mod no |
155 | # This requires a loadable perl dynamic library, if enabled without | 115 | # This requires a loadable perl dynamic library, if enabled without |
156 | # doing something appropriate (building perl?) the build will pick | 116 | # doing something appropriate (building perl?) the build will pick |
157 | # up the build machine perl - not good. | 117 | # up the build machine perl - not good (inherit perlnative?) |
158 | OPENLDAP_OPTION_perl ?= "--enable-perl=mod" | 118 | PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" |
159 | OPENLDAP_DEPENDS_perl ?= "perl" | 119 | |
160 | #EXTRA_OECONF += "${OPENLDAP_OPTION_perl}" | ||
161 | #DEPENDS += "${OPENLDAP_DEPENDS_perl}" | ||
162 | # | ||
163 | #--enable-shell enable shell backend no|yes|mod no | 120 | #--enable-shell enable shell backend no|yes|mod no |
164 | EXTRA_OECONF += "--enable-shell=mod" | 121 | # configure: WARNING: Use of --without-threads is recommended with back-shell |
165 | # | 122 | PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," |
123 | |||
166 | #--enable-sql enable sql backend no|yes|mod no | 124 | #--enable-sql enable sql backend no|yes|mod no |
167 | # sql requires some sql backend which provides sql.h, sqlite* provides | 125 | # sql requires some sql backend which provides sql.h, sqlite* provides |
168 | # sqlite.h (which may be compatible but hasn't been tried.) | 126 | # sqlite.h (which may be compatible but hasn't been tried.) |
169 | OPENLDAP_OPTION_sql ?= "--enable-sql=mod" | 127 | PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" |
170 | OPENLDAP_DEPENDS_sql ?= "sql" | 128 | |
171 | #EXTRA_OECONF += "${OPENLDAP_OPTION_sql}" | ||
172 | #DEPENDS += "${OPENLDAP_DEPENDS_sql}" | ||
173 | # | ||
174 | #--enable-dyngroup Dynamic Group overlay no|yes|mod no | 129 | #--enable-dyngroup Dynamic Group overlay no|yes|mod no |
175 | # This is a demo, Proxy Cache defines init_module which conflicts with the | 130 | # This is a demo, Proxy Cache defines init_module which conflicts with the |
176 | # same symbol in dyngroup | 131 | # same symbol in dyngroup |
177 | #EXTRA_OECONF += "--enable-dyngroup=mod" | 132 | PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," |
178 | # | 133 | |
179 | #--enable-proxycache Proxy Cache overlay no|yes|mod no | 134 | #--enable-proxycache Proxy Cache overlay no|yes|mod no |
180 | EXTRA_OECONF += "--enable-proxycache=mod" | 135 | PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," |
181 | FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" | 136 | FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" |
182 | PACKAGES += "${PN}-overlay-proxycache" | 137 | PACKAGES += "${PN}-overlay-proxycache" |
183 | # | ||
184 | # LOCAL OPTION OVERRIDES | ||
185 | # The distro/lcoal options must be added in *last* | ||
186 | EXTRA_OECONF += "${OPENLDAP_OPTIONS}" | ||
187 | DEPENDS += "${OPENLDAP_DEPENDS}" | ||
188 | 138 | ||
189 | CPPFLAGS_append = " -D_GNU_SOURCE" | 139 | CPPFLAGS_append = " -D_GNU_SOURCE" |
190 | 140 | ||