-# $Id: Makefile 4033 2006-06-21 02:32:39Z nbd $
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
include $(TOPDIR)/rules.mk
PKG_NAME:=nfs-kernel-server
-PKG_VERSION:=1.0.7
+PKG_VERSION:=1.2.9
PKG_RELEASE:=1
-PKG_MD5SUM:=8f863120261cd572ad320a9152581e11
+PKG_MD5SUM:=18869d16db3f49c053f8c68eba3fe2e0
PKG_SOURCE_URL:=@SF/nfs
-PKG_SOURCE:=nfs-utils-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
+PKG_SOURCE:=nfs-utils-$(PKG_VERSION).tar.bz2
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/nfs-utils-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/nfs-utils-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=$(PKG_NAME)/host
+include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
+define Package/nfs-kernel-server/Default
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Filesystem
+ DEPENDS:=+libwrap +libblkid +libuuid $(LIBRPC_DEPENDS)
+ URL:=http://nfs.sourceforge.net/
+endef
+
define Package/nfs-kernel-server
-SECTION:=net
-CATEGORY:=Network
-TITLE:=Kernel NFS server support
-DESCRIPTION:=Kernel NFS server support
-URL:=http://nfs.sourceforge.net/
+ $(call Package/nfs-kernel-server/Default)
+ TITLE:=Kernel NFS server support
+ DEPENDS+= +kmod-fs-nfsd +kmod-fs-nfs +portmap
+endef
+
+define Package/nfs-kernel-server/description
+ Kernel NFS server support
endef
define Package/nfs-kernel-server-utils
-SECTION:=net
-CATEGORY:=Network
-TITLE:=NFS server utils
-DESCRIPTION:=NFS server utils
-URL:=http://nfs.sourceforge.net
-DEPENDS:=nfs-kernel-server
-DEFAULT:=y
+ $(call Package/nfs-kernel-server/Default)
+ TITLE:=NFS server utils
+ DEPENDS:=nfs-kernel-server
+endef
+
+define Package/nfs-kernel-server-utils/description
+ NFS server utils
endef
-
define Package/nfs-kernel-server/conffiles
/etc/exports
endef
-define Build/Configure
-$(call Build/Configure/Default,--enable-static --enable-shared --disable-nfsv4 \
---disable-gss,ac_cv_func_malloc_0_nonnull=yes \
-ac_cv_func_memcmp_working=yes \
-ac_cv_func_setvbuf_reversed=no)
+define Package/nfs-utils
+ $(call Package/nfs-kernel-server/Default)
+ SECTION:=utils
+ CATEGORY:=Utilities
+ DEPENDS+= +libevent +USE_UCLIBC:librpc
+ TITLE:=updated mount utility (includes nfs4)
endef
-define Build/Compile
- rm -rf $(PKG_INSTALL_DIR)
- mkdir -p $(PKG_INSTALL_DIR)
- $(MAKE) -C $(PKG_BUILD_DIR)
+define Package/nfs-utils/description
+ Updated mount.nfs command - allows mounting nfs4 volumes
+endef
+
+TARGET_CFLAGS += -I$(PKG_BUILD_DIR)/lib -I$(STAGING_DIR)/usr/include/libevent \
+ -I$(STAGING_DIR)/usr/include/ -Drpc_uint=uint
+TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib $(LIBRPC) \
+ -L$(STAGING_DIR)/usr/lib/libevent
+
+CONFIGURE_ARGS += \
+ --disable-gss \
+ --disable-nfsv4 \
+ --disable-nfsv41 \
+ --enable-static \
+ --enable-shared \
+ --disable-caps \
+ --disable-tirpc \
+ --disable-nfsdcld
+
+CONFIGURE_VARS += \
+ CONFIG_SQLITE3_TRUE="\#" \
+ CONFIG_NFSDCLD_TRUE="\#"
+
+MAKE_FLAGS += \
+ OPT="$(TARGET_CFLAGS)" \
+ INSTALLSUID="install -m 4755" \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ RPCGEN_PATH=$(STAGING_DIR_HOST)/bin/rpcgen \
+ RPCGEN=$(STAGING_DIR_HOST)/bin/rpcgen
+
+HOST_CFLAGS += -Dlinux
+
+HOST_CONFIGURE_ARGS += \
+ --disable-gss \
+ --disable-nfsv4 \
+ --disable-nfsv41 \
+ --without-tcp-wrappers
+
+HOST_CONFIGURE_VARS += \
+ ac_cv_lib_event_event_dispatch=yes \
+ ac_cv_lib_nfsidmap_nfs4_init_name_mapping=yes \
+ ac_cv_lib_blkid_blkid_get_library_version=yes \
+ ac_cv_header_event_h=yes \
+ ac_cv_header_nfsidmap_h=yes \
+ ac_cv_header_blkid_blkid_h=yes \
+ GSSGLUE_CFLAGS=" " \
+ GSSGLUE_LIBS=" " \
+ RPCSECGSS_CFLAGS=" " \
+ RPCSECGSS_LIBS=" " \
+ CONFIG_SQLITE3_TRUE="\#" \
+ CONFIG_NFSDCLD_TRUE="\#"
+
+define Host/Compile
+ $(MAKE) -C $(HOST_BUILD_DIR)/tools/rpcgen all
+endef
+
+define Host/Install
+ $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/rpcgen/rpcgen $(STAGING_DIR_HOST)/bin/rpcgen
endef
define Package/nfs-kernel-server/install
- install -d -m755 $(1)/etc/init.d $(1)/usr/sbin
- install -m0644 ./files/nfsd.exports $(1)/etc/exports
- install -m0755 ./files/nfsd.init $(1)/etc/init.d/nfsd
- install -m0755 $(PKG_BUILD_DIR)/utils/lockd/lockd $(1)/usr/sbin/rpc.lockd
- install -m0755 $(PKG_BUILD_DIR)/utils/statd/statd $(1)/usr/sbin/rpc.statd
- install -m0755 $(PKG_BUILD_DIR)/utils/nfsd/nfsd $(1)/usr/sbin/rpc.nfsd
- install -m0755 $(PKG_BUILD_DIR)/utils/mountd/mountd $(1)/usr/sbin/rpc.mountd
- install -m0755 $(PKG_BUILD_DIR)/utils/exportfs/exportfs $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/etc/init.d $(1)/usr/sbin
+ $(INSTALL_DATA) ./files/nfsd.exports $(1)/etc/exports
+ $(INSTALL_BIN) ./files/nfsd.init $(1)/etc/init.d/nfsd
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/sm-notify $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/statd/statd $(1)/usr/sbin/rpc.statd
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/nfsd/nfsd $(1)/usr/sbin/rpc.nfsd
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/mountd/mountd $(1)/usr/sbin/rpc.mountd
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/exportfs/exportfs $(1)/usr/sbin/
endef
define Package/nfs-kernel-server-utils/install
- install -d -m0755 $(1)/usr/sbin
- install -m0755 $(PKG_BUILD_DIR)/utils/showmount/showmount $(1)/usr/sbin
- install -m0755 $(PKG_BUILD_DIR)/utils/nfsstat/nfsstat $(1)/usr/sbin
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/showmount/showmount $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/utils/nfsstat/nfsstat $(1)/usr/sbin
+endef
+
+define Package/nfs-utils/install
+ $(INSTALL_DIR) $(1)/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mount.nfs $(1)/sbin/
+ (cd $(1)/sbin; ln -sf mount.nfs mount.nfs4; ln -sf mount.nfs umount.nfs; ln -sf mount.nfs umount.nfs4)
endef
+$(eval $(call HostBuild))
$(eval $(call BuildPackage,nfs-kernel-server))
$(eval $(call BuildPackage,nfs-kernel-server-utils))
+$(eval $(call BuildPackage,nfs-utils))