summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.17.bb
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2020-08-22 00:13:29 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-09-01 03:32:10 +0300
commitbffdb3e0d00e91bc943c2cc8d73cd5d0cd510fa5 (patch)
treedbf33bcb27a4006eb5a6494744d283e49edbea94 /meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.17.bb
parentf021ee9f72d43f6033e033ce244e542fb74c62db (diff)
downloadopenbmc-bffdb3e0d00e91bc943c2cc8d73cd5d0cd510fa5.tar.xz
meta-openembedded: subtree update:76b83194b3..ae39f2e711
Adrian Bunk (3): libpeas: gobject-introspection is mandatory and cannot be configured gnome-settings-daemon: smartcard support is optional, and needs nss gnome-settings-daemon: Remove duplicate outdated SRC_URI hashes Alex Kiernan (1): ostree: upgrade 2020.4 -> 2020.5 Andreas Müller (29): xfce4-whiskermenu-plugin: upgrade 2.4.5 -> 2.4.6 xfwm4: upgrade 4.14.2 -> 4.14.3 xfce4-timer-plugin: upgrade 1.7.0 -> 1.7.1 gnome-desktop3: upgrade 3.36.3.1 -> 3.36.4 evolution-data-server: upgrade 3.36.3 -> 3.36.4 gnome-control-center: upgrade 3.36.3 -> 3.36.4 gtksourceview4: upgrade 4.6.0 -> 4.6.1 libnma: upgrade 1.8.28 -> 1.8.30 libgweather: upgrade 3.36.0 -> 3.36.1 evince: upgrade 3.36.5 -> 3.36.7 exiv2: upgrade 0.27.1 -> 0.27.3 poppler: upgrade 0.89.0 -> 0.90.1 live555: merge recipe with inc live555: upgrade 20190828 -> 20200721 tumbler: upgrade 0.2.8 -> 0.2.9 xfwm4: upgrade 4.14.3 -> 4.14.4 geoclue: upgrade 2.5.3 -> 2.5.6 gnome-help.bbclass: remove double FILES_${PN}-help entry gnome-calendar: initial add 3.36.2 imagemagick: upgrade 7.0.9_13 -> 7.0.10_25 libpeas: disable tests when introspection is not enabled/available udisks2: upgrade 2.8.4+ -> 2.9.1 xfwm4: upgrade 4.14.4 -> 4.14.5 gnome-desktop3: upgrade 3.36.4 -> 3.36.5 file-roller: upgrade 3.36.2 -> 3.36.3 evolution-data-server: upgrade 3.36.4 -> 3.36.5 gnome-disk-utility: re-add 3.36.3 gdm: upgrade 3.36.2 -> 3.36.3 poppler: upgrade 0.90.1 -> 20.08.0 Andrey Konovalov (1): libcamera: fix packaging and installation Aníbal Limón (1): meta-oe: opengl-es-cts install deqp test runners Armin Kuster (2): jsoncpp: add PE do to dunfell reverts libpeas: this depends on gtk3+ add FEATURE CHECK Arthur She (1): xmlrpc-c: Upgrade 1.51.03 -> 1.54.02 Changqing Li (1): mozjs: fix multilib conflict Colin McAllister (6): python3-paramiko: Added recipe python3-lorem: Added recipe python3-textparser: Added recipe python3-jdatetime: Added recipe python3-pynacl: Added recipe autossh: Created recipe Daniel Dragomir (1): rasdaemon: update to 0.6.6 and fix SRC_URI broken link Gianfranco (4): dlt-daemon: update to 2.18.5 dlt-daemon: add new dlt-filetransfer PACKAGECONFIG option dlt-daemon: fix build failure when dlt-dbus is enabled, due to missing service file. dlt-daemon: enable some configurations by default in PACKAGECONFIG Gianfranco Costamagna (2): vboxguestdrivers: upgrade 6.1.6 -> 6.1.12 dlt-daemon: fix build with upstream-proposed patch for MUSL libc Hongxu Jia (1): vboxguestdrivers: fix failed to compile with kernel 5.8.0 Jack Mitchell (1): python3-pybind11: install both python wheel and cmake build Jacob Kroon (1): abseil-cpp: Use SkipRecipe exception James Feist (1): boost-url: Add recipe Jens Rehsack (1): bearssl: add new recipe Johan Jeppsson (1): nngpp: Add recipe Jyothi-k (1): fmt: 7.0.1 -> 7.0.3 Kai Kang (2): xfce4-eyes-plugin: 4.5.0 -> 4.5.1 rdist: fix parallel build Khem Raj (82): flashrom: Fix build failure with glibc 2.32 spdlog: Upgrade to 1.7.0 gerbera: Upgrade to 1.6.0 libqmi: Delete --enable-more-warnings configure option gnome-settings-daemon: Drop using autotools specific option gnome-settings-daemon: Add introspection to UNKNOWN_CONFIGURE_WHITELIST iwd: Module load dir should be relative to root_dir libcamera: Fix License names to match SPDX convention satyr: Upgrade to 0.30 gpm: Upgrade to latest master gensio: Upgrade to 2.1.4 freeglut: Use -fcommon always xfsprogs: Upgrade to 5.7.0 freerdp: Upgrade to 2.2.0 htop: Fix build with -fno-common dialog: Turn X11 support into a packageconfig option x11vnc: Update to latest on master vblade: Upgrade to version 24 netperf: Fix build with -fno-common netplan: Update to latest to fix build with -fno-common ncftp: Fix build with -fno-common iscsi-initiator-utils: Upgrade to _2.1.2 tftp-hpa: Fix build with -fno-common fwknop: Fix build with gcc10 dibbler: Update to latest quagga: Use -fcommon to compile drbd: Upgrade to 9.0.24-1 drbd-utils: Uphgrade to 9.13.1 snort: Upgrade to 2.9.16.1 daq: Upgrade to 2.0.7 openlldp: Update to latest master iftop: Fix build with -fno-common xfce4-sensors-plugin: Fix build with -fno-common xfce4-cpufreq-plugin: Fix build with -fno-common imsettings: Upgrade to 1.8.2 lcdproc: Fix compilation with GCC >= 10.x openal-soft: Update to 1.20.1 mimic: Upgrade to 1.3.0.1 minidlna: Fix build with -fno-common tvheadend: Update to latest tip monkey: Upgrade to 1.6.9 klibc: Compile with -fcommon kexecboot: Use -fcommon to compile python3-matplotlib: Use lld for linking when using clang python3-pandas: Add workaround to fix build with clang memtester: Fix build with -fno-common read-edid: Fix build with gcc-10+ owfs: Fix build with -fno-common sharutils: Fix build with -fno-common lprng: Fix build with -fno-common fluentbit: Use -fcommon to compile fbida: Upgrade to 2.14 ipmitool: Fix build with -fno-common smstools3: Fix build with -fno-common sblim-sfcb: Fix build with -fno-common cdrkit: Fix build with -fno-common openocd: Fix build with gcc10/-fno-common liblbxutil: Fix build with gcc10/-fno-common mg: Upgrade to 20200723 tag libforms: Fix build with -fno-common wifi-test-suite: Update to latest tip xf86-video-ati: Fix link failure with gcc 10 ifplugd: Fix build with gcc10/-fno-common tcsh: Fix build with -fno-common makedumpfile: Fix build with -fno-common nodejs: Upgrade to 12.18.3 opencl-headers: Upgrade to v2020.06.16 ocl-icd: Upgrade to latest opencl-icd-loader: Update beyond 2020.06.16 fwts: Upgrade to 20.07.00 pegtl: Disable type-limits warning opensaf: Fix build with -fno-common crash: Fix arm64 build with -fno-common minifi-cpp: Fix build with lto/clang libyui-ncurses: Disable werror with clang sedutils: Fix build with clang11 directfb: Disable dtor-typedef warning with clang11 gerbera: Disable PIE on rv64 opengl-es-cts: Use SECURITY_NOPIE_CFLAGS opencv: Upgrade to 4.4.0 minifi-cpp: Fix linking with libxml2 sdbus-c++: Fix ptest packaging Leon Anavi (80): python3-pytest-metadata: Upgrade 1.9.0 -> 1.10.0 python3-cmd2: Upgrade 1.1.0 -> 1.2.1 python3-aenum: Upgrade 2.2.3 -> 2.2.4 python3-bitarray: Upgrade 1.4.1 -> 1.4.2 python3-colorlog: Upgrade 4.1.0 -> 4.2.1 python3-matplotlib: Upgrade 3.2.2 -> 3.3.0 python3-urllib3: Upgrade 1.25.9 -> 1.25.10 python3-pywbem: Upgrade 0.17.3 -> 0.17.4 python3-lxml: Upgrade 4.5.1 -> 4.5.2 python3-gmqtt: Upgarde 0.6.5 -> 0.6.7 python3-pyroute2: Upgrade 0.5.12 -> 0.5.13 python3-pymongo: Upgrade 3.10.1 -> 3.11.0 python3-pid: Upgrade 3.0.3 -> 3.0.4 python3-pychromecast: Upgrade 7.1.2 -> 7.2.0 python3-dynamic-dispatch: Upgrade 1.0.2 -> 1.0.3 python3-cbor2: Upgrade 5.1.1 -> 5.1.2 python3-xlsxwriter: Consolidate in a single file python3-xlsxwriter: Upgrade 1.2.9 -> 1.3.0 python3-cffi: Upgrade 1.14.0 -> 1.14.1 python3-pandas: Upgrade 1.0.5 -> 1.1.0 python3-luma-core: Upgrade 1.14.0 -> 1.14.1 python3-tqdm: Upgrade 4.47.0 -> 4.48.0 python3-asn1crypto: Upgrade 1.3.0 -> 1.4.0 python3-pyalsaaudio: Consolidate in a single file python3-pyalsaaudio: Upgrade 0.8.4 -> 0.9.0 python3-autobahn: Upgrade 20.6.2 -> 20.7.1 python3-isort: Upgrade 5.1.4 -> 5.2.2 python3-ujson: Upgrade 3.0.0 -> 3.1.0 python3-yarl: Upgrade 1.4.2 -> 1.5.1 python3-openpyxl: Upgrade 3.0.3 -> 3.0.4 python3-cryptography: Upgrade 2.8 -> 3.0 python3-dnspython: Upgrade 1.16.0 -> 2.0.0 python3-regex: Upgrade 2020.6.8 -> 2020.7.14 python3-lazy-object-proxy: Upgrade 1.5.0 -> 1.5.1 python3-xxhash: Upgrade 1.4.4 -> 2.0.0 xxhash: Upgrade 0.7.4 -> 0.8.0 python3-parso: Upgrade 0.7.1 -> 0.8.0 python3-argexec: Upgrade 1.0.2 -> 1.0.3 python3-xlsxwriter: Upgrade 1.3.0 -> 1.3.2 python3-cantools: Upgrade 35.1.0 -> 35.3.0 python3-wtforms: Upgrade 2.3.1 -> 2.3.3 python3-prompt-toolkit: Upgrade 3.0.5 -> 3.0.6 python3-cmd2: Upgrade 1.2.1 -> 1.3.1 python3-luma-core: Upgrade 1.14.1 -> 1.15.0 python3-hyperlink: Upgrade 19.0.0 -> 20.0.1 python3-bitarray: Upgrade 1.4.2 -> 1.5.1 python3-isort: Upgrade 5.2.2 -> 5.3.2 python3-gast: Upgrade 0.3.3 -> 0.4.0 python3-tqdm: Upgrade 4.48.0 -> 4.48.2 python3-sympy: Upgrade 1.6.1 -> 1.6.2 python3-parse: Upgrade 1.15.0 -> 1.16.0 python3-flask-login: Consolidate in a single file python3-flask-login: Upgrade 0.4.1 -> 0.5.0 python3-graphviz: Upgrade 0.14 -> 0.14.1 python3-huey: Upgrade 2.2.0 -> 2.3.0 python3-rsa: Upgrade 3.4.2 -> 4.6 python3-cmd2: Upgrade 1.3.1 -> 1.3.2 python3-u-msgpack-python: Upgrade 2.6.0 -> 2.7.0 python3-pytest-timeout: Upgrade 1.4.1 -> 1.4.2 python3-javaobj-py3: Upgrade 0.4.0.1 -> 0.4.1 python3-sentry-sdk: Upgrade 0.16.0 -> 0.16.3 python3-coverage: Upgrade 5.2 -> 5.2.1 python3-redis: Upgrade 2.10.6 -> 3.5.3 mosquitto: Upgrade 1.6.10 -> 1.6.11 python3-matplotlib: Upgrade 3.3.0 -> 3.3.1 python3-humanize: Upgrade 2.5.0 -> 2.6.0 python3-bcrypt: Upgrade 3.1.7 -> 3.2.0 python3-isort: Upgrade 5.3.2 -> 5.4.2 python3-cffi: Upgrade 1.14.1 -> 1.14.2 python3-wheel: Upgrade 0.34.2 -> 0.35.1 python3-cmd2: Upgrade 1.3.2 -> 1.3.3 python3-google-api-python-client: Upgrade 1.9.3 -> 1.10.0 python3-bitarray: Upgrade 1.5.1 -> 1.5.2 python3-xlsxwriter: Upgrade 1.3.2 -> 1.3.3 python3-sqlalchemy: Upgrade 1.3.18 -> 1.3.19 python3-sentry-sdk: Upgrade 0.16.3 -> 0.16.5 python3-python-vlc: Upgrade 3.0.10114 -> 3.0.11115 python3-pytest-asyncio: Upgrade 0.12.0 -> 0.14.0 python3-djangorestframework: Consolidate in a single file python3-djangorestframework: Upgrade 3.9.0 -> 3.11.1 Martin Jansa (2): khronos-cts: add opengl to REQUIRED_DISTRO_FEATURES lcov: fix lcov-native build Mingli Yu (4): mariadb: upgrade to 10.5.4 mariadb: not use the bundled libpcre2 freeradius: fix the occasional verification failure fio: upgrade to 3.21 Oleksandr Kravchuk (49): iwd: update to 1.8 nvme-cli: update to 1.12 dialog: update to 1.3-20200327 libqmi: update to 1.26.0 libmbim: update to 1.24.2 libwebsockets: update to 4.0.20 libkcapi: update to 1.2.0 libbytesize: update to 2.3 libvdpau: update to 1.4 libcec: update to 6.0.2 dctl: update v69 pmdk: update to 1.9 libzip: update to 1.7.3 tmux: update to 3.1b libjcat: update to 0.1.3 leptonica: update to 1.79.0 libvncserver: update to 0.9.13 libopusenc: add recipe 0.2.1 broadcom-bt-firmware: update to 12.0.1.1105_p2 lsscsi: update to 0.31 opusfile: update to 0.12 libmpdclient: update to 2.19 crossguid: update to 0.2.2 libmediaart: update to 2.0_1.9.4 kronosnet: update to 1.18 keepalived: update to 2.1.5 valijson: update to 0.3 ostree: update to 2020.4 terminus-font: update to 4.48 libteam: update to 1.31 libimobiledevice: update to 1.3.0 libusbmuxd: update to 2.0.2 libplist: update to 2.2.0 usbmuxd: update to 1.1.1 ifuse: update to 1.1.4 libyui: update to 3.10.0 libyui-ncurses: update to 2.55.0 mpc: update to 0.33 ncmpc: update to 0.38 dhcpcd: update to 9.1.4 firewalld: update to 0.8.3 openconnect: update to 8.10 relayd: bump to latest revision fping: update to 4.4 nano: update to 5.0 broadcom-bt-firmware: add PE back libpeas: update to 1.26.0 ifenslave: update to 2.11 libupnp: update to 1.14.0 Shlomi Vaknin (11): monit: Set monit files in temporary locations python3-ipython: add recipe python3-traitlets: add recipe python3-ipython-genutils: add recipe python3-jedi: add recipe python3-pickleshare: add recipe python3-backcall: add recipe python3-parso: add recipe prompt-toolkit: fix recipe json-schema-validator: Add recipe python3-pybind11-json: Add recipe Slater, Joseph (4): lvm2: allow for reproducible binary builds python3-cryptography: fix two tests mozjs: specify TMPDIR aoetool: make builds reproducible Vijay Khemka (1): Adding recipe for exprtk William A. Kennington III (3): fmt: 6.2.0 -> 7.0.1 cli11: 1.9.0 -> 1.9.1 function2: 4.0.0 -> 4.1.0 Yi Zhao (2): libldb: upgrade 1.5.7 -> 1.5.8 samba: upgrade 4.10.15 -> 4.10.17 Yue Tao (1): lua: Security Advisory - lua - CVE-2020-15888 Zang Ruochen (25): fping: upgrade 4.2 -> 4.3 capnproto: upgrade 0.7.0 -> 0.8.0 c-ares: upgrade 1.16.0 -> 1.16.1 iozone3: upgrade 489 -> 490 ser2net: upgrade 4.1.8 -> 4.2.0 apache-websocket: upgrade 0.1.1 -> 0.1.2 hiawatha: upgrade 10.10 -> 10.11 nostromo: upgrade 1.9.7 -> 1.9.9 purple-skypeweb: upgrade 1.5 -> 1.6 dnsmasq: upgrade 2.81 -> 2.82 linuxptp: upgrade 2.0 -> 3.0 nlohmann-json: upgrade 3.7.3 -> 3.9.0 paho-mqtt-c: upgrade 1.3.2 -> 1.3.4 zlog: upgrade 1.2.14 -> 1.2.15 jasper: upgrade 2.0.16 -> 2.0.19 dash: upgrade 0.5.11 -> 0.5.11.1 libbytesize: upgrade 2.3 -> 2.4 jsonrpc: Fix build with libmicrohttpd 0.9.71 libmicrohttpd: upgrade 0.9.70 -> 0.9.71 rdma-core: upgrade 28.0 -> 30.0 ipc-run: upgrade 20180523.0 -> 20200505.0 uhubctl: upgrade 2.1.0 -> 2.2.0 gsoap: upgrade 2.8.103 -> 2.8.105 libcgi-perl: upgrade 4.48 -> 4.50 redis: upgrade 6.0.5 -> 6.0.6 wonjong.lee (1): minifi: Add recipe for c++ version Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I003021e0f4c267f79eedf704c43fbb6fdcdaf8b8
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.17.bb')
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.17.bb339
1 files changed, 339 insertions, 0 deletions
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.17.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.17.bb
new file mode 100644
index 0000000000..3ae5afbe95
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.17.bb
@@ -0,0 +1,339 @@
+HOMEPAGE = "https://www.samba.org/"
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
+ file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
+
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+MIRRORS += "\
+${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
+${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
+"
+
+SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
+ file://smb.conf \
+ file://16-do-not-check-xsltproc-manpages.patch \
+ file://20-do-not-import-target-module-while-cross-compile.patch \
+ file://21-add-config-option-without-valgrind.patch \
+ file://netdb_defines.patch \
+ file://glibc_only.patch \
+ file://iconv-4.7.0.patch \
+ file://dnsserver-4.7.0.patch \
+ file://smb_conf-4.7.0.patch \
+ file://volatiles.03_samba \
+ file://0001-waf-add-support-of-cross_compile.patch \
+ file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \
+ file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \
+ file://0001-Add-options-to-configure-the-use-of-libbsd.patch \
+ file://0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch \
+ file://0001-util-Simplify-input-validation.patch \
+ file://0002-util-Fix-build-on-FreeBSD-by-avoiding-NSS_BUFLEN_PAS.patch \
+ file://0003-util-Reallocate-larger-buffer-if-getpwuid_r-returns-.patch \
+ "
+SRC_URI_append_libc-musl = " \
+ file://samba-pam.patch \
+ file://samba-4.3.9-remove-getpwent_r.patch \
+ file://cmocka-uintptr_t.patch \
+ file://0001-samba-fix-musl-lib-without-innetgr.patch \
+ "
+
+SRC_URI[md5sum] = "f69cac9ba5035ee60257520a209a0a83"
+SRC_URI[sha256sum] = "03dc9758e7bfa2faf7cdeb45b4d40997e2ee16a41e71996aa666bc069e70ba3e"
+
+UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.10(\.\d+)+).tar.gz"
+
+inherit systemd waf-samba cpan-base perlnative update-rc.d
+# remove default added RDEPENDS on perl
+RDEPENDS_${PN}_remove = "perl"
+
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+INITSCRIPT_NAME = "samba"
+INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind"
+SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
+SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
+SYSTEMD_SERVICE_winbind = "winbind.service"
+
+# There are prerequisite settings to enable ad-dc, so disable the service by default.
+# Reference:
+# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
+SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+# Use krb5. Build active domain controller.
+#
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
+ acl cups ad-dc gnutls ldap mitkrb5 \
+"
+
+RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
+
+PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[sasl] = ",,cyrus-sasl"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
+PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
+PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
+PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
+PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
+PACKAGECONFIG[libunwind] = ", , libunwind"
+PACKAGECONFIG[gpgme] = ",--without-gpgme,,"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
+PACKAGECONFIG[libbsd] = "--with-libbsd, --without-libbsd, libbsd"
+
+# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
+# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
+# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
+# So the working combination is:
+# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
+# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
+#
+# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
+# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
+#
+PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
+
+SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
+SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
+SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
+SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
+
+# These libraries are supposed to replace others supplied by packages, but decorate the names of
+# .so files so there will not be a conflict. This is not done consistantly, so be very careful
+# when adding to this list.
+#
+SAMBA4_LIBS="heimdal,cmocka,NONE"
+
+EXTRA_OECONF += "--enable-fhs \
+ --with-piddir=/run \
+ --with-sockets-dir=/run/samba \
+ --with-modulesdir=${libdir}/samba \
+ --with-lockdir=${localstatedir}/lib/samba \
+ --with-cachedir=${localstatedir}/lib/samba \
+ --disable-rpath-install \
+ --with-shared-modules=${SAMBA4_MODULES} \
+ --bundled-libraries=${SAMBA4_LIBS} \
+ ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
+ --with-cluster-support \
+ --with-profiling-data \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix} \
+ --with-pam --with-pammodulesdir=${base_libdir}/security \
+ "
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_install_append() {
+ for section in 1 5 7; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
+ done
+ for section in 1 5 7 8; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
+ done
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
+ sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
+ -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
+ -i ${D}${systemd_system_unitdir}/*.service
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
+ rm -f ${D}${systemd_system_unitdir}/samba.service
+ fi
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ echo "d ${localstatedir}/log/samba 0755 root root -" \
+ >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
+ sed -e 's,/opt/samba/bin,${sbindir},g' \
+ -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
+ -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
+ -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
+ -e 's,/usr/bin,${base_bindir},g' \
+ -i ${D}${sysconfdir}/init.d/samba
+
+ install -d ${D}${sysconfdir}/samba
+ echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
+ install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
+ install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
+
+ install -d ${D}${sysconfdir}/default
+ install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
+
+ # the items are from ctdb/tests/run_tests.sh
+ for d in onnode takeover tool eventscripts cunit simple complex; do
+ testdir=${D}${datadir}/ctdb-tests/$d
+ install -d $testdir
+ cp ${S}/ctdb/tests/$d/*.sh $testdir
+ cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
+ done
+
+ # fix file-rdeps qa warning
+ if [ -f ${D}${bindir}/onnode ]; then
+ sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
+ fi
+
+ chmod 0750 ${D}${sysconfdir}/sudoers.d || true
+ rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+
+ for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do
+ if [ -f "${D}${sbindir}/$f" ]; then
+ sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f
+ fi
+ done
+ if [ -f "${D}${bindir}/samba-tool" ]; then
+ sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool
+ fi
+
+}
+
+PACKAGES =+ "${PN}-python3 ${PN}-pidl \
+ ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
+ winbind \
+ ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
+ smbclient ${PN}-client ${PN}-server ${PN}-test"
+
+python samba_populate_packages() {
+ def module_hook(file, pkg, pattern, format, basename):
+ pn = d.getVar('PN')
+ d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
+
+ mlprefix = d.getVar('MLPREFIX') or ''
+ pam_libdir = d.expand('${base_libdir}/security')
+ pam_pkgname = mlprefix + 'pam-plugin%s'
+ do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
+
+ libdir = d.getVar('libdir')
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
+ pkglibdir = '%s/samba' % libdir
+ do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
+ moduledir = '%s/samba/auth' % libdir
+ do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
+ moduledir = '%s/samba/pdb' % libdir
+ do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
+}
+
+PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
+PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
+
+RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
+RDEPENDS_${PN}-python3 += "pytalloc python3-tdb"
+
+FILES_${PN}-base = "${sbindir}/nmbd \
+ ${sbindir}/smbd \
+ ${sysconfdir}/init.d \
+ ${systemd_system_unitdir}/nmb.service \
+ ${systemd_system_unitdir}/smb.service"
+
+FILES_${PN}-ad-dc = "${sbindir}/samba \
+ ${systemd_system_unitdir}/samba.service \
+ ${libdir}/krb5/plugins/kdb/samba.so \
+"
+RDEPENDS_${PN}-ad-dc = "krb5-kdc"
+
+FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
+ ${bindir}/ctdb_run_cluster_tests \
+ ${sysconfdir}/ctdb/nodes \
+ ${datadir}/ctdb-tests \
+ ${datadir}/ctdb/tests \
+ ${localstatedir}/lib/ctdb \
+ "
+
+FILES_${BPN}-common = "${sysconfdir}/default \
+ ${sysconfdir}/samba \
+ ${sysconfdir}/tmpfiles.d \
+ ${localstatedir}/lib/samba \
+ ${localstatedir}/spool/samba \
+"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+ ${libdir}/charset/*.so \
+ ${libdir}/*.dat \
+ ${libdir}/auth/*.so \
+ ${datadir}/ctdb/events/* \
+"
+
+FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
+
+FILES_${PN}-testsuite = "${bindir}/gentest \
+ ${bindir}/locktest \
+ ${bindir}/masktest \
+ ${bindir}/ndrdump \
+ ${bindir}/smbtorture"
+
+FILES_registry-tools = "${bindir}/regdiff \
+ ${bindir}/regpatch \
+ ${bindir}/regshell \
+ ${bindir}/regtree"
+
+FILES_winbind = "${sbindir}/winbindd \
+ ${bindir}/wbinfo \
+ ${bindir}/ntlm_auth \
+ ${libdir}/samba/idmap \
+ ${libdir}/samba/nss_info \
+ ${libdir}/winbind_krb5_locator.so \
+ ${libdir}/winbind-krb5-localauth.so \
+ ${sysconfdir}/init.d/winbind \
+ ${systemd_system_unitdir}/winbind.service"
+
+FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_smbclient = "${bindir}/cifsdd \
+ ${bindir}/rpcclient \
+ ${bindir}/smbcacls \
+ ${bindir}/smbclient \
+ ${bindir}/smbcquotas \
+ ${bindir}/smbget \
+ ${bindir}/smbspool \
+ ${bindir}/smbtar \
+ ${bindir}/smbtree \
+ ${libdir}/samba/smbspool_krb5_wrapper"
+
+RDEPENDS_${PN}-pidl_append = " perl"
+FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
+
+RDEPENDS_${PN}-client = "\
+ smbclient \
+ winbind \
+ registry-tools \
+ ${PN}-pidl \
+ "
+
+ALLOW_EMPTY_${PN}-client = "1"
+
+RDEPENDS_${PN}-server = "\
+ ${PN} \
+ winbind \
+ registry-tools \
+ "
+
+ALLOW_EMPTY_${PN}-server = "1"
+
+RDEPENDS_${PN}-test = "\
+ ${PN}-ctdb-tests \
+ ${PN}-testsuite \
+ "
+
+ALLOW_EMPTY_${PN}-test = "1"