Group :: System/Libraries
RPM: libldb
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: ldb-samba-modules.patch
Download
Download
diff --git a/ldb/buildtools/wafsamba/wscript b/ldb/buildtools/wafsamba/wscript
index 8802e5a..2243f93 100755
--- a/ldb/buildtools/wafsamba/wscript
+++ b/ldb/buildtools/wafsamba/wscript
@@ -69,6 +69,9 @@ def set_options(opt):
opt.add_option('--with-modulesdir',
help=("modules directory [PREFIX/modules]"),
action="store", dest='MODULESDIR', default='${PREFIX}/modules')
+ opt.add_option('--with-samba-modulesdir',
+ help=("samba domain controller modules directory [PREFIX/samba]"),
+ action="store", dest='SAMBA_MODULESDIR', default='${PREFIX}/samba')
opt.add_option('--with-privatelibdir',
help=("private library directory [PREFIX/lib/%s]" % Utils.g_module.APPNAME),
diff --git a/ldb/common/ldb.c b/ldb/common/ldb.c
index 6067256..6eb82ee 100644
--- a/ldb/common/ldb.c
+++ b/ldb/common/ldb.c
@@ -95,6 +95,11 @@ struct ldb_context *ldb_init(TALLOC_CTX *mem_ctx, struct tevent_context *ev_ctx)
if (modules_path == NULL) {
modules_path = LDB_MODULESDIR;
+
+ struct stat st;
+ ret = stat(LDB_SAMBA_MODULESDIR, &st);
+ if (ret == 0 && S_ISDIR(st.st_mode))
+ modules_path = LDB_MODULESDIR ":" LDB_SAMBA_MODULESDIR;
}
ret = ldb_modules_load(modules_path, LDB_VERSION);
diff --git a/ldb/wscript b/ldb/wscript
index 7f05db3..291fa06 100755
--- a/ldb/wscript
+++ b/ldb/wscript
@@ -51,6 +51,7 @@ def configure(conf):
# where does the default LIBDIR end up? in conf.env somewhere?
#
conf.CONFIG_PATH('LDB_MODULESDIR', conf.SUBST_ENV_VAR('MODULESDIR') + '/ldb')
+ conf.CONFIG_PATH('LDB_SAMBA_MODULESDIR', conf.SUBST_ENV_VAR('SAMBA_MODULESDIR') + '/ldb')
conf.env.standalone_ldb = conf.IN_LAUNCH_DIR()
diff --git a/ldb/buildtools/wafsamba/samba_patterns.py b/ldb/buildtools/wafsamba/samba_patterns.py
index ceca2cc..1454890 100644
--- a/ldb/buildtools/wafsamba/samba_patterns.py
+++ b/ldb/buildtools/wafsamba/samba_patterns.py
@@ -105,6 +105,7 @@ def write_build_options_header(fp):
" \" DATADIR: %s\\n\"\n"
" \" SAMBA_DATADIR: %s\\n\"\n"
" \" MODULESDIR: %s\\n\"\n"
+ " \" SAMBA_MODULESDIR: %s\\n\"\n"
" \" SHLIBEXT: %s\\n\"\n"
" \" LOCKDIR: %s\\n\"\n"
" \" STATEDIR: %s\\n\"\n"
@@ -122,6 +123,7 @@ def write_build_options_header(fp):
" get_dyn_DATADIR(),\n"
" get_dyn_SAMBA_DATADIR(),\n"
" get_dyn_MODULESDIR(),\n"
+ " get_dyn_SAMBA_MODULESDIR(),\n"
" get_dyn_SHLIBEXT(),\n"
" get_dyn_LOCKDIR(),\n"
" get_dyn_STATEDIR(),\n"
diff --git a/ldb/buildtools/wafsamba/wscript b/ldb/buildtools/wafsamba/wscript
index 8802e5a..86ec408 100755
--- a/ldb/buildtools/wafsamba/wscript
+++ b/ldb/buildtools/wafsamba/wscript
@@ -261,6 +261,7 @@ def configure(conf):
conf.env.BINDIR = Options.options.BINDIR or '${PREFIX}/bin'
conf.env.SBINDIR = Options.options.SBINDIR or '${PREFIX}/sbin'
conf.env.MODULESDIR = Options.options.MODULESDIR
+ conf.env.SAMBA_MODULESDIR = Options.options.SAMBA_MODULESDIR
conf.env.PRIVATELIBDIR = Options.options.PRIVATELIBDIR
conf.env.BUNDLED_LIBS = Options.options.BUNDLED_LIBS.split(',')
conf.env.PRIVATE_LIBS = Options.options.PRIVATE_LIBS.split(',')
diff --git a/ldb/wscript b/ldb/wscript
index 7f05db3..e6ae0a5 100755
--- a/ldb/wscript
+++ b/ldb/wscript
@@ -157,6 +157,8 @@ def build(bld):
# the current modules, not the installed ones
modules_dir = os.path.join(os.getcwd(), 'bin/modules/ldb')
+ samba_modules_dir = bld.EXPAND_VARIABLES('${LDB_SAMBA_MODULESDIR}')
+
abi_match = '!ldb_*module_ops !ldb_*backend_ops ldb_*'
ldb_headers = ('include/ldb.h include/ldb_errors.h '
@@ -266,7 +268,7 @@ def build(bld):
'common/ldb.c',
deps='tevent tdb',
includes='include',
- cflags=['-DLDB_MODULESDIR=\"%s\"' % modules_dir])
+ cflags=['-DLDB_MODULESDIR=\"%s\"' % modules_dir, '-DLDB_SAMBA_MODULESDIR=\"%s\"' % samba_modules_dir])
LDB_TOOLS='ldbadd ldbsearch ldbdel ldbmodify ldbedit ldbrename'
for t in LDB_TOOLS.split():