6ad405aac7d51b4d97953d920f5641cb8894584f
[feed/packages.git] / net / nfs-kernel-server / Makefile
1 # Copyright (C) 2009-2019 OpenWrt.org
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=nfs-kernel-server
10 PKG_VERSION:=2.3.3
11 PKG_RELEASE:=7
12 PKG_HASH:=3c8c63611c7e78b7a3b2f8a28b9928a5b5e66d5e9ad09a1e54681508884320a4
13
14 PKG_SOURCE_URL:=@SF/nfs
15 PKG_SOURCE:=nfs-utils-$(PKG_VERSION).tar.xz
16
17 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/nfs-utils-$(PKG_VERSION)
18 PKG_BUILD_DIR:=$(BUILD_DIR)/nfs-utils-$(PKG_VERSION)
19 PKG_INSTALL:=1
20 PKG_BUILD_PARALLEL:=1
21 PKG_BUILD_DEPENDS:=$(PKG_NAME)/host libevent2
22 HOST_BUILD_DEPENDS:=libtirpc/host
23
24 PKG_CONFIG_DEPENDS:= \
25 CONFIG_IPV6 \
26 CONFIG_NFS_KERNEL_SERVER_V4
27
28 include $(INCLUDE_DIR)/host-build.mk
29 include $(INCLUDE_DIR)/package.mk
30
31 define Package/nfs-kernel-server/Default
32 SECTION:=net
33 CATEGORY:=Network
34 SUBMENU:=Filesystem
35 DEPENDS:=+libwrap +libblkid +libuuid +libtirpc
36 URL:=http://nfs.sourceforge.net/
37 MAINTAINER:=Peter Wagner <tripolar@gmx.at>
38 endef
39
40 define Package/nfs-kernel-server
41 $(call Package/nfs-kernel-server/Default)
42 TITLE:=Kernel NFS server support
43 DEPENDS+= +kmod-fs-nfsd +kmod-fs-nfs +NFS_KERNEL_SERVER_V4:kmod-fs-nfs-v4 +rpcbind +NFS_KERNEL_SERVER_V4:nfs-utils-libs +NFS_KERNEL_SERVER_V4:libkeyutils +NFS_KERNEL_SERVER_V4:libdevmapper
44 USERID:=nfs:nfs
45 endef
46
47 define Package/nfs-kernel-server/description
48 Kernel NFS server support
49 endef
50
51 define Package/nfs-kernel-server/config
52 source "$(SOURCE)/Config.in"
53 endef
54
55 define Package/nfs-kernel-server-utils
56 $(call Package/nfs-kernel-server/Default)
57 TITLE:=NFS server utils
58 DEPENDS:=nfs-kernel-server
59 endef
60
61 define Package/nfs-kernel-server-utils/description
62 NFS server utils
63 endef
64
65 define Package/nfs-kernel-server/conffiles
66 /etc/exports
67 endef
68
69 define Package/nfs-utils/Default
70 $(call Package/nfs-kernel-server/Default)
71 SECTION:=utils
72 CATEGORY:=Utilities
73 DEPENDS+= +NFS_KERNEL_SERVER_V4:libkeyutils +NFS_KERNEL_SERVER_V4:libdevmapper
74 URL:=http://nfs.sourceforge.net/
75 MAINTAINER:=Peter Wagner <tripolar@gmx.at>
76 endef
77
78 define Package/nfs-utils
79 $(call Package/nfs-utils/Default)
80 TITLE:=updated mount utility (includes nfs4)
81 endef
82
83 define Package/nfs-utils/description
84 Updated mount.nfs command - allows mounting nfs4 volumes
85 endef
86
87 define Package/nfs-utils-libs
88 $(call Package/nfs-utils/Default)
89 TITLE:=libraries provided by nfs-utils
90 endef
91
92 define Package/nfs-utils-libs/description
93 Libraries provided by nfs-utils
94 endef
95
96 TARGET_CFLAGS += -Wno-error=implicit-function-declaration \
97 -Wno-error=strict-prototypes \
98 -Wno-error=incompatible-pointer-types \
99 -Wno-error=format-security \
100 -Wno-error=undef \
101 -Wno-error=missing-include-dirs
102
103 TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
104 -L$(STAGING_DIR)/usr/lib/libevent
105
106 CONFIGURE_ARGS += \
107 --disable-caps \
108 --disable-gss \
109 --disable-nfsdcld \
110 --disable-nfsdcltrack \
111 --enable-shared \
112 --enable-static \
113 $(if $(CONFIG_NFS_KERNEL_SERVER_V4),--enable,--disable)-nfsv4 \
114 $(if $(CONFIG_NFS_KERNEL_SERVER_V4),--enable,--disable)-nfsv41
115
116 ifeq ($(CONFIG_IPV6),n)
117 CONFIGURE_ARGS += --disable-ipv6
118 endif
119
120 CONFIGURE_VARS += \
121 libblkid_cv_is_recent=yes \
122 ac_cv_lib_resolv___res_querydomain=yes \
123 ac_cv_lib_bsd_daemon=no \
124 CONFIG_SQLITE3_TRUE="\#" \
125 CONFIG_NFSDCLD_TRUE="\#"
126
127 MAKE_FLAGS += \
128 OPT="$(TARGET_CFLAGS)" \
129 INSTALLSUID="install -m 4755" \
130 DESTDIR="$(PKG_INSTALL_DIR)" \
131 RPCGEN_PATH=$(STAGING_DIR_HOSTPKG)/bin/rpcgen \
132 RPCGEN=$(STAGING_DIR_HOSTPKG)/bin/rpcgen
133
134 HOST_CFLAGS += -Dlinux \
135 -Wno-error=missing-include-dirs
136
137 HOST_CONFIGURE_ARGS += \
138 --disable-gss \
139 --disable-nfsv4 \
140 --disable-nfsv41 \
141 --without-tcp-wrappers
142
143 HOST_CONFIGURE_VARS += \
144 ac_cv_lib_event_event_dispatch=yes \
145 ac_cv_lib_nfsidmap_nfs4_init_name_mapping=yes \
146 ac_cv_lib_blkid_blkid_get_library_version=yes \
147 ac_cv_header_event_h=yes \
148 ac_cv_header_nfsidmap_h=yes \
149 ac_cv_header_blkid_blkid_h=yes \
150 ac_cv_lib_resolv___res_querydomain=yes \
151 GSSGLUE_CFLAGS=" " \
152 GSSGLUE_LIBS=" " \
153 RPCSECGSS_CFLAGS=" " \
154 RPCSECGSS_LIBS=" " \
155 CONFIG_SQLITE3_TRUE="\#" \
156 CONFIG_NFSDCLD_TRUE="\#"
157
158 define Host/Compile
159 $(MAKE) -C $(HOST_BUILD_DIR)/tools/rpcgen all
160 endef
161
162 define Host/Install
163 $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin
164 $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/rpcgen/rpcgen $(STAGING_DIR_HOSTPKG)/bin/rpcgen
165 endef
166
167 define Package/nfs-kernel-server/install
168 $(INSTALL_DIR) $(1)/etc/init.d $(1)/usr/sbin
169 $(INSTALL_DATA) ./files/nfsd.exports $(1)/etc/exports
170 $(INSTALL_BIN) ./files/nfsd.init $(1)/etc/init.d/nfsd
171 $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/sm-notify $(1)/usr/sbin/
172 $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/statd $(1)/usr/sbin/rpc.statd
173 $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/nfsd/nfsd $(1)/usr/sbin/rpc.nfsd
174 $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/mountd/mountd $(1)/usr/sbin/rpc.mountd
175 $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/exportfs/exportfs $(1)/usr/sbin/
176 endef
177
178 define Package/nfs-kernel-server-utils/install
179 $(INSTALL_DIR) $(1)/usr/sbin
180 $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/showmount/showmount $(1)/usr/sbin
181 $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/nfsstat/nfsstat $(1)/usr/sbin
182 endef
183
184 define Package/nfs-utils/InstallDev
185 $(INSTALL_DIR) $(1)/usr/include
186 $(CP) $(PKG_INSTALL_DIR)/usr/include/nfsidmap.h $(1)/usr/include/
187 $(INSTALL_DIR) $(1)/usr/lib
188 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnfsidmap.{a,la,so*} $(1)/usr/lib/
189 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
190 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnfsidmap.pc $(1)/usr/lib/pkgconfig/
191 endef
192
193 define Package/nfs-utils/install
194 $(INSTALL_DIR) $(1)/sbin
195 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mount.nfs $(1)/sbin/
196 (cd $(1)/sbin; ln -sf mount.nfs mount.nfs4; ln -sf mount.nfs umount.nfs; ln -sf mount.nfs umount.nfs4)
197 endef
198
199 define Package/nfs-utils-libs/install
200 $(INSTALL_DIR) $(1)/usr/lib
201 $(if $(CONFIG_NFS_KERNEL_SERVER_V4),$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnfsidmap.so* $(1)/usr/lib/,)
202 endef
203
204 $(eval $(call HostBuild))
205 $(eval $(call BuildPackage,nfs-utils))
206 $(eval $(call BuildPackage,nfs-utils-libs))
207 $(eval $(call BuildPackage,nfs-kernel-server))
208 $(eval $(call BuildPackage,nfs-kernel-server-utils))