xref: /OK3568_Linux_fs/buildroot/package/nfs-utils/nfs-utils.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# nfs-utils
4#
5################################################################################
6
7NFS_UTILS_VERSION = 2.5.4
8NFS_UTILS_SOURCE = nfs-utils-$(NFS_UTILS_VERSION).tar.xz
9NFS_UTILS_SITE = https://www.kernel.org/pub/linux/utils/nfs-utils/$(NFS_UTILS_VERSION)
10NFS_UTILS_LICENSE = GPL-2.0+
11NFS_UTILS_LICENSE_FILES = COPYING
12NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libtirpc util-linux
13NFS_UTILS_CPE_ID_VENDOR = linux-nfs
14NFS_UTILS_AUTORECONF = YES
15
16NFS_UTILS_CONF_ENV = knfsd_cv_bsd_signals=no
17
18NFS_UTILS_CONF_OPTS = \
19	--enable-tirpc \
20	--enable-ipv6 \
21	--without-tcp-wrappers \
22	--with-statedir=/run/nfs \
23	--with-rpcgen=$(HOST_DIR)/bin/rpcgen
24
25HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc
26
27HOST_NFS_UTILS_CONF_OPTS = \
28	--enable-tirpc \
29	--disable-nfsv4 \
30	--disable-nfsv41 \
31	--disable-gss \
32	--disable-uuid \
33	--disable-ipv6 \
34	--without-tcp-wrappers \
35	--with-statedir=/run/nfs \
36	--disable-caps \
37	--without-systemd \
38	--with-rpcgen=internal \
39	--with-tirpcinclude=$(HOST_DIR)/include/tirpc
40
41NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug
42NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd
43NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad
44NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_NFSD) += usr/sbin/exportfs \
45	usr/sbin/rpc.mountd usr/sbin/rpc.nfsd usr/lib/systemd/system/nfs-server.service
46
47ifeq ($(BR2_PACKAGE_NFS_UTILS_NFSV4),y)
48NFS_UTILS_CONF_OPTS += --enable-nfsv4 --enable-nfsv41
49NFS_UTILS_DEPENDENCIES += keyutils libevent lvm2 sqlite
50else
51NFS_UTILS_CONF_OPTS += --disable-nfsv4 --disable-nfsv41
52endif
53
54ifeq ($(BR2_PACKAGE_NFS_UTILS_GSS),y)
55NFS_UTILS_CONF_OPTS += \
56	--enable-gss \
57	--enable-svcgss \
58	--with-krb5=$(STAGING_DIR)/usr
59NFS_UTILS_DEPENDENCIES += libkrb5
60else
61NFS_UTILS_CONF_OPTS += --disable-gss --disable-svcgss
62endif
63
64ifeq ($(BR2_PACKAGE_LIBCAP),y)
65NFS_UTILS_CONF_OPTS += --enable-caps
66NFS_UTILS_DEPENDENCIES += libcap
67else
68NFS_UTILS_CONF_OPTS += --disable-caps
69endif
70
71ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y)
72NFS_UTILS_CONF_OPTS += --enable-uuid
73else
74NFS_UTILS_CONF_OPTS += --disable-uuid
75endif
76
77define NFS_UTILS_INSTALL_FIXUP
78	cd $(TARGET_DIR) && rm -f $(NFS_UTILS_TARGETS_)
79	touch $(TARGET_DIR)/etc/exports
80	$(INSTALL) -D -m 644 \
81		$(@D)/utils/mount/nfsmount.conf $(TARGET_DIR)/etc/nfsmount.conf
82endef
83NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP
84
85ifeq ($(BR2_INIT_SYSTEMD),y)
86NFS_UTILS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system
87NFS_UTILS_DEPENDENCIES += systemd
88else
89NFS_UTILS_CONF_OPTS += --without-systemd
90endif
91
92ifeq ($(BR2_PACKAGE_NFS_UTILS_RPC_NFSD),y)
93define NFS_UTILS_LINUX_CONFIG_FIXUPS
94	$(call KCONFIG_ENABLE_OPT,CONFIG_NFSD)
95endef
96
97define NFS_UTILS_INSTALL_INIT_SYSV
98	$(INSTALL) -D -m 0755 package/nfs-utils/S60nfs \
99		$(TARGET_DIR)/etc/init.d/S60nfs
100endef
101
102endif
103
104define NFS_UTILS_INSTALL_INIT_SYSTEMD
105	$(INSTALL) -D -m 0755 package/nfs-utils/nfs-utils_env.sh \
106		$(TARGET_DIR)/usr/libexec/nfs-utils/nfs-utils_env.sh
107
108	$(INSTALL) -D -m 0644 package/nfs-utils/nfs-utils_tmpfiles.conf \
109		$(TARGET_DIR)/usr/lib/tmpfiles.d/nfs-utils.conf
110endef
111
112define NFS_UTILS_REMOVE_NFSIOSTAT
113	rm -f $(TARGET_DIR)/usr/sbin/nfsiostat
114endef
115
116# nfsiostat is interpreted python, so remove it unless it's in the target
117NFS_UTILS_POST_INSTALL_TARGET_HOOKS += $(if $(BR2_PACKAGE_PYTHON),,NFS_UTILS_REMOVE_NFSIOSTAT)
118
119define HOST_NFS_UTILS_BUILD_CMDS
120	$(MAKE) -C $(@D)/tools/rpcgen
121endef
122
123define HOST_NFS_UTILS_INSTALL_CMDS
124	$(INSTALL) -D -m 0755 $(@D)/tools/rpcgen/rpcgen $(HOST_DIR)/bin/rpcgen
125endef
126
127$(eval $(autotools-package))
128$(eval $(host-autotools-package))
129