mirror of
https://github.com/samba-team/samba.git
synced 2025-01-03 01:18:10 +03:00
Configure builtin heimdal to use KEYRING ccache
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
parent
198a844ff5
commit
bb46379845
.gitlab-ci-main.yml
bootstrap
third_party/heimdal_build
wscript@ -47,7 +47,7 @@ variables:
|
||||
# Set this to the contents of bootstrap/sha1sum.txt
|
||||
# which is generated by bootstrap/template.py --render
|
||||
#
|
||||
SAMBA_CI_CONTAINER_TAG: cfddaa8d36c3f512827bd96fe05c30f7f8337f4b
|
||||
SAMBA_CI_CONTAINER_TAG: 6f4e1c3f1eb3b3236ae793c11def2135386a0ee9
|
||||
#
|
||||
# We use the ubuntu2204 image as default as
|
||||
# it matches what we have on atb-devel-224
|
||||
|
@ -181,7 +181,7 @@ PKGS = [
|
||||
# rpm has no pkg for docbook-xml
|
||||
('docbook-xml', 'docbook-dtds'),
|
||||
('docbook-xsl', 'docbook-style-xsl'),
|
||||
('', 'keyutils-libs-devel'),
|
||||
('libkeyutils-dev', 'keyutils-libs-devel'),
|
||||
('', 'which'),
|
||||
('xz-utils', 'xz')
|
||||
]
|
||||
|
@ -57,6 +57,7 @@ apt-get -y install \
|
||||
libjansson-dev \
|
||||
libjs-jquery \
|
||||
libjson-perl \
|
||||
libkeyutils-dev \
|
||||
libkrb5-dev \
|
||||
libldap2-dev \
|
||||
liblmdb-dev \
|
||||
|
@ -46,6 +46,7 @@ packages:
|
||||
- libjansson-dev
|
||||
- libjs-jquery
|
||||
- libjson-perl
|
||||
- libkeyutils-dev
|
||||
- libkrb5-dev
|
||||
- libldap2-dev
|
||||
- liblmdb-dev
|
||||
|
@ -58,6 +58,7 @@ apt-get -y install \
|
||||
libjansson-dev \
|
||||
libjs-jquery \
|
||||
libjson-perl \
|
||||
libkeyutils-dev \
|
||||
libkrb5-dev \
|
||||
libldap2-dev \
|
||||
liblmdb-dev \
|
||||
|
@ -47,6 +47,7 @@ packages:
|
||||
- libjansson-dev
|
||||
- libjs-jquery
|
||||
- libjson-perl
|
||||
- libkeyutils-dev
|
||||
- libkrb5-dev
|
||||
- libldap2-dev
|
||||
- liblmdb-dev
|
||||
|
@ -58,6 +58,7 @@ apt-get -y install \
|
||||
libjansson-dev \
|
||||
libjs-jquery \
|
||||
libjson-perl \
|
||||
libkeyutils-dev \
|
||||
libkrb5-dev \
|
||||
libldap2-dev \
|
||||
liblmdb-dev \
|
||||
|
@ -47,6 +47,7 @@ packages:
|
||||
- libjansson-dev
|
||||
- libjs-jquery
|
||||
- libjson-perl
|
||||
- libkeyutils-dev
|
||||
- libkrb5-dev
|
||||
- libldap2-dev
|
||||
- liblmdb-dev
|
||||
|
@ -58,6 +58,7 @@ apt-get -y install \
|
||||
libjansson-dev \
|
||||
libjs-jquery \
|
||||
libjson-perl \
|
||||
libkeyutils-dev \
|
||||
libkrb5-dev \
|
||||
libldap2-dev \
|
||||
liblmdb-dev \
|
||||
|
@ -47,6 +47,7 @@ packages:
|
||||
- libjansson-dev
|
||||
- libjs-jquery
|
||||
- libjson-perl
|
||||
- libkeyutils-dev
|
||||
- libkrb5-dev
|
||||
- libldap2-dev
|
||||
- liblmdb-dev
|
||||
|
@ -58,6 +58,7 @@ apt-get -y install \
|
||||
libjansson-dev \
|
||||
libjs-jquery \
|
||||
libjson-perl \
|
||||
libkeyutils-dev \
|
||||
libkrb5-dev \
|
||||
libldap2-dev \
|
||||
liblmdb-dev \
|
||||
|
@ -47,6 +47,7 @@ packages:
|
||||
- libjansson-dev
|
||||
- libjs-jquery
|
||||
- libjson-perl
|
||||
- libkeyutils-dev
|
||||
- libkrb5-dev
|
||||
- libldap2-dev
|
||||
- liblmdb-dev
|
||||
|
@ -1 +1 @@
|
||||
cfddaa8d36c3f512827bd96fe05c30f7f8337f4b
|
||||
6f4e1c3f1eb3b3236ae793c11def2135386a0ee9
|
||||
|
8
third_party/heimdal_build/wscript_build
vendored
8
third_party/heimdal_build/wscript_build
vendored
@ -710,7 +710,7 @@ if not bld.CONFIG_SET("USING_SYSTEM_KRB5"):
|
||||
get_port.c init_creds.c init_creds_pw.c
|
||||
kcm.c keyblock.c keytab.c keytab_any.c
|
||||
keytab_file.c keytab_memory.c
|
||||
keytab_keyfile.c krbhst.c log.c
|
||||
keytab_keyfile.c krbhst.c krcache.c log.c
|
||||
mcache.c misc.c mk_error.c mk_priv.c
|
||||
mk_rep.c mk_req.c mk_req_ext.c
|
||||
mit_glue.c net_read.c net_write.c n-fold.c padata.c pkinit.c pkinit-ec.c
|
||||
@ -726,10 +726,14 @@ if not bld.CONFIG_SET("USING_SYSTEM_KRB5"):
|
||||
mk_cred.c kx509_err.c
|
||||
k524_err.c krb_err.c k5e1_err.c''')] + ["../heimdal_build/krb5-glue.c"]
|
||||
|
||||
krb5_keyutils_dep = ''
|
||||
if bld.CONFIG_SET('HAVE_KEYCTL_GET_PERSISTENT'):
|
||||
krb5_keyutils_dep = ' keyutils'
|
||||
|
||||
HEIMDAL_LIBRARY('krb5', KRB5_SOURCE,
|
||||
version_script='lib/krb5/version-script.map',
|
||||
includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/include',
|
||||
deps='roken wind asn1 hx509 HEIMDAL_KX509_ASN1 hcrypto com_err HEIMDAL_CONFIG heimbase execinfo samba_intl HEIMDAL_IPC_CLIENT KRB5_CRYPTO',
|
||||
deps='roken wind asn1 hx509 HEIMDAL_KX509_ASN1 hcrypto com_err HEIMDAL_CONFIG heimbase execinfo samba_intl HEIMDAL_IPC_CLIENT KRB5_CRYPTO' + krb5_keyutils_dep,
|
||||
cflags=['-DLOCALSTATEDIR="/2"'] + bld.dynconfig_cflags(),
|
||||
)
|
||||
KRB5_PROTO_SOURCE = KRB5_SOURCE + ['lib/krb5/expand_path.c', 'lib/krb5/plugin.c', 'lib/krb5/context.c', 'lib/krb5/crypto.c']
|
||||
|
10
third_party/heimdal_build/wscript_configure
vendored
10
third_party/heimdal_build/wscript_configure
vendored
@ -66,6 +66,16 @@ conf.CHECK_FUNCS('dirfd', headers='dirent.h')
|
||||
conf.CHECK_DECLS('dirfd', reverse=True, headers='dirent.h')
|
||||
conf.CHECK_STRUCTURE_MEMBER('DIR', 'dd_fd', define='HAVE_DIR_DD_FD', headers='dirent.h')
|
||||
|
||||
if conf.env['WITH_KERNEL_KEYRING'] != False:
|
||||
require_keyutils = False
|
||||
if conf.env['WITH_KERNEL_KEYRING'] == True:
|
||||
require_keyutils = True
|
||||
conf.CHECK_FUNCS_IN('add_key keyctl_get_persistent',
|
||||
'keyutils', headers='keyutils.h',
|
||||
mandatory=require_keyutils)
|
||||
conf.CHECK_SIZEOF('key_serial_t', headers='keyutils.h',
|
||||
critical=require_keyutils)
|
||||
|
||||
heimdal_no_error_flags = ['-Wno-error=discarded-qualifiers',
|
||||
'-Wno-error=cast-qual',
|
||||
'-Wno-error=missing-field-initializers',
|
||||
|
15
wscript
15
wscript
@ -116,6 +116,14 @@ def options(opt):
|
||||
help=("Disable RELRO builds"),
|
||||
action="store_false", dest='enable_relro')
|
||||
|
||||
opt.add_option('--with-kernel-keyring',
|
||||
help=('Enable kernely keyring support for credential storage ' +
|
||||
'(default if keyutils libraries are available)'),
|
||||
action='store_true', dest='enable_keyring')
|
||||
opt.add_option('--without-kernel-keyring',
|
||||
help=('Disable kernely keyring support for credential storage'),
|
||||
action='store_false', dest='enable_keyring')
|
||||
|
||||
gr = opt.option_group('developer options')
|
||||
|
||||
opt.load('python') # options for disabling pyc or pyo compilation
|
||||
@ -200,6 +208,13 @@ def configure(conf):
|
||||
mandatory=True)
|
||||
conf.CHECK_FUNCS_IN('inflateInit2', 'z')
|
||||
|
||||
if Options.options.enable_keyring != False:
|
||||
conf.env['WITH_KERNEL_KEYRING'] = 'auto'
|
||||
if Options.options.enable_keyring == True:
|
||||
conf.env['WITH_KERNEL_KEYRING'] = True
|
||||
else:
|
||||
conf.env['WITH_KERNEL_KEYRING'] = False
|
||||
|
||||
if conf.CHECK_FOR_THIRD_PARTY():
|
||||
conf.RECURSE('third_party')
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user