include $(TOPDIR)/rules.mk PKG_NAME:=ksmbd-tools PKG_VERSION:=3.2.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/cifsd-team/cifsd-tools/archive/$(PKG_VERSION)/ PKG_HASH:=d5e56b38f858736849aefd55cfbffe31ae3d4f39a13689aecb3e896f3b048866 PKG_MAINTAINER:=Andy Walsh PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING PKG_FIXUP:=autoreconf PKG_REMOVE_FILES:=autogen.sh PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=glib2 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk TAR_OPTIONS+= --strip-components 1 TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) define Package/ksmbd-tools/Default SECTION:=net CATEGORY:=Network SUBMENU:=Filesystem TITLE:=Kernel SMB URL:=https://github.com/cifsd-team/cifsd-tools DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS) endef define Package/ksmbd-tools/Default/description Userspace tools to manage the SMB kernel fileserver (ksmbd.ko). The config file location is /etc/ksmbd/smb.conf endef define Package/ksmbd-server $(call Package/ksmbd-tools/Default) TITLE+= server DEPENDS+= +kmod-fs-ksmbd +libnl-core +libnl-genl endef define Package/ksmbd-server/description installs: ksmbd.mountd This provides the basic fileserver service and is the minimum needed to serve 'guest only' file shares or use a existing user database file ksmbdpwd.db. endef define Package/ksmbd-server/config select PACKAGE_wsdd2 endef define Package/ksmbd-utils $(call Package/ksmbd-tools/Default) TITLE+= user management-util endef define Package/ksmbd-utils/description installs: ksmbd.adduser (ksmbd.addshare) Tool needed to create the ksmbdpwd.db, to manage per user share passwords. NOTE: Not needed for 'guest only' shares. endef define Package/ksmbd-utils/config config KSMBD_UTILS_SHAREADD bool "Add ksmbd.addshare util" depends on PACKAGE_ksmbd-utils help Add the ksmbd.addshare tool, to directly manipulate the /etc/ksmbd/smb.conf. default n endef define Package/ksmbd-avahi-service $(call Package/ksmbd-tools/Default) TITLE+= (Avahi service) DEPENDS:= +avahi-daemon endef define Package/ksmbd-avahi-service/description installs: smb.service This package contains the service definition for announcing the Ksmbd (smb/445) Daemon service via mDNS/DNS-SD. endef CONFIGURE_ARGS += \ --disable-shared \ --enable-static CONFIGURE_VARS += GLIB_LIBS="$(STAGING_DIR)/usr/lib/libglib-2.0.a" TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -liconv $(if $(INTL_FULL),-lintl) define Package/ksmbd-server/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.mountd $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/etc/config $(1)/etc/ksmbd $(1)/etc/init.d $(INSTALL_CONF) ./files/ksmbd.config $(1)/etc/config/ksmbd $(INSTALL_DATA) ./files/smb.conf.template $(1)/etc/ksmbd/ $(INSTALL_BIN) ./files/ksmbd.init $(1)/etc/init.d/ksmbd # copy examples until we have a wiki page $(INSTALL_DATA) ./files/ksmbd.config.example $(1)/etc/ksmbd/ $(INSTALL_DATA) $(PKG_BUILD_DIR)/Documentation/configuration.txt $(1)/etc/ksmbd/ endef define Package/ksmbd-utils/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.adduser $(1)/usr/sbin/ ifeq ($(CONFIG_KSMBD_UTILS_SHAREADD),y) $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.addshare $(1)/usr/sbin/ endif endef define Package/ksmbd-avahi-service/install $(INSTALL_DIR) $(1)/etc/avahi/services $(INSTALL_DATA) ./files/smb.service $(1)/etc/avahi/services/ endef define Package/ksmbd-server/conffiles /etc/config/ksmbd /etc/ksmbd/smb.conf.template /etc/ksmbd/smb.conf /etc/ksmbd/ksmbdpwd.db endef define Package/ksmbd-avahi-service/conffiles /etc/avahi/services/smb.service endef $(eval $(call BuildPackage,ksmbd-server)) $(eval $(call BuildPackage,ksmbd-utils)) $(eval $(call BuildPackage,ksmbd-avahi-service))