From 0c9e727a28cd87025b4208ddadb3213aac0bfdee Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Tue, 2 Jul 2019 09:58:11 +0800 Subject: samba: upgrade 4.8.12 -> 4.10.5 1. switch to python3, from 4.10.x, samba support both python2 and python3, and from 4.11.x, python2 will be dropped. 2. fix cross-compile problem caused by waf 3. disable lmdb 4. refresh patch Signed-off-by: Changqing Li Signed-off-by: Khem Raj --- .../0001-samba-fix-musl-lib-without-innetgr.patch | 42 +++ .../0001-waf-add-support-of-cross_compile.patch | 62 ++++ ...-import-target-module-while-cross-compile.patch | 59 ++-- .../21-add-config-option-without-valgrind.patch | 48 ++- .../samba/samba/glibc_only.patch | 29 +- .../recipes-connectivity/samba/samba_4.10.5.bb | 329 +++++++++++++++++++++ .../recipes-connectivity/samba/samba_4.8.12.bb | 327 -------------------- 7 files changed, 505 insertions(+), 391 deletions(-) create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba_4.10.5.bb delete mode 100644 meta-networking/recipes-connectivity/samba/samba_4.8.12.bb (limited to 'meta-networking/recipes-connectivity/samba') diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch b/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch new file mode 100644 index 0000000000..fb12a10e26 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch @@ -0,0 +1,42 @@ +From fcb8ecd530b2d151e373974741601483326f7528 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 27 Jun 2019 11:09:47 +0800 +Subject: [PATCH] samba: fix musl lib without innetgr + +Upstream-Status: Pending + +Signed-off-by: Changqing Li +--- + lib/util/access.c | 2 +- + source3/auth/user_util.c | 2 +- + 2 file changed, 2 insertion(+), 2 deletion(-) + +diff --git a/lib/util/access.c b/lib/util/access.c +index 7da0573..b94949e 100644 +--- a/lib/util/access.c ++++ b/lib/util/access.c +@@ -112,7 +112,7 @@ static bool string_match(const char *tok,const char *s) + return true; + } + } else if (tok[0] == '@') { /* netgroup: look it up */ +-#ifdef HAVE_NETGROUP ++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) + DATA_BLOB tmp; + char *mydomain = NULL; + char *hostname = NULL; +diff --git a/source3/auth/user_util.c b/source3/auth/user_util.c +index a76b5d4..30f523d 100644 +--- a/source3/auth/user_util.c ++++ b/source3/auth/user_util.c +@@ -148,7 +148,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const char *from, const char + + bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname) + { +-#ifdef HAVE_NETGROUP ++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR) + static char *my_yp_domain = NULL; + char *lowercase_user = NULL; + +-- +2.7.4 + diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch new file mode 100644 index 0000000000..23b35a8145 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch @@ -0,0 +1,62 @@ +From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Fri, 25 Jan 2019 15:00:59 +0800 +Subject: [PATCH] waf: add support of cross_compile + +After upgrade, waf also upgraded + +on 1.5.19, for cross_compile, subprocess.Popen is set to be +samba_cross.cross_Popen, which will not execute testprog on +host, but only read result from cross-answers.txt which is +passed by option --cross-answer + +part of old code: + args = Utils.to_list(kw.get('exec_args', [])) + proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE) + +but on new version, exec_args is not used and cause do_configure +failed with Exec format error + +fixed by append cross anser related args to cmd + +Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211] + +Signed-off-by: Changqing Li +--- + third_party/waf/waflib/Tools/c_config.py | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py +index 7608215..767cf33 100644 +--- a/third_party/waf/waflib/Tools/c_config.py ++++ b/third_party/waf/waflib/Tools/c_config.py +@@ -660,20 +660,21 @@ class test_exec(Task.Task): + """ + color = 'PINK' + def run(self): ++ args = self.generator.bld.kw.get('exec_args', []) + if getattr(self.generator, 'rpath', None): + if getattr(self.generator, 'define_ret', False): +- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()]) +- else: +- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()]) ++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args) ++ else: ++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args) + else: + env = self.env.env or {} + env.update(dict(os.environ)) + for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'): + env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '') + if getattr(self.generator, 'define_ret', False): +- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env) ++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env) + else: +- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env) ++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env) + + @feature('test_exec') + @after_method('apply_link') +-- +2.7.4 + diff --git a/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch index e112b3b40b..3f2921ed33 100644 --- a/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch +++ b/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch @@ -1,21 +1,32 @@ -Some modules such as dynamic library maybe cann't be imported while cross compile, -we just check whether does the module exist. +From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Tue, 25 Jun 2019 14:25:08 +0800 +Subject: [PATCH] do not import target module while cross compile + +Some modules such as dynamic library maybe cann't be imported +while cross compile, we just check whether does the module exist. Signed-off-by: Bian Naimeng -Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py -=================================================================== ---- samba-4.4.2.orig/buildtools/wafsamba/samba_bundled.py -+++ samba-4.4.2/buildtools/wafsamba/samba_bundled.py -@@ -2,6 +2,7 @@ - - import sys - import Build, Options, Logs -+import imp, os - from Configure import conf - from samba_utils import TO_LIST +update to version 4.10.5, and switch to python3 +Signed-off-by: Changqing Li +--- + buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++-------- + 1 file changed, 18 insertions(+), 8 deletions(-) + +diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py +index 60ce7da..5468a36 100644 +--- a/buildtools/wafsamba/samba_bundled.py ++++ b/buildtools/wafsamba/samba_bundled.py +@@ -4,6 +4,7 @@ import sys + from waflib import Build, Options, Logs + from waflib.Configure import conf + from wafsamba import samba_utils ++import importlib.util, os -@@ -230,17 +231,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li + def PRIVATE_NAME(bld, name, private_extension, private_library): + '''possibly rename a library to include a bundled extension''' +@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'): # versions minversion = minimum_library_version(conf, libname, minversion) @@ -25,34 +36,32 @@ Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py - found = False - else: + # Find module in PYTHONPATH -+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]]) -+ if stuff: ++ spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]]) ++ if spec: try: - version = m.__version__ - except AttributeError: -+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2]) ++ module = importlib.util.module_from_spec(spec) ++ spec.loader.load_module(module) + except ImportError: found = False + + if conf.env.CROSS_COMPILE: + # Some modules such as dynamic library maybe cann't be imported + # while cross compile, we just check whether the module exist -+ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1])) ++ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name)) + found = True else: - found = tuplize_version(version) >= tuplize_version(minversion) + try: -+ version = m.__version__ ++ version = module.__version__ + except AttributeError: + found = False + else: + found = tuplize_version(version) >= tuplize_version(minversion) -+ finally: -+ if stuff[0]: -+ stuff[0].close() -+ else: -+ found = False -+ if not found and not conf.LIB_MAY_BE_BUNDLED(libname): Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion)) sys.exit(1) +-- +2.7.4 + diff --git a/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch b/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch index 6a7f8facc5..46a6f06267 100644 --- a/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch +++ b/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch @@ -1,54 +1,40 @@ -From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001 -From: Wenzong Fan -Date: Thu, 10 Dec 2015 04:20:51 -0500 +From 87bc8e7eafc7d12a1d3a143ebb9e43cf5fbafb72 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 20 Jun 2019 14:11:16 +0800 Subject: [PATCH] Add config option without-valgrind Upstream-Status: Pending Signed-off-by: Wenzong Fan +Update patch to version 4.10.5 +Signed-off-by: Changqing Li --- - lib/replace/wscript | 4 +++- - source3/wscript | 5 ++++- + lib/replace/wscript | 5 +++-- wscript | 4 ++++ - 3 files changed, 11 insertions(+), 2 deletions(-) + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/replace/wscript b/lib/replace/wscript -index f0040b1..aca73af 100644 +index a7fd25d..a19ae68 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript -@@ -101,7 +101,9 @@ def configure(conf): +@@ -110,8 +110,9 @@ def configure(conf): conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h') conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h') -- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') +- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h') +- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h') + if not Options.options.disable_valgrind: -+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') -+ ++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h') ++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h') conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h') conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h') conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h') -diff --git a/source3/wscript b/source3/wscript -index bac3dd5..a5c51ea 100644 ---- a/source3/wscript -+++ b/source3/wscript -@@ -1070,7 +1070,10 @@ syscall(SYS_setgroups32, 0, NULL); - Logs.warn("--with-dnsupdate=yes but gssapi support not sufficient") - else: - conf.DEFINE('WITH_DNS_UPDATES', 1) -- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') -+ -+ if not Options.options.disable_valgrind: -+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') -+ - if Options.options.developer: - if conf.CONFIG_SET('HAVE_VALGRIND_H') or conf.CONFIG_SET('HAVE_VALGRIND_VALGRIND_H'): - conf.DEFINE('VALGRIND', '1') diff --git a/wscript b/wscript -index 542a60c..22e6116 100644 +index e38a8e9..38b7230 100644 --- a/wscript +++ b/wscript -@@ -86,6 +86,10 @@ def set_options(opt): +@@ -105,6 +105,10 @@ def options(opt): help=("Disable RELRO builds"), action="store_false", dest='enable_relro') @@ -58,7 +44,7 @@ index 542a60c..22e6116 100644 + gr = opt.option_group('developer options') - opt.tool_options('python') # options for disabling pyc or pyo compilation + opt.load('python') # options for disabling pyc or pyo compilation -- -1.9.1 +2.7.4 diff --git a/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch b/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch index 894bc8bb2c..d07ec0df18 100644 --- a/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch +++ b/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch @@ -1,15 +1,28 @@ -Index: samba-4.6.2/ctdb/tests/src/test_mutex_raw.c -=================================================================== ---- samba-4.6.2.orig/ctdb/tests/src/test_mutex_raw.c -+++ samba-4.6.2/ctdb/tests/src/test_mutex_raw.c -@@ -166,8 +166,10 @@ int main(int argc, const char **argv) - if (ret == 0) { - pthread_mutex_unlock(mutex); +From 062cf74b498c1d12fd76f9d9bca926ac806e0b99 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 20 Jun 2019 14:15:18 +0800 +Subject: [PATCH] glibc only fix + +Signed-off-by: Changqing Li +--- + ctdb/tests/src/test_mutex_raw.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ctdb/tests/src/test_mutex_raw.c b/ctdb/tests/src/test_mutex_raw.c +index 926a525..814343f 100644 +--- a/ctdb/tests/src/test_mutex_raw.c ++++ b/ctdb/tests/src/test_mutex_raw.c +@@ -291,8 +291,10 @@ int main(int argc, const char **argv) + "failed\n"); + exit (EXIT_FAILURE); } +#ifdef __GLIBC__ } else if (ret == EBUSY) { - printf("pid=%u\n", mutex->__data.__owner); + printf("INFO: pid=%u\n", mutex->__data.__owner); +#endif } else if (ret == 0) { pthread_mutex_unlock(mutex); } +-- +2.7.4 + diff --git a/meta-networking/recipes-connectivity/samba/samba_4.10.5.bb b/meta-networking/recipes-connectivity/samba/samba_4.10.5.bb new file mode 100644 index 0000000000..c34ac92b9e --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba_4.10.5.bb @@ -0,0 +1,329 @@ +HOMEPAGE = "https://www.samba.org/" +SECTION = "console/network" + +LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ + file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " + +SAMBA_MIRROR = "http://samba.org/samba/ftp" +MIRRORS += "\ +${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ +${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ +" + +SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ + file://smb.conf \ + file://16-do-not-check-xsltproc-manpages.patch \ + file://20-do-not-import-target-module-while-cross-compile.patch \ + file://21-add-config-option-without-valgrind.patch \ + file://netdb_defines.patch \ + file://glibc_only.patch \ + file://iconv-4.7.0.patch \ + file://dnsserver-4.7.0.patch \ + file://smb_conf-4.7.0.patch \ + file://volatiles.03_samba \ + file://0001-waf-add-support-of-cross_compile.patch \ + " +SRC_URI_append_libc-musl = " \ + file://samba-pam.patch \ + file://samba-4.3.9-remove-getpwent_r.patch \ + file://cmocka-uintptr_t.patch \ + file://0001-samba-fix-musl-lib-without-innetgr.patch \ + " + +SRC_URI[md5sum] = "7d20c01ae35b08bc850442a0c303bca5" +SRC_URI[sha256sum] = "6c10266d5e8c44ce1ea17dc993ace67a83607b4d9a830959c75e3188c6af6375" + +UPSTREAM_CHECK_REGEX = "samba\-(?P4\.10(\.\d+)+).tar.gz" + +inherit systemd waf-samba cpan-base perlnative update-rc.d +# remove default added RDEPENDS on perl +RDEPENDS_${PN}_remove = "perl" + +DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libbsd libaio libpam libtasn1 jansson" + +inherit distro_features_check +REQUIRED_DISTRO_FEATURES = "pam" + +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDFLAGS_append_libc-musl = " -ltirpc" + +INITSCRIPT_NAME = "samba" +INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" +SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" +SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" +SYSTEMD_SERVICE_winbind = "winbind.service" + +# There are prerequisite settings to enable ad-dc, so disable the service by default. +# Reference: +# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller +SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" + +#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen +#to cross Popen +export WAF_NO_PREFORK="yes" + +# Use krb5. Build active domain controller. +# +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ + acl cups ad-dc gnutls ldap mitkrb5 \ +" + +RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" + +PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" +PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" +PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[sasl] = ",,cyrus-sasl" +PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" +PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" +PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" +PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," +PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" +PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libunwind] = ", , libunwind" +PACKAGECONFIG[gpgme] = ",--without-gpgme,," +PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb," + +# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, +# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: +# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html +# So the working combination is: +# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable +# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable +# +# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where +# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. +# +PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," +PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," + +SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" +SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" +SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" +SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" + +# These libraries are supposed to replace others supplied by packages, but decorate the names of +# .so files so there will not be a conflict. This is not done consistantly, so be very careful +# when adding to this list. +# +SAMBA4_LIBS="heimdal,cmocka,NONE" + +EXTRA_OECONF += "--enable-fhs \ + --with-piddir=/run \ + --with-sockets-dir=/run/samba \ + --with-modulesdir=${libdir}/samba \ + --with-lockdir=${localstatedir}/lib/samba \ + --with-cachedir=${localstatedir}/lib/samba \ + --disable-rpath-install \ + --with-shared-modules=${SAMBA4_MODULES} \ + --bundled-libraries=${SAMBA4_LIBS} \ + ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ + --with-cluster-support \ + --with-profiling-data \ + --with-libiconv=${STAGING_DIR_HOST}${prefix} \ + --with-pam --with-pammodulesdir=${base_libdir}/security \ + " + +LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +do_install_append() { + for section in 1 5 7; do + install -d ${D}${mandir}/man$section + install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section + done + for section in 1 5 7 8; do + install -d ${D}${mandir}/man$section + install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section + done + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ + sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ + -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ + -i ${D}${systemd_system_unitdir}/*.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then + rm -f ${D}${systemd_system_unitdir}/samba.service + fi + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf + echo "d ${localstatedir}/log/samba 0755 root root -" \ + >> ${D}${sysconfdir}/tmpfiles.d/samba.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba + sed -e 's,/opt/samba/bin,${sbindir},g' \ + -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ + -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ + -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ + -e 's,/usr/bin,${base_bindir},g' \ + -i ${D}${sysconfdir}/init.d/samba + + install -d ${D}${sysconfdir}/samba + echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts + install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf + install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba + + install -d ${D}${sysconfdir}/default + install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba + + # the items are from ctdb/tests/run_tests.sh + for d in onnode takeover tool eventscripts cunit simple complex; do + testdir=${D}${datadir}/ctdb-tests/$d + install -d $testdir + cp ${S}/ctdb/tests/$d/*.sh $testdir + cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true + done + + # fix file-rdeps qa warning + if [ -f ${D}${bindir}/onnode ]; then + sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode + fi + + chmod 0750 ${D}${sysconfdir}/sudoers.d + rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log + + sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba-gpupdate + sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_upgradedns + sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_spnupdate + sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_kcc + sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_dnsupdate + sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${bindir}/samba-tool + +} + +PACKAGES =+ "${PN}-python3 ${PN}-pidl \ + ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ + winbind \ + ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ + smbclient ${PN}-client ${PN}-server ${PN}-test" + +python samba_populate_packages() { + def module_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN') + d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) + + mlprefix = d.getVar('MLPREFIX') or '' + pam_libdir = d.expand('${base_libdir}/security') + pam_pkgname = mlprefix + 'pam-plugin%s' + do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) + + libdir = d.getVar('libdir') + do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) + pkglibdir = '%s/samba' % libdir + do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) + moduledir = '%s/samba/auth' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) + moduledir = '%s/samba/pdb' % libdir + do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) +} + +PACKAGESPLITFUNCS_prepend = "samba_populate_packages " +PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" + +RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" +RDEPENDS_${PN}-python3 += "pytalloc python3-tdb" + +FILES_${PN}-base = "${sbindir}/nmbd \ + ${sbindir}/smbd \ + ${sysconfdir}/init.d \ + ${systemd_system_unitdir}/nmb.service \ + ${systemd_system_unitdir}/smb.service" + +FILES_${PN}-ad-dc = "${sbindir}/samba \ + ${systemd_system_unitdir}/samba.service \ + ${libdir}/krb5/plugins/kdb/samba.so \ +" +RDEPENDS_${PN}-ad-dc = "krb5-kdc" + +FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ + ${bindir}/ctdb_run_cluster_tests \ + ${sysconfdir}/ctdb/nodes \ + ${datadir}/ctdb-tests \ + ${datadir}/ctdb/tests \ + ${localstatedir}/lib/ctdb \ + " + +FILES_${BPN}-common = "${sysconfdir}/default \ + ${sysconfdir}/samba \ + ${sysconfdir}/tmpfiles.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/spool/samba \ +" + +FILES_${PN} += "${libdir}/vfs/*.so \ + ${libdir}/charset/*.so \ + ${libdir}/*.dat \ + ${libdir}/auth/*.so \ + ${datadir}/ctdb/events/* \ +" + +FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" + +FILES_${PN}-testsuite = "${bindir}/gentest \ + ${bindir}/locktest \ + ${bindir}/masktest \ + ${bindir}/ndrdump \ + ${bindir}/smbtorture" + +FILES_registry-tools = "${bindir}/regdiff \ + ${bindir}/regpatch \ + ${bindir}/regshell \ + ${bindir}/regtree" + +FILES_winbind = "${sbindir}/winbindd \ + ${bindir}/wbinfo \ + ${bindir}/ntlm_auth \ + ${libdir}/samba/idmap \ + ${libdir}/samba/nss_info \ + ${libdir}/winbind_krb5_locator.so \ + ${libdir}/winbind-krb5-localauth.so \ + ${sysconfdir}/init.d/winbind \ + ${systemd_system_unitdir}/winbind.service" + +FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" + +FILES_smbclient = "${bindir}/cifsdd \ + ${bindir}/rpcclient \ + ${bindir}/smbcacls \ + ${bindir}/smbclient \ + ${bindir}/smbcquotas \ + ${bindir}/smbget \ + ${bindir}/smbspool \ + ${bindir}/smbtar \ + ${bindir}/smbtree \ + ${libdir}/samba/smbspool_krb5_wrapper" + +RDEPENDS_${PN}-pidl_append = " perl" +FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" + +RDEPENDS_${PN}-client = "\ + smbclient \ + winbind \ + registry-tools \ + ${PN}-pidl \ + " + +ALLOW_EMPTY_${PN}-client = "1" + +RDEPENDS_${PN}-server = "\ + ${PN} \ + winbind \ + registry-tools \ + " + +ALLOW_EMPTY_${PN}-server = "1" + +RDEPENDS_${PN}-test = "\ + ${PN}-ctdb-tests \ + ${PN}-testsuite \ + " + +ALLOW_EMPTY_${PN}-test = "1" diff --git a/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb b/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb deleted file mode 100644 index 762a5bc615..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb +++ /dev/null @@ -1,327 +0,0 @@ -HOMEPAGE = "https://www.samba.org/" -SECTION = "console/network" - -LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \ - file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 " - -SAMBA_MIRROR = "http://samba.org/samba/ftp" -MIRRORS += "\ -${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \ -${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \ -" - -SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ - file://smb.conf \ - file://16-do-not-check-xsltproc-manpages.patch \ - file://20-do-not-import-target-module-while-cross-compile.patch \ - file://21-add-config-option-without-valgrind.patch \ - file://netdb_defines.patch \ - file://glibc_only.patch \ - file://iconv-4.7.0.patch \ - file://dnsserver-4.7.0.patch \ - file://smb_conf-4.7.0.patch \ - file://volatiles.03_samba \ - " -SRC_URI_append_libc-musl = " \ - file://samba-pam.patch \ - file://samba-4.3.9-remove-getpwent_r.patch \ - file://cmocka-uintptr_t.patch \ - " - -SRC_URI[md5sum] = "25de700c8f1148fd13973a49a51c059e" -SRC_URI[sha256sum] = "c162d519101e15d1a1d76df063bfefe8d1656f57fb74e1ef19fe05d341a65d8f" - -UPSTREAM_CHECK_REGEX = "samba\-(?P4\.8(\.\d+)+).tar.gz" - -inherit systemd waf-samba cpan-base perlnative update-rc.d -# remove default added RDEPENDS on perl -RDEPENDS_${PN}_remove = "perl" - -DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libbsd libaio libpam" - -RCONFLICTS_${PN} = "libldb" -RCONFLICTS_${PN}-python = "pyldb" - -inherit distro_features_check -REQUIRED_DISTRO_FEATURES = "pam" - -DEPENDS_append_libc-musl = " libtirpc" -CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS_append_libc-musl = " -ltirpc" - -INITSCRIPT_NAME = "samba" -INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." - -SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind" -SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" -SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" -SYSTEMD_SERVICE_winbind = "winbind.service" - -# There are prerequisite settings to enable ad-dc, so disable the service by default. -# Reference: -# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller -SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable" - -# Use krb5. Build active domain controller. -# -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ - acl ad-dc cups gnutls ldap mitkrb5 \ -" - -RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt" - -PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl" -PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin" -PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups" -PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" -PACKAGECONFIG[sasl] = ",,cyrus-sasl" -PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd" -PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi" -PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind," -PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust" -PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libunwind] = ", , libunwind" - -# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS, -# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to: -# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html -# So the working combination is: -# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable -# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable -# -# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where -# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow. -# -PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,," -PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," -PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5," - -SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2" -SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4" -SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4" -SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}" - -# These libraries are supposed to replace others supplied by packages, but decorate the names of -# .so files so there will not be a conflict. This is not done consistantly, so be very careful -# when adding to this list. -# -SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE" - -# interim packages: As long as ldb/pyldb-util are in SAMBA4_LIBS we need to pack -# bundled libraries in seperate packages. Otherwise they are auto-packed in -# package 'samba' which RDEPENDS on lots of packages not wanted e.g autostarting -# nmbd/smbd daemons -# Once 'ldb,pyldb-util' are removed from SAMBA4_LIBS the bundled packages can -# be removed again. -PACKAGES =+ "${PN}-bundled-ldb ${PN}-bundled-pyldb-util" -FILES_${PN}-bundled-ldb = "${libdir}/samba/libldb${SOLIBS}" -FILES_${PN}-bundled-pyldb-util = "${libdir}/samba/libpyldb-util${SOLIBS}" - -EXTRA_OECONF += "--enable-fhs \ - --with-piddir=/run \ - --with-sockets-dir=/run/samba \ - --with-modulesdir=${libdir}/samba \ - --with-lockdir=${localstatedir}/lib/samba \ - --with-cachedir=${localstatedir}/lib/samba \ - --disable-rpath-install \ - --with-shared-modules=${SAMBA4_MODULES} \ - --bundled-libraries=${SAMBA4_LIBS} \ - ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \ - --with-cluster-support \ - --with-profiling-data \ - --with-libiconv=${STAGING_DIR_HOST}${prefix} \ - --with-pam --with-pammodulesdir=${base_libdir}/security \ - " - -LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -do_install_append() { - for section in 1 5 7; do - install -d ${D}${mandir}/man$section - install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section - done - for section in 1 5 7 8; do - install -d ${D}${mandir}/man$section - install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section - done - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/ - sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \ - -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \ - -i ${D}${systemd_system_unitdir}/*.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then - rm -f ${D}${systemd_system_unitdir}/samba.service - fi - - install -d ${D}${sysconfdir}/tmpfiles.d - install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf - echo "d ${localstatedir}/log/samba 0755 root root -" \ - >> ${D}${sysconfdir}/tmpfiles.d/samba.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba - sed -e 's,/opt/samba/bin,${sbindir},g' \ - -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \ - -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \ - -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \ - -e 's,/usr/bin,${base_bindir},g' \ - -i ${D}${sysconfdir}/init.d/samba - - install -d ${D}${sysconfdir}/samba - echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts - install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf - install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba - - install -d ${D}${sysconfdir}/default - install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba - - # install ctdb config file and test cases - install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes - # the items are from ctdb/tests/run_tests.sh - for d in onnode takeover tool eventscripts cunit simple complex; do - testdir=${D}${datadir}/ctdb-tests/$d - install -d $testdir - cp ${S}/ctdb/tests/$d/*.sh $testdir - cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true - done - - # fix file-rdeps qa warning - if [ -f ${D}${bindir}/onnode ]; then - sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode - fi - - chmod 0750 ${D}${sysconfdir}/sudoers.d - rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log -} - -PACKAGES =+ "${PN}-python ${PN}-pidl \ - ${PN}-dsdb-modules ${PN}-testsuite registry-tools \ - winbind \ - ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \ - smbclient ${PN}-client ${PN}-server ${PN}-test" - -python samba_populate_packages() { - def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN') - d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) - - mlprefix = d.getVar('MLPREFIX') or '' - pam_libdir = d.expand('${base_libdir}/security') - pam_pkgname = mlprefix + 'pam-plugin%s' - do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True) - - libdir = d.getVar('libdir') - do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True) - pkglibdir = '%s/samba' % libdir - do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True) - moduledir = '%s/samba/auth' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True) - moduledir = '%s/samba/pdb' % libdir - do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True) -} - -PACKAGESPLITFUNCS_prepend = "samba_populate_packages " -PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" - -RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules" -RDEPENDS_${PN}-python += "pytalloc python-tdb" - -FILES_${PN}-base = "${sbindir}/nmbd \ - ${sbindir}/smbd \ - ${sysconfdir}/init.d \ - ${systemd_system_unitdir}/nmb.service \ - ${systemd_system_unitdir}/smb.service" - -FILES_${PN}-ad-dc = "${sbindir}/samba \ - ${systemd_system_unitdir}/samba.service \ - ${libdir}/krb5/plugins/kdb/samba.so \ -" -RDEPENDS_${PN}-ad-dc = "krb5-kdc" - -FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ - ${bindir}/ctdb_run_cluster_tests \ - ${sysconfdir}/ctdb/nodes \ - ${datadir}/ctdb-tests \ - ${datadir}/ctdb/tests \ - ${localstatedir}/lib/ctdb \ - " - -FILES_${BPN}-common = "${sysconfdir}/default \ - ${sysconfdir}/samba \ - ${sysconfdir}/tmpfiles.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/spool/samba \ -" - -FILES_${PN} += "${libdir}/vfs/*.so \ - ${libdir}/charset/*.so \ - ${libdir}/*.dat \ - ${libdir}/auth/*.so \ -" - -FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb" - -FILES_${PN}-testsuite = "${bindir}/gentest \ - ${bindir}/locktest \ - ${bindir}/masktest \ - ${bindir}/ndrdump \ - ${bindir}/smbtorture" - -FILES_registry-tools = "${bindir}/regdiff \ - ${bindir}/regpatch \ - ${bindir}/regshell \ - ${bindir}/regtree" - -FILES_winbind = "${sbindir}/winbindd \ - ${bindir}/wbinfo \ - ${bindir}/ntlm_auth \ - ${libdir}/samba/idmap \ - ${libdir}/samba/nss_info \ - ${libdir}/winbind_krb5_locator.so \ - ${libdir}/winbind-krb5-localauth.so \ - ${sysconfdir}/init.d/winbind \ - ${systemd_system_unitdir}/winbind.service" - -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" - -FILES_smbclient = "${bindir}/cifsdd \ - ${bindir}/rpcclient \ - ${bindir}/smbcacls \ - ${bindir}/smbclient \ - ${bindir}/smbcquotas \ - ${bindir}/smbget \ - ${bindir}/smbspool \ - ${bindir}/smbtar \ - ${bindir}/smbtree \ - ${libdir}/samba/smbspool_krb5_wrapper" - -RDEPENDS_${PN}-pidl_append = " perl" -FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse" - -RDEPENDS_${PN}-client = "\ - smbclient \ - winbind \ - registry-tools \ - ${PN}-pidl \ - " - -ALLOW_EMPTY_${PN}-client = "1" - -RDEPENDS_${PN}-server = "\ - ${PN} \ - winbind \ - registry-tools \ - " - -ALLOW_EMPTY_${PN}-server = "1" - -RDEPENDS_${PN}-test = "\ - ${PN}-ctdb-tests \ - ${PN}-testsuite \ - " - -ALLOW_EMPTY_${PN}-test = "1" -- cgit 1.2.3-korg