libkrb5: New package
PATCH v7 1/2 libkrb5: New package
Signed-off-by Andr? Hentschel <[email protected]>
--- DEVELOPERS | 1 + package/Config.in | 1 + package/libkrb5/Config.in | 13 +++++++++++++ package/libkrb5/libkrb5.hash | 2 ++ package/libkrb5/libkrb5.mk | 28 ++++++++++++++++++++++++++++ 5 files changed, 45 insertions(+) create mode 100644 package/libkrb5/Config.in create mode 100644 package/libkrb5/libkrb5.hash create mode 100644 package/libkrb5/libkrb5.mk
DEVELOPERS +1 -0
@@ -113,6 +113,7 @@ F: package/ktap/ N: Andr? Hentschel <[email protected]> F: package/azure-iot-sdk-c/ +F: package/libkrb5/ F: package/openal/ F: package/p7zip/ F: package/wine/
package/Config.in +1 -0
@@ -1380,6 +1380,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"
package/libkrb5/Config.in new file +13 -0
@@ -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/
package/libkrb5/libkrb5.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally calculated after checking pgp signature +sha256 faeb125f83b0fb4cdb2f99f088140631bb47d975982de0956d18c85842969e08 krb5-1.16.tar.gz
package/libkrb5/libkrb5.mk new file +28 -0
@@ -0,0 +1,28 @@ +################################################################################ +# +# libkrb5 +# +################################################################################ + +LIBKRB5_VERSION_MAJOR = 1.16 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR) +LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION_MAJOR) +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 + +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBKRB5_CONF_OPTS += --disable-thread-support +endif + +$(eval $(autotools-package))
Signature · 1 line
2.7.4
PATCH v7 2/2 squid: Add optional dependency on libkrb5
Signed-off-by Andr? Hentschel <[email protected]>
--- package/squid/squid.mk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
package/squid/squid.mk +7 -1
@@ -29,7 +29,6 @@ SQUID_CONF_OPTS = \ --enable-removal-policies="lru,heap" \ --with-filedescriptors=1024 \ --disable-ident-lookups \ - --without-mit-krb5 \ --enable-auth-basic="fake getpwnam" \ --enable-auth-digest="file" \ --enable-auth-negotiate="wrapper" \
@@ -50,6 +49,13 @@ else SQUID_CONF_ENV += squid_cv_gnu_atomics=no endif +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +SQUID_CONF_OPTS += --with-mit-krb5 +SQUID_DEPENDENCIES += libkrb5 +else +SQUID_CONF_OPTS += --without-mit-krb5 +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) SQUID_CONF_OPTS += --with-openssl SQUID_DEPENDENCIES += openssl
Signature · 1 line
2.7.4
PATCH v7 1/2 libkrb5: New package
In reply to André HentschelHello,
Quoted 1 line · Andr? Hentschel
Signed-off-by Andr? Hentschel <[email protected]>
This still doesn't build for me, as I reported on a previous iteration, but I found out why: I have libverto installed on my host system, and libkrb5 tries to use it instead of the bundled one.
package/libkrb5/libkrb5.mk line 14
Quoted 8 lines
package/libkrb5/libkrb5.mk new file +8
-0+LIBKRB5_VERSION_MAJOR = 1.16 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR) +LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION_MAJOR) +LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz +LIBKRB5_SUBDIR = src +LIBKRB5_LICENSE = MIT +LIBKRB5_LICENSE_FILES = NOTICE +LIBKRB5_INSTALL_STAGING = YES
Please add:
LIBKRB5_CONF_OPTS = --without-system-verto
here to solve this build issue.
However, I see that it has a bunch of similar options:
--with-system-et
--with-system-ss
--with-system-db
and it also has other options like --without-libedit and --with-readline. You should handle all those options, at the very least to disable detection libedit and readline.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com