Skip to contentSkip to conversation

samba4: bump to version 4.1.7 and improve cross build

PATCH New Gustavo Zacarias 3 participants 3 messages Apr 23, 2014 – Apr 24, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 samba4: bump to version 4.1.7 and improve cross build

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.

---
 package/samba4/Config.in                           |   3 -
 package/samba4/powerpc-cache.txt                   |  65 --------
 ...ld-don-t-execute-statfs-and-f_fsid-checks.patch |  10 +-
 ...line-switch-to-new-style-readline-typedef.patch |  32 ----
 ...4-0007-build-find-blkcnt_t-size-via-array.patch |  52 +++++++
 ...ba4-0008-build-unify-and-fix-endian-tests.patch | 163 +++++++++++++++++++++
 ...fsamba-CHECK_SIZEOF-cross-compile-friendl.patch |  66 +++++++++
 ...mba4-0010-build-tweak-SIZEOF-utmp-ut_line.patch |  31 ++++
 package/samba4/{arm-cache.txt => samba4-cache.txt} |  28 ----
 package/samba4/samba4.mk                           |   5 +-
 package/samba4/x86_64-cache.txt                    |  65 --------
 11 files changed, 319 insertions(+), 201 deletions(-)
 delete mode 100644 package/samba4/powerpc-cache.txt
 delete mode 100644 package/samba4/samba4-0006-smbreadline-switch-to-new-style-readline-typedef.patch
 create mode 100644 package/samba4/samba4-0007-build-find-blkcnt_t-size-via-array.patch
 create mode 100644 package/samba4/samba4-0008-build-unify-and-fix-endian-tests.patch
 create mode 100644 package/samba4/samba4-0009-build-make-wafsamba-CHECK_SIZEOF-cross-compile-friendl.patch
 create mode 100644 package/samba4/samba4-0010-build-tweak-SIZEOF-utmp-ut_line.patch
 rename package/samba4/{arm-cache.txt => samba4-cache.txt} (63%)
 delete mode 100644 package/samba4/x86_64-cache.txt
package/samba4/Config.in +0 -3
index bea26cb..c9a4712 100644
@@ -6,8 +6,6 @@ config BR2_PACKAGE_SAMBA4
 	depends on BR2_USE_WCHAR # e2fsprogs
 	depends on BR2_LARGEFILE
 	depends on BR2_TOOLCHAIN_HAS_THREADS # talloc python threads
-	# Supported architectures only limited by the cached answers
-	depends on BR2_arm || BR2_powerpc || BR2_x86_64
 	select BR2_PACKAGE_E2FSPROGS
 	select BR2_PACKAGE_POPT
 	select BR2_PACKAGE_PYTHON
@@ -20,6 +18,5 @@ config BR2_PACKAGE_SAMBA4
 	  http://www.samba.org/
 
 comment "samba4 needs a toolchain w/ IPv6, wchar, largfile, threads"
-	depends on BR2_arm || BR2_powerpc || BR2_x86_64
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE || \
 		!BR2_USE_WCHAR || !BR2_INET_IPV6
package/samba4/powerpc-cache.txt deleted +0 -65

65 lines not on this page · raw message

package/samba4/samba4-0002-build-don-t-execute-statfs-and-f_fsid-checks.patch +4 -6
index ec46650..9dc3185 100644
@@ -1,24 +1,22 @@
-From 3c16a171c008b584ed427988dde73c1d9a9de4ad Mon Sep 17 00:00:00 2001
+From 5e0bafd6504916dd7de5b1ae90e7253d11498435 Mon Sep 17 00:00:00 2001
 From: Gustavo Zacarias <[email protected]>
 Date: Mon, 20 Jan 2014 10:17:19 -0300
-Subject: [PATCH 2/3] build: don't execute statfs and f_fsid checks
+Subject: [PATCH 1/5] build: don't execute statfs and f_fsid checks
 
 There's no need to execute the statfs and statfs.f_fsid checks, the
 return value is of no consequence since it's undefined in some
 platforms and prevents cross-compiling.
 
-Status: sent, not yet upstream pending more testing.
-
 Signed-off-by: Gustavo Zacarias <[email protected]>
 ---
  source3/wscript | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/source3/wscript b/source3/wscript
-index 501707b..2d0a62e 100644
+index 4fe49fa..e81a47b 100644
 --- a/source3/wscript
 +++ b/source3/wscript
-@@ -468,8 +468,7 @@ return acl_get_perm_np(permset_d, perm);
+@@ -476,8 +476,7 @@ return acl_get_perm_np(permset_d, perm);
      conf.CHECK_CODE('struct statfs fsd; fsid_t fsid = fsd.f_fsid; return statfs(".", &fsd);',
                      'HAVE_STATFS_F_FSID',
                      msg="vfs_fileid: checking for statfs() and struct statfs.f_fsid",
package/samba4/samba4-0006-smbreadline-switch-to-new-style-readline-typedef.patch deleted +0 -32
deleted file mode 100644
index 65d0950..0000000
@@ -1,32 +0,0 @@
-From 0d4f18b88c3e687b83dcbe4c27f74424cf2f2043 Mon Sep 17 00:00:00 2001
-From: Gustavo Zacarias <[email protected]>
-Date: Mon, 3 Mar 2014 07:57:24 -0300
-Subject: [PATCH] smbreadline: switch to new-style readline typedef
-
-Function, CPFunction, CPPFunction and VFunction typedefs are considered
-old-style (deprecated) starting from readline 4.2.
-Compatibility typedefs have been in place up to readline 6.2 but were
-removed with the 6.3 release thus causing builds to break.
-Swtich to the new-style specific prototyped typedef.
-
-Signed-off-by: Gustavo Zacarias <[email protected]>
----
- libcli/smbreadline/smbreadline.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libcli/smbreadline/smbreadline.c b/libcli/smbreadline/smbreadline.c
-index cff25a7..80e10b0 100644
---- a/libcli/smbreadline/smbreadline.c
-+++ b/libcli/smbreadline/smbreadline.c
-@@ -141,7 +141,7 @@ char *smb_readline(const char *prompt, void (*callback)(void),
- 
- #if HAVE_DECL_RL_EVENT_HOOK
- 	if (callback)
--		rl_event_hook = (Function *)callback;
-+		rl_event_hook = (rl_hook_func_t *)callback;
- #endif
- 	ret = readline(prompt);
- 	if (ret && *ret)
--- 
-1.8.3.2
-
package/samba4/samba4-0007-build-find-blkcnt_t-size-via-array.patch new file +52 -0

52 lines not on this page · raw message

package/samba4/samba4-0008-build-unify-and-fix-endian-tests.patch new file +163 -0

163 lines not on this page · raw message

package/samba4/samba4-0009-build-make-wafsamba-CHECK_SIZEOF-cross-compile-friendl.patch new file +66 -0

66 lines not on this page · raw message

package/samba4/samba4-0010-build-tweak-SIZEOF-utmp-ut_line.patch new file +31 -0
new file mode 100644
index 0000000..c90f025
@@ -0,0 +1,31 @@
+From 1a7f4f5e3fbbe83e147fffdfe00d7f37181a8ec1 Mon Sep 17 00:00:00 2001
+From: Gustavo Zacarias <[email protected]>
+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.
+
+Signed-off-by: Gustavo Zacarias <[email protected]>
+---
+ 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
+
package/samba4/samba4-cache.txt renamed from package/samba4/arm-cache.txt +0 -28
similarity index 63%
rename from package/samba4/arm-cache.txt
rename to package/samba4/samba4-cache.txt
index 70b19e3..8e97d42 100644
@@ -12,13 +12,9 @@ Checking for HAVE_MREMAP: OK
 Checking for HAVE_INCOHERENT_MMAP: NO
 Checking for HAVE_SECURE_MKSTEMP: OK
 Checking for HAVE_IFACE_GETIFADDRS: OK
-Checking for HAVE_LITTLE_ENDIAN - runtime: OK
-Checking for HAVE_BIG_ENDIAN - runtime: NO
 Checking for kernel change notify support: OK
 Checking for Linux kernel oplocks: OK
 Checking for kernel share modes: OK
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
 Checking if can we convert from CP850 to UCS-2LE: OK
 Checking if can we convert from UTF-8 to UCS-2LE: OK
 Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
@@ -33,32 +29,8 @@ Checking whether POSIX capabilities are available: OK
 Checking for ftruncate extend: OK
 getcwd takes a NULL argument: OK
 Checking uname sysname type: "Linux"
-Checking uname machine type: "arm"
 Checking uname release type: "3.0.0"
 Checking uname version type: "#1 Tue Nov 1 12:34:56 UTC 2013"
-Checking for WORDS_BIGENDIAN: NO
-Checking size of bool: "1"
-Checking size of char: "1"
-Checking size of int: "4"
-Checking size of long long: "8"
-Checking size of long: "4"
-Checking size of short: "2"
-Checking size of size_t: "4"
-Checking size of ssize_t: "4"
-Checking size of int8_t: "1"
-Checking size of uint8_t: "1"
-Checking size of int16_t: "2"
-Checking size of uint16_t: "2"
-Checking size of int32_t: "4"
-Checking size of uint32_t: "4"
-Checking size of int64_t: "8"
-Checking size of uint64_t: "8"
-Checking size of void*: "4"
-Checking size of off_t: "8"
-Checking size of dev_t: "8"
-Checking size of ino_t: "8"
-Checking size of time_t: "4"
-Checking size of ((struct utmp *)NULL)->ut_line: "32"
 Checking value of NSIG: "65"
 Checking value of _NSIG: "65"
 Checking value of SIGRTMAX: "64"
package/samba4/samba4.mk +3 -2
index 939cf0c..bd3d598 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SAMBA4_VERSION = 4.1.6
+SAMBA4_VERSION = 4.1.7
 SAMBA4_SITE = http://ftp.samba.org/pub/samba/stable
 SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz
 SAMBA4_LICENSE = GPLv3+
@@ -62,7 +62,8 @@ else
 endif
 
 define SAMBA4_CONFIGURE_CMDS
-	cp package/samba4/$(call qstrip,$(BR2_ARCH))-cache.txt $(@D)/cache.txt;
+	cp package/samba4/samba4-cache.txt $(@D)/cache.txt;
+	echo 'Checking uname machine type: $(BR2_ARCH)' >>$(@D)/cache.txt;
 	(cd $(@D); \
 		PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python-config" \
 		python_LDFLAGS="" \
package/samba4/x86_64-cache.txt deleted +0 -65

65 lines not on this page · raw message

Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/1 samba4: bump to version 4.1.7 and improve cross build

Quoted 7 lines · Gustavo Zacarias

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.

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH 1/1 samba4: bump to version 4.1.7 and improve cross build

In reply to Gustavo Zacarias

Dear Gustavo Zacarias,

Quoted 7 lines · Gustavo Zacarias

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.

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com