# # Copyright (C) 2009-2015 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:=krb5 PKG_VERSION:=1.18.3 PKG_RELEASE:=1 PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=MIT PKG_LICENSE_FILES:=NOTICE PKG_CPE_ID:=cpe:/a:mit:kerberos PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://web.mit.edu/kerberos/dist/krb5/1.18 PKG_HASH:=e61783c292b5efd9afb45c555a80dd267ac67eebabca42185362bee6c4fbd719 PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 PKG_USE_MIPS16:=0 include $(INCLUDE_DIR)/package.mk MAKE_PATH:=src define Package/krb5/Default SECTION:=net CATEGORY:=Network TITLE:=Kerberos URL:=https://web.mit.edu/kerberos/ endef define Package/krb5-libs SECTION:=net CATEGORY:=Network TITLE:=Kerberos DEPENDS:=+libncurses +libss +libcomerr TITLE:=Kerberos 5 Shared Libraries URL:=http://web.mit.edu/kerberos/ endef define Package/krb5-server $(call Package/krb5/Default) DEPENDS:=+krb5-libs +libpthread TITLE:=Kerberos 5 Server endef define Package/krb5-server-extras $(call Package/krb5/Default) DEPENDS:=+krb5-libs +libpthread TITLE:=Kerberos 5 Admin Server endef define Package/krb5-client $(call Package/krb5/Default) DEPENDS:=+krb5-libs TITLE:=Kerberos 5 Client endef define Package/krb5/description Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography. endef CONFIGURE_PATH = ./src CONFIGURE_VARS += \ cross_compiling=yes \ krb5_cv_attr_constructor_destructor=yes,yes \ krb5_cv_sys_rcdir=/tmp \ ac_cv_func_regcomp=yes \ ac_cv_printf_positional=yes \ ac_cv_file__etc_environment=no \ ac_cv_file__etc_TIMEZONE=no \ ac_cv_header_keyutils_h=no CONFIGURE_ARGS += \ --localstatedir=/etc \ --with-system-ss \ --with-system-et \ --without-system-verto \ --without-tcl \ --without-tls-impl \ --without-libedit \ --without-readline \ --disable-rpath \ --disable-pkinit \ --with-size-optimizations \ --with-crypto-impl=builtin define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include $(1)/usr $(INSTALL_DIR) $(1)/usr $(CP) $(PKG_INSTALL_DIR)/usr/lib $(1)/usr # needed for samba4, to detect system-krb5 $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/krb5-config $(1)/usr/bin endef define Package/krb5-libs/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_DIR) $(1)/usr/lib/krb5 $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/kdb $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/libkrb5 $(CP) $(PKG_INSTALL_DIR)/usr/lib/krb5/plugins/kdb/db2.so $(1)/usr/lib/krb5/plugins/kdb $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib endef define Package/krb5-client/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdestroy $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kinit $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/klist $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kpasswd $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ksu $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kvno $(1)/usr/bin $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5-send-pr $(1)/usr/sbin endef # Removed some server-side software to reduce package size. This should be # put in a separate package if needed. define Package/krb5-server/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/krb5kdc $(1)/etc/init.d/krb5kdc $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmin.local $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdb5_util $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5kdc $(1)/usr/sbin endef define Package/krb5-server-extras/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmind $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kprop $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kpropd $(1)/usr/sbin endef define Package/krb5-server/postinst mkdir -p $${IPKG_INSTROOT}/etc/krb5kdc touch $${IPKG_INSTROOT}/etc/krb5kdc/kadm5.acl endef $(eval $(call BuildPackage,krb5-libs)) $(eval $(call BuildPackage,krb5-server)) $(eval $(call BuildPackage,krb5-server-extras)) $(eval $(call BuildPackage,krb5-client))