libkrb5: New package
PATCH v4 1/2 libkrb5: New package
--- DEVELOPERS | 1 + package/Config.in | 1 + package/libkrb5/Config.in | 11 +++++++++++ package/libkrb5/libkrb5.hash | 2 ++ package/libkrb5/libkrb5.mk | 22 ++++++++++++++++++++++ 5 files changed, 37 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
@@ -101,6 +101,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
@@ -1346,6 +1346,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 +11 -0
@@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBKRB5 + bool "libkrb5" + 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 1639e392edf25e3b6cfec2ae68f97eb53e07c2dbe74bfeede0108465d5d1c87e krb5-1.15.2.tar.gz
package/libkrb5/libkrb5.mk new file +22 -0
@@ -0,0 +1,22 @@ +################################################################################ +# +# libkrb5 +# +################################################################################ + +LIBKRB5_VERSION = 1.15.2 +LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/1.15 +LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz +LIBKRB5_SUBDIR = src +LIBKRB5_LICENSE = MIT +LIBKRB5_LICENSE_FILES = NOTICE +LIBKRB5_INSTALL_STAGING = YES +LIBKRB5_AUTORECONF = YES + +# Add sane assumptions about cross-compiling +LIBKRB5_CONF_ENV = \ + ac_cv_printf_positional=yes \ + ac_cv_func_regcomp=yes \ + krb5_cv_attr_constructor_destructor=yes,yes + +$(eval $(autotools-package))
Signature · 1 line
2.7.4
PATCH v4 2/2 squid: Add optional dependency on libkrb5
--- 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 v4 1/2 libkrb5: New package
In reply to André HentschelHello,
Thanks for this new iteration. Much better without the configure.ac patch.
package/libkrb5/libkrb5.mk line 14
Quoted 8 lines · Andr? Hentschel
package/libkrb5/libkrb5.mk new file +8
-0+LIBKRB5_VERSION = 1.15.2 +LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/1.15 +LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz +LIBKRB5_SUBDIR = src +LIBKRB5_LICENSE = MIT +LIBKRB5_LICENSE_FILES = NOTICE +LIBKRB5_INSTALL_STAGING = YES +LIBKRB5_AUTORECONF = YES
Are you sure you still need to AUTORECONF the package? Now that the configure.ac patch is gone, I don't think this is necessary anymore.
Quoted 1 line
+# Add sane assumptions about cross-compiling
Rather than "sane assumptions", a clearer comment would be: "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". Or something along those lines.
Note: both issues can be fixed when applying, no need to resend just for that.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v4 1/2 libkrb5: New package
Am 21.11.2017 um 13:56 schrieb Thomas Petazzoni:
Quoted 21 lines
Hello,
Thanks for this new iteration. Much better without the configure.ac patch.
package/libkrb5/libkrb5.mk line 14
Quoted 8 lines · Andr? Hentschel
package/libkrb5/libkrb5.mk new file +8
-0+LIBKRB5_VERSION = 1.15.2 +LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/1.15 +LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz +LIBKRB5_SUBDIR = src +LIBKRB5_LICENSE = MIT +LIBKRB5_LICENSE_FILES = NOTICE +LIBKRB5_INSTALL_STAGING = YES +LIBKRB5_AUTORECONF = YESAre you sure you still need to AUTORECONF the package? Now that the configure.ac patch is gone, I don't think this is necessary anymore.
Quoted 1 line
+# Add sane assumptions about cross-compiling
Quoted 8 lines
Rather than "sane assumptions", a clearer comment would be: "The configure script uses
AC_TRY_RUNtests 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". Or something along those lines.Note: both issues can be fixed when applying, no need to resend just for that.
Yes, thanks for taking care!
The autoreconf isn't needed anymore, I just tested it.
PATCH v4 1/2 libkrb5: New package
In reply to André HentschelHello,
Quoted 11 lines · Andr? Hentschel
Signed-off-by Andr? Hentschel <[email protected]>--- DEVELOPERS | 1 + package/Config.in | 1 + package/libkrb5/Config.in | 11 +++++++++++ package/libkrb5/libkrb5.hash | 2 ++ package/libkrb5/libkrb5.mk | 22 ++++++++++++++++++++++ 5 files changed, 37 insertions(+) create mode 100644 package/libkrb5/Config.in create mode 100644 package/libkrb5/libkrb5.hash create mode 100644 package/libkrb5/libkrb5.mk
I'm sorry but this doesn't build. First, I get:
prof_file.c: In function ?profile_update_file_data_locked?:
prof_file.c:370:16: error: ?f? may be used uninitialized in this function [-Werror=maybe-uninitialized]
retval = profile_parse_file(f, &data->root, ret_modspec);
This is because -Werror=uninitialized. Looking at the code, I believe gcc is wrong. So either we should initialize f = NULL at the beginning of the function, or we should remove -Werror=uninitialized from the build flags. After fixing this, I have a second build failure:
In file included from net-server.c:61:0:../../include/net-server.h:32:19: fatal error: verto.h: No such file or directory
#include <verto.h>
^compilation terminated.
You can reproduce by building the following defconfig:
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_LIBKRB5=y
# BR2_TARGET_ROOTFS_TAR is not set
Please use the test-pkg script to build test your package for the next submission (and don't forget to remove AUTORECONF = YES, and to adjust the comment about CONF_ENV, as we discussed previously).
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com