nfs-utils.mk 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. ################################################################################
  2. #
  3. # nfs-utils
  4. #
  5. ################################################################################
  6. NFS_UTILS_VERSION = 2.8.2
  7. NFS_UTILS_SOURCE = nfs-utils-$(NFS_UTILS_VERSION).tar.xz
  8. NFS_UTILS_SITE = https://www.kernel.org/pub/linux/utils/nfs-utils/$(NFS_UTILS_VERSION)
  9. NFS_UTILS_LICENSE = GPL-2.0+
  10. NFS_UTILS_LICENSE_FILES = COPYING
  11. NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libevent libtirpc sqlite util-linux
  12. NFS_UTILS_CPE_ID_VENDOR = linux-nfs
  13. NFS_UTILS_CONF_ENV = knfsd_cv_bsd_signals=no
  14. NFS_UTILS_CONF_OPTS = \
  15. --enable-tirpc \
  16. --enable-ipv6 \
  17. --disable-junction \
  18. --disable-nfsdctl \
  19. --without-tcp-wrappers \
  20. --with-statedir=/run/nfs \
  21. --with-rpcgen=$(HOST_DIR)/bin/rpcgen
  22. HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc host-libevent host-sqlite host-util-linux
  23. HOST_NFS_UTILS_CONF_OPTS = \
  24. --enable-tirpc \
  25. --disable-nfsv4 \
  26. --disable-nfsv41 \
  27. --disable-gss \
  28. --disable-uuid \
  29. --disable-ipv6 \
  30. --disable-junction \
  31. --disable-nfsdctl \
  32. --without-tcp-wrappers \
  33. --with-statedir=/run/nfs \
  34. --disable-caps \
  35. --disable-nfsrahead \
  36. --without-systemd \
  37. --with-rpcgen=internal \
  38. --with-tirpcinclude=$(HOST_DIR)/include/tirpc
  39. NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug
  40. NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd
  41. NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad
  42. NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_NFSD) += usr/sbin/exportfs \
  43. usr/sbin/rpc.mountd usr/sbin/rpc.nfsd usr/lib/systemd/system/nfs-server.service \
  44. usr/sbin/fsidd usr/lib/systemd/system/fsidd.service
  45. ifeq ($(BR2_PACKAGE_NFS_UTILS_NFSV4),y)
  46. NFS_UTILS_CONF_OPTS += --enable-nfsv4 --enable-nfsv41
  47. NFS_UTILS_DEPENDENCIES += keyutils lvm2
  48. else
  49. NFS_UTILS_CONF_OPTS += --disable-nfsv4 --disable-nfsv41
  50. endif
  51. ifeq ($(BR2_PACKAGE_NFS_UTILS_GSS),y)
  52. NFS_UTILS_CONF_OPTS += \
  53. --enable-gss \
  54. --enable-svcgss \
  55. --with-krb5=$(STAGING_DIR)/usr
  56. NFS_UTILS_DEPENDENCIES += libkrb5
  57. else
  58. NFS_UTILS_CONF_OPTS += --disable-gss --disable-svcgss
  59. endif
  60. ifeq ($(BR2_PACKAGE_LIBCAP),y)
  61. NFS_UTILS_CONF_OPTS += --enable-caps
  62. NFS_UTILS_DEPENDENCIES += libcap
  63. else
  64. NFS_UTILS_CONF_OPTS += --disable-caps
  65. endif
  66. define NFS_UTILS_INSTALL_FIXUP
  67. cd $(TARGET_DIR) && rm -f $(NFS_UTILS_TARGETS_)
  68. touch $(TARGET_DIR)/etc/exports
  69. $(INSTALL) -D -m 644 \
  70. $(@D)/utils/mount/nfsmount.conf $(TARGET_DIR)/etc/nfsmount.conf
  71. endef
  72. NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP
  73. ifeq ($(BR2_INIT_SYSTEMD),y)
  74. NFS_UTILS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system
  75. NFS_UTILS_DEPENDENCIES += systemd host-systemd
  76. else
  77. NFS_UTILS_CONF_OPTS += --without-systemd
  78. endif
  79. ifeq ($(BR2_PACKAGE_NFS_UTILS_RPC_NFSD),y)
  80. define NFS_UTILS_LINUX_CONFIG_FIXUPS
  81. $(call KCONFIG_ENABLE_OPT,CONFIG_NFSD)
  82. endef
  83. define NFS_UTILS_INSTALL_INIT_SYSV
  84. $(INSTALL) -D -m 0755 package/nfs-utils/S60nfs \
  85. $(TARGET_DIR)/etc/init.d/S60nfs
  86. endef
  87. endif
  88. define NFS_UTILS_INSTALL_INIT_SYSTEMD
  89. $(INSTALL) -D -m 0755 package/nfs-utils/nfs-utils_env.sh \
  90. $(TARGET_DIR)/usr/libexec/nfs-utils/nfs-utils_env.sh
  91. $(INSTALL) -D -m 0644 package/nfs-utils/nfs-utils_tmpfiles.conf \
  92. $(TARGET_DIR)/usr/lib/tmpfiles.d/nfs-utils.conf
  93. endef
  94. define NFS_UTILS_REMOVE_NFSIOSTAT
  95. rm -f $(TARGET_DIR)/usr/sbin/nfsiostat
  96. endef
  97. # nfsiostat is interpreted python, so remove it unless it's in the target
  98. NFS_UTILS_POST_INSTALL_TARGET_HOOKS += $(if $(BR2_PACKAGE_PYTHON3),,NFS_UTILS_REMOVE_NFSIOSTAT)
  99. define HOST_NFS_UTILS_BUILD_CMDS
  100. $(MAKE) -C $(@D)/tools/rpcgen
  101. endef
  102. define HOST_NFS_UTILS_INSTALL_CMDS
  103. $(INSTALL) -D -m 0755 $(@D)/tools/rpcgen/rpcgen $(HOST_DIR)/bin/rpcgen
  104. endef
  105. $(eval $(autotools-package))
  106. $(eval $(host-autotools-package))