# Set this to the contents of bootstrap/sha1sum.txt
# which is generated by bootstrap/template.py --render
#
- SAMBA_CI_CONTAINER_TAG: d20548dec714e202867b593f5e19f3004f7a2457
+ SAMBA_CI_CONTAINER_TAG: 26a734ea226b4fd32141ae950af16f75f290645f
#
# We use the ubuntu2204 image as default as
# it matches what we have on atb-devel-224
('libglib2.0-dev', 'glib2-devel'),
('libicu-dev', 'libicu-devel'),
('heimdal-multidev', ''),
+ ('libevent-dev', 'libevent-devel'),
# NAME1, NAME2
# for debian, locales provide locale support with language packs
}
ctdb_configure_params = " --enable-developer ${PREFIX}"
-samba_configure_params = " ${ENABLE_COVERAGE} ${PREFIX} --with-profiling-data"
+samba_configure_params = " ${ENABLE_COVERAGE} ${PREFIX} --with-profiling-data --with-libevent"
# We cannot configure himmelblau on old systems missing openssl 3, with glibc
# older than version 2.32, or when cargo isn't available.
"./configure.developer ${PREFIX} "
"--with-selftest-prefix=./bin/ab "
"--with-cluster-support "
+ "--with-libevent "
"--bundled-libraries=!tdb"),
("samba-make", "make"),
("samba-check", "./bin/smbd --configfile=/dev/null -b | grep CLUSTER_SUPPORT"),
"sequence": [
# build the fuzzers (static) via the oss-fuzz script
("fuzzers-mkdir-prefix", "mkdir -p ${PREFIX_DIR}"),
- ("fuzzers-build", "OUT=${PREFIX_DIR} LIB_FUZZING_ENGINE= SANITIZER=address CXX= CFLAGS= ADDITIONAL_LDFLAGS='-fuse-ld=bfd' ./lib/fuzzing/oss-fuzz/build_samba.sh --enable-afl-fuzzer"),
+ ("fuzzers-build", "OUT=${PREFIX_DIR} LIB_FUZZING_ENGINE= SANITIZER=address CXX= CFLAGS= ADDITIONAL_LDFLAGS='-fuse-ld=bfd' ./lib/fuzzing/oss-fuzz/build_samba.sh --enable-afl-fuzzer --with-libevent"),
],
},
"sequence": [
("random-sleep", random_sleep(300, 900)),
- ("configure", "./configure.developer ${ENABLE_COVERAGE} ${PREFIX} --with-profiling-data --disable-python --without-ad-dc"),
+ ("configure", "./configure.developer ${ENABLE_COVERAGE} ${PREFIX} --with-profiling-data --disable-python --without-ad-dc --with-libevent"),
("make", "make -j"),
("find-python", "script/find_python.sh ${PREFIX}"),
("test", "make test-nopython"),
opt.samba_add_onoff_option('fam', default=None) # None means autodetection
opt.samba_add_onoff_option('profiling-data', default=False)
opt.samba_add_onoff_option('libarchive', default=True)
+ opt.samba_add_onoff_option('libevent', default=False)
opt.samba_add_onoff_option('cluster-support', default=False)
raise Errors.WafError('libarchive library required for '
'--enable-selftest')
+ # check for libevent, needed for prometheus http endpoint
+ conf.SET_TARGET_TYPE('event', 'EMPTY')
+ if Options.options.with_libevent is True:
+ Logs.info("Checking for libevent existence")
+ if conf.CHECK_HEADERS('event2/http.h') and conf.CHECK_LIB('event', shlib=True):
+ conf.CHECK_FUNCS_IN('evhttp_new', 'event')
+ if not conf.CONFIG_SET('HAVE_EVHTTP_NEW'):
+ conf.fatal("libevent support not found. "
+ "Try installing libevent-dev or libevent-devel. "
+ "libevent support is required for the prometheus "
+ "endpoint")
+ elif conf.CONFIG_GET('ENABLE_SELFTEST'):
+ raise Errors.WafError('libevent library required for '
+ '--enable-selftest')
# check for DMAPI libs
if Options.options.with_dmapi == False: