package/samba4: allow to use libtirpc instead of internal C implementation
authorBernd Kuhls <bernd.kuhls@t-online.de>
Sun, 23 Jul 2017 13:36:18 +0000 (15:36 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 1 Aug 2017 22:15:14 +0000 (00:15 +0200)
commit25af7e7bf15ec678a7cedd9e3a1ce4ddde4b61c4
tree1f295aa625e859d6d65daf637ab9c08be1d0051f
parentca74790030e4eec04e25a633e23400c2d89fc89c
package/samba4: allow to use libtirpc instead of internal C implementation

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>
package/samba4/Config.in
package/samba4/samba4.mk