Explorar o código

rework nfs-utils package

Waldemar Brodkorb %!s(int64=11) %!d(string=hai) anos
pai
achega
17ee264179

+ 11 - 18
package/nfs-utils/Makefile

@@ -10,13 +10,10 @@ PKG_MD5SUM:=		3ac3726eda563946d1f44ac3e5b61d56
 PKG_DESCR:=		network filesystem utilities
 PKG_SECTION:=		net/fs
 PKG_DEPENDS:=		keyutils libtirpc rpcbind libdevmapper libpthread
-PKG_FDEPENDS:=		$(PKG_DEPENDS)
 PKG_BUILDDEP:=		keyutils libtirpc lvm
 PKG_URL:=		http://sourceforge.net/projects/nfs
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=nfs/}
 
-PKG_LIBC_DEPENDS:=	uclibc glibc
-
 PKG_SUBPKGS:=		NFS_UTILS NFS_UTILS_CLIENT NFS_UTILS_SERVER
 PKGSS_NFS_UTILS_CLIENT:=kmod-nfs-fs kmod-sunrpc
 PKGSD_NFS_UTILS_CLIENT:=client utilities
@@ -25,31 +22,26 @@ PKGSS_NFS_UTILS_SERVER:=kmod-nfsd kmod-sunrpc
 PKGSD_NFS_UTILS_SERVER:=server daemons and utilities
 PKGSN_NFS_UTILS_SERVER:=nfs-utils
 
-PKG_FLAVOURS_NFS_UTILS:=WITH_KERBEROS
-PKGFD_WITH_KERBEROS:=	enable Kerberos support (MIT)
-PKGFS_WITH_KERBEROS:=	libkrb5 libevent libnfsidmap librpcsecgss libcom-err libgssglue kmod-rpcsec-gss-krb5 kmod-sunrpc-gss
-PKGFB_WITH_KERBEROS:=	libnfsidmap krb5 libevent libgssglue librpcsecgss
+PKG_CHOICES_NFS_UTILS:=	V3 V4
+PKGCD_V3:=		NFS version 3
+PKGCD_V4:=		NFS version 4
+PKGCB_V4:=		libevent libnfsidmap krb5 libgssglue librpcsecgss
+PKGCS_V4:=		libkrb5 libevent libnfsidmap librpcsecgss libcom-err libgssglue kmod-rpcsec-gss-krb5 kmod-sunrpc-gss
 
 DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.bz2
 
-ifeq ($(ADK_PACKAGE_NFS_UTILS_WITH_KERBEROS),y)
-PKG_FDEPENDS+=		$(PKGFS_WITH_KERBEROS)
-endif
-
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,NFS_UTILS,nfs-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_FDEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,NFS_UTILS_CLIENT,nfs-utils-client,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_NFS_UTILS_CLIENT},${PKGSD_NFS_UTILS_CLIENT},${PKG_SECTION}))
 $(eval $(call PKG_template,NFS_UTILS_SERVER,nfs-utils-server,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_NFS_UTILS_SERVER},${PKGSD_NFS_UTILS_SERVER},${PKG_SECTION}))
 
-KRB5INC:=		${STAGING_TARGET_DIR}/usr
-TIRPCINC:=		${STAGING_TARGET_DIR}/usr/include/tirpc
-
-ifeq ($(ADK_PACKAGE_NFS_UTILS_WITH_KERBEROS),y)
+ifeq ($(ADK_PACKAGE_NFS_UTILS_SERVER_V4),y)
 CONFIGURE_ARGS+=	--enable-nfsv4 \
-			--with-krb5=$(KRB5INC) \
+			--disable-nfsv41 \
+			--with-krb5=${STAGING_TARGET_DIR}/usr \
 			--enable-gss
-CONFIGURE_ENV+=		LIBS="-lrpcsecgss"
+#CONFIGURE_ENV+=		LIBS="-lrpcsecgss"
 else
 CONFIGURE_ARGS+=	--disable-nfsv4 \
 			--disable-nfsv41 \
@@ -61,8 +53,9 @@ CONFIGURE_ENV+=		knfsd_cv_bsd_signals=no \
 CONFIGURE_ARGS+=	--without-tcp-wrappers \
 			--disable-nfsdcltrack \
 			--with-rpcgen=internal \
+			--disable-caps \
 			--enable-tirpc \
-			--with-tirpcinclude=${TIRPCINC} \
+			--with-tirpcinclude=${STAGING_TARGET_DIR}/usr/include/tirpc \
 			--disable-uuid
 
 nfs-utils-client-install:

+ 0 - 1
package/nfs-utils/files/nfs-utils.postinst

@@ -1,6 +1,5 @@
 #!/bin/sh
 . $IPKG_INSTROOT/etc/functions.sh
-add_rcconf nfs NO
 add_service nfs 2049/tcp
 add_service nfs 2049/udp
 gid=$(get_next_gid)

+ 2 - 1
package/nfs-utils/files/nfs.init

@@ -1,6 +1,7 @@
 #!/bin/sh
 #PKG nfs-utils-client
 #INIT 60
+. /etc/rc.conf
 
 case $1 in
 autostop) ;;
@@ -18,7 +19,7 @@ start)
 			mount -a -t nfs
 		fi
 	else
-		logger -t nfs -s "No nfs support in kernel"
+		logger -s "No nfs support in kernel"
 	fi
 	;;
 stop)

+ 2 - 1
package/nfs-utils/files/nfsd.init

@@ -18,8 +18,9 @@ start)
 	touch /var/lib/nfs/xtab
 	touch /var/lib/nfs/sm
 	chown nfs:nfs /var/lib/nfs/sm
-	/usr/sbin/nfsd
+	/usr/sbin/nfsd 4
 	/usr/sbin/mountd
+	exportfs -a
 	if [ ${nfs_server_version} -eq 4 ];then
 		mkdir -p /var/lib/nfs/rpc_pipefs
 		mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs

+ 4 - 5
target/linux/config/Config.in.fsnet

@@ -51,8 +51,8 @@ config ADK_KPACKAGE_KMOD_CODA_FS
 
 config ADK_KERNEL_NFS_V4
 	boolean
-	depends on !ADK_TARGET_ROOTFS_NFSROOT
 	select ADK_KERNEL_NETWORK_FILESYSTEMS
+	default y if ADK_PACKAGE_NFS_UTILS_V4
 	default n
 
 config ADK_KERNEL_RPCSEC_GSS_KRB5
@@ -60,11 +60,10 @@ config ADK_KERNEL_RPCSEC_GSS_KRB5
 	default n
 
 config ADK_KPACKAGE_KMOD_NFS_FS
-	prompt "NFS client support (includes V3 support)"
+	prompt "NFS client support"
 	tristate
 	default n
 	select ADK_KERNEL_NFS_V3
-	select ADK_KERNEL_NFS_V4
 	select ADK_KERNEL_FILE_LOCKING
 	select ADK_KERNEL_DNOTIFY
 	select ADK_KPACKAGE_KMOD_SUNRPC
@@ -111,6 +110,8 @@ config ADK_KERNEL_NFSD_V3
 
 config ADK_KERNEL_NFSD_V4
 	boolean
+	select ADK_KPACKAGE_KMOD_SUNRPC_GSS
+	default y if ADK_PACKAGE_NFS_UTILS_V4
 	default n
 
 config ADK_KPACKAGE_KMOD_NFSD
@@ -119,11 +120,9 @@ config ADK_KPACKAGE_KMOD_NFSD
 	default n
 	select ADK_KERNEL_EXPORTFS
 	select ADK_KERNEL_NFSD_V3
-	select ADK_KERNEL_NFSD_V4
 	select ADK_KERNEL_DNOTIFY
 	select ADK_KERNEL_FILE_LOCKING
 	select ADK_KPACKAGE_KMOD_SUNRPC
-	select ADK_KPACKAGE_KMOD_SUNRPC_GSS
 	select ADK_KPACKAGE_KMOD_LOCKD
 	select ADK_KERNEL_NETWORK_FILESYSTEMS
 	depends on !ADK_TARGET_ROOTFS_NFSROOT