Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37790578
en ru br
Репозитории ALT

Группа :: Система/Библиотеки
Пакет: libldb

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: ldb-samba-modules.patch
Скачать


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():
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin