This adds a package for the krb5 Kerberos implementation. The tools and
admin libraries (which are not required for servers) are only installed
when requested.

Signed-off-by: Jan Luebbe <j...@pengutronix.de>
---
 rules/krb5.in   |  37 +++++++++++++++++
 rules/krb5.make | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 163 insertions(+)
 create mode 100644 rules/krb5.in
 create mode 100644 rules/krb5.make

diff --git a/rules/krb5.in b/rules/krb5.in
new file mode 100644
index 000000000000..c07edcbd0f35
--- /dev/null
+++ b/rules/krb5.in
@@ -0,0 +1,37 @@
+## SECTION=security
+
+menuconfig KRB5
+       tristate
+       select HOST_E2FSPROGS
+       select E2FSPROGS
+       select E2FSPROGS_LIBCOM_ERR
+       select E2FSPROGS_LIBSS
+       select OPENSSL
+       select LIBEDIT
+       prompt "Kerberos"
+       help
+         This is the MIT implementation of the Kerberos network authentication
+         protocol.
+
+if KRB5
+
+config KRB5_ADMIN_LIBS
+       bool
+       prompt "enable admin libraries (libkadm5clnt & libkadm5srv)"
+
+config KRB5_CLIENT_TOOLS
+       bool
+       prompt "enable client tools"
+
+config KRB5_ADMIN_TOOLS
+       bool
+       select KRB5_ADMIN_LIBS
+       prompt "enable admin tools (kinit & kadmin)"
+
+config KRB5_EXAMPLES
+       bool
+       prompt "enable example tools"
+       help
+         This installs gss-client, gss-server, sclient and sserver.
+
+endif
diff --git a/rules/krb5.make b/rules/krb5.make
new file mode 100644
index 000000000000..c9dabfb087bc
--- /dev/null
+++ b/rules/krb5.make
@@ -0,0 +1,126 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Jan Luebbe <j...@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_KRB5) += krb5
+
+#
+# Paths and names
+#
+KRB5_VERSION   := 1.15.2
+KRB5_MD5       := b160f72161c730897dc7689f876b6e2a
+KRB5           := krb5-$(KRB5_VERSION)
+KRB5_SUFFIX    := tar.gz
+KRB5_URL       := 
https://web.mit.edu/kerberos/dist/krb5/1.15/$(KRB5).$(KRB5_SUFFIX)
+KRB5_SOURCE    := $(SRCDIR)/$(KRB5).$(KRB5_SUFFIX)
+KRB5_DIR       := $(BUILDDIR)/$(KRB5)
+KRB5_LICENSE   := MIT
+
+KRB5_SUBDIR    := src
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+KRB5_PATH      := PATH=$(CROSS_PATH)
+KRB5_CONF_ENV  := \
+       $(CROSS_ENV) \
+       krb5_cv_attr_constructor_destructor=yes,yes \
+       ac_cv_func_regcomp=yes \
+       ac_cv_printf_positional=yes \
+       ac_cv_file__etc_environment=yes \
+       ac_cv_file__etc_TIMEZONE=no
+
+#
+# autoconf
+#
+KRB5_CONF_TOOL := autoconf
+KRB5_CONF_OPT  := \
+       $(CROSS_AUTOCONF_USR) \
+       --disable-dns-for-realm \
+       --enable-delayed-initialization \
+       --enable-thread-support \
+       --disable-rpath \
+       --disable-athena \
+       --disable-audit-plugin \
+       --enable-kdc-lookaside-cache \
+       --disable-asan \
+       --enable-pkinit \
+       --without-size-optimizations \
+       --with-system-et \
+       --with-system-ss \
+       --without-system-db \
+       --without-netlib \
+       --without-hesiod \
+       --without-ldap \
+       --without-tcl \
+       --without-vague-errors \
+       --with-crypto-impl=openssl \
+       --with-prng-alg=fortuna \
+       --with-pkinit-crypto-impl=openssl \
+       --with-tls-impl=openssl \
+       --with-libedit \
+       --without-readline \
+       --without-system-verto
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/krb5.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, krb5)
+       @$(call install_fixup, krb5,PRIORITY,optional)
+       @$(call install_fixup, krb5,SECTION,base)
+       @$(call install_fixup, krb5,AUTHOR,"Jan Luebbe <j...@pengutronix.de>")
+       @$(call install_fixup, krb5,DESCRIPTION,missing)
+
+       @$(call install_lib, krb5, 0, 0, 0644, libgssapi_krb5)
+       @$(call install_lib, krb5, 0, 0, 0644, libgssrpc)
+       @$(call install_lib, krb5, 0, 0, 0644, libk5crypto)
+       @$(call install_lib, krb5, 0, 0, 0644, libkdb5)
+       @$(call install_lib, krb5, 0, 0, 0644, libkrb5)
+       @$(call install_lib, krb5, 0, 0, 0644, libkrb5support)
+
+ifdef PTXCONF_KRB5_ADMIN_LIBS
+       @$(call install_lib, krb5, 0, 0, 0644, libkadm5clnt_mit)
+       @$(call install_lib, krb5, 0, 0, 0644, libkadm5srv_mit)
+endif
+
+ifdef PTXCONF_KRB5_CLIENT_TOOLS
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/kdestroy)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/klist)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/kpasswd)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/kswitch)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/ksu)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/ktutil)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/kvno)
+endif
+
+ifdef PTXCONF_KRB5_ADMIN_TOOLS
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/kadmin)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/kinit)
+endif
+
+ifdef PTXCONF_KRB5_EXAMPLES
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/gss-client)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/bin/sclient)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/sbin/gss-server)
+       @$(call install_copy, krb5, 0, 0, 0755, -, /usr/sbin/sserver)
+endif
+
+       @$(call install_finish, krb5)
+
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.11.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to