127a3f692cfc143dcc9b8b03a63737495eb60cc3
[librecmc/librecmc.git] / package / network / services / nfs-kernel-server / Makefile
1 # Copyright (C) 2009-2016 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.1
11 PKG_RELEASE:=1
12 PKG_HASH:=245ec2f9abb51bcc233b64f6f3e9ac8e5cd16ffd35dba9450f83ce2803844cda
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
22
23 include $(INCLUDE_DIR)/host-build.mk
24 include $(INCLUDE_DIR)/package.mk
25
26 define Package/nfs-kernel-server/Default
27   SECTION:=net
28   CATEGORY:=Network
29   SUBMENU:=Filesystem
30   DEPENDS:=+libwrap +libblkid +libuuid $(LIBRPC_DEPENDS)
31   URL:=http://nfs.sourceforge.net/
32   MAINTAINER:=Peter Wagner <tripolar@gmx.at>
33 endef
34
35 define Package/nfs-kernel-server
36   $(call Package/nfs-kernel-server/Default)
37   TITLE:=Kernel NFS server support
38   DEPENDS+= +kmod-fs-nfsd +kmod-fs-nfs +portmap
39 endef
40
41 define Package/nfs-kernel-server/description
42   Kernel NFS server support
43 endef
44
45 define Package/nfs-kernel-server-utils
46   $(call Package/nfs-kernel-server/Default)
47   TITLE:=NFS server utils
48   DEPENDS:=nfs-kernel-server
49 endef
50
51 define Package/nfs-kernel-server-utils/description
52   NFS server utils
53 endef
54
55 define Package/nfs-kernel-server/conffiles
56 /etc/exports
57 endef
58
59 define Package/nfs-utils
60   $(call Package/nfs-kernel-server/Default)
61   SECTION:=utils
62   CATEGORY:=Utilities
63   DEPENDS+= +libevent2 +USE_UCLIBC:librpc
64   TITLE:=updated mount utility (includes nfs4)
65 endef
66
67 define Package/nfs-utils/description
68   Updated mount.nfs command - allows mounting nfs4 volumes
69 endef
70
71 TARGET_CFLAGS += -I$(PKG_BUILD_DIR)/lib -I$(STAGING_DIR)/usr/include/libevent \
72                  -I$(STAGING_DIR)/usr/include/ -Drpc_uint=uint
73 TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib $(LIBRPC) \
74                   -L$(STAGING_DIR)/usr/lib/libevent
75
76 CONFIGURE_ARGS += \
77         --disable-gss \
78         --disable-nfsv4 \
79         --disable-nfsv41 \
80         --disable-ipv6 \
81         --enable-static \
82         --enable-shared \
83         --disable-caps \
84         --disable-tirpc \
85         --disable-nfsdcld
86
87 CONFIGURE_VARS += \
88         libblkid_cv_is_recent=yes \
89         ac_cv_lib_resolv___res_querydomain=yes \
90         CONFIG_SQLITE3_TRUE="\#" \
91         CONFIG_NFSDCLD_TRUE="\#"
92
93 MAKE_FLAGS += \
94         OPT="$(TARGET_CFLAGS)" \
95         INSTALLSUID="install -m 4755" \
96         DESTDIR="$(PKG_INSTALL_DIR)" \
97         RPCGEN_PATH=$(STAGING_DIR_HOSTPKG)/bin/rpcgen \
98         RPCGEN=$(STAGING_DIR_HOSTPKG)/bin/rpcgen
99
100 HOST_CFLAGS += -Dlinux
101
102 HOST_CONFIGURE_ARGS += \
103         --disable-gss \
104         --disable-nfsv4 \
105         --disable-nfsv41 \
106         --disable-ipv6 \
107         --disable-tirpc \
108         --without-tcp-wrappers
109
110 HOST_CONFIGURE_VARS += \
111         ac_cv_lib_event_event_dispatch=yes \
112         ac_cv_lib_nfsidmap_nfs4_init_name_mapping=yes \
113         ac_cv_lib_blkid_blkid_get_library_version=yes \
114         ac_cv_header_event_h=yes \
115         ac_cv_header_nfsidmap_h=yes \
116         ac_cv_header_blkid_blkid_h=yes \
117         GSSGLUE_CFLAGS=" " \
118         GSSGLUE_LIBS=" " \
119         RPCSECGSS_CFLAGS=" " \
120         RPCSECGSS_LIBS=" " \
121         CONFIG_SQLITE3_TRUE="\#" \
122         CONFIG_NFSDCLD_TRUE="\#"
123
124 define Host/Compile
125         $(MAKE) -C $(HOST_BUILD_DIR)/tools/rpcgen all
126 endef
127
128 define Host/Install
129         $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin
130         $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/rpcgen/rpcgen $(STAGING_DIR_HOSTPKG)/bin/rpcgen
131 endef
132
133 define Package/nfs-kernel-server/install
134         $(INSTALL_DIR) $(1)/etc/init.d $(1)/usr/sbin
135         $(INSTALL_DATA) ./files/nfsd.exports $(1)/etc/exports
136         $(INSTALL_BIN) ./files/nfsd.init $(1)/etc/init.d/nfsd
137         $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/sm-notify $(1)/usr/sbin/
138         $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/statd $(1)/usr/sbin/rpc.statd
139         $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/nfsd/nfsd $(1)/usr/sbin/rpc.nfsd
140         $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/mountd/mountd $(1)/usr/sbin/rpc.mountd
141         $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/exportfs/exportfs $(1)/usr/sbin/
142 endef
143
144 define Package/nfs-kernel-server-utils/install
145         $(INSTALL_DIR) $(1)/usr/sbin
146         $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/showmount/showmount $(1)/usr/sbin
147         $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/nfsstat/nfsstat $(1)/usr/sbin
148 endef
149
150 define Package/nfs-utils/install
151         $(INSTALL_DIR) $(1)/sbin
152         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mount.nfs $(1)/sbin/
153         (cd $(1)/sbin; ln -sf mount.nfs mount.nfs4; ln -sf mount.nfs umount.nfs; ln -sf mount.nfs umount.nfs4)
154 endef
155
156 $(eval $(call HostBuild))
157 $(eval $(call BuildPackage,nfs-kernel-server))
158 $(eval $(call BuildPackage,nfs-kernel-server-utils))
159 $(eval $(call BuildPackage,nfs-utils))