buildrootschalter/package/samba4/samba4-0001-build-don-t-execute-tests-summary.c.patch
Gustavo Zacarias dee1cf0cdf samba4: new package
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>
2014-03-02 15:20:47 +01:00

70 lines
2.4 KiB
Diff

From 960d710ee5410a5c03815a5ce6837203be00d218 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Thu, 30 Jan 2014 11:14:27 -0300
Subject: [PATCH 1/3] build: don't execute tests/summary.c
tests/summary.c will never be able to be executed when cross compiling.
Use #error and #warning directives to fail or warn accordingly when
compiling it.
Status: upstream for next branch.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
tests/summary.c | 14 +++++---------
wscript | 1 -
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/tests/summary.c b/tests/summary.c
index 27f7d4d..0843ee2 100644
--- a/tests/summary.c
+++ b/tests/summary.c
@@ -5,27 +5,23 @@ void exit(int);
int main()
{
#if !defined(HAVE_FCNTL_LOCK)
- printf("ERROR: No locking available. Running Samba would be unsafe\n");
- exit(1);
+#error "ERROR: No locking available. Running Samba would be unsafe"
#endif
#if !(defined(HAVE_IFACE_GETIFADDRS) || defined(HAVE_IFACE_IFCONF) || defined(HAVE_IFACE_IFREQ) || defined(HAVE_IFACE_AIX))
- printf("WARNING: No automated network interface determination\n");
+#warning "WARNING: No automated network interface determination"
#endif
#if !(defined(USE_SETEUID) || defined(USE_SETREUID) || defined(USE_SETRESUID) || defined(USE_SETUIDX) || defined(USE_LINUX_THREAD_CREDENTIALS))
- printf("ERROR: no seteuid method available\n");
- exit(1);
+#error "ERROR: no seteuid method available"
#endif
#if !(defined(STAT_STATVFS) || defined(STAT_STATFS3_OSF1) || defined(STAT_STATFS2_BSIZE) || defined(STAT_STATFS4) || defined(STAT_STATFS2_FSIZE) || defined(STAT_STATFS2_FS_DATA))
- printf("ERROR: No disk free routine!\n");
- exit(1);
+#error "ERROR: No disk free routine!"
#endif
#if !((defined(HAVE_RANDOM) || defined(HAVE_RAND)) && (defined(HAVE_SRANDOM) || defined(HAVE_SRAND)))
- printf("ERROR: No random or srandom routine!\n");
- exit(1);
+#error "ERROR: No random or srandom routine!"
#endif
exit(0);
diff --git a/wscript b/wscript
index 47b7b50..26431a4 100644
--- a/wscript
+++ b/wscript
@@ -170,7 +170,6 @@ def configure(conf):
if not conf.CHECK_CODE('#include "tests/summary.c"',
define='SUMMARY_PASSES',
addmain=False,
- execute=True,
msg='Checking configure summary'):
raise Utils.WafError('configure summary failed')
--
1.8.3.2