libkrb5: new package
authorAndré Hentschel <nerv@dawncrow.de>
Wed, 7 Mar 2018 20:15:57 +0000 (21:15 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 31 Mar 2018 14:13:39 +0000 (16:13 +0200)
Signed-off-by: André Hentschel <nerv@dawncrow.de>
[Thomas:
 - remove LIBKRB5_VERSION_MAJOR
 - minor tweaks to commit title and Config.in help text]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/libkrb5/Config.in [new file with mode: 0644]
package/libkrb5/libkrb5.hash [new file with mode: 0644]
package/libkrb5/libkrb5.mk [new file with mode: 0644]

index 10e6220694c6e452c1f9281313cc438114feb6d1..ac7a47fc7ae23d62a17da45ab0ce1e351b751461 100644 (file)
@@ -117,6 +117,7 @@ F:  package/ktap/
 
 N:     André Hentschel <nerv@dawncrow.de>
 F:     package/azure-iot-sdk-c/
+F:     package/libkrb5/
 F:     package/openal/
 F:     package/p7zip/
 F:     package/wine/
index 2f9210a04e22e12c7580459b387bf33202e1933d..3bff349905d6e4e0956438edf4f528e8db217a43 100644 (file)
@@ -1395,6 +1395,7 @@ menu "Networking"
        source "package/libhttpparser/Config.in"
        source "package/libidn/Config.in"
        source "package/libiscsi/Config.in"
+       source "package/libkrb5/Config.in"
        source "package/libldns/Config.in"
        source "package/libmaxminddb/Config.in"
        source "package/libmbus/Config.in"
diff --git a/package/libkrb5/Config.in b/package/libkrb5/Config.in
new file mode 100644 (file)
index 0000000..9147c90
--- /dev/null
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_LIBKRB5
+       bool "libkrb5"
+       # needs fork()
+       depends on BR2_USE_MMU
+       help
+         Kerberos is a system for authenticating users and services
+         on a network. Kerberos is a trusted third-party service.
+         That means that there is a third party (the Kerberos server)
+         that is trusted by all the entities on the network (users
+         and services, usually called "principals"). This is the MIT
+         reference implementation of Kerberos V5.
+
+         https://web.mit.edu/kerberos/
diff --git a/package/libkrb5/libkrb5.hash b/package/libkrb5/libkrb5.hash
new file mode 100644 (file)
index 0000000..59552d7
--- /dev/null
@@ -0,0 +1,2 @@
+# Locally calculated after checking pgp signature
+sha256 faeb125f83b0fb4cdb2f99f088140631bb47d975982de0956d18c85842969e08        krb5-1.16.tar.gz
diff --git a/package/libkrb5/libkrb5.mk b/package/libkrb5/libkrb5.mk
new file mode 100644 (file)
index 0000000..88cfc61
--- /dev/null
@@ -0,0 +1,55 @@
+################################################################################
+#
+# libkrb5
+#
+################################################################################
+
+LIBKRB5_VERSION = 1.16
+LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION)
+LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz
+LIBKRB5_SUBDIR = src
+LIBKRB5_LICENSE = MIT
+LIBKRB5_LICENSE_FILES = NOTICE
+LIBKRB5_INSTALL_STAGING = YES
+
+# The configure script uses AC_TRY_RUN tests to check for those values,
+# which doesn't work in a cross-compilation scenario. Therefore,
+# we feed the configure script with the correct answer for those tests
+LIBKRB5_CONF_ENV = \
+       ac_cv_printf_positional=yes \
+       ac_cv_func_regcomp=yes \
+       krb5_cv_attr_constructor_destructor=yes,yes
+
+# Never use the host packages
+LIBKRB5_CONF_OPTS = \
+       --without-system-db \
+       --without-system-et \
+       --without-system-ss \
+       --without-system-verto
+
+ifeq ($(BR2_PACKAGE_OPENLDAP),y)
+LIBKRB5_CONF_OPTS += --with-ldap
+LIBKRB5_DEPENDENCIES += openldap
+else
+LIBKRB5_CONF_OPTS += --without-ldap
+endif
+
+ifeq ($(BR2_PACKAGE_LIBEDIT),y)
+LIBKRB5_CONF_OPTS += --with-libedit
+LIBKRB5_DEPENDENCIES += libedit
+else
+LIBKRB5_CONF_OPTS += --without-libedit
+endif
+
+ifeq ($(BR2_PACKAGE_READLINE),y)
+LIBKRB5_CONF_OPTS += --with-readline
+LIBKRB5_DEPENDENCIES += readline
+else
+LIBKRB5_CONF_OPTS += --without-readline
+endif
+
+ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
+LIBKRB5_CONF_OPTS += --disable-thread-support
+endif
+
+$(eval $(autotools-package))