samba4: bump to version 4.2.0
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>
This commit is contained in:
parent
7152a50588
commit
123e8afbaa
@ -1,56 +0,0 @@
|
||||
From 16d88e7813a7739c070a7a1cf6388fd4f236fd99 Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
Date: Fri, 31 Jan 2014 06:45:18 -0300
|
||||
Subject: [PATCHv2] build: find FILE_OFFSET_BITS via array
|
||||
|
||||
This makes cross-compiling happy, use a trick similar to autoconf's
|
||||
AC_CHECK_SIZEOF macro.
|
||||
Basically we make an array:
|
||||
|
||||
static int array[1 - 2 * !(((long int)(sizeof(off_t))) < 8)];
|
||||
|
||||
This gives -1 multiplied by the negation of the condition
|
||||
(sizeof(off_t) < 8) cast to a long int.
|
||||
So if the condition is true it gives array[(-1 * 0)] (remember the
|
||||
condition is cast and negated) thus passing a build test with a 0-sized
|
||||
array.
|
||||
If it's false it gives array[(-1 * 1)] thus failing with a
|
||||
negative-sized array.
|
||||
|
||||
Status: Upstream.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
lib/ccan/wscript | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/ccan/wscript b/lib/ccan/wscript
|
||||
index 59b8205..81039d0 100644
|
||||
--- a/lib/ccan/wscript
|
||||
+++ b/lib/ccan/wscript
|
||||
@@ -127,15 +127,18 @@ def configure(conf):
|
||||
# Only check for FILE_OFFSET_BITS=64 if off_t is normally small:
|
||||
# use raw routines because wrappers include previous _GNU_SOURCE
|
||||
# or _FILE_OFFSET_BITS defines.
|
||||
+ # The math for these tests is:
|
||||
+ # array[-1 * !((int)(condition)) ] (condition is true) = array[0] = builds
|
||||
+ # array[-1 * !((int)(condition)) ] (condition is false) = array[-1] = fails
|
||||
conf.check(fragment="""#include <sys/types.h>
|
||||
- int main(void) { return !(sizeof(off_t) < 8); }""",
|
||||
- execute=True, msg='Checking for small off_t',
|
||||
+ int main(void) { static int test_array[1 - 2 * !(((long int)(sizeof(off_t))) < 8)]; }""",
|
||||
+ msg='Checking for small off_t',
|
||||
define_name='SMALL_OFF_T')
|
||||
# Unreliable return value above, hence use define.
|
||||
if conf.CONFIG_SET('SMALL_OFF_T'):
|
||||
conf.check(fragment="""#include <sys/types.h>
|
||||
- int main(void) { return !(sizeof(off_t) >= 8); }""",
|
||||
- execute=True, msg='Checking for -D_FILE_OFFSET_BITS=64',
|
||||
+ int main(void) { static int test_array[1 - 2 * !(((long int)(sizeof(off_t))) >= 8)]; }""",
|
||||
+ msg='Checking for -D_FILE_OFFSET_BITS=64',
|
||||
ccflags='-D_FILE_OFFSET_BITS=64',
|
||||
define_name='HAVE_FILE_OFFSET_BITS')
|
||||
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -5,10 +5,10 @@ and bsd/unistd.h get included.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
|
||||
diff -Nura samba-4.1.7.orig/lib/replace/wscript samba-4.1.7/lib/replace/wscript
|
||||
--- samba-4.1.7.orig/lib/replace/wscript 2014-04-17 04:59:14.000000000 -0300
|
||||
+++ samba-4.1.7/lib/replace/wscript 2014-05-19 09:17:25.561947774 -0300
|
||||
@@ -253,15 +253,6 @@
|
||||
diff -Nura samba-4.2.0rc1.orig/lib/replace/wscript samba-4.2.0rc1/lib/replace/wscript
|
||||
--- samba-4.2.0rc1.orig/lib/replace/wscript 2014-10-01 06:17:32.000000000 -0300
|
||||
+++ samba-4.2.0rc1/lib/replace/wscript 2014-10-01 07:21:13.559498987 -0300
|
||||
@@ -282,15 +282,6 @@
|
||||
conf.CHECK_FUNCS('strtouq strtoll __strtoll strtoq memalign posix_memalign')
|
||||
conf.CHECK_FUNCS('prctl')
|
||||
|
||||
@ -18,8 +18,8 @@ diff -Nura samba-4.1.7.orig/lib/replace/wscript samba-4.1.7/lib/replace/wscript
|
||||
- checklibc=True)
|
||||
- if not conf.CHECK_FUNCS('getpeereid'):
|
||||
- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
|
||||
- if not conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h'):
|
||||
- conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h')
|
||||
- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
|
||||
- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
|
||||
-
|
||||
conf.CHECK_CODE('''
|
||||
struct ucred cred;
|
@ -1,47 +0,0 @@
|
||||
From fdbdf04a9ab3f3a204e95106c4f8f6729d0bab1a Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
Date: Tue, 4 Feb 2014 14:11:52 -0300
|
||||
Subject: [PATCH] build: allow some python variable overrides
|
||||
|
||||
The python variables (settings) are fetched from a running python
|
||||
interpreter which usually isn't the target one when cross compiling,
|
||||
hence libraries and flags aren't the same and can pollute the target
|
||||
build.
|
||||
Allow some of these variables to be redefined via environment variables
|
||||
in order to aid cross-compiling.
|
||||
According to testing python_LDFLAGS and python_LIBDIR should be enough.
|
||||
|
||||
Status: Upstream.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
buildtools/wafadmin/Tools/python.py | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/buildtools/wafadmin/Tools/python.py b/buildtools/wafadmin/Tools/python.py
|
||||
index ab1e817..35c61c2 100644
|
||||
--- a/buildtools/wafadmin/Tools/python.py
|
||||
+++ b/buildtools/wafadmin/Tools/python.py
|
||||
@@ -193,6 +193,19 @@ MACOSX_DEPLOYMENT_TARGET = %r
|
||||
""" % (python, python_prefix, python_SO, python_SYSLIBS, python_LDFLAGS, python_SHLIBS,
|
||||
python_LIBDIR, python_LIBPL, INCLUDEPY, Py_ENABLE_SHARED, python_MACOSX_DEPLOYMENT_TARGET))
|
||||
|
||||
+ # Allow some python overrides from env vars for cross-compiling
|
||||
+ os_env = dict(os.environ)
|
||||
+
|
||||
+ override_python_LDFLAGS = os_env.get('python_LDFLAGS', None)
|
||||
+ if override_python_LDFLAGS is not None:
|
||||
+ conf.log.write("python_LDFLAGS override from environment = %r\n" % (override_python_LDFLAGS))
|
||||
+ python_LDFLAGS = override_python_LDFLAGS
|
||||
+
|
||||
+ override_python_LIBDIR = os_env.get('python_LIBDIR', None)
|
||||
+ if override_python_LIBDIR is not None:
|
||||
+ conf.log.write("python_LIBDIR override from environment = %r\n" % (override_python_LIBDIR))
|
||||
+ python_LIBDIR = override_python_LIBDIR
|
||||
+
|
||||
if python_MACOSX_DEPLOYMENT_TARGET:
|
||||
conf.env['MACOSX_DEPLOYMENT_TARGET'] = python_MACOSX_DEPLOYMENT_TARGET
|
||||
conf.environ['MACOSX_DEPLOYMENT_TARGET'] = python_MACOSX_DEPLOYMENT_TARGET
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 934f8c8e9439de4f15b2e61016d5d29233d8d5fa Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
Date: Wed, 16 Apr 2014 08:01:36 -0300
|
||||
Subject: [PATCH 5/5] build: find blkcnt_t size via array
|
||||
|
||||
Using the same trick as commit 0d9bb86293c9d39298786df095c73a6251b08b7e
|
||||
find blkcnt_t size via an array so that it can be determined via build
|
||||
rather than running it.
|
||||
|
||||
Status: Upstream.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
source3/wscript | 22 ++++++++++++----------
|
||||
1 file changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/source3/wscript b/source3/wscript
|
||||
index aade503..6a5728f 100644
|
||||
--- a/source3/wscript
|
||||
+++ b/source3/wscript
|
||||
@@ -277,18 +277,20 @@ int main(int argc, char **argv)
|
||||
headers='sys/types.h sys/stat.h unistd.h')
|
||||
|
||||
if "HAVE_BLKCNT_T" in conf.env:
|
||||
- conf.CHECK_CODE('''
|
||||
- return sizeof(blkcnt_t) == 4 ? 0 : 1''',
|
||||
- 'SIZEOF_BLKCNT_T_4', execute=True,
|
||||
- headers='replace.h sys/types.h sys/stat.h unistd.h',
|
||||
- msg="Checking whether blkcnt_t is 32 bit")
|
||||
+ conf.CHECK_CODE('''
|
||||
+ static int test_array[1 - 2 * !(((long int)(sizeof(blkcnt_t))) <= 4)];''',
|
||||
+ 'SIZEOF_BLKCNT_T_4',
|
||||
+ headers='replace.h sys/types.h sys/stat.h unistd.h',
|
||||
+ msg="Checking whether blkcnt_t is 32 bit")
|
||||
|
||||
+ # If sizeof is 4 it can't be 8
|
||||
if "HAVE_BLKCNT_T" in conf.env:
|
||||
- conf.CHECK_CODE('''
|
||||
- return sizeof(blkcnt_t) == 8 ? 0 : 1''',
|
||||
- 'SIZEOF_BLKCNT_T_8', execute=True,
|
||||
- headers='replace.h sys/types.h sys/stat.h unistd.h',
|
||||
- msg="Checking whether blkcnt_t is 64 bit")
|
||||
+ if not conf.CONFIG_SET('SIZEOF_BLKCNT_T_4'):
|
||||
+ conf.CHECK_CODE('''
|
||||
+ static int test_array[1 - 2 * !(((long int)(sizeof(blkcnt_t))) <= 8)];''',
|
||||
+ 'SIZEOF_BLKCNT_T_8',
|
||||
+ headers='replace.h sys/types.h sys/stat.h unistd.h',
|
||||
+ msg="Checking whether blkcnt_t is 64 bit")
|
||||
|
||||
# Check for POSIX capability support
|
||||
conf.CHECK_FUNCS_IN('cap_get_proc', 'cap', headers='sys/capability.h')
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,165 +0,0 @@
|
||||
From ee4e06b7223fb2925bc887c89216a66029d44862 Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
Date: Tue, 1 Apr 2014 06:41:47 -0300
|
||||
Subject: [PATCH 2/5] build: unify and fix endian tests
|
||||
|
||||
Unify the endian tests out of lib/ccan/wscript into wafsamba since
|
||||
they're almost cross-compile friendly.
|
||||
While at it fix them to be so by moving the preprocessor directives out
|
||||
of main scope since that will fail.
|
||||
And keep the WORDS_BIGENDIAN, HAVE_LITTLE_ENDIAN and HAVE_BIG_ENDIAN
|
||||
defines separate because of different codebases.
|
||||
|
||||
Status: Upstream.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
buildtools/wafsamba/wscript | 65 ++++++++++++++++++++++++++++++++++++++++++---
|
||||
lib/ccan/wscript | 55 --------------------------------------
|
||||
2 files changed, 62 insertions(+), 58 deletions(-)
|
||||
|
||||
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
|
||||
index 7984227..1a2cfe6 100755
|
||||
--- a/buildtools/wafsamba/wscript
|
||||
+++ b/buildtools/wafsamba/wscript
|
||||
@@ -390,9 +390,68 @@ def configure(conf):
|
||||
else:
|
||||
conf.define('SHLIBEXT', "so", quote=True)
|
||||
|
||||
- conf.CHECK_CODE('long one = 1; return ((char *)(&one))[0]',
|
||||
- execute=True,
|
||||
- define='WORDS_BIGENDIAN')
|
||||
+ # First try a header check for cross-compile friendlyness
|
||||
+ conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
|
||||
+ #define B __BYTE_ORDER
|
||||
+ #elif defined(BYTE_ORDER)
|
||||
+ #define B BYTE_ORDER
|
||||
+ #endif
|
||||
+
|
||||
+ #ifdef __LITTLE_ENDIAN
|
||||
+ #define LITTLE __LITTLE_ENDIAN
|
||||
+ #elif defined(LITTLE_ENDIAN)
|
||||
+ #define LITTLE LITTLE_ENDIAN
|
||||
+ #endif
|
||||
+
|
||||
+ #if !defined(LITTLE) || !defined(B) || LITTLE != B
|
||||
+ #error Not little endian.
|
||||
+ #endif
|
||||
+ int main(void) { return 0; }""",
|
||||
+ addmain=False,
|
||||
+ headers="endian.h sys/endian.h",
|
||||
+ define="HAVE_LITTLE_ENDIAN")
|
||||
+ conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
|
||||
+ #define B __BYTE_ORDER
|
||||
+ #elif defined(BYTE_ORDER)
|
||||
+ #define B BYTE_ORDER
|
||||
+ #endif
|
||||
+
|
||||
+ #ifdef __BIG_ENDIAN
|
||||
+ #define BIG __BIG_ENDIAN
|
||||
+ #elif defined(BIG_ENDIAN)
|
||||
+ #define BIG BIG_ENDIAN
|
||||
+ #endif
|
||||
+
|
||||
+ #if !defined(BIG) || !defined(B) || BIG != B
|
||||
+ #error Not big endian.
|
||||
+ #endif
|
||||
+ int main(void) { return 0; }""",
|
||||
+ addmain=False,
|
||||
+ headers="endian.h sys/endian.h",
|
||||
+ define="HAVE_BIG_ENDIAN")
|
||||
+
|
||||
+ if not conf.CONFIG_SET("HAVE_BIG_ENDIAN") and not conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
|
||||
+ # That didn't work! Do runtime test.
|
||||
+ conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
|
||||
+ u.i = 0x01020304;
|
||||
+ return u.c[0] == 0x04 && u.c[1] == 0x03 && u.c[2] == 0x02 && u.c[3] == 0x01 ? 0 : 1;""",
|
||||
+ addmain=True, execute=True,
|
||||
+ define='HAVE_LITTLE_ENDIAN',
|
||||
+ msg="Checking for HAVE_LITTLE_ENDIAN - runtime")
|
||||
+ conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
|
||||
+ u.i = 0x01020304;
|
||||
+ return u.c[0] == 0x01 && u.c[1] == 0x02 && u.c[2] == 0x03 && u.c[3] == 0x04 ? 0 : 1;""",
|
||||
+ addmain=True, execute=True,
|
||||
+ define='HAVE_BIG_ENDIAN',
|
||||
+ msg="Checking for HAVE_BIG_ENDIAN - runtime")
|
||||
+
|
||||
+ # Extra sanity check.
|
||||
+ if conf.CONFIG_SET("HAVE_BIG_ENDIAN") == conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
|
||||
+ Logs.error("Failed endian determination. The PDP-11 is back?")
|
||||
+ sys.exit(1)
|
||||
+ else:
|
||||
+ if conf.CONFIG_SET("HAVE_BIG_ENDIAN"):
|
||||
+ conf.DEFINE('WORDS_BIGENDIAN', 1)
|
||||
|
||||
# check if signal() takes a void function
|
||||
if conf.CHECK_CODE('return *(signal (0, 0)) (0) == 1',
|
||||
diff --git a/lib/ccan/wscript b/lib/ccan/wscript
|
||||
index 1c5f337..0e540db 100644
|
||||
--- a/lib/ccan/wscript
|
||||
+++ b/lib/ccan/wscript
|
||||
@@ -25,61 +25,6 @@ def configure(conf):
|
||||
conf.CHECK_CODE('int __attribute__((used)) func(int x) { return x; }',
|
||||
addmain=False, link=False, cflags=conf.env['WERROR_CFLAGS'],
|
||||
define='HAVE_ATTRIBUTE_USED')
|
||||
- # We try to use headers for a compile-time test.
|
||||
- conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
|
||||
- #define B __BYTE_ORDER
|
||||
- #elif defined(BYTE_ORDER)
|
||||
- #define B BYTE_ORDER
|
||||
- #endif
|
||||
-
|
||||
- #ifdef __LITTLE_ENDIAN
|
||||
- #define LITTLE __LITTLE_ENDIAN
|
||||
- #elif defined(LITTLE_ENDIAN)
|
||||
- #define LITTLE LITTLE_ENDIAN
|
||||
- #endif
|
||||
-
|
||||
- #if !defined(LITTLE) || !defined(B) || LITTLE != B
|
||||
- #error Not little endian.
|
||||
- #endif""",
|
||||
- headers="endian.h sys/endian.h",
|
||||
- define="HAVE_LITTLE_ENDIAN")
|
||||
- conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER
|
||||
- #define B __BYTE_ORDER
|
||||
- #elif defined(BYTE_ORDER)
|
||||
- #define B BYTE_ORDER
|
||||
- #endif
|
||||
-
|
||||
- #ifdef __BIG_ENDIAN
|
||||
- #define BIG __BIG_ENDIAN
|
||||
- #elif defined(BIG_ENDIAN)
|
||||
- #define BIG BIG_ENDIAN
|
||||
- #endif
|
||||
-
|
||||
- #if !defined(BIG) || !defined(B) || BIG != B
|
||||
- #error Not big endian.
|
||||
- #endif""",
|
||||
- headers="endian.h sys/endian.h",
|
||||
- define="HAVE_BIG_ENDIAN")
|
||||
-
|
||||
- if not conf.CONFIG_SET("HAVE_BIG_ENDIAN") and not conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
|
||||
- # That didn't work! Do runtime test.
|
||||
- conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
|
||||
- u.i = 0x01020304;
|
||||
- return u.c[0] == 0x04 && u.c[1] == 0x03 && u.c[2] == 0x02 && u.c[3] == 0x01 ? 0 : 1;""",
|
||||
- addmain=True, execute=True,
|
||||
- define='HAVE_LITTLE_ENDIAN',
|
||||
- msg="Checking for HAVE_LITTLE_ENDIAN - runtime")
|
||||
- conf.CHECK_CODE("""union { int i; char c[sizeof(int)]; } u;
|
||||
- u.i = 0x01020304;
|
||||
- return u.c[0] == 0x01 && u.c[1] == 0x02 && u.c[2] == 0x03 && u.c[3] == 0x04 ? 0 : 1;""",
|
||||
- addmain=True, execute=True,
|
||||
- define='HAVE_BIG_ENDIAN',
|
||||
- msg="Checking for HAVE_BIG_ENDIAN - runtime")
|
||||
-
|
||||
- # Extra sanity check.
|
||||
- if conf.CONFIG_SET("HAVE_BIG_ENDIAN") == conf.CONFIG_SET("HAVE_LITTLE_ENDIAN"):
|
||||
- Logs.error("Failed endian determination. The PDP-11 is back?")
|
||||
- sys.exit(1)
|
||||
|
||||
conf.CHECK_CODE('return __builtin_choose_expr(1, 0, "garbage");',
|
||||
link=True,
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,68 +0,0 @@
|
||||
From fd3eb1e9f712e4c96c0b55d4203745afb2bcc8c2 Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
Date: Wed, 9 Apr 2014 10:21:59 -0300
|
||||
Subject: [PATCH 3/5] build: make wafsamba CHECK_SIZEOF cross-compile friendly
|
||||
|
||||
Use the same trick as commit 0d9bb86293c9d39298786df095c73a6251b08b7e
|
||||
We do the same array trick iteratively starting from 1 (byte) by powers
|
||||
of 2 up to 32.
|
||||
|
||||
The new 'critical' option is used to make the invocation die or not
|
||||
according to each test.
|
||||
The default is True since normally it's expected to find a proper
|
||||
result and should error out if not.
|
||||
|
||||
Status: Upstream.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
buildtools/wafsamba/samba_autoconf.py | 28 ++++++++++++++++------------
|
||||
1 file changed, 16 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
|
||||
index 59d9e79..f60ce9d 100644
|
||||
--- a/buildtools/wafsamba/samba_autoconf.py
|
||||
+++ b/buildtools/wafsamba/samba_autoconf.py
|
||||
@@ -304,23 +304,27 @@ def CHECK_FUNCS(conf, list, link=True, lib=None, headers=None):
|
||||
|
||||
|
||||
@conf
|
||||
-def CHECK_SIZEOF(conf, vars, headers=None, define=None):
|
||||
+def CHECK_SIZEOF(conf, vars, headers=None, define=None, critical=True):
|
||||
'''check the size of a type'''
|
||||
- ret = True
|
||||
for v in TO_LIST(vars):
|
||||
v_define = define
|
||||
+ ret = False
|
||||
if v_define is None:
|
||||
v_define = 'SIZEOF_%s' % v.upper().replace(' ', '_')
|
||||
- if not CHECK_CODE(conf,
|
||||
- 'printf("%%u", (unsigned)sizeof(%s))' % v,
|
||||
- define=v_define,
|
||||
- execute=True,
|
||||
- define_ret=True,
|
||||
- quote=False,
|
||||
- headers=headers,
|
||||
- local_include=False,
|
||||
- msg="Checking size of %s" % v):
|
||||
- ret = False
|
||||
+ for size in list((1, 2, 4, 8, 16, 32)):
|
||||
+ if CHECK_CODE(conf,
|
||||
+ 'static int test_array[1 - 2 * !(((long int)(sizeof(%s))) <= %d)];' % (v, size),
|
||||
+ define=v_define,
|
||||
+ quote=False,
|
||||
+ headers=headers,
|
||||
+ local_include=False,
|
||||
+ msg="Checking if size of %s == %d" % (v, size)):
|
||||
+ conf.DEFINE(v_define, size)
|
||||
+ ret = True
|
||||
+ break
|
||||
+ if not ret and critical:
|
||||
+ Logs.error("Couldn't determine size of '%s'" % v)
|
||||
+ sys.exit(1)
|
||||
return ret
|
||||
|
||||
@conf
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 1a7f4f5e3fbbe83e147fffdfe00d7f37181a8ec1 Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
Date: Wed, 9 Apr 2014 10:39:06 -0300
|
||||
Subject: [PATCH 4/5] build: tweak SIZEOF utmp->ut_line
|
||||
|
||||
Set the critical parameter of CHECK_SIZEOF utmp->ut_line to False since
|
||||
it's used to find out if utmp support should be enabled.
|
||||
This is necessary with the introduction of the cross-compile aware
|
||||
CHECK_SIZEOF.
|
||||
|
||||
Status: Upstream.
|
||||
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
---
|
||||
source3/wscript | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/source3/wscript b/source3/wscript
|
||||
index e81a47b..aade503 100644
|
||||
--- a/source3/wscript
|
||||
+++ b/source3/wscript
|
||||
@@ -812,7 +812,7 @@ msg.msg_acctrightslen = sizeof(fd);
|
||||
'PUTUTLINE_RETURNS_UTMP', headers='utmp.h',
|
||||
msg="Checking whether pututline returns pointer")
|
||||
conf.CHECK_SIZEOF(['((struct utmp *)NULL)->ut_line'], headers='utmp.h',
|
||||
- define='SIZEOF_UTMP_UT_LINE')
|
||||
+ define='SIZEOF_UTMP_UT_LINE', critical=False)
|
||||
if not conf.CONFIG_SET('SIZEOF_UTMP_UT_LINE'):
|
||||
conf.env.with_utmp = False
|
||||
elif int(conf.env.SIZEOF_UTMP_UT_LINE) < 15:
|
||||
--
|
||||
1.8.3.2
|
||||
|
@ -1,11 +1,10 @@
|
||||
comment "samba4 needs an (e)glibc toolchain"
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC
|
||||
|
||||
config BR2_PACKAGE_SAMBA4
|
||||
bool "samba4"
|
||||
depends on !BR2_PACKAGE_SAMBA
|
||||
depends on BR2_INET_IPV6
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_USE_WCHAR # e2fsprogs
|
||||
depends on BR2_LARGEFILE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # talloc python threads
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC # needs nss.h, $ORIGIN support
|
||||
depends on !BR2_nios2 # binary too large, relocations don't fit
|
||||
select BR2_PACKAGE_E2FSPROGS
|
||||
select BR2_PACKAGE_POPT
|
||||
@ -18,7 +17,25 @@ config BR2_PACKAGE_SAMBA4
|
||||
|
||||
http://www.samba.org/
|
||||
|
||||
comment "samba4 needs a toolchain w/ IPv6, wchar, largfile, threads"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE || \
|
||||
!BR2_USE_WCHAR || !BR2_INET_IPV6
|
||||
depends on BR2_USE_MMU
|
||||
if BR2_PACKAGE_SAMBA4
|
||||
|
||||
config BR2_PACKAGE_SAMBA4_AD_DC
|
||||
bool "AD DC"
|
||||
select BR2_PACKAGE_GNUTLS
|
||||
help
|
||||
Enable Active Directory Domain Controller functionality.
|
||||
|
||||
config BR2_PACKAGE_SAMBA4_ADS
|
||||
bool "ADS"
|
||||
select BR2_PACKAGE_OPENLDAP
|
||||
help
|
||||
Enable Active Directory member Server functionality.
|
||||
|
||||
config BR2_PACKAGE_SAMBA4_SMBTORTURE
|
||||
bool "smbtorture"
|
||||
help
|
||||
Install the smbtorture test suite.
|
||||
It's normally used for validation and stress testing.
|
||||
Approximately +5 MB of stripped uncompressed target space.
|
||||
|
||||
endif
|
||||
|
@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 7aeb5d09e9c84bbeeb4b98d33404e9dbc4d99c54e64a447cc9c4d57e9255cb1d samba-4.1.17.tar.gz
|
||||
sha256 66a6057815a971fee64fbe936ff6cbad542421a4bd52cba8d8d41afc9abc490f samba-4.2.0.tar.gz
|
||||
|
@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
SAMBA4_VERSION = 4.1.17
|
||||
SAMBA4_SITE = http://ftp.samba.org/pub/samba/stable
|
||||
SAMBA4_VERSION = 4.2.0
|
||||
SAMBA4_SITE = http://ftp.samba.org/pub/samba
|
||||
SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz
|
||||
SAMBA4_LICENSE = GPLv3+
|
||||
SAMBA4_LICENSE_FILES = COPYING
|
||||
@ -69,6 +69,15 @@ else
|
||||
SAMBA4_CONF_OPTS += --without-regedit
|
||||
endif
|
||||
|
||||
# The ctdb tests (cluster) need bash and take up some space
|
||||
# They're normally intended for debugging so remove them
|
||||
define SAMBA4_REMOVE_CTDB_TESTS
|
||||
rm -rf $(TARGET_DIR)/usr/lib/ctdb-tests
|
||||
rm -rf $(TARGET_DIR)/usr/share/ctdb-tests
|
||||
rm -f $(TARGET_DIR)/usr/bin/ctdb_run_*tests
|
||||
endef
|
||||
SAMBA4_POST_INSTALL_TARGET_HOOKS += SAMBA4_REMOVE_CTDB_TESTS
|
||||
|
||||
define SAMBA4_CONFIGURE_CMDS
|
||||
cp package/samba4/samba4-cache.txt $(@D)/cache.txt;
|
||||
echo 'Checking uname machine type: $(BR2_ARCH)' >>$(@D)/cache.txt;
|
||||
@ -93,9 +102,7 @@ define SAMBA4_CONFIGURE_CMDS
|
||||
--without-pam \
|
||||
--without-dmapi \
|
||||
--disable-glusterfs \
|
||||
--without-ldap \
|
||||
--without-cluster-support \
|
||||
--without-ads \
|
||||
--with-cluster-support \
|
||||
--bundled-libraries='!asn1_compile,!compile_et' \
|
||||
$(SAMBA4_CONF_OPTS) \
|
||||
)
|
||||
@ -119,18 +126,27 @@ endef
|
||||
SAMBA4_POST_INSTALL_TARGET_HOOKS += SAMBA4_BUILD_PYC_FILES
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SAMBA4_AD_DC),)
|
||||
SAMBA4_CONF_OPTS += --without-ad-dc
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SAMBA4_ADS),y)
|
||||
SAMBA4_CONF_OPTS += --with-ads --with-ldap --with-shared-modules=idmap_ad
|
||||
SAMBA4_DEPENDENCIES += openldap
|
||||
else
|
||||
SAMBA4_CONF_OPTS += --without-ads --without-ldap
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SAMBA4_SMBTORTURE),)
|
||||
define SAMBA4_REMOVE_SMBTORTURE
|
||||
rm -f $(TARGET_DIR)/usr/bin/smbtorture
|
||||
endef
|
||||
SAMBA4_POST_INSTALL_TARGET_HOOKS += SAMBA4_REMOVE_SMBTORTURE
|
||||
endif
|
||||
|
||||
define SAMBA4_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -m 0755 -D package/samba4/S91smb \
|
||||
$(TARGET_DIR)/etc/init.d/S91smb
|
||||
endef
|
||||
|
||||
# uClibc doesn't honor $ORIGIN so we need to move a few libs
|
||||
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
|
||||
define SAMBA4_MOVE_LIBS
|
||||
mv -f $(TARGET_DIR)/usr/lib/samba/libreplace* $(TARGET_DIR)/usr/lib
|
||||
mv -f $(TARGET_DIR)/usr/lib/samba/libtalloc* $(TARGET_DIR)/usr/lib
|
||||
endef
|
||||
SAMBA4_POST_INSTALL_TARGET_HOOKS += SAMBA4_MOVE_LIBS
|
||||
endif
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
Loading…
Reference in New Issue
Block a user