This patch allows building samba4 with uClibc again after rpc support
was removed from uClibc. Building with musl is still broken:
The first error
../nsswitch/wins.c: In function ‘_nss_wins_gethostbyname_r’:
../nsswitch/wins.c:272:15: error: ‘NETDB_INTERNAL’ undeclared (first use in this function)
*h_errnop = NETDB_INTERNAL;
^~~~~~~~~~~~~~
../nsswitch/wins.c:272:15: note: each undeclared identifier is reported only once for each function it appears in
../nsswitch/wins.c:349:14: error: ‘NETDB_SUCCESS’ undeclared (first use in this function)
*h_errnop = NETDB_SUCCESS;
^~~~~~~~~~~~~
could be solved by applying
https://git.alpinelinux.org/cgit/aports/tree/main/samba/netdb-defines.patch
but then the build fails at
../ctdb/tests/src/test_mutex_raw.c: In function ‘main’:
../ctdb/tests/src/test_mutex_raw.c:170:28: error: ‘pthread_mutex_t {aka struct <anonymous>}’ has no member named ‘__data’
printf("pid=%u\n", mutex->__data.__owner);
^~
Therefore we disable musl support until a fix can be found.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas:
- instead of setting SAMBA4_CONF_ENV within the libtirpc condition,
introduce SAMBA4_CFLAGS and SAMBA4_LDFLAGS variables and use them
- add missing dependency on host-pkgconf, needed because we call
pkg-config to get the flags from libtirpc]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit 006a328ad6 ("util-linux: fix build with ncurses") removed
dependency on BR2_USE_WCHAR, but failed to update the reverse
dependencies of util-linux.
This commit updates comments in Config.in for BR2_USE_WCHAR for reverse
dependencies of util-linux which directly uses wchar now or when it is
pulled from other dependencies.
eudev doesn't use wchar directly, but needs C99 compiler. Autotools
generate code with wchar_t for checking C99 compiler.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It's been deprecated for a year now so remove it.
[Peter: drop !samba dependency from samba4]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
samba4 relies on the $ORIGIN feature of the dynamic linker, which used
to not be implemented in old uClibc versions. However:
- this feature is supported by glibc
- this feature is supported by uClibc-ng, which is the only uClibc
version we are going to support
- this feature is supported by musl
Consequently, we can completely remove the dependency of samba4 on
certain C libraries.
Note that despite this commit, samba4 still cannot be chosen when the
musl C library is used, because samba4 requires native RPC support,
which musl doesn't provide.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
uClibc-ng has the required functionality for samba 4.2.x without the
need for any special tricks.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now with support for AD DC, ADS and clustering features.
All dropped patches are upstream.
[Thomas: move indentation fixes to a separate patch.]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Otherwise it shows up indirectly when toolchain options aren't enough
and then vanishes when they are fulfilled.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bump to the latest 4.1.7 version and improve the cross-build logic.
With the new patches the build is basically architecture-agnostic making
it possible to ditch the arch-specific cache to use a generic one.
Some toolchains might not be too happy with samba4 because of bitrot,
hopefully we'll find and fix or blacklist those with autobuilder help.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Samba 4.1.x uses the waf build system which isn't very cross-compile
friendly, and also some tests are formulated in a way that isn't
cross-build friendly either by needing to run them.
For this reason the samba4 build system includes a way to define
answers for many of the tests, but this support isn't complete
and some tests still want to be executed.
Samba 4.1.x also requires a proper answers file for each architecture,
and at the moment i've only tested for ARM and PowerPC so only those
architectures are supported to begin with. To add support for another
architecture basically copy one of the cache files to the proper name,
enable it in Config.in and adjust endianess and all of the "size of"
answers. I'm in the process of automating the sizeof and endianess
answers within the samba build system to make them cross friendly
to simplify the answers file to just one generic linux variant.
The 3.6.x branch is still security supported for the forseeable future.
I'm currently working with samba upstream to solve many of these
issues but this will probably happen with the yet unreleased
4.2 branch only.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>