[gnome-continuous-yocto/gnomeostree-3.22-krogoth] Copy the Samba recipe from meta-oe



commit 569251b5dbe9906ea5ecf7a0df8d4c0f2a685c61
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Fri Feb 17 12:49:59 2017 +0000

    Copy the Samba recipe from meta-oe
    
    We're going to hack it a bit.

 .../samba-4.4.2/00-fix-typos-in-man-pages.patch    |  108 +++++++
 ...006-avoid-using-colon-in-the-checking-msg.patch |   32 ++
 .../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-4.4.2/volatiles.03_samba           |    3 +
 meta-gnomeos/recipes-core/samba/samba_4.4.2.bb     |  320 ++++++++++++++++++++
 7 files changed, 627 insertions(+), 0 deletions(-)
---
diff --git a/meta-gnomeos/recipes-core/samba/samba-4.4.2/00-fix-typos-in-man-pages.patch 
b/meta-gnomeos/recipes-core/samba/samba-4.4.2/00-fix-typos-in-man-pages.patch
new file mode 100644
index 0000000..c94bc31
--- /dev/null
+++ b/meta-gnomeos/recipes-core/samba/samba-4.4.2/00-fix-typos-in-man-pages.patch
@@ -0,0 +1,108 @@
+From 1573638212a9733a44939a4d38a226f38dca36f1 Mon Sep 17 00:00:00 2001
+From: Michele Baldessari <michele acksyn org>
+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 <michele acksyn org>
+Reviewed-by: Simo Sorce <idra samba org>
+
+Autobuild-User(master): Simo Sorce <idra samba org>
+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 @@
+               </listitem>
+               </varlistentry>
+ 
++              <varlistentry>
++              <term>-n|--numeric</term>
++              <listitem><para>causes smbstatus to display numeric UIDs and GIDs instead of
++                              resolving them to names.</para>
++              </listitem>
++              </varlistentry>
++
+       </variablelist>
+ </refsect1>
+ 
+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 @@
+               </para></listitem>
+               </varlistentry>
+ 
++              <varlistentry>
++              <term>-S|--setsddl=STRING</term>
++              <listitem><para>
++              Set security descriptor by providing ACL in SDDL format.
++              </para></listitem>
++              </varlistentry>
++
+               &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;
+ '>
+ 
++<!ENTITY stdarg.signing '
++<varlistentry>
++<term>-S|--signing on|off|required</term>
++<listitem><para>Set the client signing state.
++</para></listitem>
++</varlistentry>
++'>
++
++<!ENTITY stdarg.machinepass '
++<varlistentry>
++<term>-P|--machine-pass</term>
++<listitem><para>Use stored machine account password.
++</para></listitem>
++</varlistentry>
++'>
++
++<!ENTITY stdarg.encrypt '
++<varlistentry>
++<term>-e|--encrypt</term>
++<listitem><para>
++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.
++</para></listitem>
++</varlistentry>
++'>
++
++<!ENTITY stdarg.pwnthash '
++<varlistentry>
++<term>--pw-nt-hash</term>
++<listitem><para>The supplied password is the NT hash.
++</para></listitem>
++</varlistentry>
++'>
+ 
+ <!ENTITY stdarg.resolve.order '
+ <varlistentry>
diff --git a/meta-gnomeos/recipes-core/samba/samba-4.4.2/0006-avoid-using-colon-in-the-checking-msg.patch 
b/meta-gnomeos/recipes-core/samba/samba-4.4.2/0006-avoid-using-colon-in-the-checking-msg.patch
new file mode 100644
index 0000000..cdf7a38
--- /dev/null
+++ b/meta-gnomeos/recipes-core/samba/samba-4.4.2/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 <jackie huang windriver com>
+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 <jackie huang windriver com>
+---
+ 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 <krb5.h>''',
+-- 
+1.9.1
+
diff --git a/meta-gnomeos/recipes-core/samba/samba-4.4.2/16-do-not-check-xsltproc-manpages.patch 
b/meta-gnomeos/recipes-core/samba/samba-4.4.2/16-do-not-check-xsltproc-manpages.patch
new file mode 100644
index 0000000..c37cfcd
--- /dev/null
+++ b/meta-gnomeos/recipes-core/samba/samba-4.4.2/16-do-not-check-xsltproc-manpages.patch
@@ -0,0 +1,43 @@
+Don't check xsltproc manpages
+
+Signed-off-by: Bian Naimeng <biannm cn fujitsu com>
+
+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-gnomeos/recipes-core/samba/samba-4.4.2/20-do-not-import-target-module-while-cross-compile.patch 
b/meta-gnomeos/recipes-core/samba/samba-4.4.2/20-do-not-import-target-module-while-cross-compile.patch
new file mode 100644
index 0000000..e112b3b
--- /dev/null
+++ b/meta-gnomeos/recipes-core/samba/samba-4.4.2/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 <biannm cn fujitsu com>
+
+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-gnomeos/recipes-core/samba/samba-4.4.2/21-add-config-option-without-valgrind.patch 
b/meta-gnomeos/recipes-core/samba/samba-4.4.2/21-add-config-option-without-valgrind.patch
new file mode 100644
index 0000000..025ac27
--- /dev/null
+++ b/meta-gnomeos/recipes-core/samba/samba-4.4.2/21-add-config-option-without-valgrind.patch
@@ -0,0 +1,63 @@
+From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong fan windriver com>
+Date: Thu, 10 Dec 2015 04:20:51 -0500
+Subject: [PATCH] Add config option without-valgrind
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong fan windriver com>
+---
+ 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-gnomeos/recipes-core/samba/samba-4.4.2/volatiles.03_samba 
b/meta-gnomeos/recipes-core/samba/samba-4.4.2/volatiles.03_samba
new file mode 100644
index 0000000..4bdfa7d
--- /dev/null
+++ b/meta-gnomeos/recipes-core/samba/samba-4.4.2/volatiles.03_samba
@@ -0,0 +1,3 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d root root 0755 /var/log/samba none
+d root root 0755 /var/run/samba none
diff --git a/meta-gnomeos/recipes-core/samba/samba_4.4.2.bb b/meta-gnomeos/recipes-core/samba/samba_4.4.2.bb
new file mode 100644
index 0000000..6a2220a
--- /dev/null
+++ b/meta-gnomeos/recipes-core/samba/samba_4.4.2.bb
@@ -0,0 +1,320 @@
+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://0006-avoid-using-colon-in-the-checking-msg.patch \
+           file://volatiles.03_samba \
+          "
+
+SRC_URI[md5sum] = "03a65a3adf08ceb1636ad59d234d7f9d"
+SRC_URI[sha256sum] = "eaecd41a85ebb9507b8db9856ada2a949376e9d53cf75664b5493658f6e5926a"
+
+inherit systemd waf-samba cpan-base perlnative
+# remove default added RDEPENDS on perl
+RDEPENDS_${PN}_remove = "perl"
+
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb krb5 libbsd libaio"
+
+SYSVINITTYPE_linuxstdbase = "lsb"
+SYSVINITTYPE = "sysv"
+
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SYSVINITTYPE}', '', d)} \
+                   ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+                   ${@base_contains('DISTRO_FEATURES', 'zeroconf', 'zeroconf', '', d)} \
+                   acl cups ldap \
+"
+
+RDEPENDS_${PN}-base += "${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'lsb', '', d)}"
+RDEPENDS_${PN}-ctdb-tests += "bash"
+
+PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[pam] = "--with-pam --with-pammodulesdir=${base_libdir}/security,--without-pam,libpam"
+PACKAGECONFIG[lsb] = ",,lsb"
+PACKAGECONFIG[sysv] = ",,sysvinit"
+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} \
+                "
+DISABLE_STATIC = ""
+
+LDFLAGS += "-Wl,-z,relro,-z,now"
+
+do_install_append() {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        for i in nmb smb winbind; do
+            install -m 0644 packaging/systemd/$i.service ${D}${systemd_unitdir}/system
+        done
+        sed -i 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' ${D}${systemd_unitdir}/system/*.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
+    elif ${@bb.utils.contains('PACKAGECONFIG', 'lsb', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 packaging/LSB/samba.sh ${D}${sysconfdir}/init.d
+        update-rc.d -r ${D} samba.sh start 20 3 5 .
+        update-rc.d -r ${D} samba.sh start 20 0 1 6 .
+    elif ${@bb.utils.contains('PACKAGECONFIG', 'sysv', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba.sh
+        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.sh,g' \
+            -i ${D}${sysconfdir}/init.d/samba.sh
+        update-rc.d -r ${D} samba.sh start 20 3 5 .
+        update-rc.d -r ${D} samba.sh start 20 0 1 6 .
+    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}/sysconfig/
+    install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/sysconfig/samba
+
+    rm -rf ${D}/run ${D}${localstatedir}/run
+}
+
+PACKAGES += "${PN}-python ${PN}-python-dbg ${PN}-pidl libwinbind libwinbind-dbg libwinbind-krb5-locator"
+PACKAGES =+ "libwbclient libnss-winbind winbind winbind-dbg libnetapi libsmbsharemodes \
+             libsmbclient libsmbclient-dev lib${PN}-base ${PN}-base ${PN}-ctdb-tests"
+
+RDEPENDS_${PN} += "${PN}-base"
+
+FILES_${PN}-base = "${sbindir}/nmbd \
+                    ${sbindir}/smbd \
+                    ${sysconfdir}/init.d \
+                    ${localstatedir}/lib/samba \
+                    ${localstatedir}/log/samba \
+                    ${localstatedir}/nmbd \
+                    ${localstatedir}/spool/samba \
+"
+
+FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
+                          ${libdir}/ctdb-tests \
+                          ${datadir}/ctdb-tests \
+                          /run/ctdb \
+                         "
+
+# figured out by
+# FILES="tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/smbd 
tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/sbin/nmbd"
+#
+# while [ "${FILES}" != "${OLDFILES}" ]
+# do
+#     OLDFILES="${FILES}"
+#     
NEEDED=`tmp/sysroots/x86_64-linux/usr/libexec/arm-poky-linux-gnueabi.gcc-cross-initial-arm/gcc/arm-poky-linux-gnueabi/5.2.0/objdump
 -x ${FILES} | grep NEEDED | egrep -E 'so(.[0-9]|$)' | sort -u | perl -MData::Dumper -le 'while (<>) {chomp; 
push @lib, (split)[1]}; print "(", join("|", @lib), ")"'`
+#     NF=`find tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib -type f | egrep 
"${NEEDED}" | sort -u`
+#
+#     FILES=`perl -le 'foreach (@ARGV) { $f{$_}++ }; print join(" ", sort keys %f)' ${FILES} ${NF}`
+# done
+#
+# LIBS=`echo ${FILES} | sed -e 
's,tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/samba/4.1.12-r0/image/usr/lib,${libdir},g' -e 
's,.so.[0-9]+.*$,.so.*,g'`
+# for l in ${LIBS}
+# do
+#     echo $l
+# done
+
+FILES_lib${PN}-base = "\
+                    ${sysconfdir}/default \
+                    ${sysconfdir}/samba \
+                    ${libdir}/libdcerpc-binding.so.* \
+                    ${libdir}/libgensec.so.* \
+                    ${libdir}/libndr-krb5pac.so.* \
+                    ${libdir}/libndr-nbt.so.* \
+                    ${libdir}/libndr-standard.so.* \
+                    ${libdir}/libndr.so.* \
+                    ${libdir}/libnetapi.so.* \
+                    ${libdir}/libpdb.so.* \
+                    ${libdir}/libsamba-credentials.so.* \
+                    ${libdir}/libsamba-hostconfig.so.* \
+                    ${libdir}/libsamba-util.so.* \
+                    ${libdir}/libsamdb.so.* \
+                    ${libdir}/libsmbconf.so.* \
+                    ${libdir}/libtevent-util.so.* \
+                    ${libdir}/samba/libCHARSET3.so \
+                    ${libdir}/samba/libaddns.so \
+                    ${libdir}/samba/libads.so \
+                    ${libdir}/samba/libasn1util.so \
+                    ${libdir}/samba/libauth.so \
+                    ${libdir}/samba/libauth_sam_reply.so \
+                    ${libdir}/samba/libauthkrb5.so \
+                    ${libdir}/samba/libccan.so \
+                    ${libdir}/samba/libcli-ldap-common.so \
+                    ${libdir}/samba/libcli-nbt.so \
+                    ${libdir}/samba/libcli_cldap.so \
+                    ${libdir}/samba/libcli_smb_common.so \
+                    ${libdir}/samba/libcli_spoolss.so \
+                    ${libdir}/samba/libcliauth.so \
+                    ${libdir}/samba/libdbwrap.so \
+                    ${libdir}/samba/libdcerpc-samba.so \
+                    ${libdir}/samba/liberrors.so \
+                    ${libdir}/samba/libflag_mapping.so \
+                    ${libdir}/samba/libgse.so \
+                    ${libdir}/samba/libinterfaces.so \
+                    ${libdir}/samba/libkrb5samba.so \
+                    ${libdir}/samba/libldbsamba.so \
+                    ${libdir}/samba/liblibcli_lsa3.so \
+                    ${libdir}/samba/liblibcli_netlogon3.so \
+                    ${libdir}/samba/liblibsmb.so \
+                    ${libdir}/samba/libmsrpc3.so \
+                    ${libdir}/samba/libndr-samba.so \
+                    ${libdir}/samba/libndr-samba4.so \
+                    ${libdir}/samba/libnpa_tstream.so \
+                    ${libdir}/samba/libntdb.so.* \
+                    ${libdir}/samba/libpopt_samba3.so \
+                    ${libdir}/samba/libprinting_migrate.so \
+                    ${libdir}/samba/libsamba-modules.so \
+                    ${libdir}/samba/libsamba-security.so \
+                    ${libdir}/samba/libsamba-sockets.so \
+                    ${libdir}/samba/libsamba3-util.so \
+                    ${libdir}/samba/libsamdb-common.so \
+                    ${libdir}/samba/libsecrets3.so \
+                    ${libdir}/samba/libserver-role.so \
+                    ${libdir}/samba/libsmb_transport.so \
+                    ${libdir}/samba/libsmbd_base.so \
+                    ${libdir}/samba/libsmbd_conn.so \
+                    ${libdir}/samba/libsmbd_shim.so \
+                    ${libdir}/samba/libsmbregistry.so \
+                    ${libdir}/samba/libtdb-wrap.so \
+                    ${libdir}/samba/libutil_cmdline.so \
+                    ${libdir}/samba/libutil_ntdb.so \
+                    ${libdir}/samba/libutil_reg.so \
+                    ${libdir}/samba/libutil_setid.so \
+                    ${libdir}/samba/libutil_tdb.so \
+                    ${libdir}/samba/pdb/smbpasswd.so \
+                    ${libdir}/samba/pdb/tdbsam.so \
+                    ${libdir}/samba/pdb/wbc_sam.so \
+"
+
+FILES_winbind-dbg = "${libdir}/idmap/.debug/*.so \
+                     ${libdir}/security/.debug/pam_winbind.so \
+"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+                ${libdir}/charset/*.so \
+                ${libdir}/*.dat \
+                ${libdir}/auth/*.so \
+                ${libdir}/security/pam_smbpass.so \
+"
+
+FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so \
+                    ${libdir}/charset/.debug/*.so \
+                    ${libdir}/auth/.debug/*.so \
+                    ${libdir}/security/.debug/pam_smbpass.so \
+"
+
+FILES_libwbclient = "${libdir}/libwbclient.so.* ${libdir}/samba/libwinbind-client.so"
+FILES_libnetapi = "${libdir}/libnetapi.so.*"
+FILES_libsmbsharemodes = "${libdir}/libsmbsharemodes.so.*"
+FILES_libsmbclient = "${libdir}/libsmbclient.so.*"
+FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}"
+FILES_winbind = "${sbindir}/winbindd \
+                 ${bindir}/wbinfo \
+                 ${bindir}/ntlm_auth \
+                 ${sysconfdir}/init.d/winbind \
+                 ${systemd_unitdir}/system/winbind.service \
+"
+
+FILES_libnss-winbind = "${libdir}/libnss_*${SOLIBS} \
+                        ${libdir}/nss_info \
+"
+
+FILES_${PN} += "${base_libdir}/security/pam_smbpass.so \
+"
+
+SMB_SERVICE="${systemd_unitdir}/system/nmb.service ${systemd_unitdir}/system/smb.service"
+SMB_SYSV="${sysconfdir}/init.d ${sysconfdir}/rc?.d"
+FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${SMB_SERVICE}', '', d)}"
+FILES_${PN}-base +="${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${SMB_SYSV}', '', d)}"
+
+FILES_${PN}-dbg += "${libdir}/samba/idmap/.debug/* \
+                    ${libdir}/samba/pdb/.debug/* \
+                    ${libdir}/samba/auth/.debug/* \
+                    ${libdir}/samba/nss_info/.debug/* \
+                    ${libdir}/samba/ldb/.debug/* \
+                    ${libdir}/samba/vfs/.debug/* \
+                    ${base_libdir}/security/.debug/pam_smbpass.so \
+"
+
+FILES_libwinbind = "${base_libdir}/security/pam_winbind.so"
+FILES_libwinbind += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 
'${systemd_unitdir}/system/winbind.service', '', d)}"
+FILES_libwinbind-dbg = "${base_libdir}/security/.debug/pam_winbind.so"
+FILES_libwinbind-krb5-locator = "${libdir}/winbind_krb5_locator.so"
+
+FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/_ldb_text.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/external/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/kcc/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/netcmd/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/provision/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.py \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/*.so \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/subunit/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/tests/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/third_party/* \
+                      ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/web_server/* \
+"
+
+FILES_${PN}-python-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug/* \
+                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/.debug/* \
+                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/samba3/.debug/* \
+                          ${libdir}/python${PYTHON_BASEVERSION}/site-packages/samba/dcerpc/.debug/* \
+"
+
+RDEPENDS_${PN}-pidl_append = " perl"
+FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]