From d16352e9b4a916fa520896e9df96819f1388aef3 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 23 Apr 2017 22:20:58 -0700 Subject: samba: Upgrade to 4.6.2 Signed-off-by: Khem Raj Signed-off-by: Martin Jansa Signed-off-by: Joe MacDonald --- .../waf-cross-answers/cross-answers-aarch64.txt | 1 + .../files/waf-cross-answers/cross-answers-arm.txt | 1 + .../files/waf-cross-answers/cross-answers-i586.txt | 1 + .../files/waf-cross-answers/cross-answers-i686.txt | 1 + .../files/waf-cross-answers/cross-answers-mips.txt | 1 + .../waf-cross-answers/cross-answers-mips64.txt | 1 + .../waf-cross-answers/cross-answers-mipsel.txt | 1 + .../waf-cross-answers/cross-answers-powerpc.txt | 1 + .../waf-cross-answers/cross-answers-powerpc64.txt | 1 + .../waf-cross-answers/cross-answers-x86_64.txt | 1 + .../samba-4.4.5/00-fix-typos-in-man-pages.patch | 108 --------- ...void-timeout-for-nmbd-if-started-offline-.patch | 31 --- ...006-avoid-using-colon-in-the-checking-msg.patch | 32 --- .../samba/samba-4.4.5/10-use-only-libsystemd.patch | 30 --- .../16-do-not-check-xsltproc-manpages.patch | 43 ---- ...-import-target-module-while-cross-compile.patch | 58 ----- .../21-add-config-option-without-valgrind.patch | 63 ----- .../samba-4.4.5/internal_tevent_to_0.9.31.patch | 92 -------- .../samba/samba-4.4.5/samba-4.2.7-pam.patch | 36 --- .../samba-4.3.9-remove-getpwent_r.patch | 87 ------- .../samba/samba-4.4.5/volatiles.03_samba | 3 - .../samba/samba/00-fix-typos-in-man-pages.patch | 108 +++++++++ ...void-timeout-for-nmbd-if-started-offline-.patch | 31 +++ ...006-avoid-using-colon-in-the-checking-msg.patch | 32 +++ .../samba/16-do-not-check-xsltproc-manpages.patch | 43 ++++ ...-import-target-module-while-cross-compile.patch | 58 +++++ .../21-add-config-option-without-valgrind.patch | 63 +++++ .../samba/samba/samba-4.2.7-pam.patch | 36 +++ .../samba/samba-4.3.9-remove-getpwent_r.patch | 87 +++++++ .../samba/samba/volatiles.03_samba | 3 + .../recipes-connectivity/samba/samba_4.4.5.bb | 256 --------------------- .../recipes-connectivity/samba/samba_4.6.2.bb | 252 ++++++++++++++++++++ 32 files changed, 723 insertions(+), 839 deletions(-) delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/00-fix-typos-in-man-pages.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba create mode 100644 meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch create mode 100644 meta-networking/recipes-connectivity/samba/samba/volatiles.03_samba delete mode 100644 meta-networking/recipes-connectivity/samba/samba_4.4.5.bb create mode 100644 meta-networking/recipes-connectivity/samba/samba_4.6.2.bb (limited to 'meta-networking') diff --git a/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt b/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt index bbf7f16203..1023f6aff3 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt @@ -36,3 +36,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-arm.txt b/meta-networking/files/waf-cross-answers/cross-answers-arm.txt index e926fcd3ce..a5cd9981a3 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-arm.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-arm.txt @@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-i586.txt b/meta-networking/files/waf-cross-answers/cross-answers-i586.txt index e926fcd3ce..a5cd9981a3 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-i586.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-i586.txt @@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-i686.txt b/meta-networking/files/waf-cross-answers/cross-answers-i686.txt index e926fcd3ce..a5cd9981a3 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-i686.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-i686.txt @@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mips.txt b/meta-networking/files/waf-cross-answers/cross-answers-mips.txt index 18bfa0203b..3e239e727f 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-mips.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-mips.txt @@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt b/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt index 8fa015ab90..82e694fdaf 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt @@ -36,3 +36,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt b/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt index 18bfa0203b..3e239e727f 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt @@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt b/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt index fb93b56fc3..27b9378a42 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt @@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt index fd585f0d5b..7fd3092cb9 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt @@ -37,3 +37,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt b/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt index bbf7f16203..1023f6aff3 100644 --- a/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt +++ b/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt @@ -36,3 +36,4 @@ getcwd takes a NULL argument: OK Checking for small off_t: NO Checking whether blkcnt_t is 32 bit: NO Checking whether blkcnt_t is 64 bit: OK +Checking whether fcntl lock supports open file description locks: OK diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/00-fix-typos-in-man-pages.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/00-fix-typos-in-man-pages.patch deleted file mode 100644 index c94bc31857..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/00-fix-typos-in-man-pages.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 1573638212a9733a44939a4d38a226f38dca36f1 Mon Sep 17 00:00:00 2001 -From: Michele Baldessari -Date: Tue, 9 Jul 2013 23:23:33 +0200 -Subject: [PATCH] Fix typos in man-pages - -Fix some typos in the man-pages. - -Signed-off-by: Michele Baldessari -Reviewed-by: Simo Sorce - -Autobuild-User(master): Simo Sorce -Autobuild-Date(master): Wed Jul 10 16:45:07 CEST 2013 on sn-devel-104 ---- - docs-xml/manpages/dbwrap_tool.1.xml | 2 +- - docs-xml/manpages/idmap_autorid.8.xml | 2 +- - docs-xml/manpages/net.8.xml | 2 +- - docs-xml/manpages/pdbedit.8.xml | 2 +- - docs-xml/manpages/samba.7.xml | 2 +- - docs-xml/manpages/smbclient.1.xml | 2 +- - docs-xml/manpages/smbpasswd.5.xml | 2 +- - docs-xml/manpages/vfs_smb_traffic_analyzer.8.xml | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -Index: samba-4.1.11/docs-xml/manpages/smbstatus.1.xml -=================================================================== ---- samba-4.1.11.orig/docs-xml/manpages/smbstatus.1.xml -+++ samba-4.1.11/docs-xml/manpages/smbstatus.1.xml -@@ -137,6 +137,13 @@ - - - -+ -+ -n|--numeric -+ causes smbstatus to display numeric UIDs and GIDs instead of -+ resolving them to names. -+ -+ -+ - - - -Index: samba-4.1.11/docs-xml/manpages/sharesec.1.xml -=================================================================== ---- samba-4.1.11.orig/docs-xml/manpages/sharesec.1.xml -+++ samba-4.1.11/docs-xml/manpages/sharesec.1.xml -@@ -129,6 +129,13 @@ - - - -+ -+ -S|--setsddl=STRING -+ -+ Set security descriptor by providing ACL in SDDL format. -+ -+ -+ - &stdarg.help; - &stdarg.server.debug; - &popt.common.samba; -Index: samba-4.1.11/docs-xml/build/DTD/samba.entities -=================================================================== ---- samba-4.1.11.orig/docs-xml/build/DTD/samba.entities -+++ samba-4.1.11/docs-xml/build/DTD/samba.entities -@@ -270,6 +270,44 @@ file. - &popt.common.samba; - '> - -+ -+-S|--signing on|off|required -+Set the client signing state. -+ -+ -+'> -+ -+ -+-P|--machine-pass -+Use stored machine account password. -+ -+ -+'> -+ -+ -+-e|--encrypt -+ -+This command line parameter requires the remote -+server support the UNIX extensions or that the SMB3 protocol has been selected. -+Requests that the connection be encrypted. Negotiates SMB encryption using either -+SMB3 or POSIX extensions via GSSAPI. Uses the given credentials for -+the encryption negotiation (either kerberos or NTLMv1/v2 if given -+domain/username/password triple. Fails the connection if encryption -+cannot be negotiated. -+ -+ -+'> -+ -+ -+--pw-nt-hash -+The supplied password is the NT hash. -+ -+ -+'> - - diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch deleted file mode 100644 index 0ab3436fc5..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Submitted [https://github.com/samba-team/samba/pull/70] - -Signed-off-by: Andreas Oberritter - -From 50eac4fd30944e5e1d83060757633fe0ed572723 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Wed, 30 Nov 2016 16:25:06 +0100 -Subject: [PATCH] packaging: Avoid timeout for nmbd if started offline with - systemd - -If no network connection appears within DefaultTimeoutStartSec -(~ 90s) after startup, nmbd fails to notify systemd and will -therefore get killed. - -Signed-off-by: Andreas Oberritter ---- - packaging/systemd/nmb.service | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/packaging/systemd/nmb.service b/packaging/systemd/nmb.service -index 992c0cd..555c9ab 100644 ---- a/packaging/systemd/nmb.service -+++ b/packaging/systemd/nmb.service -@@ -10,6 +10,7 @@ EnvironmentFile=-/etc/sysconfig/samba - ExecStart=/usr/sbin/nmbd $NMBDOPTIONS - ExecReload=/usr/bin/kill -HUP $MAINPID - LimitCORE=infinity -+TimeoutStartSec=0 - - [Install] - WantedBy=multi-user.target diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch deleted file mode 100644 index cdf7a38c18..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/0006-avoid-using-colon-in-the-checking-msg.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5413f97290d3126262eb309ecbcf7769509f2a11 Mon Sep 17 00:00:00 2001 -From: Jackie Huang -Date: Tue, 10 Nov 2015 00:48:35 -0500 -Subject: [PATCH 6/7] avoid using colon in the checking msg - -Upstream-Status: Pending - -colon is used as the separator when parse from -a answers file, the colon here makes it never -get the right answer. - -Signed-off-by: Jackie Huang ---- - wscript_configure_system_mitkrb5 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5 -index a62d00b..a2d89f0 100644 ---- a/wscript_configure_system_mitkrb5 -+++ b/wscript_configure_system_mitkrb5 -@@ -240,7 +240,7 @@ conf.CHECK_CODE(''' - ''', - 'HAVE_WRFILE_KEYTAB', - headers='krb5.h', lib='krb5', execute=True, -- msg="Checking whether the WRFILE:-keytab is supported"); -+ msg="Checking whether the WRFILE -keytab is supported"); - # Check for KRB5_DEPRECATED handling - conf.CHECK_CODE('''#define KRB5_DEPRECATED 1 - #include ''', --- -1.9.1 - diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch deleted file mode 100644 index 0ddc9410cd..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/10-use-only-libsystemd.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -ur samba-4.4.2/lib/util/debug.c samba-4.4.2/lib/util/debug.c ---- samba-4.4.2/lib/util/debug.c 2016-05-08 18:33:24.000000000 +0200 -+++ samba-4.4.2/lib/util/debug.c 2016-05-08 18:27:09.341481492 +0200 -@@ -102,7 +102,7 @@ - .fd = 2 /* stderr by default */ - }; - --#if defined(WITH_SYSLOG) || defined(HAVE_LIBSYSTEMD_JOURNAL) -+#if defined(WITH_SYSLOG) || defined(HAVE_LIBSYSTEMD) - static int debug_level_to_priority(int level) - { - /* -@@ -179,7 +179,7 @@ - } - #endif /* WITH_SYSLOG */ - --#ifdef HAVE_LIBSYSTEMD_JOURNAL -+#ifdef HAVE_LIBSYSTEMD - #include - static void debug_systemd_log(int msg_level, - const char *msg, const char *msg_no_nl) -@@ -251,7 +251,7 @@ - }, - #endif - --#ifdef HAVE_LIBSYSTEMD_JOURNAL -+#ifdef HAVE_LIBSYSTEMD - { - .name = "systemd", - .log = debug_systemd_log, diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch deleted file mode 100644 index c37cfcde44..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/16-do-not-check-xsltproc-manpages.patch +++ /dev/null @@ -1,43 +0,0 @@ -Don't check xsltproc manpages - -Signed-off-by: Bian Naimeng - -Index: samba-4.4.2/lib/ldb/wscript -=================================================================== ---- samba-4.4.2.orig/lib/ldb/wscript -+++ samba-4.4.2/lib/ldb/wscript -@@ -65,7 +65,7 @@ def configure(conf): - conf.define('USING_SYSTEM_LDB', 1) - - if conf.env.standalone_ldb: -- conf.CHECK_XSLTPROC_MANPAGES() -+ #conf.CHECK_XSLTPROC_MANPAGES() - - # we need this for the ldap backend - if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): -Index: samba-4.4.2/lib/talloc/wscript -=================================================================== ---- samba-4.4.2.orig/lib/talloc/wscript -+++ samba-4.4.2/lib/talloc/wscript -@@ -56,7 +56,7 @@ def configure(conf): - if conf.env.standalone_talloc: - conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1 - -- conf.CHECK_XSLTPROC_MANPAGES() -+ #conf.CHECK_XSLTPROC_MANPAGES() - - if not conf.env.disable_python: - # also disable if we don't have the python libs installed -Index: samba-4.4.2/lib/tdb/wscript -=================================================================== ---- samba-4.4.2.orig/lib/tdb/wscript -+++ samba-4.4.2/lib/tdb/wscript -@@ -92,7 +92,7 @@ def configure(conf): - not conf.env.disable_tdb_mutex_locking): - conf.define('USE_TDB_MUTEX_LOCKING', 1) - -- conf.CHECK_XSLTPROC_MANPAGES() -+ #conf.CHECK_XSLTPROC_MANPAGES() - - if not conf.env.disable_python: - # also disable if we don't have the python libs installed diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch deleted file mode 100644 index e112b3b40b..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/20-do-not-import-target-module-while-cross-compile.patch +++ /dev/null @@ -1,58 +0,0 @@ -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 - -@@ -230,17 +231,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li - # versions - minversion = minimum_library_version(conf, libname, minversion) - -- try: -- m = __import__(modulename) -- except ImportError: -- found = False -- else: -+ # Find module in PYTHONPATH -+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]]) -+ if stuff: - try: -- version = m.__version__ -- except AttributeError: -+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2]) -+ 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])) -+ found = True - else: -- found = tuplize_version(version) >= tuplize_version(minversion) -+ try: -+ version = m.__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) diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch deleted file mode 100644 index 025ac2775f..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/21-add-config-option-without-valgrind.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001 -From: Wenzong Fan -Date: Thu, 10 Dec 2015 04:20:51 -0500 -Subject: [PATCH] Add config option without-valgrind - -Upstream-Status: Pending - -Signed-off-by: Wenzong Fan ---- - lib/replace/wscript | 4 +++- - source3/wscript | 5 ++++- - wscript | 4 ++++ - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/lib/replace/wscript b/lib/replace/wscript -index f0040b1..aca73af 100644 ---- a/lib/replace/wscript -+++ b/lib/replace/wscript -@@ -101,7 +101,9 @@ struct foo bar = { .y = 'X', .x = 1 }; - - conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') - -- 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') -+ - 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 malloc.h') -diff --git a/source3/wscript b/source3/wscript -index bac3dd5..a5c51ea 100644 ---- a/source3/wscript -+++ b/source3/wscript -@@ -1016,7 +1016,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 7679c0f..681ac17 100644 ---- a/wscript -+++ b/wscript -@@ -72,6 +72,10 @@ def set_options(opt): - help=("Disable systemd integration"), - action='store_false', dest='enable_systemd') - -+ opt.add_option('--without-valgrind', -+ help=("Disable use of the valgrind headers"), -+ action="store_true", dest='disable_valgrind', default=False) -+ - gr = opt.option_group('developer options') - - opt.tool_options('python') # options for disabling pyc or pyo compilation --- -1.9.1 - diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch deleted file mode 100644 index bd4cd64079..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/internal_tevent_to_0.9.31.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- samba-4.4.5.orig/lib/tevent/tevent_internal.h 2016-01-26 12:45:46.000000000 +0100 -+++ samba-4.4.5/lib/tevent/tevent_internal.h 2016-10-07 06:45:35.000000000 +0200 -@@ -228,6 +228,16 @@ - void *additional_data; - }; - -+struct tevent_threaded_context { -+ struct tevent_threaded_context *next, *prev; -+ -+#ifdef HAVE_PTHREAD -+ pthread_mutex_t event_ctx_mutex; -+#endif -+ struct tevent_context *event_ctx; -+ int wakeup_fd; -+}; -+ - struct tevent_debug_ops { - void (*debug)(void *context, enum tevent_debug_level level, - const char *fmt, va_list ap) PRINTF_ATTRIBUTE(3,0); -@@ -241,24 +251,41 @@ - /* the specific events implementation */ - const struct tevent_ops *ops; - -+ /* -+ * The following three pointers are queried on every loop_once -+ * in the order in which they appear here. Not measured, but -+ * hopefully putting them at the top together with "ops" -+ * should make tevent a *bit* more cache-friendly than before. -+ */ -+ -+ /* list of signal events - used by common code */ -+ struct tevent_signal *signal_events; -+ -+ /* List of threaded job indicators */ -+ struct tevent_threaded_context *threaded_contexts; -+ -+ /* list of immediate events - used by common code */ -+ struct tevent_immediate *immediate_events; -+ - /* list of fd events - used by common code */ - struct tevent_fd *fd_events; - - /* list of timed events - used by common code */ - struct tevent_timer *timer_events; - -- /* list of immediate events - used by common code */ -- struct tevent_immediate *immediate_events; -- -- /* list of signal events - used by common code */ -- struct tevent_signal *signal_events; -+ /* List of scheduled immediates */ -+ pthread_mutex_t scheduled_mutex; -+ struct tevent_immediate *scheduled_immediates; - - /* this is private for the events_ops implementation */ - void *additional_data; - - /* pipe hack used with signal handlers */ -- struct tevent_fd *pipe_fde; -- int pipe_fds[2]; -+ struct tevent_fd *wakeup_fde; -+ int wakeup_fd; /* fd to write into */ -+#ifndef HAVE_EVENT_FD -+ int wakeup_read_fd; -+#endif - - /* debugging operations */ - struct tevent_debug_ops debug_ops; -@@ -282,6 +309,10 @@ - * tevent_common_add_timer_v2() - */ - struct tevent_timer *last_zero_timer; -+ -+#ifdef HAVE_PTHREAD -+ struct tevent_context *prev, *next; -+#endif - }; - - const struct tevent_ops *tevent_find_ops_byname(const char *name); -@@ -327,6 +358,12 @@ - const char *handler_name, - const char *location); - bool tevent_common_loop_immediate(struct tevent_context *ev); -+void tevent_common_threaded_activate_immediate(struct tevent_context *ev); -+ -+bool tevent_common_have_events(struct tevent_context *ev); -+int tevent_common_wakeup_init(struct tevent_context *ev); -+int tevent_common_wakeup_fd(int fd); -+int tevent_common_wakeup(struct tevent_context *ev); - - struct tevent_signal *tevent_common_add_signal(struct tevent_context *ev, - TALLOC_CTX *mem_ctx, diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch deleted file mode 100644 index 6b9ade920e..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.2.7-pam.patch +++ /dev/null @@ -1,36 +0,0 @@ -Lifted from gentoo and ported to 4.4.5 - -http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.2.7-pam.patch - -Signed-off-by: Khem Raj - - -Index: samba-4.4.5/source3/wscript -=================================================================== ---- samba-4.4.5.orig/source3/wscript -+++ samba-4.4.5/source3/wscript -@@ -873,7 +873,7 @@ msg.msg_accrightslen = sizeof(fd); - if conf.env.with_iconv: - conf.DEFINE('HAVE_ICONV', 1) - -- if Options.options.with_pam: -+ if Options.options.with_pam != False: - use_pam=True - conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h') - if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'): -@@ -945,6 +945,15 @@ int i; i = PAM_RADIO_TYPE; - if use_pam: - conf.DEFINE('WITH_PAM', 1) - conf.DEFINE('WITH_PAM_MODULES', 1) -+ else: -+ Logs.warn("PAM disabled") -+ use_pam=False -+ conf.undefine('WITH_PAM') -+ conf.undefine('WITH_PAM_MODULES') -+ conf.undefine('HAVE_SECURITY_PAM_APPL_H') -+ conf.undefine('PAM_RHOST') -+ conf.undefine('PAM_TTY') -+ conf.undefine('HAVE_PAM_PAM_APPL_H') - - seteuid = False - diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch b/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch deleted file mode 100644 index 71db99c5d2..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/samba-4.3.9-remove-getpwent_r.patch +++ /dev/null @@ -1,87 +0,0 @@ -Musl does not have _r versions of getent() and getpwent() APIs - -Taken from gentoo -http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch - -Signed-off-by: Khem Raj - -Index: samba-4.4.5/source4/torture/local/nss_tests.c -=================================================================== ---- samba-4.4.5.orig/source4/torture/local/nss_tests.c -+++ samba-4.4.5/source4/torture/local/nss_tests.c -@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct tortu - return true; - } - -- - static bool test_getgrgid(struct torture_context *tctx, - gid_t gid, - struct group *grp_p) -@@ -333,6 +332,7 @@ static bool test_enum_passwd(struct tort - return true; - } - -+#if HAVE_GETPWENT_R - static bool test_enum_r_passwd(struct torture_context *tctx, - struct passwd **pwd_array_p, - size_t *num_pwd_p) -@@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct to - - return true; - } -+#endif - - static bool torture_assert_passwd_equal(struct torture_context *tctx, - const struct passwd *p1, -@@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture - struct passwd *pwd, pwd1, pwd2; - size_t num_pwd; - -- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), -+ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), - "failed to enumerate passwd"); - - for (i=0; i < num_pwd; i++) { -@@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct t - struct passwd *pwd, pwd1, pwd2, pwd3, pwd4; - size_t num_pwd; - -- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), -+ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), - "failed to enumerate passwd"); - - for (i=0; i < num_pwd; i++) { -@@ -531,6 +532,7 @@ static bool test_enum_group(struct tortu - return true; - } - -+#if HAVE_GETGRENT_R - static bool test_enum_r_group(struct torture_context *tctx, - struct group **grp_array_p, - size_t *num_grp_p) -@@ -579,6 +581,7 @@ static bool test_enum_r_group(struct tor - - return true; - } -+#endif - - static bool torture_assert_group_equal(struct torture_context *tctx, - const struct group *g1, -@@ -635,7 +638,7 @@ static bool test_group_r(struct torture_ - struct group *grp, grp1, grp2; - size_t num_grp; - -- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), -+ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), - "failed to enumerate group"); - - for (i=0; i < num_grp; i++) { -@@ -663,7 +666,7 @@ static bool test_group_r_cross(struct to - struct group *grp, grp1, grp2, grp3, grp4; - size_t num_grp; - -- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), -+ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), - "failed to enumerate group"); - - for (i=0; i < num_grp; i++) { diff --git a/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba b/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba deleted file mode 100644 index 4bdfa7d2c9..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba-4.4.5/volatiles.03_samba +++ /dev/null @@ -1,3 +0,0 @@ -# -d root root 0755 /var/log/samba none -d root root 0755 /var/run/samba none diff --git a/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch b/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch new file mode 100644 index 0000000000..c94bc31857 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/00-fix-typos-in-man-pages.patch @@ -0,0 +1,108 @@ +From 1573638212a9733a44939a4d38a226f38dca36f1 Mon Sep 17 00:00:00 2001 +From: Michele Baldessari +Date: Tue, 9 Jul 2013 23:23:33 +0200 +Subject: [PATCH] Fix typos in man-pages + +Fix some typos in the man-pages. + +Signed-off-by: Michele Baldessari +Reviewed-by: Simo Sorce + +Autobuild-User(master): Simo Sorce +Autobuild-Date(master): Wed Jul 10 16:45:07 CEST 2013 on sn-devel-104 +--- + docs-xml/manpages/dbwrap_tool.1.xml | 2 +- + docs-xml/manpages/idmap_autorid.8.xml | 2 +- + docs-xml/manpages/net.8.xml | 2 +- + docs-xml/manpages/pdbedit.8.xml | 2 +- + docs-xml/manpages/samba.7.xml | 2 +- + docs-xml/manpages/smbclient.1.xml | 2 +- + docs-xml/manpages/smbpasswd.5.xml | 2 +- + docs-xml/manpages/vfs_smb_traffic_analyzer.8.xml | 2 +- + 8 files changed, 8 insertions(+), 8 deletions(-) + +Index: samba-4.1.11/docs-xml/manpages/smbstatus.1.xml +=================================================================== +--- samba-4.1.11.orig/docs-xml/manpages/smbstatus.1.xml ++++ samba-4.1.11/docs-xml/manpages/smbstatus.1.xml +@@ -137,6 +137,13 @@ + + + ++ ++ -n|--numeric ++ causes smbstatus to display numeric UIDs and GIDs instead of ++ resolving them to names. ++ ++ ++ + + + +Index: samba-4.1.11/docs-xml/manpages/sharesec.1.xml +=================================================================== +--- samba-4.1.11.orig/docs-xml/manpages/sharesec.1.xml ++++ samba-4.1.11/docs-xml/manpages/sharesec.1.xml +@@ -129,6 +129,13 @@ + + + ++ ++ -S|--setsddl=STRING ++ ++ Set security descriptor by providing ACL in SDDL format. ++ ++ ++ + &stdarg.help; + &stdarg.server.debug; + &popt.common.samba; +Index: samba-4.1.11/docs-xml/build/DTD/samba.entities +=================================================================== +--- samba-4.1.11.orig/docs-xml/build/DTD/samba.entities ++++ samba-4.1.11/docs-xml/build/DTD/samba.entities +@@ -270,6 +270,44 @@ file. + &popt.common.samba; + '> + ++ ++-S|--signing on|off|required ++Set the client signing state. ++ ++ ++'> ++ ++ ++-P|--machine-pass ++Use stored machine account password. ++ ++ ++'> ++ ++ ++-e|--encrypt ++ ++This command line parameter requires the remote ++server support the UNIX extensions or that the SMB3 protocol has been selected. ++Requests that the connection be encrypted. Negotiates SMB encryption using either ++SMB3 or POSIX extensions via GSSAPI. Uses the given credentials for ++the encryption negotiation (either kerberos or NTLMv1/v2 if given ++domain/username/password triple. Fails the connection if encryption ++cannot be negotiated. ++ ++ ++'> ++ ++ ++--pw-nt-hash ++The supplied password is the NT hash. ++ ++ ++'> + + diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch b/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch new file mode 100644 index 0000000000..0ab3436fc5 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch @@ -0,0 +1,31 @@ +Upstream-Status: Submitted [https://github.com/samba-team/samba/pull/70] + +Signed-off-by: Andreas Oberritter + +From 50eac4fd30944e5e1d83060757633fe0ed572723 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +Date: Wed, 30 Nov 2016 16:25:06 +0100 +Subject: [PATCH] packaging: Avoid timeout for nmbd if started offline with + systemd + +If no network connection appears within DefaultTimeoutStartSec +(~ 90s) after startup, nmbd fails to notify systemd and will +therefore get killed. + +Signed-off-by: Andreas Oberritter +--- + packaging/systemd/nmb.service | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/packaging/systemd/nmb.service b/packaging/systemd/nmb.service +index 992c0cd..555c9ab 100644 +--- a/packaging/systemd/nmb.service ++++ b/packaging/systemd/nmb.service +@@ -10,6 +10,7 @@ EnvironmentFile=-/etc/sysconfig/samba + ExecStart=/usr/sbin/nmbd $NMBDOPTIONS + ExecReload=/usr/bin/kill -HUP $MAINPID + LimitCORE=infinity ++TimeoutStartSec=0 + + [Install] + WantedBy=multi-user.target diff --git a/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch b/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch new file mode 100644 index 0000000000..cdf7a38c18 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/0006-avoid-using-colon-in-the-checking-msg.patch @@ -0,0 +1,32 @@ +From 5413f97290d3126262eb309ecbcf7769509f2a11 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Tue, 10 Nov 2015 00:48:35 -0500 +Subject: [PATCH 6/7] avoid using colon in the checking msg + +Upstream-Status: Pending + +colon is used as the separator when parse from +a answers file, the colon here makes it never +get the right answer. + +Signed-off-by: Jackie Huang +--- + wscript_configure_system_mitkrb5 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5 +index a62d00b..a2d89f0 100644 +--- a/wscript_configure_system_mitkrb5 ++++ b/wscript_configure_system_mitkrb5 +@@ -240,7 +240,7 @@ conf.CHECK_CODE(''' + ''', + 'HAVE_WRFILE_KEYTAB', + headers='krb5.h', lib='krb5', execute=True, +- msg="Checking whether the WRFILE:-keytab is supported"); ++ msg="Checking whether the WRFILE -keytab is supported"); + # Check for KRB5_DEPRECATED handling + conf.CHECK_CODE('''#define KRB5_DEPRECATED 1 + #include ''', +-- +1.9.1 + diff --git a/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch new file mode 100644 index 0000000000..c37cfcde44 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch @@ -0,0 +1,43 @@ +Don't check xsltproc manpages + +Signed-off-by: Bian Naimeng + +Index: samba-4.4.2/lib/ldb/wscript +=================================================================== +--- samba-4.4.2.orig/lib/ldb/wscript ++++ samba-4.4.2/lib/ldb/wscript +@@ -65,7 +65,7 @@ def configure(conf): + conf.define('USING_SYSTEM_LDB', 1) + + if conf.env.standalone_ldb: +- conf.CHECK_XSLTPROC_MANPAGES() ++ #conf.CHECK_XSLTPROC_MANPAGES() + + # we need this for the ldap backend + if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'): +Index: samba-4.4.2/lib/talloc/wscript +=================================================================== +--- samba-4.4.2.orig/lib/talloc/wscript ++++ samba-4.4.2/lib/talloc/wscript +@@ -56,7 +56,7 @@ def configure(conf): + if conf.env.standalone_talloc: + conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1 + +- conf.CHECK_XSLTPROC_MANPAGES() ++ #conf.CHECK_XSLTPROC_MANPAGES() + + if not conf.env.disable_python: + # also disable if we don't have the python libs installed +Index: samba-4.4.2/lib/tdb/wscript +=================================================================== +--- samba-4.4.2.orig/lib/tdb/wscript ++++ samba-4.4.2/lib/tdb/wscript +@@ -92,7 +92,7 @@ def configure(conf): + not conf.env.disable_tdb_mutex_locking): + conf.define('USE_TDB_MUTEX_LOCKING', 1) + +- conf.CHECK_XSLTPROC_MANPAGES() ++ #conf.CHECK_XSLTPROC_MANPAGES() + + if not conf.env.disable_python: + # also disable if we don't have the python libs installed 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 new file mode 100644 index 0000000000..e112b3b40b --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch @@ -0,0 +1,58 @@ +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 + +@@ -230,17 +231,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li + # versions + minversion = minimum_library_version(conf, libname, minversion) + +- try: +- m = __import__(modulename) +- except ImportError: +- found = False +- else: ++ # Find module in PYTHONPATH ++ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]]) ++ if stuff: + try: +- version = m.__version__ +- except AttributeError: ++ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2]) ++ 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])) ++ found = True + else: +- found = tuplize_version(version) >= tuplize_version(minversion) ++ try: ++ version = m.__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) 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 new file mode 100644 index 0000000000..025ac2775f --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch @@ -0,0 +1,63 @@ +From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan +Date: Thu, 10 Dec 2015 04:20:51 -0500 +Subject: [PATCH] Add config option without-valgrind + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan +--- + lib/replace/wscript | 4 +++- + source3/wscript | 5 ++++- + wscript | 4 ++++ + 3 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/lib/replace/wscript b/lib/replace/wscript +index f0040b1..aca73af 100644 +--- a/lib/replace/wscript ++++ b/lib/replace/wscript +@@ -101,7 +101,9 @@ struct foo bar = { .y = 'X', .x = 1 }; + + conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') + +- 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') ++ + 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 malloc.h') +diff --git a/source3/wscript b/source3/wscript +index bac3dd5..a5c51ea 100644 +--- a/source3/wscript ++++ b/source3/wscript +@@ -1016,7 +1016,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 7679c0f..681ac17 100644 +--- a/wscript ++++ b/wscript +@@ -72,6 +72,10 @@ def set_options(opt): + help=("Disable systemd integration"), + action='store_false', dest='enable_systemd') + ++ opt.add_option('--without-valgrind', ++ help=("Disable use of the valgrind headers"), ++ action="store_true", dest='disable_valgrind', default=False) ++ + gr = opt.option_group('developer options') + + opt.tool_options('python') # options for disabling pyc or pyo compilation +-- +1.9.1 + diff --git a/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch b/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch new file mode 100644 index 0000000000..6b9ade920e --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/samba-4.2.7-pam.patch @@ -0,0 +1,36 @@ +Lifted from gentoo and ported to 4.4.5 + +http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.2.7-pam.patch + +Signed-off-by: Khem Raj + + +Index: samba-4.4.5/source3/wscript +=================================================================== +--- samba-4.4.5.orig/source3/wscript ++++ samba-4.4.5/source3/wscript +@@ -873,7 +873,7 @@ msg.msg_accrightslen = sizeof(fd); + if conf.env.with_iconv: + conf.DEFINE('HAVE_ICONV', 1) + +- if Options.options.with_pam: ++ if Options.options.with_pam != False: + use_pam=True + conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h') + if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'): +@@ -945,6 +945,15 @@ int i; i = PAM_RADIO_TYPE; + if use_pam: + conf.DEFINE('WITH_PAM', 1) + conf.DEFINE('WITH_PAM_MODULES', 1) ++ else: ++ Logs.warn("PAM disabled") ++ use_pam=False ++ conf.undefine('WITH_PAM') ++ conf.undefine('WITH_PAM_MODULES') ++ conf.undefine('HAVE_SECURITY_PAM_APPL_H') ++ conf.undefine('PAM_RHOST') ++ conf.undefine('PAM_TTY') ++ conf.undefine('HAVE_PAM_PAM_APPL_H') + + seteuid = False + diff --git a/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch b/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch new file mode 100644 index 0000000000..71db99c5d2 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/samba-4.3.9-remove-getpwent_r.patch @@ -0,0 +1,87 @@ +Musl does not have _r versions of getent() and getpwent() APIs + +Taken from gentoo +http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch + +Signed-off-by: Khem Raj + +Index: samba-4.4.5/source4/torture/local/nss_tests.c +=================================================================== +--- samba-4.4.5.orig/source4/torture/local/nss_tests.c ++++ samba-4.4.5/source4/torture/local/nss_tests.c +@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct tortu + return true; + } + +- + static bool test_getgrgid(struct torture_context *tctx, + gid_t gid, + struct group *grp_p) +@@ -333,6 +332,7 @@ static bool test_enum_passwd(struct tort + return true; + } + ++#if HAVE_GETPWENT_R + static bool test_enum_r_passwd(struct torture_context *tctx, + struct passwd **pwd_array_p, + size_t *num_pwd_p) +@@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct to + + return true; + } ++#endif + + static bool torture_assert_passwd_equal(struct torture_context *tctx, + const struct passwd *p1, +@@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture + struct passwd *pwd, pwd1, pwd2; + size_t num_pwd; + +- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), ++ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), + "failed to enumerate passwd"); + + for (i=0; i < num_pwd; i++) { +@@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct t + struct passwd *pwd, pwd1, pwd2, pwd3, pwd4; + size_t num_pwd; + +- torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), ++ torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), + "failed to enumerate passwd"); + + for (i=0; i < num_pwd; i++) { +@@ -531,6 +532,7 @@ static bool test_enum_group(struct tortu + return true; + } + ++#if HAVE_GETGRENT_R + static bool test_enum_r_group(struct torture_context *tctx, + struct group **grp_array_p, + size_t *num_grp_p) +@@ -579,6 +581,7 @@ static bool test_enum_r_group(struct tor + + return true; + } ++#endif + + static bool torture_assert_group_equal(struct torture_context *tctx, + const struct group *g1, +@@ -635,7 +638,7 @@ static bool test_group_r(struct torture_ + struct group *grp, grp1, grp2; + size_t num_grp; + +- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), ++ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), + "failed to enumerate group"); + + for (i=0; i < num_grp; i++) { +@@ -663,7 +666,7 @@ static bool test_group_r_cross(struct to + struct group *grp, grp1, grp2, grp3, grp4; + size_t num_grp; + +- torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), ++ torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), + "failed to enumerate group"); + + for (i=0; i < num_grp; i++) { diff --git a/meta-networking/recipes-connectivity/samba/samba/volatiles.03_samba b/meta-networking/recipes-connectivity/samba/samba/volatiles.03_samba new file mode 100644 index 0000000000..4bdfa7d2c9 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/volatiles.03_samba @@ -0,0 +1,3 @@ +# +d root root 0755 /var/log/samba none +d root root 0755 /var/run/samba none diff --git a/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb b/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb deleted file mode 100644 index f2d52a2c8e..0000000000 --- a/meta-networking/recipes-connectivity/samba/samba_4.4.5.bb +++ /dev/null @@ -1,256 +0,0 @@ -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://00-fix-typos-in-man-pages.patch \ - file://10-use-only-libsystemd.patch \ - 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://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \ - file://0006-avoid-using-colon-in-the-checking-msg.patch \ - file://internal_tevent_to_0.9.31.patch \ - file://volatiles.03_samba \ - " -SRC_URI_append_libc-musl = " \ - file://samba-4.2.7-pam.patch \ - file://samba-4.3.9-remove-getpwent_r.patch \ - " - -SRC_URI[md5sum] = "6950c5e9f7bdeb8a610c2ca957a15be4" -SRC_URI[sha256sum] = "b876ef2e63f66265490e80a122e66ef2d7616112b839df68f56ac2e1ce17a7bd" - -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 krb5 libbsd libaio libpam" -DEPENDS_append_libc-musl = " libtirpc" -CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS_append_libc-musl = " -ltirpc" - -LSB = "" -LSB_linuxstdbase = "lsb" - -INITSCRIPT_NAME = "samba" -INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." - -SYSTEMD_PACKAGES = "${PN}-base winbind" -SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" -SYSTEMD_SERVICE_winbind = "winbind.service" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ - acl cups ldap \ -" - -RDEPENDS_${PN}-base += "${LSB}" -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" - - -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}" - -SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb" - -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-gnutls \ - --disable-rpath-install \ - --with-shared-modules=${SAMBA4_MODULES} \ - --bundled-libraries=${SAMBA4_LIBS} \ - --with-system-mitkrb5 \ - --without-ad-dc \ - ${@base_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 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 - - 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 - if [ "${LSB}" = "lsb" ]; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d/samba - else - 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 - fi - - install -d ${D}${sysconfdir}/samba - echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts - install -m644 packaging/LSB/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}-ctdb-tests \ - smbclient" - -python samba_populate_packages() { - def module_hook(file, pkg, pattern, format, basename): - pn = d.getVar('PN', True) - d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) - - mlprefix = d.getVar('MLPREFIX', True) 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', True) - 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 " - -RDEPENDS_${PN} += "${PN}-base" - -FILES_${PN}-base = "${sbindir}/nmbd \ - ${sbindir}/smbd \ - ${sysconfdir}/init.d \ - ${localstatedir}/lib/samba \ - ${localstatedir}/nmbd \ - ${localstatedir}/spool/samba \ - ${systemd_system_unitdir}/nmb.service \ - ${systemd_system_unitdir}/samba.service \ - ${systemd_system_unitdir}/smb.service" - -FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ - ${bindir}/ctdb_run_cluster_tests \ - ${sysconfdir}/ctdb/nodes \ - ${libdir}/ctdb-tests \ - ${datadir}/ctdb-tests \ - /run/ctdb \ - " - -FILES_${BPN}-common = "${sysconfdir}/default \ - ${sysconfdir}/samba \ - ${sysconfdir}/tmpfiles.d \ -" - -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 \ - ${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" diff --git a/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb b/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb new file mode 100644 index 0000000000..38876c2c35 --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba_4.6.2.bb @@ -0,0 +1,252 @@ +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://00-fix-typos-in-man-pages.patch \ + 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://0001-packaging-Avoid-timeout-for-nmbd-if-started-offline-.patch \ + file://0006-avoid-using-colon-in-the-checking-msg.patch \ + file://volatiles.03_samba \ + " +SRC_URI_append_libc-musl = " \ + file://samba-4.2.7-pam.patch \ + file://samba-4.3.9-remove-getpwent_r.patch \ + " +SRC_URI[md5sum] = "461def8190ffc651fd8458b24ca2a622" +SRC_URI[sha256sum] = "927afcc16e444718985e3952de92d34e7b776b9ca0238179d866da18a6441c35" + +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 krb5 libbsd libaio libpam" +DEPENDS_append_libc-musl = " libtirpc" +CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc" +LDFLAGS_append_libc-musl = " -ltirpc" + +LSB = "" +LSB_linuxstdbase = "lsb" + +INITSCRIPT_NAME = "samba" +INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." + +SYSTEMD_PACKAGES = "${PN}-base winbind" +SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service" +SYSTEMD_SERVICE_winbind = "winbind.service" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \ + acl cups ldap \ +" + +RDEPENDS_${PN}-base += "${LSB}" +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" + + +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}" + +SAMBA4_LIBS="heimdal,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util,!tevent,!pytevent,!tdb,!pytdb,!ldb,!pyldb" + +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-gnutls \ + --disable-rpath-install \ + --with-shared-modules=${SAMBA4_MODULES} \ + --bundled-libraries=${SAMBA4_LIBS} \ + --with-system-mitkrb5 \ + --without-ad-dc \ + ${@base_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 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 + + 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 + if [ "${LSB}" = "lsb" ]; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d/samba + else + 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 + fi + + install -d ${D}${sysconfdir}/samba + echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts + install -m644 packaging/LSB/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}-ctdb-tests \ + smbclient" + +python samba_populate_packages() { + def module_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN', True) + d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg) + + mlprefix = d.getVar('MLPREFIX', True) 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', True) + 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 " + +RDEPENDS_${PN} += "${PN}-base" + +FILES_${PN}-base = "${sbindir}/nmbd \ + ${sbindir}/smbd \ + ${sysconfdir}/init.d \ + ${localstatedir}/lib/samba \ + ${localstatedir}/nmbd \ + ${localstatedir}/spool/samba \ + ${systemd_system_unitdir}/nmb.service \ + ${systemd_system_unitdir}/samba.service \ + ${systemd_system_unitdir}/smb.service" + +FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \ + ${bindir}/ctdb_run_cluster_tests \ + ${sysconfdir}/ctdb/nodes \ + ${datadir}/ctdb-tests \ + ${datadir}/ctdb/tests \ + " + +FILES_${BPN}-common = "${sysconfdir}/default \ + ${sysconfdir}/samba \ + ${sysconfdir}/tmpfiles.d \ +" + +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 \ + ${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" -- cgit 1.2.3-korg