[oe] [meta-oe][PATCH 4/5] samba: add 4.2.3

Guo Chunrong B40290 at freescale.com
Mon Aug 24 08:15:44 UTC 2015


Hello  all,

I verified this patch set for armv8 and there are some error.

Please see log:


NOTE: Executing RunQueue Tasks
$<50>ERROR: Function failed: do_configure (log file is located at /local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/temp/log.do_configure.4210)
$<50>ERROR: Logfile of failure stored in: /local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/temp/log.do_configure.4210
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function do_configure
| Checking for program gcc or cc           : ['aarch64-fsl-linux-gcc', '--sysroot=/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/sysroots/ls1043ardb']
| Checking for program ar                  : aarch64-fsl-linux-ar
| Checking for program ranlib              : aarch64-fsl-linux-ranlib
| Checking for gcc                         : ok
| Checking for program git                 : /usr/bin/git
| Check for -MD                            : yes
| Checking for program gdb                 : not found
| Checking build system                    : Linux right 3.13.0-39-generic #66~precise1-Ubuntu SMP Wed Oct 29 09:56:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
| Checking for header sys/utsname.h        : yes
| Checking uname sysname type              : Traceback (most recent call last):
|   File "./buildtools/bin/waf", line 76, in <module>
|     Scripting.prepare(t, cwd, VERSION, wafdir)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Scripting.py", line 145, in prepare
|     prepare_impl(t, cwd, ver, wafdir)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Scripting.py", line 135, in prepare_impl
|     main()
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/wscript", line 320, in main
|     wildcard_main(wildcard_cmd)
|   File "./buildtools/wafsamba/samba_wildcard.py", line 110, in wildcard_main
|     fun(ctx)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Scripting.py", line 241, in configure
|     conf.sub_config([''])
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Configure.py", line 237, in sub_config
|     self.recurse(k, name='configure')
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Utils.py", line 634, in recurse
|     f(self)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/wscript", line 92, in configure
|     conf.RECURSE('lib/replace')
|   File "./buildtools/wafsamba/samba_utils.py", line 486, in RECURSE
|     return ctx.sub_config(relpath)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Configure.py", line 237, in sub_config
|     self.recurse(k, name='configure')
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Utils.py", line 634, in recurse
|     f(self)
|   File "./buildtools/wafsamba/samba_utils.py", line 48, in runonce_wrapper
|     ret = function(*args)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/lib/replace/wscript", line 28, in configure
|     conf.RECURSE('buildtools/wafsamba')
|   File "./buildtools/wafsamba/samba_utils.py", line 486, in RECURSE
|     return ctx.sub_config(relpath)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Configure.py", line 237, in sub_config
|     self.recurse(k, name='configure')
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Utils.py", line 634, in recurse
|     f(self)
|   File "./buildtools/wafsamba/samba_utils.py", line 48, in runonce_wrapper
|     ret = function(*args)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/lib/replace/../../buildtools/wafsamba/wscript", line 301, in configure
|     conf.CHECK_UNAME()
|   File "./buildtools/wafsamba/samba_conftests.py", line 466, in CHECK_UNAME
|     msg="Checking uname %s type" % v):
|   File "./buildtools/wafsamba/samba_autoconf.py", line 446, in CHECK_CODE
|     conf.COMPOUND_END(conf.env[define])
|   File "./buildtools/wafsamba/samba_autoconf.py", line 70, in COMPOUND_END
|     p(result)
|   File "/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/third_party/waf/wafadmin/Configure.py", line 299, in check_message_2
|     self.log.write(sr)
| TypeError: expected a character buffer object
| WARNING: /local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/temp/run.do_configure.4210:1 exit 1 from
|   ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib/samba --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --with-libiconv=/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/sysroots/ls1043ardb/usr --mandir=/usr/share/man --disable-rpath --disable-rpath-install --enable-fhs --with-syslog --without-ldap --without-acl-support --without-ads --with-cluster-support --includedir=/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/sysroots/ls1043ardb/usr/include --with-shared-modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2,pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4,auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 --bundled-libraries='heimdal,!asn1_compile,!compile_et,!zlib,!popt' --enable-avahi --without-fam --without-pam --without-systemd --cross-compile --cross-execute="${CROSS_EXEC}" --cross-answers=/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/git/cross-answers-aarch64.txt
| ERROR: Function failed: do_configure (log file is located at /local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/build_ls1043ardb_release/tmp/work/aarch64-fsl-linux/samba/4.2+4.3.0rc3-r0/temp/log.do_configure.4210)
$<50>ERROR: Task 5 (/local/home/b19537/gcr/ls1043a/source/fsl-qoriq-sdk/meta-oe/meta-oe/recipes-connectivity/samba/samba_git.bb, do_configure) failed with exit code '1'
$<50>NOTE: Tasks Summary: Attempted 1043 tasks of which 1042 didn't need to be rerun and 1 failed.
No currently running tasks (961 of 1050)

Thanks
Chunrong




-----Original Message-----
From: openembedded-devel-bounces at lists.openembedded.org [mailto:openembedded-devel-bounces at lists.openembedded.org] On Behalf Of Koen Kooi
Sent: Thursday, August 20, 2015 11:59 PM
To: openembedded-devel at lists.openembedded.org
Cc: Koen Kooi
Subject: [oe] [meta-oe][PATCH 4/5] samba: add 4.2.3

Samba is now waf based so this recipe has been written from scratch and will need more review than the usual version bump.

Waf allows two methods for site files:

1) Run qemu against sysroot
2) cross-answers.txt
3) all of the above

We're going to use 3). This allows overrides as well as building for architectures where qemu doesn't work.

Another change is that when using systemd the daemons will run in the foreground instead of forking.

Build tested on x86_64 and armv7a with the Angstrom Distribution.
Runtime tested on x86_64 and armv7a with the Angstrom Distribution.

Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
---
 .../samba/samba/cross-answers.txt                  |   1 +
 .../recipes-connectivity/samba/samba/nmb.service   |   3 +-
 .../recipes-connectivity/samba/samba/smb.service   |   3 +-
 .../samba/samba/winbind.service                    |   5 +-
 meta-oe/recipes-connectivity/samba/samba_git.bb    | 181 +++++++++++++++++++++
 5 files changed, 186 insertions(+), 7 deletions(-)  create mode 100644 meta-oe/recipes-connectivity/samba/samba/cross-answers.txt
 create mode 100644 meta-oe/recipes-connectivity/samba/samba_git.bb

diff --git a/meta-oe/recipes-connectivity/samba/samba/cross-answers.txt b/meta-oe/recipes-connectivity/samba/samba/cross-answers.txt
new file mode 100644
index 0000000..10a2bcb
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba/cross-answers.txt
@@ -0,0 +1 @@
+Checking uname version type: "#1 Tue Nov 1 12:34:56 UTC 2013"
diff --git a/meta-oe/recipes-connectivity/samba/samba/nmb.service b/meta-oe/recipes-connectivity/samba/samba/nmb.service
index 91b9975..64cefb6 100644
--- a/meta-oe/recipes-connectivity/samba/samba/nmb.service
+++ b/meta-oe/recipes-connectivity/samba/samba/nmb.service
@@ -3,9 +3,8 @@ Description=Samba NMB Daemon  After=syslog.target network.target
 
 [Service]
-Type=forking
 PIDFile=/var/run/nmbd.pid
-ExecStart=@SBINDIR@/nmbd
+ExecStart=@SBINDIR@/nmbd -F
 ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
 
 [Install]
diff --git a/meta-oe/recipes-connectivity/samba/samba/smb.service b/meta-oe/recipes-connectivity/samba/samba/smb.service
index bc0707a..685480e 100644
--- a/meta-oe/recipes-connectivity/samba/samba/smb.service
+++ b/meta-oe/recipes-connectivity/samba/samba/smb.service
@@ -3,10 +3,9 @@ Description=Samba SMB Daemon  After=syslog.target network.target nmb.service winbind.service
 
 [Service]
-Type=forking
 PIDFile=/var/run/smbd.pid
 LimitNOFILE=16384
-ExecStart=@SBINDIR@/smbd
+ExecStart=@SBINDIR@/smbd -F
 ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
 
 [Install]
diff --git a/meta-oe/recipes-connectivity/samba/samba/winbind.service b/meta-oe/recipes-connectivity/samba/samba/winbind.service
index bff6fb8..ebcb230 100644
--- a/meta-oe/recipes-connectivity/samba/samba/winbind.service
+++ b/meta-oe/recipes-connectivity/samba/samba/winbind.service
@@ -1,11 +1,10 @@
-i[Unit]
+[Unit]
 Description=Samba Winbind Daemon
 After=syslog.target network.target nmb.service
 
 [Service]
-Type=forking
 PIDFile=/var/run/winbindd.pid
-ExecStart=@SBINDIR@/winbindd
+ExecStart=@SBINDIR@/winbindd -F
 ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
 
 [Install]
diff --git a/meta-oe/recipes-connectivity/samba/samba_git.bb b/meta-oe/recipes-connectivity/samba/samba_git.bb
new file mode 100644
index 0000000..9ed3bfa
--- /dev/null
+++ b/meta-oe/recipes-connectivity/samba/samba_git.bb
@@ -0,0 +1,181 @@
+SUMMARY = "Samba is the standard Windows interoperability suite of programs for Linux and Unix."
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "heimdal-native bash readline virtual/libiconv zlib popt gnutls python talloc"
+
+PV = "4.2+4.3.0rc3"
+SRCREV = "5d9f4f950e5c63d30611e77eb7bc7fcfcf985b82"
+
+SRC_URI = "git://git.samba.org/samba.git;branch=v4-3-stable \
+           file://volatiles.03_samba \
+           file://smb.conf \
+           file://init.samba \
+           file://init.winbind \
+           file://nmb.service \
+           file://smb.service \
+           file://winbind.service \
+           file://cross-answers.txt \
+          "
+
+S = "${WORKDIR}/git"
+
+inherit waf-samba
+
+inherit perlnative pythonnative update-rc.d systemd
+
+SAMBA4_IDMAP_MODULES = "idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
+SAMBA4_PDB_MODULES = "pdb_tdbsam,pdb_ldap,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}"
+
+EXTRA_OECONF = " \
+                --disable-rpath \
+                --disable-rpath-install \
+                --enable-fhs \
+                --with-syslog \
+                --without-ldap \
+                --without-ads \
+                --with-cluster-support \
+                --with-shared-modules=${SAMBA4_MODULES} \
+                --bundled-libraries='heimdal,!asn1_compile,!compile_et,!zlib,!popt,!talloc,!pytalloc,!pytalloc-util' \
+               "
+
+PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+                 ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+                 avahi \
+                "
+
+PACKAGECONFIG[avahi]    = "--enable-avahi  ,--disable-avahi    ,avahi"
+PACKAGECONFIG[pam]      = "--with-pam      ,--without-pam      ,libpam"
+PACKAGECONFIG[fam]      = "--with-fam      ,--without-fam      ,gamin"
+PACKAGECONFIG[systemd]  = "--with-systemd  ,--without-systemd  ,systemd"
+
+PERL_VERNDORLIB = "${datadir}/perl5/vendor_perl/"
+
+do_configure_prepend() {
+     # Merge waf site cache entries into one file
+     mkdir -p ${B}
+     if [ -e  ${WORKDIR}/cross-answers-${TARGET_ARCH}.txt ] ; then
+        sed -i '/uname machine type/d'  ${WORKDIR}/cross-answers-${TARGET_ARCH}.txt
+     fi
+     echo 'Checking uname machine type: "${TARGET_ARCH}"' >> ${WORKDIR}/cross-answers-${TARGET_ARCH}.txt
+     cat ${WORKDIR}/cross-answers.txt 
+${WORKDIR}/cross-answers-${TARGET_ARCH}.txt > ${B}/cross-answers.txt }
+
+do_compile()  {
+    ${S}/buildtools/bin/waf build ${PARALLEL_MAKE} }
+
+do_install() {
+    ${S}/buildtools/bin/waf install --destdir=${D}
+
+    # Remove sysinit script if sysvinit is not in DISTRO_FEATURES
+        
+    install -D -m 755 ${WORKDIR}/init.samba ${D}${sysconfdir}/init.d/samba
+    install -D -m 755 ${WORKDIR}/init.winbind ${D}${sysconfdir}/init.d/winbind
+    install -D -m 644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
+    install -D -m 644 ${WORKDIR}/volatiles.03_samba 
+ ${D}${sysconfdir}/default/volatiles/volatiles.03_samba
+
+    install -d ${D}/var/log/samba
+    install -d ${D}/var/spool/samba
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+        rm -rf ${D}${sysconfdir}/init.d/
+    fi
+
+    install -d ${D}${systemd_unitdir}/system
+    for i in nmb smb winbind; do
+        install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system
+    done
+    sed -e 's, at BASE_BINDIR@,${base_bindir},g' \
+        -e 's, at SBINDIR@,${sbindir},g' \
+        -i ${D}${systemd_unitdir}/system/*.service
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+	install -d ${D}${sysconfdir}/tmpfiles.d
+	echo "d ${localstatedir}/log/samba 0755 root root -" \
+            > ${D}${sysconfdir}/tmpfiles.d/99-${BPN}.conf
+    fi
+}
+
+SYSTEMD_PACKAGES = "${PN} winbind"
+SYSTEMD_SERVICE_${PN} = "nmb.service smb.service"
+SYSTEMD_SERVICE_winbind = "winbind.service"
+
+INITSCRIPT_PACKAGES = "samba winbind"
+INITSCRIPT_NAME_samba = "samba"
+INITSCRIPT_NAME_winbind = "winbind"
+
+# No dependencies, goes in at level 20 (NOTE: take care with the # 
+level, later levels put the shutdown later too - see the links # in 
+rc6.d, the shutdown must precede network shutdown).
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/samba/smb.conf"
+
+PACKAGES =+ "ctdb-tests-dbg ctdb-tests samba-python-dbg samba-python samba-perl libwbclient libwinbind libwinbind-dbg libnss-winbind winbind winbind-dbg libnetapi libtdb libsmbsharemodes libsmbclient libsmbclient-dev cifs cifs-doc swat"
+
+RDEPENDS_ctdb-tests += "bash"
+FILES_ctdb-tests = "${libdir}/ctdb-tests \
+                    ${datadir}/ctdb-tests"
+FILES_ctdb-tests-dbg = "${libdir}/ctdb-tests/.debug"
+
+FILES_samba-python = "${libdir}/python*"
+FILES_samba-python-dbg = "${libdir}/python*/site-packages/samba/*/.debug \
+                          ${libdir}/python*/site-packages/samba/.debug \
+                          ${libdir}/python*/site-packages/.debug \
+                         "
+
+FILES_samba-perl = "${datadir}/perl*"
+
+FILES_winbind-dbg = "${libdir}/idmap/.debug/*.so \
+                     ${libdir}/security/.debug/pam_winbind.so \ "
+
+# For some reason the shlib code doesn't pick this up leading to: 
+/usr/sbin/smbd: error while loading shared libraries: libnetapi.so.0: cannot open shared object file: No such file or directory RDEPENDS_${PN} += "libnetapi"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+                ${libdir}/charset/*.so \
+                ${libdir}/*.dat \
+                ${libdir}/auth/*.so \
+                ${libdir}/security/pam_smbpass.so \
+                ${libdir}/winbind_krb5*.so \
+                ${libdir}/mit_samba*.so \ "
+
+FILES_${PN}-dbg += "${libdir}/vfs/.debug \
+                    ${libdir}/charset/.debug \
+                    ${libdir}/auth/.debug \
+                    ${libdir}/security/.debug \
+                    ${libdir}/samba/*/.debug \ "
+
+FILES_libwbclient = "${libdir}/libwbclient.so.*"
+FILES_libnetapi = "${libdir}/libnetapi.so.*"
+FILES_libsmbsharemodes = "${libdir}/libsmbsharemodes.so.*"
+FILES_libtdb = "${libdir}/libtdb.so.*"
+FILES_cifs = "${base_sbindir}/mount.cifs ${base_sbindir}/umount.cifs"
+FILES_cifs-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8"
+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_libwinbind = "${libdir}/idmap/*.so \
+                    ${libdir}/pdb \
+                    ${libdir}/gpext \
+                    ${libdir}/perfcount \
+                    ${libdir}/security/pam_winbind.so \ "
+
+FILES_libnss-winbind = "${libdir}/libnss_*${SOLIBS} \
+                        ${libdir}/nss_info"
+
+FILES_swat       = "${sbindir}/swat ${datadir}/swat ${libdir}/*.msg"
--
2.0.1

--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel at lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list