ksmbd-tools: update to 3.5.1
[feed/packages.git] / net / ksmbd-tools / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=ksmbd-tools
4 PKG_RELEASE:=1
5
6 PKG_SOURCE_PROTO:=git
7 PKG_SOURCE_URL:=https://github.com/cifsd-team/ksmbd-tools
8 PKG_SOURCE_VERSION:=3.5.1
9 PKG_MIRROR_HASH:=6e8e56ecdfa0ddfdb3a351b27ae5b9148d4f6695bcee9a7eae39c2a42481ef18
10
11 PKG_LICENSE:=GPL-2.0-or-later
12 PKG_LICENSE_FILES:=COPYING
13
14 PKG_BUILD_DEPENDS:=glib2
15 PKG_BUILD_FLAGS:=gc-sections
16
17 include $(INCLUDE_DIR)/package.mk
18 include $(INCLUDE_DIR)/nls.mk
19 include $(INCLUDE_DIR)/meson.mk
20
21 define Package/ksmbd-tools/Default
22 SECTION:=net
23 CATEGORY:=Network
24 SUBMENU:=Filesystem
25 TITLE:=Kernel SMB
26 URL:=https://github.com/cifsd-team/ksmbd-tools
27 DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
28 endef
29
30 define Package/ksmbd-tools/Default/description
31 Userspace tools to manage the SMB kernel fileserver (ksmbd.ko).
32 The config file location is /etc/ksmbd/ksmbd.conf
33 endef
34
35 define Package/ksmbd-server
36 $(call Package/ksmbd-tools/Default)
37 TITLE+= server
38 DEPENDS+= +kmod-fs-ksmbd +libnl-core +libnl-genl
39 endef
40
41 define Package/ksmbd-server/description
42 installs: ksmbd.mountd
43
44 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.
45 endef
46
47 define Package/ksmbd-server/config
48 select PACKAGE_wsdd2
49 endef
50
51 define Package/ksmbd-avahi-service
52 $(call Package/ksmbd-tools/Default)
53 TITLE+= (Avahi service)
54 DEPENDS:= +avahi-daemon
55 endef
56
57 define Package/ksmbd-avahi-service/description
58 installs: smb.service
59
60 This package contains the service definition for announcing the
61 Ksmbd (smb/445) Daemon service via mDNS/DNS-SD.
62 endef
63
64 define Package/ksmbd-hotplug
65 $(call Package/ksmbd-tools/Default)
66 TITLE+= hotplug script for auto sharing
67 DEPENDS:=+blockd
68 endef
69
70 MESON_ARGS += \
71 -Db_lto=true \
72 -Dkrb5=disabled
73
74 TARGET_LDFLAGS += -Wl,--as-needed
75
76 define Package/ksmbd-server/install
77 $(INSTALL_DIR) $(1)/usr/libexec
78 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/ksmbd.tools $(1)/usr/libexec/
79 $(INSTALL_DIR) $(1)/usr/sbin
80 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.addshare $(1)/usr/sbin/
81 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.adduser $(1)/usr/sbin/
82 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.control $(1)/usr/sbin/
83 $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.mountd $(1)/usr/sbin/
84 $(INSTALL_DIR) $(1)/etc/config $(1)/etc/ksmbd $(1)/etc/init.d
85 $(INSTALL_CONF) ./files/ksmbd.config $(1)/etc/config/ksmbd
86 $(INSTALL_DATA) ./files/ksmbd.conf.template $(1)/etc/ksmbd/
87 $(INSTALL_BIN) ./files/ksmbd.init $(1)/etc/init.d/ksmbd
88 # copy examples until we have a wiki page
89 $(INSTALL_DATA) ./files/ksmbd.config.example $(1)/etc/ksmbd/
90 endef
91
92 define Package/ksmbd-avahi-service/install
93 $(INSTALL_DIR) $(1)/etc/avahi/services
94 $(INSTALL_DATA) ./files/smb.service $(1)/etc/avahi/services/
95 endef
96
97 define Package/ksmbd-hotplug/install
98 $(INSTALL_DIR) $(1)/etc/hotplug.d/mount
99 $(INSTALL_CONF) ./files/ksmbd.hotplug $(1)/etc/hotplug.d/mount/60-ksmbd
100 endef
101
102 define Package/ksmbd-server/conffiles
103 /etc/config/ksmbd
104 /etc/ksmbd/ksmbd.conf.template
105 /etc/ksmbd/ksmbd.conf
106 /etc/ksmbd/ksmbdpwd.db
107 endef
108
109 define Package/ksmbd-avahi-service/conffiles
110 /etc/avahi/services/smb.service
111 endef
112
113 $(eval $(call BuildPackage,ksmbd-server))
114 $(eval $(call BuildPackage,ksmbd-avahi-service))
115 $(eval $(call BuildPackage,ksmbd-hotplug))