Avoid Hetzner hosted servers due to availability (.ru users) and try to keep availability as good as possible without sacrificing performance for the majority of users. Update upstream project download URL Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
478 lines
16 KiB
Makefile
478 lines
16 KiB
Makefile
# Based partially on (wongsyrone/hbl0307106015) versions
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=samba
|
|
PKG_VERSION:=4.9.6
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
|
|
PKG_LICENSE:=GPL-3.0-only
|
|
PKG_LICENSE_FILES:=COPYING
|
|
|
|
PKG_SOURCE_URL:=https://ftp.heanet.ie/mirrors/ftp.samba.org/stable/ \
|
|
https://ftp.gwdg.de/pub/samba/stable/ \
|
|
https://ftp.riken.jp/net/samba/samba/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_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_HASH:=c9205a651a83d69e200fec9dd65e9fa360f0c75ab3275b3dcb74e5cbaec60807
|
|
|
|
# samba4=(asn1_compile) e2fsprogs=(compile_et) nfs-kernel-server=(rpcgen)
|
|
PKG_BUILD_DEPENDS:=samba4/host e2fsprogs/host nfs-kernel-server/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
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
include $(INCLUDE_DIR)/version.mk
|
|
|
|
define Package/samba4/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
TITLE:=Samba $(PKG_VERSION)
|
|
URL:=http://www.samba.org/
|
|
endef
|
|
|
|
define Package/samba4/Default/description
|
|
The Samba software suite is a collection of programs that implements the
|
|
SMB/CIFS protocol for UNIX systems, allowing you to serve files and printers.
|
|
|
|
Samba 4 implements up-to protocol version SMB v3.1.1 (Win10), supports mDNS via AVAHI and a AD-DC setup via krb5.
|
|
NOTE: No cluster and printer support.
|
|
endef
|
|
|
|
define Package/samba4-libs
|
|
$(call Package/samba4/Default)
|
|
TITLE+= libs
|
|
DEPENDS:= +zlib +libtirpc +libpopt +libcomerr \
|
|
+PACKAGE_libcap:libcap +PACKAGE_libpthread:libpthread +PACKAGE_libnettle:libnettle \
|
|
+PACKAGE_libgcrypt:libgcrypt +PACKAGE_libpam:libpam +PACKAGE_dbus:dbus +PACKAGE_libavahi-client:libavahi-client \
|
|
+SAMBA4_SERVER_VFS:attr \
|
|
+SAMBA4_SERVER_ACL:acl +SAMBA4_SERVER_ACL:attr \
|
|
+SAMBA4_SERVER_AVAHI:libavahi-client \
|
|
+SAMBA4_SERVER_AD_DC:python-base +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
|
|
endef
|
|
|
|
define Package/samba4-server
|
|
$(call Package/samba4/Default)
|
|
TITLE+= server
|
|
DEPENDS:= +samba4-libs
|
|
EXTRA_DEPENDS:=$(if $(CONFIG_SAMBA4_SERVER_AD_DC),python-crypto,)
|
|
endef
|
|
|
|
define Package/samba4-server/description
|
|
installs: smbd, nmbd (daemon) smbpasswd pdbedit testparm
|
|
|
|
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"
|
|
endef
|
|
|
|
define Package/samba4-client
|
|
$(call Package/samba4/Default)
|
|
TITLE+= client
|
|
DEPENDS:= +samba4-libs
|
|
endef
|
|
|
|
define Package/samba4-client/description
|
|
installs: smbclient cifsdd
|
|
|
|
The smbclient program implements a simple ftp-like client for accessing SMB shares
|
|
endef
|
|
|
|
define Package/samba4-admin
|
|
$(call Package/samba4/Default)
|
|
TITLE+= admin tools
|
|
DEPENDS:= +samba4-libs
|
|
endef
|
|
|
|
define Package/samba4-admin/description
|
|
installs: net smbcontrol profiles rpcclient smbcacls smbcquotas
|
|
|
|
Administration tools collection
|
|
endef
|
|
|
|
define Package/samba4-utils
|
|
$(call Package/samba4/Default)
|
|
TITLE+= utils
|
|
DEPENDS:= +samba4-libs
|
|
endef
|
|
|
|
define Package/samba4-utils/description
|
|
installs: smbstatus smbtree smbget nmblookup mvxattr
|
|
|
|
Utilities collection
|
|
endef
|
|
|
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections
|
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
|
|
|
CONFIGURE_VARS += \
|
|
CPP="$(TARGET_CROSS)cpp"
|
|
|
|
CONFIGURE_CMD = ./buildtools/bin/waf
|
|
HOST_CONFIGURE_CMD = ./buildtools/bin/waf
|
|
|
|
# Strip options that WAF configure script does not recognize
|
|
CONFIGURE_ARGS:=$(filter-out \
|
|
--target=% \
|
|
--host=% \
|
|
--build=% \
|
|
--program-prefix=% \
|
|
--program-suffix=% \
|
|
--disable-nls \
|
|
--disable-ipv6 \
|
|
, $(CONFIGURE_ARGS))
|
|
|
|
HOST_CONFIGURE_ARGS:=$(filter-out \
|
|
--target=% \
|
|
--host=% \
|
|
--build=% \
|
|
--program-prefix=% \
|
|
--program-suffix=% \
|
|
--disable-nls \
|
|
--disable-ipv6 \
|
|
, $(HOST_CONFIGURE_ARGS))
|
|
|
|
# Waf needs the "configure" argument
|
|
CONFIGURE_ARGS:=configure $(CONFIGURE_ARGS)
|
|
HOST_CONFIGURE_ARGS:=configure $(HOST_CONFIGURE_ARGS)
|
|
|
|
CONFIGURE_ARGS += \
|
|
--hostcc="$(HOSTCC)" \
|
|
--cross-compile \
|
|
--cross-answers=cross-answers.txt \
|
|
--disable-cups \
|
|
--disable-iprint \
|
|
--disable-cephfs \
|
|
--disable-fault-handling \
|
|
--disable-glusterfs \
|
|
--disable-rpath \
|
|
--disable-rpath-install \
|
|
--disable-rpath-private-install \
|
|
--enable-fhs \
|
|
--without-automount \
|
|
--without-iconv \
|
|
--without-lttng \
|
|
--without-ntvfs-fileserver \
|
|
--without-pam \
|
|
--without-systemd \
|
|
--without-utmp \
|
|
--without-dmapi \
|
|
--without-fam \
|
|
--without-gettext \
|
|
--without-regedit \
|
|
--without-gpgme
|
|
|
|
HOST_CONFIGURE_ARGS += \
|
|
--hostcc="$(HOSTCC)" \
|
|
--disable-cups \
|
|
--disable-iprint \
|
|
--disable-cephfs \
|
|
--disable-fault-handling \
|
|
--disable-glusterfs \
|
|
--disable-rpath \
|
|
--disable-rpath-install \
|
|
--disable-rpath-private-install \
|
|
--enable-fhs \
|
|
--without-automount \
|
|
--without-iconv \
|
|
--without-lttng \
|
|
--without-ntvfs-fileserver \
|
|
--without-pam \
|
|
--without-systemd \
|
|
--without-utmp \
|
|
--without-dmapi \
|
|
--without-fam \
|
|
--without-gettext \
|
|
--without-regedit \
|
|
--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
|
|
HOST_CONFIGURE_VARS += python_LDFLAGS="" python_LIBDIR=""
|
|
|
|
# Optional AES-NI support - https://lists.samba.org/archive/samba-technical/2017-September/122738.html
|
|
# Support for Nettle wasn't comitted
|
|
ifdef CONFIG_TARGET_x86_64
|
|
CONFIGURE_ARGS += --accel-aes=intelaesni
|
|
else
|
|
CONFIGURE_ARGS += --accel-aes=none
|
|
endif
|
|
|
|
CONFIGURE_ARGS += \
|
|
--with-lockdir=/var/lock \
|
|
--with-logfilebase=/var/log \
|
|
--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)
|
|
CONFIGURE_ARGS += --with-quotas
|
|
else
|
|
CONFIGURE_ARGS += --without-quotas
|
|
endif
|
|
ifeq ($(CONFIG_SAMBA4_SERVER_ACL),y)
|
|
CONFIGURE_ARGS += --with-acl-support
|
|
else
|
|
CONFIGURE_ARGS += --without-acl-support
|
|
endif
|
|
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_VARS += \
|
|
python_LDFLAGS="" \
|
|
python_LIBDIR=""
|
|
endif
|
|
ifeq ($(CONFIG_SAMBA4_SERVER_WINBIND),y)
|
|
CONFIGURE_ARGS += --with-winbind
|
|
else
|
|
CONFIGURE_ARGS += --without-winbind
|
|
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,
|
|
ifeq ($(CONFIG_PACKAGE_kmod-fs-btrfs),y)
|
|
SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_btrfs,
|
|
endif
|
|
endif
|
|
ifeq ($(CONFIG_SAMBA4_SERVER_VFSX),y)
|
|
SAMBA4_VFS_MODULES_SHARED :=$(SAMBA4_VFS_MODULES_SHARED)vfs_virusfilter,vfs_shell_snap,vfs_commit,vfs_worm,vfs_aio_fork,vfs_aio_pthread,vfs_netatalk,vfs_dirsort,vfs_fileid,
|
|
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,
|
|
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}
|
|
|
|
CONFIGURE_ARGS += \
|
|
--with-static-modules=$(SAMBA4_MODULES)!DEFAULT,!FORCED \
|
|
--with-shared-modules=$(SAMBA4_MODULES_SHARDED)!DEFAULT,!FORCED
|
|
|
|
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
|
|
# 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
|
|
|
|
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
|
|
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
|
|
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
|
|
|
|
define Host/Compile
|
|
(cd $(HOST_BUILD_DIR); \
|
|
./buildtools/bin/waf build \
|
|
--targets=asn1_compile \
|
|
)
|
|
endef
|
|
|
|
define Host/Install
|
|
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
|
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/asn1_compile $(STAGING_DIR_HOSTPKG)/bin/
|
|
endef
|
|
|
|
define Build/Prepare
|
|
$(Build/Prepare/Default)
|
|
ifeq ($(CONFIG_SAMBA4_SERVER_AD_DC),)
|
|
# un-bundle dnspython
|
|
$(SED) '/"dns.resolver":/d' $(PKG_BUILD_DIR)/third_party/wscript
|
|
# unbundle iso8601
|
|
$(SED) '/"iso8601":/d' $(PKG_BUILD_DIR)/third_party/wscript
|
|
endif
|
|
endef
|
|
|
|
define Build/Configure
|
|
$(CP) ./waf-cross-answers/$(ARCH).txt $(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?
|
|
echo 'Checking whether POSIX capabilities are available: 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!
|
|
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
|
|
|
|
# No default install see above
|
|
define Build/Install
|
|
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
|
|
endef
|
|
|
|
define Package/samba4-client/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{smbclient,cifsdd} $(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_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/
|
|
endef
|
|
|
|
define Package/samba4-server/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(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/
|
|
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/
|
|
endif
|
|
$(INSTALL_DIR) $(1)/etc/config $(1)/etc/samba $(1)/etc/init.d
|
|
$(INSTALL_DATA) ./files/samba.config $(1)/etc/config/samba4
|
|
$(INSTALL_DATA) ./files/smb.conf.template $(1)/etc/samba
|
|
$(INSTALL_BIN) ./files/samba.init $(1)/etc/init.d/samba4
|
|
endef
|
|
|
|
define Package/samba4-server/conffiles
|
|
/etc/config/samba4
|
|
/etc/samba/smb.conf.template
|
|
/etc/samba/smb.conf
|
|
/etc/samba/smbpasswd
|
|
/etc/samba/secrets.tdb
|
|
/etc/samba/passdb.tdb
|
|
/etc/samba/idmap.ldb
|
|
/etc/samba/lmhosts
|
|
/etc/nsswitch.conf
|
|
/etc/krb5.conf
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|
|
$(eval $(call BuildPackage,samba4-libs))
|
|
$(eval $(call BuildPackage,samba4-server))
|
|
$(eval $(call BuildPackage,samba4-client))
|
|
$(eval $(call BuildPackage,samba4-admin))
|
|
$(eval $(call BuildPackage,samba4-utils))
|