You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

158 lines
4.5 KiB

  1. #
  2. # Copyright (C) 2009-2015 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=krb5
  9. PKG_VERSION:=1.18.3
  10. PKG_RELEASE:=2
  11. PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
  12. PKG_LICENSE:=MIT
  13. PKG_LICENSE_FILES:=NOTICE
  14. PKG_CPE_ID:=cpe:/a:mit:kerberos
  15. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  16. PKG_SOURCE_URL:=https://web.mit.edu/kerberos/dist/krb5/1.18
  17. PKG_HASH:=e61783c292b5efd9afb45c555a80dd267ac67eebabca42185362bee6c4fbd719
  18. PKG_BUILD_PARALLEL:=1
  19. PKG_INSTALL:=1
  20. PKG_USE_MIPS16:=0
  21. include $(INCLUDE_DIR)/package.mk
  22. MAKE_PATH:=src
  23. define Package/krb5/Default
  24. SECTION:=net
  25. CATEGORY:=Network
  26. TITLE:=Kerberos
  27. URL:=https://web.mit.edu/kerberos/
  28. endef
  29. define Package/krb5-libs
  30. SECTION:=net
  31. CATEGORY:=Network
  32. TITLE:=Kerberos
  33. DEPENDS:=+libncurses +libss +libcomerr
  34. TITLE:=Kerberos 5 Shared Libraries
  35. URL:=http://web.mit.edu/kerberos/
  36. endef
  37. define Package/krb5-server
  38. $(call Package/krb5/Default)
  39. DEPENDS:=+krb5-libs +libpthread
  40. TITLE:=Kerberos 5 Server
  41. endef
  42. define Package/krb5-server-extras
  43. $(call Package/krb5/Default)
  44. DEPENDS:=+krb5-libs +libpthread
  45. TITLE:=Kerberos 5 Admin Server
  46. endef
  47. define Package/krb5-client
  48. $(call Package/krb5/Default)
  49. DEPENDS:=+krb5-libs
  50. TITLE:=Kerberos 5 Client
  51. endef
  52. define Package/krb5/description
  53. Kerberos is a network authentication protocol.
  54. It is designed to provide strong authentication for client/server applications by using secret-key cryptography.
  55. endef
  56. CONFIGURE_PATH = ./src
  57. CONFIGURE_VARS += \
  58. cross_compiling=yes \
  59. krb5_cv_attr_constructor_destructor=yes,yes \
  60. krb5_cv_sys_rcdir=/tmp \
  61. ac_cv_func_regcomp=yes \
  62. ac_cv_printf_positional=yes \
  63. ac_cv_file__etc_environment=no \
  64. ac_cv_file__etc_TIMEZONE=no \
  65. ac_cv_header_keyutils_h=no
  66. CONFIGURE_ARGS += \
  67. --localstatedir=/etc \
  68. --with-system-ss \
  69. --with-system-et \
  70. --without-system-verto \
  71. --without-tcl \
  72. --without-tls-impl \
  73. --without-libedit \
  74. --without-readline \
  75. --disable-rpath \
  76. --disable-pkinit \
  77. --with-size-optimizations \
  78. --with-crypto-impl=builtin
  79. define Build/InstallDev
  80. $(INSTALL_DIR) $(1)/usr/include
  81. $(CP) $(PKG_INSTALL_DIR)/usr/include $(1)/usr
  82. $(INSTALL_DIR) $(1)/usr
  83. $(CP) $(PKG_INSTALL_DIR)/usr/lib $(1)/usr
  84. # needed for samba4, to detect system-krb5
  85. $(INSTALL_DIR) $(1)/usr/bin
  86. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/krb5-config $(1)/usr/bin
  87. $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/krb5-config
  88. $(INSTALL_DIR) $(2)/bin
  89. $(LN) ../../usr/bin/krb5-config $(2)/bin/krb5-config
  90. endef
  91. define Package/krb5-libs/install
  92. $(INSTALL_DIR) $(1)/usr/lib
  93. $(INSTALL_DIR) $(1)/usr/lib/krb5
  94. $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins
  95. $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/kdb
  96. $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/libkrb5
  97. $(CP) $(PKG_INSTALL_DIR)/usr/lib/krb5/plugins/kdb/db2.so $(1)/usr/lib/krb5/plugins/kdb
  98. $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
  99. endef
  100. define Package/krb5-client/install
  101. $(INSTALL_DIR) $(1)/usr/bin
  102. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdestroy $(1)/usr/bin
  103. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kinit $(1)/usr/bin
  104. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/klist $(1)/usr/bin
  105. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kpasswd $(1)/usr/bin
  106. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ksu $(1)/usr/bin
  107. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kvno $(1)/usr/bin
  108. $(INSTALL_DIR) $(1)/usr/sbin
  109. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5-send-pr $(1)/usr/sbin
  110. endef
  111. # Removed some server-side software to reduce package size. This should be
  112. # put in a separate package if needed.
  113. define Package/krb5-server/install
  114. $(INSTALL_DIR) $(1)/etc/init.d
  115. $(INSTALL_BIN) ./files/krb5kdc $(1)/etc/init.d/krb5kdc
  116. $(INSTALL_DIR) $(1)/usr/sbin
  117. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmin.local $(1)/usr/sbin
  118. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdb5_util $(1)/usr/sbin
  119. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5kdc $(1)/usr/sbin
  120. endef
  121. define Package/krb5-server-extras/install
  122. $(INSTALL_DIR) $(1)/usr/sbin
  123. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmind $(1)/usr/sbin
  124. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kprop $(1)/usr/sbin
  125. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kpropd $(1)/usr/sbin
  126. endef
  127. define Package/krb5-server/postinst
  128. mkdir -p $${IPKG_INSTROOT}/etc/krb5kdc
  129. touch $${IPKG_INSTROOT}/etc/krb5kdc/kadm5.acl
  130. endef
  131. $(eval $(call BuildPackage,krb5-libs))
  132. $(eval $(call BuildPackage,krb5-server))
  133. $(eval $(call BuildPackage,krb5-server-extras))
  134. $(eval $(call BuildPackage,krb5-client))