From: Andy Walsh Date: Sat, 4 Jan 2020 00:08:11 +0000 (+0100) Subject: samba4: update to 4.11.4 (python3 version), add rpcsvc-proto, add libasn1 host build X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=85066d81d030795006be20eafc7ff25504607872;p=feed%2Fpackages.git samba4: update to 4.11.4 (python3 version), add rpcsvc-proto, add libasn1 host build * update to 4.11.4 (python3 version) * re-enable AD-DC option * add 'samba_nice' UCI option via "config procd 'extra'" * restructure buildsteps (don't rely on waf --targets logic) * move quota option into VFS * move ACL option into AC-DC * add more admin-tools * use rpath_install for libs * fix rpath + rstrip extra: * add rpcsvc-proto package _(don't rely on nfs-utils/host for headers, rpcgen anymore)_ * add libasn1 host build _(samba4 is looking for the bins)_ Signed-off-by: Andy Walsh --- diff --git a/libs/libtasn1/Makefile b/libs/libtasn1/Makefile index 01347bfb06..7a7d3d7439 100644 --- a/libs/libtasn1/Makefile +++ b/libs/libtasn1/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libtasn1 -PKG_VERSION:=4.14 -PKG_RELEASE:=2 +PKG_VERSION:=4.15.0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=9e604ba5c5c8ea403487695c2e407405820d98540d9de884d6e844f9a9c5ba08 +PKG_HASH:=dd77509fe8f5304deafbca654dc7f0ea57f5841f41ba530cff9a5bf71382739e PKG_MAINTAINER:=Nikos Mavrogiannopoulos PKG_LICENSE:=LGPL-2.1-or-later @@ -25,6 +25,7 @@ PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk define Package/libtasn1 SECTION:=libs @@ -48,7 +49,6 @@ CONFIGURE_ARGS += \ --disable-valgrind-tests define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/libtasn1.h $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib @@ -62,4 +62,5 @@ define Package/libtasn1/install $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtasn1.so.* $(1)/usr/lib/ endef +$(eval $(call HostBuild)) $(eval $(call BuildPackage,libtasn1)) diff --git a/libs/rpcsvc-proto/Makefile b/libs/rpcsvc-proto/Makefile new file mode 100644 index 0000000000..5449b3c03c --- /dev/null +++ b/libs/rpcsvc-proto/Makefile @@ -0,0 +1,51 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=rpcsvc-proto +PKG_VERSION:=1.4 +PKG_RELEASE:=1 + +PKG_SOURCE_URL:=https://github.com/thkukuk/rpcsvc-proto/releases/download/v$(PKG_VERSION)/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_HASH:=867e46767812784d8dda6d8d931d6fabb30168abb02d87a2a205be6d5a2934a7 + +PKG_MAINTAINER:=Andy Walsh +PKG_LICENSE:=BSD-3-clause +PKG_LICENSE_FILES:=COPYING + +PKG_FIXUP:=autoreconf +PKG_REMOVE_FILES:=autogen.sh +PKG_INSTALL:=1 + +PKG_BUILD_DEPENDS:=rpcsvc-proto/host + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/nls.mk +include $(INCLUDE_DIR)/host-build.mk + +define Package/rpcsvc-proto + SECTION:=libs + CATEGORY:=Libraries + TITLE:=rpcgen and rpcsvc proto.x files from glibc + URL:=https://github.com/thkukuk/rpcsvc-proto + DEPENDS:=$(INTL_DEPENDS) + BUILDONLY:=1 +endef + +define Package/rpcsvc-proto/description + This package contains rpcsvc proto.x files from glibc, which are missing in libtirpc. + Additional it contains rpcgen, which is needed to create header files and sources from protocol files. +endef + +# need to use host tool +define Build/Prepare + $(Build/Prepare/Default) + $(SED) 's,.*/rpcgen/rpcgen,\t$(STAGING_DIR_HOSTPKG)/bin/rpcgen,' $(PKG_BUILD_DIR)/rpcsvc/Makefile.am +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/rpcsvc $(1)/usr/include/ +endef + +$(eval $(call HostBuild)) +$(eval $(call BuildPackage,rpcsvc-proto)) diff --git a/net/samba4/Config.in b/net/samba4/Config.in index 99157702a4..988c05f208 100644 --- a/net/samba4/Config.in +++ b/net/samba4/Config.in @@ -1,26 +1,14 @@ -config SAMBA4_SERVER_ACL - bool "ACL support (xattr)" - depends on PACKAGE_samba4-server - help - installs: sharesec - modules: vfs_acl_xattr vfs_acl_tdb vfs_posixacl - - Extended access control list support - default n - -config SAMBA4_SERVER_AD_DC - bool "Active Directory Domain Controller support (requires krb5-server) (EXPERIMENTAL)" +config SAMBA4_SERVER_NETBIOS + bool "NetBIOS support" depends on PACKAGE_samba4-server - select PACKAGE_python-crypto help - installs: samba (meta-daemon) python-crypto ntlm_auth - scripts: samba-tool + installs: nmbd (daemon) - Run as a Active Directory Domain Controller - see: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller - HINT: see section (# Using the Domain Controller as a File Server) - NOTE: Extroot is recommend for this setup, as it is not optimized to run completely from RAM/tempfs! - default n + Announce Samba resources via NetBIOS using the nmbd daemon + WSD (Web Services for Devices) replaces the functionality of NetBIOS and is provided by the wsdd2 package (selected by default). + Note: As of Windows 10 Fall Creators Update (1709) NetBIOS isn't supported unless the old SMB1 feature is reinstalled (not recommended). + Network shares can be directly accessed via network paths '\\hostname\sharename' and mounted via 'map network drive' without NetBIOS or WSD. + default y config SAMBA4_SERVER_AVAHI bool "Avahi support" @@ -35,20 +23,10 @@ config SAMBA4_SERVER_VFS depends on PACKAGE_samba4-server help installs: - modules: (vfs_btrfs) vfs_fruit vfs_shadow_copy2 vfs_recycle vfs_fake_perms vfs_readonly vfs_cap vfs_offline vfs_crossrename vfs_catia vfs_streams_xattr + modules: (vfs_btrfs) vfs_fruit vfs_shadow_copy2 vfs_recycle vfs_fake_perms vfs_readonly vfs_cap vfs_offline vfs_crossrename vfs_catia vfs_streams_xattr vfs_default_quota Commonly used VFS modules, vfs_btrfs requires kmod-fs-btrfs to be selected separately - default y - -config SAMBA4_SERVER_QUOTAS - bool "Disk quota support" - depends on PACKAGE_samba4-server - help - installs: - modules: vfs_default_quota - - Support for disk quotas using the quotas VFS module (vfs_default_quota) - default n + default y config SAMBA4_SERVER_VFSX bool "Extended VFS modules" @@ -60,25 +38,16 @@ config SAMBA4_SERVER_VFSX Additional VFS modules that aren't commonly used, vfs_linux_xfs_sgid requires kmod-fs-xfs to be selected separately default n -config SAMBA4_SERVER_NETBIOS - bool "NetBIOS support" - depends on PACKAGE_samba4-server - help - installs: nmbd (daemon) - - Announce Samba resources via NetBIOS using the nmbd daemon - WSD (Web Services for Devices) replaces the functionality of NetBIOS and is provided by the wsdd2 package (selected by default). - Note: As of Windows 10 Fall Creators Update (1709) NetBIOS isn't supported unless the old SMB1 feature is reinstalled (not recommended). - Network shares can be directly accessed via network paths '\\hostname\sharename' and mounted via 'map network drive' without NetBIOS or WSD. - default y - -config SAMBA4_SERVER_WINBIND - bool "Winbind support" +config SAMBA4_SERVER_AD_DC + bool "Active Directory Domain Controller support (EXPERIMENTAL)" depends on PACKAGE_samba4-server + select SAMBA4_SERVER_VFS help - installs: winbindd (daemon) wbinfo + installs: samba (meta-daemon) PyCryptodome ntlm_auth + scripts: samba-tool - Support using domain users and groups in local commands, such as chown and chgrp. - Display domain users and groups in local command's output, such as ls. - see: https://wiki.samba.org/index.php/Configuring_Winbindd_on_a_Samba_AD_DC + Run as a Active Directory Domain Controller + see: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller + HINT: see section (# Using the Domain Controller as a File Server) + NOTE: Extroot is recommend for this setup, as it is not optimized to run completely from RAM/tempfs! default n diff --git a/net/samba4/Makefile b/net/samba4/Makefile index 7c98181463..404b6c6ee1 100644 --- a/net/samba4/Makefile +++ b/net/samba4/Makefile @@ -2,8 +2,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=samba -PKG_VERSION:=4.9.15 -PKG_RELEASE:=2 +PKG_VERSION:=4.11.4 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://ftp.heanet.ie/mirrors/ftp.samba.org/stable/ \ @@ -12,26 +12,23 @@ PKG_SOURCE_URL:=https://ftp.heanet.ie/mirrors/ftp.samba.org/stable/ \ http://www.nic.funet.fi/index/samba/pub/samba/stable/ \ http://samba.mirror.bit.nl/samba/ftp/stable/ \ https://download.samba.org/pub/samba/stable/ -PKG_HASH:=377102b80b97941bf0d131b828cae8415190e5bdd2928c2e2c954e29f1904496 +PKG_HASH:=b95471ba450757109dce65acfe75dafc719c5cc5d464fc65ee442433a461db24 PKG_MAINTAINER:=Andy Walsh PKG_LICENSE:=GPL-3.0-only PKG_LICENSE_FILES:=COPYING PKG_CPE_ID:=cpe:/a:samba:samba -# samba4=(asn1_compile) e2fsprogs=(compile_et) nfs-kernel-server=(rpcgen) -HOST_BUILD_DEPENDS:=python/host nfs-kernel-server/host e2fsprogs/host -PKG_BUILD_DEPENDS:=samba4/host +# samba4=(asn1_compile,compile_et) rpcsvc-proto=(rpcgen) +HOST_BUILD_DEPENDS:=python3/host perl/host +PKG_BUILD_DEPENDS:=samba4/host libtasn1/host rpcsvc-proto/host PKG_CONFIG_DEPENDS:= \ CONFIG_SAMBA4_SERVER_NETBIOS \ CONFIG_SAMBA4_SERVER_AVAHI \ CONFIG_SAMBA4_SERVER_VFS \ CONFIG_SAMBA4_SERVER_VFSX \ - CONFIG_SAMBA4_SERVER_QUOTAS \ - CONFIG_SAMBA4_SERVER_ACL \ CONFIG_SAMBA4_SERVER_AD_DC \ - CONFIG_SAMBA4_SERVER_WINBIND \ CONFIG_PACKAGE_kmod-fs-btrfs \ CONFIG_PACKAGE_kmod-fs-xfs @@ -39,6 +36,9 @@ include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/version.mk +include $(TOPDIR)/feeds/packages/lang/python/python3-host.mk +#include $(TOPDIR)/feeds/packages/lang/python/python-package.mk +include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk define Package/samba4/Default SECTION:=net @@ -58,29 +58,29 @@ endef define Package/samba4-libs $(call Package/samba4/Default) TITLE+= libs - DEPENDS:= +zlib +libtirpc +libpopt +libcomerr +libreadline \ - +PACKAGE_libcap:libcap +PACKAGE_libpthread:libpthread +PACKAGE_libnettle:libnettle \ - +PACKAGE_libgcrypt:libgcrypt +PACKAGE_libpam:libpam +PACKAGE_dbus:dbus +PACKAGE_libavahi-client:libavahi-client \ + DEPENDS:= +libtirpc +libreadline +libpopt +libcap +zlib +libgnutls +libtasn1 +libuuid +libopenssl +USE_GLIBC:libpthread \ + +PACKAGE_libpam:libpam \ +SAMBA4_SERVER_VFS:attr \ - +SAMBA4_SERVER_ACL:acl +SAMBA4_SERVER_ACL:attr \ + +SAMBA4_SERVER_VFSX:libaio \ +SAMBA4_SERVER_AVAHI:libavahi-client \ - +SAMBA4_SERVER_AD_DC:python-base +SAMBA4_SERVER_AD_DC:python-crypto +SAMBA4_SERVER_AD_DC:libopenssl +SAMBA4_SERVER_AD_DC:libgnutls +SAMBA4_SERVER_AD_DC:libopenldap +SAMBA4_SERVER_AD_DC:jansson +SAMBA4_SERVER_AD_DC:libarchive + +SAMBA4_SERVER_AD_DC:python3-cryptodome +SAMBA4_SERVER_AD_DC:libopenldap +SAMBA4_SERVER_AD_DC:jansson +SAMBA4_SERVER_AD_DC:libarchive +SAMBA4_SERVER_AD_DC:acl +SAMBA4_SERVER_AD_DC:attr endef define Package/samba4-server $(call Package/samba4/Default) TITLE+= server DEPENDS:= +samba4-libs + CONFLICTS:=samba36-server endef define Package/samba4-server/description - installs: smbd, nmbd (daemon) smbpasswd pdbedit testparm + installs: smbd (nmbd) smbpasswd pdbedit testparm (nmblookup) (smbcacls sharesec) + (samba samba-tool ntlm_auth samba-gpupdate samba_dnsupdate samba_kcc samba_spnupdate samba_upgradedns samba_downgrade_db) This provides the basic fileserver service and is the minimum needed to serve file shares. HINT: https://fitzcarraldoblog.wordpress.com/2016/10/17/a-correct-method-of-configuring-samba-for-browsing-smb-shares-in-a-home-network/ endef -# BUG: We cant add DEPENDS:= +SAMBA4_SERVER_AD_DC:python-crypto, so this only happens here via select! define Package/samba4-server/config select PACKAGE_wsdd2 source "$(SOURCE)/Config.in" @@ -93,7 +93,7 @@ define Package/samba4-client endef define Package/samba4-client/description - installs: smbclient cifsdd + installs: cifsdd smbclient smbget The smbclient program implements a simple ftp-like client for accessing SMB shares endef @@ -105,7 +105,9 @@ define Package/samba4-admin endef define Package/samba4-admin/description - installs: net smbcontrol profiles rpcclient smbcacls smbcquotas + installs: net smbcontrol profiles rpcclient dbwrap_tool eventlogadm + ldbadd ldbdel ldbedit ldbmodify ldbrename ldbsearch + tdbbackup tdbdump tdbrestore tdbtool Administration tools collection endef @@ -117,13 +119,15 @@ define Package/samba4-utils endef define Package/samba4-utils/description - installs: smbstatus smbtree smbget nmblookup mvxattr + installs: smbstatus smbtree mvxattr smbtar smbcquotas Utilities collection endef -TARGET_CFLAGS += -ffunction-sections -fdata-sections -TARGET_LDFLAGS += -Wl,--gc-sections +TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -I$(STAGING_DIR)/usr/include/tirpc +TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed +# dont mess with sambas private rpath! +RSTRIP:=: CONFIGURE_VARS += \ CPP="$(TARGET_CROSS)cpp" @@ -165,9 +169,6 @@ CONFIGURE_ARGS += \ --disable-cephfs \ --disable-fault-handling \ --disable-glusterfs \ - --disable-rpath \ - --disable-rpath-install \ - --disable-rpath-private-install \ --enable-fhs \ --without-automount \ --without-iconv \ @@ -207,8 +208,8 @@ HOST_CONFIGURE_ARGS += \ --without-gpgme HOST_CONFIGURE_ARGS += --disable-avahi --without-quotas --without-acl-support --without-winbind \ - --without-ad-dc --without-json-audit --without-libarchive --disable-python --nopyc --nopyo \ - --disable-gnutls --without-dnsupdate --without-ads --without-ldap + --without-ad-dc --without-json --without-libarchive --disable-python --nopyc --nopyo \ + --without-dnsupdate --without-ads --without-ldap --without-ldb-lmdb HOST_CONFIGURE_VARS += python_LDFLAGS="" python_LIBDIR="" # Optional AES-NI support - https://lists.samba.org/archive/samba-technical/2017-September/122738.html @@ -225,45 +226,36 @@ CONFIGURE_ARGS += \ --with-piddir=/var/run \ --with-privatedir=/etc/samba -ifeq ($(CONFIG_SAMBA4_SERVER_AVAHI),y) - CONFIGURE_ARGS += --enable-avahi -else - CONFIGURE_ARGS += --disable-avahi -endif -ifeq ($(CONFIG_SAMBA4_SERVER_QUOTAS),y) +# features +ifeq ($(CONFIG_SAMBA4_SERVER_VFS),y) CONFIGURE_ARGS += --with-quotas else CONFIGURE_ARGS += --without-quotas endif -ifeq ($(CONFIG_SAMBA4_SERVER_ACL),y) - CONFIGURE_ARGS += --with-acl-support +ifeq ($(CONFIG_SAMBA4_SERVER_AVAHI),y) + CONFIGURE_ARGS += --enable-avahi else - CONFIGURE_ARGS += --without-acl-support + CONFIGURE_ARGS += --disable-avahi endif + +# NOTE: We need host python-bin, but target python-config here! +CONFIGURE_VARS += python_LDFLAGS="" python_LIBDIR="" ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) - CONFIGURE_ARGS += --enable-gnutls --with-dnsupdate --with-ads --with-ldap - TARGET_CFLAGS := -I$(STAGING_DIR)/usr/include/python2.7 $(TARGET_CFLAGS) -else - CONFIGURE_ARGS += --without-ad-dc --without-json-audit --without-libarchive --disable-python --nopyc --nopyo \ - --disable-gnutls --without-dnsupdate --without-ads --without-ldap + CONFIGURE_ARGS += --without-winbind --without-ldb-lmdb --with-acl-support CONFIGURE_VARS += \ - python_LDFLAGS="" \ - python_LIBDIR="" -endif -ifeq ($(CONFIG_SAMBA4_SERVER_WINBIND),y) - CONFIGURE_ARGS += --with-winbind + PYTHON="$(HOST_PYTHON3_BIN)" \ + PYTHON_CONFIG="$(STAGING_DIR)/host/bin/$(PYTHON3)-config" else - CONFIGURE_ARGS += --without-winbind + CONFIGURE_ARGS += --without-winbind --without-ads --without-ldap --without-ldb-lmdb --without-ad-dc \ + --without-json --without-libarchive --disable-python --nopyc --nopyo --without-dnsupdate --without-acl-support endif -SAMBA4_IDMAP_MODULES := -SAMBA4_IDMAP_MODULES_SHARED := SAMBA4_PDB_MODULES :=pdb_smbpasswd,pdb_tdbsam, SAMBA4_AUTH_MODULES :=auth_builtin,auth_sam,auth_unix,auth_script, SAMBA4_VFS_MODULES :=vfs_default, SAMBA4_VFS_MODULES_SHARED := ifeq ($(CONFIG_SAMBA4_SERVER_VFS),y) - SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_fruit,vfs_shadow_copy2,vfs_recycle,vfs_fake_perms,vfs_readonly,vfs_cap,vfs_offline,vfs_crossrename,vfs_catia,vfs_streams_xattr,vfs_xattr_tdb, + SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_fruit,vfs_shadow_copy2,vfs_recycle,vfs_fake_perms,vfs_readonly,vfs_cap,vfs_offline,vfs_crossrename,vfs_catia,vfs_streams_xattr,vfs_xattr_tdb,vfs_default_quota, ifeq ($(CONFIG_PACKAGE_kmod-fs-btrfs),y) SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_btrfs, endif @@ -274,33 +266,17 @@ ifeq ($(CONFIG_PACKAGE_kmod-fs-xfs),y) SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_linux_xfs_sgid, endif endif -ifeq ($(CONFIG_SAMBA4_SERVER_QUOTAS),y) - SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_default_quota, -endif -ifeq ($(CONFIG_SAMBA4_SERVER_ACL),y) - SAMBA4_VFS_MODULES :=$(SAMBA4_VFS_MODULES)vfs_posixacl, - SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_acl_xattr,vfs_acl_tdb, - # vfs_zfsacl needs https://github.com/zfsonlinux/zfs/tree/master/include/sys/zfs_acl.h - # vfs_nfs4acl_xattr needs https://github.com/notriddle/libdrpc/blob/master/rpc/xdr.h -endif ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) SAMBA4_PDB_MODULES :=$(SAMBA4_PDB_MODULES)pdb_samba_dsdb,pdb_ldapsam, SAMBA4_AUTH_MODULES :=$(SAMBA4_AUTH_MODULES)auth_samba4, - SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_audit,vfs_extd_audit,vfs_full_audit, -endif -ifeq ($(CONFIG_SAMBA4_SERVER_WINBIND),y) - SAMBA4_IDMAP_MODULES :=$(SAMBA4_IDMAP_MODULES)idmap_tdb,idmap_passdb,idmap_nss,nss_info_template, - SAMBA4_IDMAP_MODULES_SHARED :=$(SAMBA4_IDMAP_MODULES_SHARED)idmap_autorid,idmap_rid,idmap_hash,idmap_tdb2,idmap_script, -ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) - SAMBA4_IDMAP_MODULES_SHARED :=$(SAMBA4_IDMAP_MODULES_SHARED)idmap_ad,idmap_ldap,idmap_rfc2307, - # idmap_ad needs --with-ads - # idmap_rfc2307 needs ldap headers -endif - SAMBA4_AUTH_MODULES :=$(SAMBA4_AUTH_MODULES)auth_winbind, + SAMBA4_VFS_MODULES :=$(SAMBA4_VFS_MODULES)vfs_posixacl, + SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_audit,vfs_extd_audit,vfs_full_audit,vfs_acl_xattr,vfs_acl_tdb, + # vfs_zfsacl needs https://github.com/zfsonlinux/zfs/tree/master/include/sys/zfs_acl.h + # vfs_nfs4acl_xattr needs https://github.com/notriddle/libdrpc/blob/master/rpc/xdr.h endif -SAMBA4_MODULES :=${SAMBA4_VFS_MODULES}${SAMBA4_AUTH_MODULES}${SAMBA4_PDB_MODULES}${SAMBA4_IDMAP_MODULES} -SAMBA4_MODULES_SHARDED :=${SAMBA4_VFS_MODULES_SHARED}${SAMBA4_IDMAP_MODULES_SHARED} +SAMBA4_MODULES :=${SAMBA4_VFS_MODULES}${SAMBA4_AUTH_MODULES}${SAMBA4_PDB_MODULES} +SAMBA4_MODULES_SHARDED :=${SAMBA4_VFS_MODULES_SHARED} CONFIGURE_ARGS += \ --with-static-modules=$(SAMBA4_MODULES)!DEFAULT,!FORCED \ @@ -310,53 +286,40 @@ HOST_CONFIGURE_ARGS += \ --with-static-modules=!DEFAULT,!FORCED \ --with-shared-modules=!DEFAULT,!FORCED -# Setup build/install targets -# CONFIG_PACKAGE_samba4-server -BUILD_TARGETS_SERVER :=smbd/smbd,smbpasswd,pdbedit,testparm -# Optional server targets -ifeq ($(CONFIG_SAMBA4_SERVER_ACL),y) - BUILD_TARGETS_SERVER :=$(BUILD_TARGETS_SERVER),sharesec -endif -ifeq ($(CONFIG_SAMBA4_SERVER_NETBIOS),y) - BUILD_TARGETS_SERVER :=$(BUILD_TARGETS_SERVER),nmbd -endif -ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) - BUILD_TARGETS_SERVER :=$(BUILD_TARGETS_SERVER),samba,nsstest,ntlm_auth,samba4kinit,samba4kgetcred,samba4kpasswd,samba4ktutil -endif -ifeq ($(CONFIG_SAMBA4_SERVER_WINBIND),y) - BUILD_TARGETS_SERVER :=$(BUILD_TARGETS_SERVER),winbindd,wbinfo,winbind_krb5_locator -endif -# CONFIG_PACKAGE_samba4-client -BUILD_TARGETS_CLIENT :=client/smbclient,client/cifsdd -# CONFIG_PACKAGE_samba4-admin -BUILD_TARGETS_ADMIN :=net,smbcontrol,profiles,rpcclient,smbcacls,smbcquotas,eventlogadm -# CONFIG_PACKAGE_samba4-utils -BUILD_TARGETS_UTILS :=smbstatus,smbtree,smbget,mvxattr,nmblookup - # lib bundling +PY_VER:=$(PYTHON3_VERSION_MAJOR)$(PYTHON3_VERSION_MINOR) # NOTE: bundle + make private, we want to avoid version configuration (build, link) conflicts -CONFIGURE_ARGS += --builtin-libraries=talloc,tevent,tevent-util,texpect,tdb,ldb,tdr,cmocka -HOST_CONFIGURE_ARGS += --builtin-libraries=replace --nonshared-binary=asn1_compile - +HOST_CONFIGURE_ARGS += --builtin-libraries=replace --nonshared-binary=asn1_compile,compile_et +SYSTEM_BUNDLED_LIBS:=talloc,tevent,tevent-util,texpect,tdb,ldb,tdr,cmocka,replace,com_err +PYTHON_BUNDLED_LIBS:=pytalloc-util.cpython-$(PY_VER),pyldb-util.cpython-$(PY_VER) +# CONFIGURE_ARGS += --builtin-libraries=talloc,tevent,tevent-util,texpect,tdb,ldb,tdr,cmocka,com_err ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) -CONFIGURE_ARGS += --bundled-libraries=talloc,tevent,tevent-util,texpect,tdb,ldb,tdr,cmocka,replace,pytalloc-util,pyldb-util,roken,wind,hx509,asn1,heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,NONE + CONFIGURE_ARGS += --bundled-libraries=NONE,$(SYSTEM_BUNDLED_LIBS),$(PYTHON_BUNDLED_LIBS) else -CONFIGURE_ARGS += --bundled-libraries=talloc,tevent,tevent-util,texpect,tdb,ldb,tdr,cmocka,replace,roken,wind,hx509,asn1,heimbase,hcrypto,krb5,gssapi,heimntlm,hdb,kdc,NONE + CONFIGURE_ARGS += --bundled-libraries=NONE,$(SYSTEM_BUNDLED_LIBS) endif -# BUG: --private-libraries, Does not work for System possible libs, will not get "samba4" suffix! -CONFIGURE_ARGS += --private-libraries=talloc,tevent,tevent-util,texpect,tdb,ldb,tdr,cmocka,replace -# CONFIGURE_ARGS += --disable-symbol-versions +CONFIGURE_ARGS += --private-libraries=$(SYSTEM_BUNDLED_LIBS) +export COMPILE_ET=$(STAGING_DIR_HOSTPKG)/bin/compile_et_samba +export ASN1_COMPILE=$(STAGING_DIR_HOSTPKG)/bin/asn1_compile_samba + +# we dont need GnuTLS for the host helpers +define Host/Prepare + $(call Host/Prepare/Default) + $(SED) 's,mandatory=True,mandatory=False,g' $(HOST_BUILD_DIR)/wscript_configure_system_gnutls +endef define Host/Compile (cd $(HOST_BUILD_DIR); \ ./buildtools/bin/waf build \ - --targets=asn1_compile \ + --targets=asn1_compile,compile_et \ ) endef define Host/Install $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/ - $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/asn1_compile $(STAGING_DIR_HOSTPKG)/bin/ + # add host tools suffix, prevent conflicts with krb5 + $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/asn1_compile $(STAGING_DIR_HOSTPKG)/bin/asn1_compile_samba + $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/compile_et $(STAGING_DIR_HOSTPKG)/bin/compile_et_samba endef define Build/Prepare @@ -371,21 +334,22 @@ endef define Build/Configure $(CP) ./waf-cross-answers/$(ARCH).txt $(PKG_BUILD_DIR)/cross-answers.txt + echo 'Checking uname sysname type: "$(VERSION_DIST)"' >> $(PKG_BUILD_DIR)/cross-answers.txt echo 'Checking uname machine type: "$(ARCH)"' >> $(PKG_BUILD_DIR)/cross-answers.txt echo 'Checking uname release type: "$(LINUX_VERSION)"' >> $(PKG_BUILD_DIR)/cross-answers.txt echo 'Checking uname version type: "$(VERSION_DIST) Linux-$(LINUX_VERSION) $(shell date +%Y-%m-%d)"' >> $(PKG_BUILD_DIR)/cross-answers.txt - # NOTE: For some unknown reason this answer is not needed on some hosts/distros, yet needed on others? + # NOTE: special answers for freeBSD/CircleCI echo 'Checking whether POSIX capabilities are available: OK' >> $(PKG_BUILD_DIR)/cross-answers.txt + echo 'checking for clnt_create(): OK' >> $(PKG_BUILD_DIR)/cross-answers.txt $(call Build/Configure/Default) endef -# BUG: We need to use "waf install --targets=" otherwise a "make install" or "waf install" will retrigger a full recompile of all possible targets! +# Build via "waf install", avoid the make wrapper. (Samba logic is 'waf install' = build + install) define Build/Compile (cd $(PKG_BUILD_DIR); \ ./buildtools/bin/waf install \ --jobs=$(shell nproc) \ --destdir="$(PKG_INSTALL_DIR)" \ - --targets=$(SAMBA4_MODULES)$(SAMBA4_MODULES_SHARDED)$(BUILD_TARGETS_SERVER),$(BUILD_TARGETS_UTILS),$(BUILD_TARGETS_ADMIN),$(BUILD_TARGETS_CLIENT) \ ) endef @@ -396,39 +360,30 @@ endef define Package/samba4-libs/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/samba/*.so* $(1)/usr/lib/ - - $(INSTALL_DIR) $(1)/usr/lib/samba/vfs $(1)/usr/lib/samba/idmap $(1)/usr/lib/samba/ldb $(1)/usr/lib/samba/krb5 - if [ -d $(PKG_INSTALL_DIR)/usr/lib/samba/idmap ]; then \ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/samba/idmap $(1)/usr/lib/samba/; \ - fi - if [ -d $(PKG_INSTALL_DIR)/usr/lib/samba/vfs ]; then \ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/samba/vfs $(1)/usr/lib/samba/; \ - fi - if [ -d $(PKG_INSTALL_DIR)/usr/lib/samba/krb5 ]; then \ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/samba/krb5 $(1)/usr/lib/samba/; \ - fi -ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) - $(INSTALL_DIR) $(1)/usr/lib/python2.7 - $(CP) $(PKG_INSTALL_DIR)/usr/lib/python2.7 $(1)/usr/lib/ -endif + # rpath-install + $(CP) $(PKG_INSTALL_DIR)/usr/lib/samba $(1)/usr/lib/ endef define Package/samba4-client/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{smbclient,cifsdd} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{cifsdd,smbclient,smbget} $(1)/usr/bin/ endef define Package/samba4-admin/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{net,smbcontrol,profiles,rpcclient,smbcacls,smbcquotas} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{net,smbcontrol,profiles,rpcclient,dbwrap_tool} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{ldbadd,ldbdel,ldbedit,ldbmodify,ldbrename,ldbsearch} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{tdbbackup,tdbdump,tdbrestore,tdbtool} $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/eventlogadm $(1)/usr/sbin/ endef define Package/samba4-utils/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{smbstatus,smbtree,smbget,mvxattr,nmblookup} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{smbstatus,smbtree,mvxattr,smbtar} $(1)/usr/bin/ +ifeq ($(CONFIG_SAMBA4_SERVER_VFS),y) + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/smbcquotas $(1)/usr/bin/ +endif endef define Package/samba4-server/install @@ -436,21 +391,21 @@ define Package/samba4-server/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{smbpasswd,pdbedit,testparm} $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/smbd $(1)/usr/sbin/ -ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{samba-tool,ntlm_auth,smbtar} $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{samba,samba-gpupdate,samba_dnsupdate,samba_kcc,samba_spnupdate,samba_upgradedns} $(1)/usr/sbin/ - # waf does not install those? - $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/{samba4kinit,samba4kgetcred,samba4kpasswd,samba4ktutil} $(1)/usr/bin/ -endif ifeq ($(CONFIG_SAMBA4_SERVER_NETBIOS),y) $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nmbd $(1)/usr/sbin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmblookup $(1)/usr/bin/ endif -ifeq ($(CONFIG_SAMBA4_SERVER_WINBIND),y) - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wbinfo $(1)/usr/bin/ - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/winbindd $(1)/usr/sbin/ -endif -ifeq ($(CONFIG_SAMBA4_SERVER_ACL),y) - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sharesec $(1)/usr/bin/ +ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),y) + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/$(PYTHON3) $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/share/ + $(CP) $(PKG_INSTALL_DIR)/usr/share/samba $(1)/usr/share/ + # fix wrong hardcoded python3 location + $(SED) '1s,^#!/.*python3.*,#!/usr/bin/python3,' $(PKG_INSTALL_DIR)/usr/bin/samba-tool + $(SED) '1s,^#!/.*python3.*,#!/usr/bin/python3,' $(PKG_INSTALL_DIR)/usr/sbin/{samba-gpupdate,samba_dnsupdate,samba_kcc,samba_spnupdate,samba_upgradedns,samba_downgrade_db} + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{samba-tool,ntlm_auth,oLschema2ldif} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{sharesec,smbcacls} $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{samba,samba-gpupdate,samba_dnsupdate,samba_kcc,samba_spnupdate,samba_upgradedns,samba_downgrade_db} $(1)/usr/sbin/ endif $(INSTALL_DIR) $(1)/etc/config $(1)/etc/samba $(1)/etc/init.d $(INSTALL_CONF) ./files/samba.config $(1)/etc/config/samba4 @@ -465,7 +420,6 @@ define Package/samba4-server/conffiles /etc/samba/smbpasswd /etc/samba/secrets.tdb /etc/samba/passdb.tdb -/etc/samba/idmap.ldb /etc/samba/lmhosts /etc/nsswitch.conf /etc/krb5.conf diff --git a/net/samba4/files/samba.init b/net/samba4/files/samba.init index 5b81db2c4b..589b450ae4 100644 --- a/net/samba4/files/samba.init +++ b/net/samba4/files/samba.init @@ -3,8 +3,10 @@ START=98 USE_PROCD=1 +SAMBA_IFACE="" + smb_header() { - config_get samba_iface $1 interface "loopback lan" + config_get SAMBA_IFACE $1 interface "lan" # resolve interfaces local interfaces @@ -12,7 +14,7 @@ smb_header() { . /lib/functions/network.sh local net - for net in $samba_iface; do + for net in $SAMBA_IFACE; do local device network_is_up $net || continue network_get_device device "$net" @@ -59,8 +61,8 @@ smb_header() { [ -e /etc/samba/smb.conf ] || ln -nsf /var/etc/smb.conf /etc/samba/smb.conf - if ! [ -L /etc/samba/smb.conf ]; then - logger -t 'samba4-server' "Local custom /etc/samba/smb.conf file detected, all luci/config settings are ignored!" + if [ ! -L /etc/samba/smb.conf ]; then + logger -p daemon.warn -t 'samba4-server' "Local custom /etc/samba/smb.conf file detected, all luci/config settings are ignored!" fi } @@ -158,56 +160,63 @@ init_config() { } service_triggers() { - PROCD_RELOAD_DELAY=2000 + # PROCD_RELOAD_DELAY=1000 procd_add_reload_trigger "dhcp" "system" "samba4" local i - for i in $samba_iface; do + for i in $SAMBA_IFACE; do procd_add_reload_interface_trigger $i done } start_service() { init_config + + if [ ! -e /etc/samba/smb.conf ]; then + logger -p daemon.error -t 'samba4-server' "missing config /etc/samba/smb.conf!" + exit 1 + fi + + local nice_value + config_get nice_value extra samba_nice 0 # start main AD-DC daemon, will spawn (smbd,nmbd,winbindd) as needed/configured. if [ "$DISABLE_AD_DC" -ne 1 ] && [ -x /usr/sbin/samba ]; then procd_open_instance procd_set_param command /usr/sbin/samba -F + procd_set_param nice $nice_value procd_set_param respawn - procd_set_param file /var/etc/smb.conf + procd_set_param file /etc/samba/smb.conf + procd_set_param limits nofile=16384 procd_close_instance else # start fileserver daemon procd_open_instance procd_set_param command /usr/sbin/smbd -F + procd_set_param nice $nice_value procd_set_param respawn - procd_set_param file /var/etc/smb.conf + procd_set_param file /etc/samba/smb.conf + procd_set_param limits nofile=16384 procd_close_instance # start netbios daemon if [ "$DISABLE_NETBIOS" -ne 1 ] && [ -x /usr/sbin/nmbd ]; then procd_open_instance procd_set_param command /usr/sbin/nmbd -F + procd_set_param nice $nice_value procd_set_param respawn - procd_set_param file /var/etc/smb.conf + procd_set_param file /etc/samba/smb.conf procd_close_instance fi # start winbind daemon if [ "$DISABLE_WINBIND" -ne 1 ] && [ -x /usr/sbin/winbindd ]; then procd_open_instance procd_set_param command /usr/sbin/winbindd -F + procd_set_param nice $nice_value procd_set_param respawn - procd_set_param file /var/etc/smb.conf + procd_set_param file /etc/samba/smb.conf procd_close_instance fi fi - # lower priority using renice (if found) - if [ -x /usr/bin/renice ]; then - [ -x /usr/sbin/samba ] && renice -n 2 $(pidof samba) - [ -x /usr/sbin/smbd ] && renice -n 2 $(pidof smbd) - [ -x /usr/sbin/nmbd ] && renice -n 2 $(pidof nmbd) - [ -x /usr/sbin/winbindd ] && renice -n 2 $(pidof winbindd) - fi } diff --git a/net/samba4/patches/003-getpwent_r.patch b/net/samba4/patches/003-getpwent_r.patch new file mode 100644 index 0000000000..99ebedacfb --- /dev/null +++ b/net/samba4/patches/003-getpwent_r.patch @@ -0,0 +1,80 @@ +diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c +index 2cd6122..04f13c6 100644 +--- a/source4/torture/local/nss_tests.c ++++ b/source4/torture/local/nss_tests.c +@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct torture_context *tctx, + 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 torture_context *tctx, + 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 torture_context *tctx, + + 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_context *tctx) + 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 torture_context *tctx) + 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 torture_context *tctx, + 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 torture_context *tctx, + + 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_context *tctx) + 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 torture_context *tctx) + 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/net/samba4/patches/004-missing-headers.patch b/net/samba4/patches/004-missing-headers.patch new file mode 100644 index 0000000000..58c26aece6 --- /dev/null +++ b/net/samba4/patches/004-missing-headers.patch @@ -0,0 +1,38 @@ +diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h +index b5d79b9..3f4eae0 100644 +--- a/lib/param/loadparm.h ++++ b/lib/param/loadparm.h +@@ -31,6 +31,7 @@ + #define _LOADPARM_H + + #include ++#include + + struct parmlist_entry { + struct parmlist_entry *prev, *next; +diff --git a/source3/lib/system_smbd.c b/source3/lib/system_smbd.c +index 3b1ac9c..4044d75 100644 +--- a/source3/lib/system_smbd.c ++++ b/source3/lib/system_smbd.c +@@ -27,6 +27,8 @@ + #include "system/passwd.h" + #include "nsswitch/winbind_client.h" + #include "../lib/util/setid.h" ++#include ++#include + + #ifndef HAVE_GETGROUPLIST + +diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c +index 2cd6122..0c84ec2 100644 +--- a/source4/torture/local/nss_tests.c ++++ b/source4/torture/local/nss_tests.c +@@ -20,6 +20,8 @@ + */ + + #include "includes.h" ++#include ++#include + + #include "torture/torture.h" + #include "torture/local/proto.h" diff --git a/net/samba4/patches/005-musl_uintptr.patch b/net/samba4/patches/005-musl_uintptr.patch new file mode 100644 index 0000000000..c5f36bef25 --- /dev/null +++ b/net/samba4/patches/005-musl_uintptr.patch @@ -0,0 +1,35 @@ +commit f81e5b71ce78f33250347914dacc75c8463bf102 +Author: Breno Leitao +Date: Wed Mar 29 15:22:38 2017 -0300 + + include: Check for previous declaration of uintptr_t + + Adding a extra check before declaring uintptr_t. Currently musl uses + macro __DEFINED_uintptr_t once it defines uintptr_t type. Checking + this macro before defining it, and, defining it when uintptr_t is + defined. + + Signed-off-by: Breno Leitao + +diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h +index 303d0ae..a2bfc40 100644 +--- a/third_party/cmocka/cmocka.h ++++ b/third_party/cmocka/cmocka.h +@@ -110,7 +110,7 @@ + ((LargestIntegralType)(value)) + + /* Smallest integral type capable of holding a pointer. */ +-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) ++#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(__DEFINED_uintptr_t) + # if defined(_WIN32) + /* WIN32 is an ILP32 platform */ + typedef unsigned int uintptr_t; +@@ -136,6 +136,8 @@ + + # define _UINTPTR_T + # define _UINTPTR_T_DEFINED ++# define __DEFINED_uintptr_t ++ + #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ + + /* Perform an unsigned cast to uintptr_t. */ diff --git a/net/samba4/patches/006-netdb-defines.patch b/net/samba4/patches/006-netdb-defines.patch new file mode 100644 index 0000000000..d7d6446abd --- /dev/null +++ b/net/samba4/patches/006-netdb-defines.patch @@ -0,0 +1,19 @@ +diff --git a/nsswitch/wins.c b/nsswitch/wins.c +index dccb6dd..bb24acb 100644 +--- a/nsswitch/wins.c ++++ b/nsswitch/wins.c +@@ -39,6 +39,14 @@ static pthread_mutex_t wins_nss_mutex = PTHREAD_MUTEX_INITIALIZER; + #define INADDRSZ 4 + #endif + ++#ifndef NETDB_INTERNAL ++#define NETDB_INTERNAL -1 ++#endif ++ ++#ifndef NETDB_SUCCESS ++#define NETDB_SUCCESS 0 ++#endif ++ + NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname, + struct hostent *he, + char *buffer, diff --git a/net/samba4/patches/007-libldb-fix-musl-libc-unkown-type-error.patch b/net/samba4/patches/007-libldb-fix-musl-libc-unkown-type-error.patch new file mode 100644 index 0000000000..c0e7e8907d --- /dev/null +++ b/net/samba4/patches/007-libldb-fix-musl-libc-unkown-type-error.patch @@ -0,0 +1,31 @@ +From d90534469c5c43bf2a97e5698a5ddb4b7471f92a Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Tue, 24 Jul 2018 10:53:16 +0800 +Subject: [PATCH] libldb: fix musl libc unkoown type error + +tevent.h:1440:8: error: unknown type name 'pid_t'; did you mean 'div_t'? + pid_t *pid, + ^~~~~ + div_t + +Signed-off-by: Changqing Li +--- + lib/tevent/tevent.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/tevent/tevent.h b/lib/tevent/tevent.h +index aa6fe0d..2572696 100644 +--- a/lib/tevent/tevent.h ++++ b/lib/tevent/tevent.h +@@ -32,6 +32,8 @@ + #include + #include + #include ++#include ++#include + + struct tevent_context; + struct tevent_ops; +-- +2.7.4 + diff --git a/net/samba4/patches/008-samba-4.11-add_missing___compar_fn_t.patch b/net/samba4/patches/008-samba-4.11-add_missing___compar_fn_t.patch new file mode 100644 index 0000000000..96b65e6c58 --- /dev/null +++ b/net/samba4/patches/008-samba-4.11-add_missing___compar_fn_t.patch @@ -0,0 +1,14 @@ +--- a/source4/dsdb/samdb/ldb_modules/count_attrs.c ++++ b/source4/dsdb/samdb/ldb_modules/count_attrs.c +@@ -38,6 +38,11 @@ + #define NULL_REQ_PSEUDO_N -2LL; + #define STAR_REQ_PSEUDO_N -4LL; + ++#ifndef __COMPAR_FN_T ++#define __COMPAR_FN_T ++typedef int (*__compar_fn_t)(const void *, const void *); ++#endif ++ + struct count_attrs_private { + struct tdb_wrap *requested; + struct tdb_wrap *duplicates; diff --git a/net/samba4/patches/009-samba-4.11-qsort-compar.patch b/net/samba4/patches/009-samba-4.11-qsort-compar.patch new file mode 100644 index 0000000000..3b2e11a15b --- /dev/null +++ b/net/samba4/patches/009-samba-4.11-qsort-compar.patch @@ -0,0 +1,22 @@ +diff --git a/source4/dsdb/samdb/ldb_modules/count_attrs.c b/source4/dsdb/samdb/ldb_modules/count_attrs.c +index b0d1b22..29f1b94 100644 +--- a/source4/dsdb/samdb/ldb_modules/count_attrs.c ++++ b/source4/dsdb/samdb/ldb_modules/count_attrs.c +@@ -222,7 +222,7 @@ static const char **get_sorted_attrs(TALLOC_CTX *mem_ctx, + attrs[i] = a; + } + +- qsort(attrs, n_attrs, sizeof(char *), (__compar_fn_t)strcasecmp_ptr); ++ qsort(attrs, n_attrs, sizeof(char *), (int (*)(const void *, const void *))strcasecmp_ptr); + return attrs; + } + +@@ -313,7 +313,7 @@ static int count_attrs_search_callback(struct ldb_request *req, + } + + qsort(found_attrs, msg->num_elements, sizeof(char *), +- (__compar_fn_t)strcasecmp_ptr); ++ (int (*)(const void *, const void *))strcasecmp_ptr); + + + /* find and report duplicates */ diff --git a/net/samba4/patches/010-samba-4-11-fix-host-tools-checks.patch.patch b/net/samba4/patches/010-samba-4-11-fix-host-tools-checks.patch.patch new file mode 100644 index 0000000000..88c560d1ab --- /dev/null +++ b/net/samba4/patches/010-samba-4-11-fix-host-tools-checks.patch.patch @@ -0,0 +1,40 @@ +--- a/wscript_configure_embedded_heimdal 2019-12-17 ++++ b/wscript_configure_embedded_heimdal 2019-12-17 +@@ -1 +1,12 @@ + conf.RECURSE('source4/heimdal_build') ++ ++def check_system_heimdal_binary(name): ++ if conf.LIB_MAY_BE_BUNDLED(name): ++ return False ++ if not conf.find_program(name, var=name.upper()): ++ return False ++ conf.define('USING_SYSTEM_%s' % name.upper(), 1) ++ return True ++ ++check_system_heimdal_binary("compile_et") ++check_system_heimdal_binary("asn1_compile") +--- a/wscript_configure_system_heimdal 2019-12-17 ++++ b/wscript_configure_system_heimdal 2019-12-17 +@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, funct + conf.define('USING_SYSTEM_%s' % name.upper(), 1) + return True + +-def check_system_heimdal_binary(name): +- if conf.LIB_MAY_BE_BUNDLED(name): +- return False +- if not conf.find_program(name, var=name.upper()): +- return False +- conf.define('USING_SYSTEM_%s' % name.upper(), 1) +- return True +- + check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h") + + if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"): +@@ -96,7 +88,4 @@ finally: + #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'): + # conf.define('USING_SYSTEM_TOMMATH', 1) + +-check_system_heimdal_binary("compile_et") +-check_system_heimdal_binary("asn1_compile") +- + conf.define('USING_SYSTEM_KRB5', 1) diff --git a/net/samba4/patches/010-source3-msgsock-nvram-fix.patch b/net/samba4/patches/010-source3-msgsock-nvram-fix.patch deleted file mode 100644 index 4c93a5a3ea..0000000000 --- a/net/samba4/patches/010-source3-msgsock-nvram-fix.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/source3/lib/messages.c -+++ b/source3/lib/messages.c -@@ -518,7 +518,7 @@ static NTSTATUS messaging_init_internal( - return NT_STATUS_ACCESS_DENIED; - } - -- priv_path = private_path("msg.sock"); -+ priv_path = lock_path("msg.sock"); - if (priv_path == NULL) { - return NT_STATUS_NO_MEMORY; - } -@@ -662,7 +662,7 @@ NTSTATUS messaging_reinit(struct messagi - - msg_ctx->msg_dgm_ref = messaging_dgm_ref( - msg_ctx, msg_ctx->event_ctx, &msg_ctx->id.unique_id, -- private_path("msg.sock"), lck_path, -+ lock_path("msg.sock"), lck_path, - messaging_recv_cb, msg_ctx, &ret); - - if (msg_ctx->msg_dgm_ref == NULL) { diff --git a/net/samba4/patches/011-source4-msgsock-nvram-fix.patch b/net/samba4/patches/011-source4-msgsock-nvram-fix.patch deleted file mode 100644 index 5271740011..0000000000 --- a/net/samba4/patches/011-source4-msgsock-nvram-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/source4/lib/messaging/messaging.c -+++ b/source4/lib/messaging/messaging.c -@@ -350,7 +350,7 @@ static struct imessaging_context *imessa - goto fail; - } - -- msg->sock_dir = lpcfg_private_path(msg, lp_ctx, "msg.sock"); -+ msg->sock_dir = lpcfg_lock_path(msg, lp_ctx, "msg.sock"); - if (msg->sock_dir == NULL) { - goto fail; - } diff --git a/net/samba4/patches/020-source3-msgsock-nvram-fix.patch b/net/samba4/patches/020-source3-msgsock-nvram-fix.patch new file mode 100644 index 0000000000..682adec4e3 --- /dev/null +++ b/net/samba4/patches/020-source3-msgsock-nvram-fix.patch @@ -0,0 +1,20 @@ +--- a/source3/lib/messages.c ++++ b/source3/lib/messages.c +@@ -518,7 +518,7 @@ static NTSTATUS messaging_init_internal( + return NT_STATUS_ACCESS_DENIED; + } + +- priv_path = private_path("msg.sock"); ++ priv_path = lock_path(talloc_tos(), "msg.sock"); + if (priv_path == NULL) { + return NT_STATUS_NO_MEMORY; + } +@@ -662,7 +662,7 @@ NTSTATUS messaging_reinit(struct messagi + + msg_ctx->msg_dgm_ref = messaging_dgm_ref( + msg_ctx, msg_ctx->event_ctx, &msg_ctx->id.unique_id, +- private_path("msg.sock"), lck_path, ++ lock_path(talloc_tos(), "msg.sock"), lck_path, + messaging_recv_cb, msg_ctx, &ret); + + if (msg_ctx->msg_dgm_ref == NULL) { diff --git a/net/samba4/patches/021-source4-msgsock-nvram-fix.patch b/net/samba4/patches/021-source4-msgsock-nvram-fix.patch new file mode 100644 index 0000000000..5271740011 --- /dev/null +++ b/net/samba4/patches/021-source4-msgsock-nvram-fix.patch @@ -0,0 +1,11 @@ +--- a/source4/lib/messaging/messaging.c ++++ b/source4/lib/messaging/messaging.c +@@ -350,7 +350,7 @@ static struct imessaging_context *imessa + goto fail; + } + +- msg->sock_dir = lpcfg_private_path(msg, lp_ctx, "msg.sock"); ++ msg->sock_dir = lpcfg_lock_path(msg, lp_ctx, "msg.sock"); + if (msg->sock_dir == NULL) { + goto fail; + } diff --git a/net/samba4/patches/102-samba-4.11-unbundle-libbsd.patch b/net/samba4/patches/102-samba-4.11-unbundle-libbsd.patch new file mode 100644 index 0000000000..1e2e11fcf2 --- /dev/null +++ b/net/samba4/patches/102-samba-4.11-unbundle-libbsd.patch @@ -0,0 +1,59 @@ +--- a/lib/replace/wscript ++++ b/lib/replace/wscript +@@ -340,22 +340,13 @@ def configure(conf): + + conf.CHECK_FUNCS('prctl dirname basename') + +- strlcpy_in_bsd = False ++ # Not checking for libbsd ++ conf.CHECK_FUNCS('strlcpy strlcat') ++ conf.CHECK_FUNCS('getpeereid') ++ conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h') ++ conf.CHECK_FUNCS('setproctitle_init') + +- # libbsd on some platforms provides strlcpy and strlcat +- if not conf.CHECK_FUNCS('strlcpy strlcat'): +- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', +- checklibc=True): +- strlcpy_in_bsd = True +- if not conf.CHECK_FUNCS('getpeereid'): +- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') +- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): +- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') +- if not conf.CHECK_FUNCS('setproctitle_init'): +- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') +- +- if not conf.CHECK_FUNCS('closefrom'): +- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') ++ conf.CHECK_FUNCS('closefrom') + + conf.CHECK_CODE(''' + struct ucred cred; +@@ -698,9 +689,6 @@ def configure(conf): + + # look for a method of finding the list of network interfaces + for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']: +- bsd_for_strlcpy = '' +- if strlcpy_in_bsd: +- bsd_for_strlcpy = ' bsd' + if conf.CHECK_CODE(''' + #define %s 1 + #define NO_CONFIG_H 1 +@@ -713,7 +701,7 @@ def configure(conf): + #include "test/getifaddrs.c" + ''' % method, + method, +- lib='nsl socket' + bsd_for_strlcpy, ++ lib='nsl socket', + addmain=False, + execute=True): + break +@@ -761,7 +749,6 @@ def build(bld): + break + + extra_libs = '' +- if bld.CONFIG_SET('HAVE_LIBBSD'): extra_libs += ' bsd' + if bld.CONFIG_SET('HAVE_LIBRT'): extra_libs += ' rt' + + bld.SAMBA_SUBSYSTEM('LIBREPLACE_HOSTCC', + REPLACE_HOSTCC_SOURCE, diff --git a/net/samba4/patches/102-samba-4.8.5-unbundle-libbsd.patch b/net/samba4/patches/102-samba-4.8.5-unbundle-libbsd.patch deleted file mode 100644 index c8eae598da..0000000000 --- a/net/samba4/patches/102-samba-4.8.5-unbundle-libbsd.patch +++ /dev/null @@ -1,77 +0,0 @@ ---- a/lib/crypto/wscript_configure -+++ b/lib/crypto/wscript_configure -@@ -2,11 +2,11 @@ - import Options - import Utils - --if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h', -- checklibc=True): -- conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h', -- checklibc=True) -- conf.CHECK_FUNCS_IN('MD5Init', 'md', headers='sys/md5.h', -+# if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h', -+ # checklibc=True): -+conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h', -+ checklibc=True) -+conf.CHECK_FUNCS_IN('MD5Init', 'md', headers='sys/md5.h', - checklibc=True) - conf.CHECK_FUNCS_IN('CC_MD5_Init', '', headers='CommonCrypto/CommonDigest.h', - checklibc=True) ---- a/lib/replace/wscript -+++ b/lib/replace/wscript -@@ -340,22 +340,13 @@ def configure(conf): - - conf.CHECK_FUNCS('prctl dirname basename') - -- strlcpy_in_bsd = False -+ # Not checking for libbsd -+ conf.CHECK_FUNCS('strlcpy strlcat') -+ conf.CHECK_FUNCS('getpeereid') -+ conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h') -+ conf.CHECK_FUNCS('setproctitle_init') - -- # libbsd on some platforms provides strlcpy and strlcat -- if not conf.CHECK_FUNCS('strlcpy strlcat'): -- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', -- checklibc=True): -- strlcpy_in_bsd = True -- if not conf.CHECK_FUNCS('getpeereid'): -- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') -- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): -- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') -- if not conf.CHECK_FUNCS('setproctitle_init'): -- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') -- -- if not conf.CHECK_FUNCS('closefrom'): -- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') -+ conf.CHECK_FUNCS('closefrom') - - conf.CHECK_CODE(''' - struct ucred cred; -@@ -698,9 +689,6 @@ def configure(conf): - - # look for a method of finding the list of network interfaces - for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']: -- bsd_for_strlcpy = '' -- if strlcpy_in_bsd: -- bsd_for_strlcpy = ' bsd' - if conf.CHECK_CODE(''' - #define %s 1 - #define NO_CONFIG_H 1 -@@ -713,7 +701,7 @@ def configure(conf): - #include "test/getifaddrs.c" - ''' % method, - method, -- lib='nsl socket' + bsd_for_strlcpy, -+ lib='nsl socket', - addmain=False, - execute=True): - break -@@ -761,7 +749,6 @@ def build(bld): - break - - extra_libs = '' -- if bld.CONFIG_SET('HAVE_LIBBSD'): extra_libs += ' bsd' - - bld.SAMBA_SUBSYSTEM('LIBREPLACE_HOSTCC', - REPLACE_HOSTCC_SOURCE, diff --git a/net/samba4/waf-cross-answers/aarch64.txt b/net/samba4/waf-cross-answers/aarch64.txt index 9aae22c36a..e57659bf06 100644 --- a/net/samba4/waf-cross-answers/aarch64.txt +++ b/net/samba4/waf-cross-answers/aarch64.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: OK diff --git a/net/samba4/waf-cross-answers/arc.txt b/net/samba4/waf-cross-answers/arc.txt index 57f38119ff..37abf15edf 100644 --- a/net/samba4/waf-cross-answers/arc.txt +++ b/net/samba4/waf-cross-answers/arc.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: NO diff --git a/net/samba4/waf-cross-answers/arm.txt b/net/samba4/waf-cross-answers/arm.txt index 79ba994be2..5a7c2ea941 100644 --- a/net/samba4/waf-cross-answers/arm.txt +++ b/net/samba4/waf-cross-answers/arm.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials with 32-bit system calls: "OK" +Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: NO diff --git a/net/samba4/waf-cross-answers/armeb.txt b/net/samba4/waf-cross-answers/armeb.txt index 79ba994be2..5a7c2ea941 100644 --- a/net/samba4/waf-cross-answers/armeb.txt +++ b/net/samba4/waf-cross-answers/armeb.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials with 32-bit system calls: "OK" +Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: NO diff --git a/net/samba4/waf-cross-answers/i386.txt b/net/samba4/waf-cross-answers/i386.txt index 79ba994be2..5a7c2ea941 100644 --- a/net/samba4/waf-cross-answers/i386.txt +++ b/net/samba4/waf-cross-answers/i386.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials with 32-bit system calls: "OK" +Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: NO diff --git a/net/samba4/waf-cross-answers/mips.txt b/net/samba4/waf-cross-answers/mips.txt index 9c1a2c67ef..2919ea2c2c 100644 --- a/net/samba4/waf-cross-answers/mips.txt +++ b/net/samba4/waf-cross-answers/mips.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: NO diff --git a/net/samba4/waf-cross-answers/mips64.txt b/net/samba4/waf-cross-answers/mips64.txt index a270f0860c..9bb9b5fd50 100644 --- a/net/samba4/waf-cross-answers/mips64.txt +++ b/net/samba4/waf-cross-answers/mips64.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: OK diff --git a/net/samba4/waf-cross-answers/mips64el.txt b/net/samba4/waf-cross-answers/mips64el.txt index a270f0860c..9bb9b5fd50 100644 --- a/net/samba4/waf-cross-answers/mips64el.txt +++ b/net/samba4/waf-cross-answers/mips64el.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: OK diff --git a/net/samba4/waf-cross-answers/mipsel.txt b/net/samba4/waf-cross-answers/mipsel.txt index 9c1a2c67ef..2919ea2c2c 100644 --- a/net/samba4/waf-cross-answers/mipsel.txt +++ b/net/samba4/waf-cross-answers/mipsel.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: NO diff --git a/net/samba4/waf-cross-answers/powerpc.txt b/net/samba4/waf-cross-answers/powerpc.txt index 4912acbde9..c98557b2ba 100644 --- a/net/samba4/waf-cross-answers/powerpc.txt +++ b/net/samba4/waf-cross-answers/powerpc.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: NO diff --git a/net/samba4/waf-cross-answers/x86_64.txt b/net/samba4/waf-cross-answers/x86_64.txt index 9aae22c36a..e57659bf06 100644 --- a/net/samba4/waf-cross-answers/x86_64.txt +++ b/net/samba4/waf-cross-answers/x86_64.txt @@ -25,7 +25,7 @@ Checking for kernel share modes: OK Checking if can we convert from CP850 to UCS-2LE: OK Checking if can we convert from UTF-8 to UCS-2LE: OK vfs_fileid checking for statfs() and struct statfs.f_fsid: OK -Checking whether we can use Linux thread-specific credentials: "OK" +Checking whether we can use Linux thread-specific credentials: OK Checking whether fcntl locking is available: OK Checking whether fcntl lock supports open file description locks: NO Checking for the maximum value of the 'time_t' type: OK