* [Buildroot] [PATCH v6 1/2] libkrb5: New package
@ 2018-02-06 17:22 André Hentschel
2018-02-06 17:22 ` [Buildroot] [PATCH v6 2/2] squid: Add optional dependency on libkrb5 André Hentschel
2018-02-14 21:16 ` [Buildroot] [PATCH v6 1/2] libkrb5: New package Thomas Petazzoni
0 siblings, 2 replies; 5+ messages in thread
From: André Hentschel @ 2018-02-06 17:22 UTC (permalink / raw)
To: buildroot
Signed-off-by: Andr? Hentschel <nerv@dawncrow.de>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libkrb5/Config.in | 15 +++++++++++++++
package/libkrb5/libkrb5.hash | 2 ++
package/libkrb5/libkrb5.mk | 28 ++++++++++++++++++++++++++++
5 files changed, 47 insertions(+)
create mode 100644 package/libkrb5/Config.in
create mode 100644 package/libkrb5/libkrb5.hash
create mode 100644 package/libkrb5/libkrb5.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 9048d45..a8fa9ae 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -111,6 +111,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/
diff --git a/package/Config.in b/package/Config.in
index 9a6b199..86042f4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1374,6 +1374,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
index 0000000..bdddd2e
--- /dev/null
+++ b/package/libkrb5/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_LIBKRB5
+ bool "libkrb5"
+ # needs fork()
+ depends on BR2_USE_MMU
+ # static libs are not supported on all platforms
+ depends on !(BR2_STATIC_LIBS && (BR2_ARM_CPU_ARMV7M || BR2_m68k))
+ 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
index 0000000..59552d7
--- /dev/null
+++ b/package/libkrb5/libkrb5.hash
@@ -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
index 0000000..0289998
--- /dev/null
+++ b/package/libkrb5/libkrb5.mk
@@ -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))
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v6 2/2] squid: Add optional dependency on libkrb5
2018-02-06 17:22 [Buildroot] [PATCH v6 1/2] libkrb5: New package André Hentschel
@ 2018-02-06 17:22 ` André Hentschel
2018-02-14 21:16 ` [Buildroot] [PATCH v6 1/2] libkrb5: New package Thomas Petazzoni
1 sibling, 0 replies; 5+ messages in thread
From: André Hentschel @ 2018-02-06 17:22 UTC (permalink / raw)
To: buildroot
Signed-off-by: Andr? Hentschel <nerv@dawncrow.de>
---
package/squid/squid.mk | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/package/squid/squid.mk b/package/squid/squid.mk
index 8ade55e..2d21ad8 100644
--- a/package/squid/squid.mk
+++ b/package/squid/squid.mk
@@ -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
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v6 1/2] libkrb5: New package
2018-02-06 17:22 [Buildroot] [PATCH v6 1/2] libkrb5: New package André Hentschel
2018-02-06 17:22 ` [Buildroot] [PATCH v6 2/2] squid: Add optional dependency on libkrb5 André Hentschel
@ 2018-02-14 21:16 ` Thomas Petazzoni
2018-02-20 10:51 ` André Hentschel
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2018-02-14 21:16 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 6 Feb 2018 18:22:08 +0100, Andr? Hentschel wrote:
> diff --git a/package/libkrb5/Config.in b/package/libkrb5/Config.in
> new file mode 100644
> index 0000000..bdddd2e
> --- /dev/null
> +++ b/package/libkrb5/Config.in
> @@ -0,0 +1,15 @@
> +config BR2_PACKAGE_LIBKRB5
> + bool "libkrb5"
> + # needs fork()
> + depends on BR2_USE_MMU
> + # static libs are not supported on all platforms
> + depends on !(BR2_STATIC_LIBS && (BR2_ARM_CPU_ARMV7M || BR2_m68k))
Could you give more details about this ? It feels like these exclusions
have been added just for the sake of making test-pkg happy. What are
the problems you have encountered ?
I'm particularly wondering about the BR2_ARM_CPU_ARMV7M case, which
always has BR2_USE_MMU disabled, so I'm not sure how you can have
reached a problem on ARMv7-M.
Also, the following defconfigs fails to build libkrb5:
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
Failure is:
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.
make[4]: *** [Makefile:487: net-server.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [Makefile:984: all-recurse] Error 1
make[2]: *** [Makefile:1524: all-recurse] Error 1
make[1]: *** [package/pkg-generic.mk:250: /home/thomas/projets/buildroot/output/build/libkrb5-1.16/.stamp_built] Error 2
Could you have a look and submit an updated version ?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v6 1/2] libkrb5: New package
2018-02-14 21:16 ` [Buildroot] [PATCH v6 1/2] libkrb5: New package Thomas Petazzoni
@ 2018-02-20 10:51 ` André Hentschel
2018-02-20 11:30 ` Thomas Petazzoni
0 siblings, 1 reply; 5+ messages in thread
From: André Hentschel @ 2018-02-20 10:51 UTC (permalink / raw)
To: buildroot
Am 14.02.2018 um 22:16 schrieb Thomas Petazzoni:
> Hello,
>
> On Tue, 6 Feb 2018 18:22:08 +0100, Andr? Hentschel wrote:
>
>> diff --git a/package/libkrb5/Config.in b/package/libkrb5/Config.in
>> new file mode 100644
>> index 0000000..bdddd2e
>> --- /dev/null
>> +++ b/package/libkrb5/Config.in
>> @@ -0,0 +1,15 @@
>> +config BR2_PACKAGE_LIBKRB5
>> + bool "libkrb5"
>> + # needs fork()
>> + depends on BR2_USE_MMU
>> + # static libs are not supported on all platforms
>> + depends on !(BR2_STATIC_LIBS && (BR2_ARM_CPU_ARMV7M || BR2_m68k))
>
> Could you give more details about this ? It feels like these exclusions
> have been added just for the sake of making test-pkg happy. What are
> the problems you have encountered ?
>
> I'm particularly wondering about the BR2_ARM_CPU_ARMV7M case, which
> always has BR2_USE_MMU disabled, so I'm not sure how you can have
> reached a problem on ARMv7-M.
It seems I indeed overfixed it, sorry. Removed the static check in v7
> Also, the following defconfigs fails to build libkrb5:
>
> 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
>
> Failure is:
>
> 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.
> make[4]: *** [Makefile:487: net-server.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[3]: *** [Makefile:984: all-recurse] Error 1
> make[2]: *** [Makefile:1524: all-recurse] Error 1
> make[1]: *** [package/pkg-generic.mk:250: /home/thomas/projets/buildroot/output/build/libkrb5-1.16/.stamp_built] Error 2
>
> Could you have a look and submit an updated version ?
I can't reproduce that here with that defconfig. So I checked if I can find verto.h somewhere else on my computer where it might interfer, but no hit.
verto.h is part of the libkrb5 source, so no idea why it can't be found in your case... Could you please check again with patch next v7?
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v6 1/2] libkrb5: New package
2018-02-20 10:51 ` André Hentschel
@ 2018-02-20 11:30 ` Thomas Petazzoni
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2018-02-20 11:30 UTC (permalink / raw)
To: buildroot
Hello,
On Tue, 20 Feb 2018 11:51:40 +0100, Andr? Hentschel wrote:
> >> diff --git a/package/libkrb5/Config.in b/package/libkrb5/Config.in
> >> new file mode 100644
> >> index 0000000..bdddd2e
> >> --- /dev/null
> >> +++ b/package/libkrb5/Config.in
> >> @@ -0,0 +1,15 @@
> >> +config BR2_PACKAGE_LIBKRB5
> >> + bool "libkrb5"
> >> + # needs fork()
> >> + depends on BR2_USE_MMU
> >> + # static libs are not supported on all platforms
> >> + depends on !(BR2_STATIC_LIBS && (BR2_ARM_CPU_ARMV7M || BR2_m68k))
> >
> > Could you give more details about this ? It feels like these exclusions
> > have been added just for the sake of making test-pkg happy. What are
> > the problems you have encountered ?
> >
> > I'm particularly wondering about the BR2_ARM_CPU_ARMV7M case, which
> > always has BR2_USE_MMU disabled, so I'm not sure how you can have
> > reached a problem on ARMv7-M.
>
> It seems I indeed overfixed it, sorry. Removed the static check in v7
Still, could you give more details ? Why just m68k is excluded ? What
is the problem you have encountered ?
> > 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.
> > make[4]: *** [Makefile:487: net-server.o] Error 1
> > make[4]: *** Waiting for unfinished jobs....
> > make[3]: *** [Makefile:984: all-recurse] Error 1
> > make[2]: *** [Makefile:1524: all-recurse] Error 1
> > make[1]: *** [package/pkg-generic.mk:250: /home/thomas/projets/buildroot/output/build/libkrb5-1.16/.stamp_built] Error 2
> >
> > Could you have a look and submit an updated version ?
>
>
> I can't reproduce that here with that defconfig. So I checked if I can find verto.h somewhere else on my computer where it might interfer, but no hit.
> verto.h is part of the libkrb5 source, so no idea why it can't be found in your case... Could you please check again with patch next v7?
I'll check with v7, and investigate a bit more.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-02-20 11:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-06 17:22 [Buildroot] [PATCH v6 1/2] libkrb5: New package André Hentschel
2018-02-06 17:22 ` [Buildroot] [PATCH v6 2/2] squid: Add optional dependency on libkrb5 André Hentschel
2018-02-14 21:16 ` [Buildroot] [PATCH v6 1/2] libkrb5: New package Thomas Petazzoni
2018-02-20 10:51 ` André Hentschel
2018-02-20 11:30 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox