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