[SCM] Samba Shared Repository - branch v4-2-test updated
Karolin Seeger
kseeger at samba.org
Tue Jan 27 05:23:06 MST 2015
The branch, v4-2-test has been updated
via a4fdd14 wafsamba: create unique names when building shared modules
via 47c1038 wafsamba: remove unused variable in SAMBA_MODULE()
via 3e865e1 wafsamba: passing 'subsystem' to SAMBA_MODULE() is not optional
via f9fbb92 wafsamba: make it possible to pass bundled_name to SAMBA_LIBRARY()
via 23a4ba8 wafadmin: backported the openbsd fixes from waf 1.7
via aada20e wafsamba: remove commented out code.
via 8001ec4 Revert "waf: added suncc_wrap"
via deb4041 wafsamba: generate an empty.c file if a SAMBA_{LIBRARY,SUBSYSTEM} doesn't have any source files
via b2bb6ae wafsamba: flags from enviroment are put before our own internal versions
via 573c452 wafsamba: filter out standard library paths from RPATH and LIBPATH
via 28e48f3 wafsamba: fix ordering problems with lib-provided and internal RPATHs
via c2a5e08 wafsamba: make it possible to specify ADDITIONAL_{CFLAGS,LDFLAGS} as env var to ./configure
via 320ee4e wafsamba: improve -fvisibility=hidden, we should check it together this WERROR_CFLAGS
via f36016e wafsamba: let CURRENT_CFLAGS() use bld.env.VISIBILITY_CFLAGS
via c6f5361 wafsamba: move -fvisibility=hidden checks from lib/replace to wafsamba
via 57855ba wafsamba: move '-fstack-protector' checks from lib/replace to wafsamba
via 1e84abd0 wafsamba: move WERROR_CFLAGS checks from lib/replace to wafsamba
via 17ae6ba wafsamba: move compiler / cflags related stuff from lib/replace to wafsamba
via cb71b4b wafsamba: let TO_LIST(mylist) return a copy of mylist
via 1b57443 wafsamba: check for rpath compiler/linker flags
via fe9897b wafsamba: fill PRIVATE_NAME() logic again
via 5a257a0 wafsamba: add -Werror=return-type for developer builds
via 1b31b8e Reduce the no-op build times by 30%
via 94aceed Don't use a nested function when testing for visibility attribute support.
via ac06d67 Fix more pep8 issues in code I touched recently.
via 488def5 Remove last instances of pep8 error E712 (use 'is' rather than '==' for booleans)
via 99b4213 s3: lib, s3: modules: Fix compilation on Solaris.
via 8a5df7d s4:dsdb/tests: add test_timevalues1() to verify timestamp values
via a707d53 ldb: version 1.1.20
via cd82192 lib/ldb: fix logic in ldb_val_to_time()
via 62487b6 Remove use of the "staticforward" macro
via 84008fe ldb: bump to version 1.1.19
via 3a97cea ldb: Allow to register extended match rules
from f45d30c s3-pam_smbpass: Fix memory leak in pam_sm_authenticate().
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-2-test
- Log -----------------------------------------------------------------
commit a4fdd14b366ea145678ea3387a894d596358003a
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 17 00:24:53 2015 +0100
wafsamba: create unique names when building shared modules
After commit 76fdcf5c15bd904c3686f0c2dd93d27486c61ca4, we could endup
with bin/default/source3/auth/libauth-samba4.so being created two times.
Once by SAMBA3_LIBRARY('auth',...) and once again by SAMBA3_MODULE('auth_samba4', ...).
As a result bin/default/source3/auth/libauth-samba4.so gets randomly
overwritten.
SAMBA3_MODULE('auth_samba4', ...) results in
bin/default/source3/auth/libauth_module_samba4.so now.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jelmer Vernooij <jelmer at samba.org>
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Mon Jan 19 04:43:53 CET 2015 on sn-devel-104
(cherry picked from commit 47155641cb48d39d3ee7d8b8962f5ed6b23617d4)
Autobuild-User(v4-2-test): Karolin Seeger <kseeger at samba.org>
Autobuild-Date(v4-2-test): Tue Jan 27 13:22:33 CET 2015 on sn-devel-104
commit 47c1038b18852041ae003d0cef64b6d7721ba8dc
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 17 00:24:53 2015 +0100
wafsamba: remove unused variable in SAMBA_MODULE()
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jelmer Vernooij <jelmer at samba.org>
(cherry picked from commit 4da20e2e31790ca54f17b4a6039c24b7b502ac5f)
commit 3e865e12913e3483f8a83b5ab0c8f57fca1e71e8
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 17 00:24:53 2015 +0100
wafsamba: passing 'subsystem' to SAMBA_MODULE() is not optional
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jelmer Vernooij <jelmer at samba.org>
(cherry picked from commit 85a30cc44070b09de963961ccfa3d7c40144317b)
commit f9fbb92f20d59539c544b2f8a2eddc309ca6e539
Author: Stefan Metzmacher <metze at samba.org>
Date: Sat Jan 17 00:24:53 2015 +0100
wafsamba: make it possible to pass bundled_name to SAMBA_LIBRARY()
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jelmer Vernooij <jelmer at samba.org>
(cherry picked from commit 7668e457a6463fb2c1d7499659f37d10ca322190)
commit 23a4ba874011814580e81bbb811c7a401e7868a6
Author: Thomas Nagy <tnagy2pow10 at gmail.com>
Date: Tue Sep 17 00:00:40 2013 +0200
wafadmin: backported the openbsd fixes from waf 1.7
This is a backport from waf 1.5...
Reviewed-by: Michael Adam <obnox at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Fri Jan 9 02:02:07 CET 2015 on sn-devel-104
(cherry picked from commit 115eb94215f4d9c73d05606de2ad978f6b48d07f)
commit aada20e0c0659e3bc556fabbae203eaddacba1b3
Author: Michael Adam <obnox at samba.org>
Date: Mon Dec 22 11:30:21 2014 +0100
wafsamba: remove commented out code.
This code has only ever been there as commented out...
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
Signed-off-by: Michael Adam <obnox at samba.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
(cherry picked from commit 9f2979a1a42f4714bdc49d09e4b5094333409834)
commit 8001ec4fa7a9f0a1fcf3a958552dd68d9dc42514
Author: Michael Adam <obnox at samba.org>
Date: Mon Dec 22 11:27:40 2014 +0100
Revert "waf: added suncc_wrap"
This reverts commit 65743f932b511db009655847e77288c95c0aa525.
Conflicts:
buildtools/wafsamba/samba_optimisation.py
Signed-off-by: Michael Adam <obnox at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
(cherry picked from commit ffff95d421e3ca7fa31ec668a2e8fc7fdaee05df)
commit deb4041958bcd4b236fc82092a4bff42fafd2442
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Dec 19 13:10:30 2014 +0100
wafsamba: generate an empty.c file if a SAMBA_{LIBRARY,SUBSYSTEM} doesn't have any source files
This is better than passing '-' as filename to the compiler/linker.
This replaces commit 65743f932b511db009655847e77288c95c0aa525.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=9334
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10315
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Michael Adam <obnox at samba.org>
(cherry picked from commit d7bd51a79d0784d3db809c0c5e82193f79799dc3)
commit b2bb6aeb8057ac725f6ad12378344b201c3a3ba2
Author: Ralph Boehme <slow at samba.org>
Date: Fri Dec 19 09:05:33 2014 +0100
wafsamba: flags from enviroment are put before our own internal versions
Ensure user provided CPPFLAGS and LDFLAGS are put *behind* our
internally computed compiler and linker flags.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10877
Pair-Programmed-With: Michael Adam <obnox at samba.org>
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
Signed-off-by: Ralph Boehme <slow at samba.org>
Signed-off-by: Michael Adam <obnox at samba.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
(cherry picked from commit a6bda1f2bc85779feb9680bc74821da5ccd401c5)
commit 573c4522f25f434b8dd3ceac622075d16c1d4eac
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 18 21:36:07 2014 +0100
wafsamba: filter out standard library paths from RPATH and LIBPATH
We should avoid passing them explicitly to the compiler/linker.
We ask the compiler with the '-print-search-dirs' argument
or fallback to [ '/usr/lib', '/usr/lib64' ].
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
Signed-off-by: Michael Adam <obnox at samba.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 707dc16987c982b75c83cd5b06d4373c23e777e0)
commit 28e48f36c792b73e36b49c879d095d984cc75e69
Author: Michael Adam <obnox at samba.org>
Date: Thu Dec 18 18:09:15 2014 +0100
wafsamba: fix ordering problems with lib-provided and internal RPATHs
When a library or system (like cups) provides an RPATH,
e.g. with -Wl,-R or -Wl,-rpath, this was added by waf
to the LINKFLAGS, wich was later prepended to our RPATH.
But if the path by chance contains an older version of
one of our internal libraries like talloc, this would lead
to linking the too old talloc into our binaries.
This has been observed on, e.g., FreeBSD, but it is a general
problem.
This patch fixes the problem by specially parsing the RPATH
linker options from the pkg-config(, cups-config, ....) output
and putting the paths into the RPATH_<lib> container, which
is then later correctly appended to our internal RPATH.
This is a better fix than commit 64f5e24100a764ec198cab9a8d2c43fa86e7027c
as it touches wafsamba only. 64f5e24100a764ec198cab9a8d2c43fa86e7027c
is already in waf 1.5 upstream, but has some possible bugs,
e.g. it doesn't handle -Wl,-R, (with ',' at the end)
or some combinations where the path is given via an additional
-Wl,/path argument.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10548
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
Signed-off-by: Michael Adam <obnox at samba.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit dc808a466ef835535a3d4bb87f19316eeff1c567)
commit c2a5e0818fa61118d352b7367785ad72688feb77
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 11:13:04 2015 +0100
wafsamba: make it possible to specify ADDITIONAL_{CFLAGS,LDFLAGS} as env var to ./configure
CFLAGS and LDFLAGS are also used during the configure checks and might impact
their results.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit d744c7c080d81121b84a592a95761e03c2a1090c)
commit 320ee4ed36fe2b1c4bb22942373ad13768ae420f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 09:16:57 2015 +0100
wafsamba: improve -fvisibility=hidden, we should check it together this WERROR_CFLAGS
GCC ignores -fvisibility=hidden with a warning instead of failing
om some platforms (e.g. Solaris).
Bug: https://bugzilla.samba.org/show_bug.cgi?id=11031
Based on a patch from Tom Schulz <schulz at adi.com>.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit 46fdd6221e9c64b459e0d05e6d02d89deb8dafb5)
commit f36016e8102e6b94aeac8b7b267cb445a10d1e74
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 09:58:38 2015 +0100
wafsamba: let CURRENT_CFLAGS() use bld.env.VISIBILITY_CFLAGS
This is better than a hardcoded value in multiple places.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit 52eb8854ff8535577c9282f8e4133875fbb0ed33)
commit c6f5361d4995ee706e1656e823516b336b49af8c
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 09:56:56 2015 +0100
wafsamba: move -fvisibility=hidden checks from lib/replace to wafsamba
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit 4683fc0f1dc5af3bcf81edaebfbd6c8d3b38df9e)
commit 57855ba89a723cbafddf3398beca2fa41c09d95f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 09:54:43 2015 +0100
wafsamba: move '-fstack-protector' checks from lib/replace to wafsamba
This moves the check to the end of the configure run,
which means we no longer use this on configure checks,
but only for the real build.
This behavior is similar than our developer cflags.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit 208be32c6a9b275c507fb5e3334b832a3cb9578a)
commit 1e84abd0509cbd98def1a4c82233b452f19a1439
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 09:52:53 2015 +0100
wafsamba: move WERROR_CFLAGS checks from lib/replace to wafsamba
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit 0f4ce418ae1410a294aa6e629beea68c6a16aff8)
commit 17ae6ba5c18b79721e639f486095a182adc82497
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 09:48:38 2015 +0100
wafsamba: move compiler / cflags related stuff from lib/replace to wafsamba
We should have this just in one central place.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit 7a3dc668528f398458851aca5d27ff789414343a)
commit cb71b4b1aafaa3fae8c19b6d2cfd1b0e40d2ff95
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Jan 7 09:41:02 2015 +0100
wafsamba: let TO_LIST(mylist) return a copy of mylist
In most cases we have TO_LIST(mystring) which returns an independent
list.
newlist = TO_LIST(mylist) returned just a reference to mylist.
Which means newlist.append("end") would also modify mylist.
TO_LIST() should always return an independent list.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
(cherry picked from commit ab4b988ba2ba85ec2bfb01d7711d6870b3e0f710)
commit 1b5744352fef07c4a6f9492946a6bf0a9a4a4c9a
Author: Ralph Boehme <slow at samba.org>
Date: Thu Dec 18 06:37:28 2014 +0100
wafsamba: check for rpath compiler/linker flags
Older SunOS linker only support -Wl,-R,/path instead of -Wl,-rpath,/path.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112
Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
Signed-off-by: Ralph Boehme <slow at samba.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
(cherry picked from commit 89cc31f5cf9181f04f3ca1a5f7000ee15a74e86e)
commit fe9897b71356cc788aa8a41e0cc9e478615312a2
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Dec 18 15:05:12 2014 +0100
wafsamba: fill PRIVATE_NAME() logic again
We append bld.env.PRIVATE_EXTENSION to the name of private libraries
again, but only unless they have a abi_directory, vnum or soname defined.
This avoids naming conflicts with system libraries, e.g. libidmap.so
on Solaris
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
(cherry picked from commit 76fdcf5c15bd904c3686f0c2dd93d27486c61ca4)
commit 5a257a02951717089b7fa76bcabeb1bfaab7e22b
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Nov 7 09:36:16 2014 +0100
wafsamba: add -Werror=return-type for developer builds
This avoids errors like this:
../source3/utils/status.c: In function ‘print_share_mode’:
../source3/utils/status.c:126:3: error: ‘return’ with no value, in function
returning non-void [-Werror=return-type]
return;
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 6ff9388172909ce249fd6254703eee707d821731)
commit 1b31b8e50bdfe566f074d9f61ee60c3c90b60ffb
Author: Thomas Nagy <tnagy2pow10 at gmail.com>
Date: Fri Sep 26 23:46:01 2014 +0200
Reduce the no-op build times by 30%
Change-Id: Ie68436c1e7c75c1786e9ed6b6a54d2b55abbbcea
Reviewed-by: Matthieu Patou <mat at matws.net>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Autobuild-User(master): Michael Adam <obnox at samba.org>
Autobuild-Date(master): Fri Oct 3 13:25:18 CEST 2014 on sn-devel-104
(cherry picked from commit 1c5ef289a872cf0dc78b2e9dd35b20fa99db86fb)
commit 94aceede403e5f7e9d56758aa0f54e1b4ca59a08
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Sat Nov 8 16:22:30 2014 +0000
Don't use a nested function when testing for visibility attribute support.
Some compilers support __attribute__((visibility)), but not nested
functions (e.g. http://www.cprover.org/goto-cc/)
Change-Id: I01a5dd6f5f913664621c4090e2dca177527436bb
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749983
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749985
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749986
Signed-Off-By: Jelmer Vernooij <jelmer at debian.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Mon Nov 10 08:29:19 CET 2014 on sn-devel-104
(cherry picked from commit 2afc5b797826780c07e04ed153edc82f410668a2)
commit ac06d67a7208e4e9b30d5225de691c6902e7b0d6
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Mon Jun 2 02:53:01 2014 +0200
Fix more pep8 issues in code I touched recently.
Signed-Off-By: Jelmer Vernooij <jelmer at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Change-Id: I35f3204bdf5d00b3280d703427ded2fa2163a6f7
(similar to commit 0c2408531709eb720a2e96f72afbc2ecbfe6b06d)
This only backports the buildtools/wafsamba/ changes
commit 488def5030d9a14473fe4a7c701c908bb426a568
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Mon Jun 2 02:36:13 2014 +0200
Remove last instances of pep8 error E712 (use 'is' rather than '==' for booleans)
Signed-Off-By: Jelmer Vernooij <jelmer at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Change-Id: I43b394a6225b4c2049d979fda75548c82d781f67
(cherry picked from commit bd6faaf56a6237874cc84ddb8be0f09a9b742a54)
commit 99b421326d7dbb56cdf0674ff1620fcf16be85b3
Author: Jeremy Allison <jra at samba.org>
Date: Fri Oct 3 09:24:04 2014 -0700
s3: lib, s3: modules: Fix compilation on Solaris.
Based on work from YOUZHONG YANG <youzhong at gmail.com>.
Code needs fixing when HAVE_STRUCT_MSGHDR_MSG_CONTROL is
not defined. Also Solaris doesn't have msg_flags field
(which we set to zero anyway, so if we initialize
the entire struct to zero, we never need to refer to it).
https://bugzilla.samba.org/show_bug.cgi?id=10849
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Autobuild-User(master): Andreas Schneider <asn at cryptomilk.org>
Autobuild-Date(master): Mon Oct 6 12:33:36 CEST 2014 on sn-devel-104
(cherry picked from commit 57bcb8055eb3e15c4ce7bcdeeef7efed175ed347)
commit 8a5df7dcdddca59a65a24991004261084df359f1
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Jan 9 08:56:59 2015 +0100
s4:dsdb/tests: add test_timevalues1() to verify timestamp values
Bug: https://bugzilla.samba.org/show_bug.cgi?id=9810
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Günther Deschner <gd at samba.org>
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Sat Jan 24 20:17:20 CET 2015 on sn-devel-104
(cherry picked from commit dc2f91020e3b52942f8aab60fd1db70d2afadd51)
commit a707d5343f5c77777205273966bab39c24328a36
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 19 17:17:13 2015 +0100
ldb: version 1.1.20
- Bug 9810 - validate_ldb of String(Generalized-Time) does not accept millisecond format ".000Z"
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Günther Deschner <gd at samba.org>
(cherry picked from commit c7af8ae9d2aa19db2533e69b8a4d7c1b6f8e2d9f)
commit cd82192b2bf8a838412d2cc5785d95353823b41d
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Jan 19 15:47:58 2015 +0100
lib/ldb: fix logic in ldb_val_to_time()
040408072012Z should represent 20040408072012.0Z
as well as 20040408072012.000Z or
20040408072012.RandomIgnoredCharaters...Z
Bug: https://bugzilla.samba.org/show_bug.cgi?id=9810
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Günther Deschner <gd at samba.org>
(cherry picked from commit d1b515535da46591d3a646a848c7427b6ff951a7)
commit 62487b6719d944bdac4690008bce7bb28be42259
Author: Petr Viktorin <pviktori at redhat.com>
Date: Wed Dec 3 13:59:58 2014 +0100
Remove use of the "staticforward" macro
This macro was used for compatibility with broken compilers.
Since Python 2.3, it is always defined as `static`, and only exists
"for source compatibility with old C extensions".
Signed-off-by: Petr Viktorin <pviktori at redhat.com>
Reviewed-by: Jelmer Vernooij <jelmer at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
(cherry picked from commit 02980268e8641a1558c6f475d4669ce4d663504d)
commit 84008feb4a4cd419db0e0f5ad02cf86a489822f1
Author: Andrew Bartlett <abartlet at samba.org>
Date: Fri Dec 19 15:25:03 2014 +1300
ldb: bump to version 1.1.19
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Pair-programmed-by: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
(cherry picked from commit 02f6ab85a0dcec59c12384a8738eecf7d322071f)
commit 3a97ceaa5ca4ac6ffec8760cca92b57ff4af70b5
Author: Samuel Cabrero <samuelcabrero at kernevil.me>
Date: Wed Nov 5 11:02:25 2014 +0100
ldb: Allow to register extended match rules
This allows to extend LDB by registering extended match rules from outside
the library itself. This is necessary when the implementation requires
knowledge about syntaxes implemented in samba extensions, like the
LDAP_MATCHING_RULE_TRANSITIVE_EVAL match.
Signed-off-by: Samuel Cabrero <samuelcabrero at kernevil.me>
Singed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Garming Sam <garming at catalyst.net.nz>
(cherry picked from commit faa4be0535fd41bf282b1afc749a05412f4ee96c)
-----------------------------------------------------------------------
Summary of changes:
buildtools/wafadmin/Tools/ccroot.py | 18 +-
buildtools/wafadmin/Tools/gcc.py | 4 +
buildtools/wafadmin/Tools/gxx.py | 4 +
buildtools/wafsamba/samba3.py | 13 +-
buildtools/wafsamba/samba_autoconf.py | 21 +-
buildtools/wafsamba/samba_bundled.py | 16 +-
buildtools/wafsamba/samba_conftests.py | 82 +++++++
buildtools/wafsamba/samba_deps.py | 6 +-
buildtools/wafsamba/samba_optimisation.py | 250 +++++++++++++++++----
buildtools/wafsamba/samba_utils.py | 3 +-
buildtools/wafsamba/wafsamba.py | 72 ++++--
buildtools/wafsamba/wscript | 47 ++++
lib/ldb-samba/pyldb.c | 2 +-
lib/ldb/ABI/{ldb-1.1.16.sigs => ldb-1.1.19.sigs} | 1 +
lib/ldb/ABI/{ldb-1.1.16.sigs => ldb-1.1.20.sigs} | 1 +
...ldb-util-1.1.10.sigs => pyldb-util-1.1.19.sigs} | 0
...ldb-util-1.1.10.sigs => pyldb-util-1.1.20.sigs} | 0
lib/ldb/common/ldb.c | 5 +
lib/ldb/common/ldb_match.c | 177 ++++++++++++---
lib/ldb/common/ldb_msg.c | 38 +++-
lib/ldb/include/ldb_module.h | 13 ++
lib/ldb/include/ldb_private.h | 6 +
lib/ldb/pyldb.c | 14 +-
lib/ldb/wscript | 2 +-
lib/ntdb/pyntdb.c | 2 +-
lib/replace/wscript | 45 ----
lib/tevent/pytevent.c | 12 +-
pidl/lib/Parse/Pidl/Samba4/Python.pm | 4 +-
source3/lib/unix_msg/unix_msg.c | 19 +-
source3/modules/vfs_aio_fork.c | 5 +-
source3/passdb/py_passdb.c | 6 +-
source4/dsdb/tests/python/ldap.py | 40 ++++
source4/libcli/pysmb.c | 2 +-
source4/librpc/rpc/pyrpc.c | 2 +-
source4/scripting/bin/samba_upgradeprovision | 2 +-
35 files changed, 730 insertions(+), 204 deletions(-)
copy lib/ldb/ABI/{ldb-1.1.16.sigs => ldb-1.1.19.sigs} (99%)
copy lib/ldb/ABI/{ldb-1.1.16.sigs => ldb-1.1.20.sigs} (99%)
copy lib/ldb/ABI/{pyldb-util-1.1.10.sigs => pyldb-util-1.1.19.sigs} (100%)
copy lib/ldb/ABI/{pyldb-util-1.1.10.sigs => pyldb-util-1.1.20.sigs} (100%)
Changeset truncated at 500 lines:
diff --git a/buildtools/wafadmin/Tools/ccroot.py b/buildtools/wafadmin/Tools/ccroot.py
index 264bdc7..d59cf26 100644
--- a/buildtools/wafadmin/Tools/ccroot.py
+++ b/buildtools/wafadmin/Tools/ccroot.py
@@ -177,10 +177,14 @@ def get_target_name(self):
dir, name = os.path.split(self.target)
- if self.env.DEST_BINFMT == 'pe' and getattr(self, 'vnum', None) and 'cshlib' in self.features:
- # include the version in the dll file name,
- # the import lib file name stays unversionned.
- name = name + '-' + self.vnum.split('.')[0]
+ if 'cshlib' in self.features and getattr(self, 'vnum', None):
+ nums = self.vnum.split('.')
+ if self.env.DEST_BINFMT == 'pe':
+ # include the version in the dll file name,
+ # the import lib file name stays unversionned.
+ name = name + '-' + nums[0]
+ elif self.env.DEST_OS == 'openbsd':
+ pattern = '%s.%s.%s' % (pattern, nums[0], nums[1])
return os.path.join(dir, pattern % name)
@@ -598,14 +602,16 @@ def apply_vnum(self):
if not path: return
if self.env.DEST_OS == 'openbsd':
- bld.install_as(path + os.sep + name2, node, env=self.env, chmod=self.link_task.chmod)
+ libname = self.link_task.outputs[0].name
+ bld.install_as('%s%s%s' % (path, os.sep, libname), node, env=self.env)
else:
bld.install_as(path + os.sep + name3, node, env=self.env)
bld.symlink_as(path + os.sep + name2, name3)
bld.symlink_as(path + os.sep + libname, name3)
# the following task is just to enable execution from the build dir :-/
- self.create_task('vnum', node, [node.parent.find_or_declare(name2), node.parent.find_or_declare(name3)])
+ if self.env.DEST_OS != 'openbsd':
+ self.create_task('vnum', node, [node.parent.find_or_declare(name2), node.parent.find_or_declare(name3)])
def exec_vnum_link(self):
for x in self.outputs:
diff --git a/buildtools/wafadmin/Tools/gcc.py b/buildtools/wafadmin/Tools/gcc.py
index 420b44f..a6be0b2 100644
--- a/buildtools/wafadmin/Tools/gcc.py
+++ b/buildtools/wafadmin/Tools/gcc.py
@@ -114,6 +114,10 @@ def gcc_modifier_aix(conf):
v['SHLIB_MARKER'] = ''
@conftest
+def gcc_modifier_openbsd(conf):
+ conf.env['SONAME_ST'] = []
+
+ at conftest
def gcc_modifier_platform(conf):
# * set configurations specific for a platform.
# * the destination platform is detected automatically by looking at the macros the compiler predefines,
diff --git a/buildtools/wafadmin/Tools/gxx.py b/buildtools/wafadmin/Tools/gxx.py
index 8f4a0bf..4984122 100644
--- a/buildtools/wafadmin/Tools/gxx.py
+++ b/buildtools/wafadmin/Tools/gxx.py
@@ -112,6 +112,10 @@ def gxx_modifier_aix(conf):
v['SHLIB_MARKER'] = ''
@conftest
+def gxx_modifier_openbsd(conf):
+ conf.env['SONAME_ST'] = []
+
+ at conftest
def gxx_modifier_platform(conf):
# * set configurations specific for a platform.
# * the destination platform is detected automatically by looking at the macros the compiler predefines,
diff --git a/buildtools/wafsamba/samba3.py b/buildtools/wafsamba/samba3.py
index 64cd8c7..ffe6784 100644
--- a/buildtools/wafsamba/samba3.py
+++ b/buildtools/wafsamba/samba3.py
@@ -6,16 +6,17 @@ from optparse import SUPPRESS_HELP
from samba_utils import os_path_relpath, TO_LIST
from samba_autoconf import library_flags
+
def SAMBA3_ADD_OPTION(opt, option, help=(), dest=None, default=True,
with_name="with", without_name="without"):
if default is None:
- default_str="auto"
- elif default == True:
- default_str="yes"
- elif default == False:
- default_str="no"
+ default_str = "auto"
+ elif default is True:
+ default_str = "yes"
+ elif default is False:
+ default_str = "no"
else:
- default_str=str(default)
+ default_str = str(default)
if help == ():
help = ("Build with %s support (default=%s)" % (option, default_str))
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index f60ce9d..cb33630 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -646,6 +646,10 @@ def SAMBA_CONFIG_H(conf, path=None):
if not IN_LAUNCH_DIR(conf):
return
+ if conf.CHECK_CFLAGS(['-fstack-protector']) and conf.CHECK_LDFLAGS(['-fstack-protector']):
+ conf.ADD_CFLAGS('-fstack-protector')
+ conf.ADD_LDFLAGS('-fstack-protector')
+
if Options.options.debug:
conf.ADD_CFLAGS('-g', testflags=True)
@@ -671,6 +675,8 @@ def SAMBA_CONFIG_H(conf, path=None):
testflags=True)
conf.ADD_CFLAGS('-Werror=declaration-after-statement -Wdeclaration-after-statement',
testflags=True)
+ conf.ADD_CFLAGS('-Werror=return-type -Wreturn-type',
+ testflags=True)
conf.ADD_CFLAGS('-Wformat=2 -Wno-format-y2k', testflags=True)
# This check is because for ldb_search(), a NULL format string
@@ -697,6 +703,19 @@ int main(void) {
if Options.options.pedantic:
conf.ADD_CFLAGS('-W', testflags=True)
+
+ # Let people pass an additional ADDITIONAL_{CFLAGS,LDFLAGS}
+ # environment variables which are only used the for final build.
+ #
+ # The CFLAGS and LDFLAGS environment variables are also
+ # used for the configure checks which might impact their results.
+ conf.add_os_flags('ADDITIONAL_CFLAGS')
+ if conf.env.ADDITIONAL_CFLAGS and conf.CHECK_CFLAGS(conf.env['ADDITIONAL_CFLAGS']):
+ conf.env['EXTRA_CFLAGS'].extend(conf.env['ADDITIONAL_CFLAGS'])
+ conf.add_os_flags('ADDITIONAL_LDFLAGS')
+ if conf.env.ADDITIONAL_LDFLAGS and conf.CHECK_LDFLAGS(conf.env['ADDITIONAL_LDFLAGS']):
+ conf.env['EXTRA_LDFLAGS'].extend(conf.env['ADDITIONAL_LDFLAGS'])
+
if path is None:
conf.write_config_header('config.h', top=True)
else:
@@ -775,7 +794,7 @@ def CURRENT_CFLAGS(bld, target, cflags, allow_warnings=True, hide_symbols=False)
list = bld.env['PICKY_CFLAGS'];
ret.extend(list)
if hide_symbols and bld.env.HAVE_VISIBILITY_ATTR:
- ret.append('-fvisibility=hidden')
+ ret.append(bld.env.VISIBILITY_CFLAGS)
return ret
diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
index 45946d5..515590f 100644
--- a/buildtools/wafsamba/samba_bundled.py
+++ b/buildtools/wafsamba/samba_bundled.py
@@ -7,11 +7,25 @@ from samba_utils import *
def PRIVATE_NAME(bld, name, private_extension, private_library):
'''possibly rename a library to include a bundled extension'''
+ if not private_library:
+ return name
+
# we now use the same private name for libraries as the public name.
# see http://git.samba.org/?p=tridge/junkcode.git;a=tree;f=shlib for a
# demonstration that this is the right thing to do
# also see http://lists.samba.org/archive/samba-technical/2011-January/075816.html
- return name
+ if private_extension:
+ return name
+
+ extension = bld.env.PRIVATE_EXTENSION
+
+ if extension and name.startswith('%s' % extension):
+ return name
+
+ if extension and name.endswith('%s' % extension):
+ return name
+
+ return "%s-%s" % (name, extension)
def target_in_list(target, lst, default):
diff --git a/buildtools/wafsamba/samba_conftests.py b/buildtools/wafsamba/samba_conftests.py
index ec98ba0..1afc6c9 100644
--- a/buildtools/wafsamba/samba_conftests.py
+++ b/buildtools/wafsamba/samba_conftests.py
@@ -4,6 +4,7 @@
import os, shutil, re
import Build, Configure, Utils
from Configure import conf
+import config_c
from samba_utils import *
@@ -506,3 +507,84 @@ def CHECK_XSLTPROC_MANPAGES(conf):
if not conf.CONFIG_SET('XSLTPROC_MANPAGES'):
print "A local copy of the docbook.xsl wasn't found on your system" \
" consider installing package like docbook-xsl"
+
+#
+# Determine the standard libpath for the used compiler,
+# so we can later use that to filter out these standard
+# library paths when some tools like cups-config or
+# python-config report standard lib paths with their
+# ldflags (-L...)
+#
+ at conf
+def CHECK_STANDARD_LIBPATH(conf):
+ # at least gcc and clang support this:
+ try:
+ cmd = conf.env.CC + ['-print-search-dirs']
+ out = Utils.cmd_output(cmd).split('\n')
+ except ValueError:
+ # option not supported by compiler - use a standard list of directories
+ dirlist = [ '/usr/lib', '/usr/lib64' ]
+ except:
+ raise Utils.WafError('Unexpected error running "%s"' % (cmd))
+ else:
+ dirlist = []
+ for line in out:
+ line = line.strip()
+ if line.startswith("libraries: ="):
+ dirliststr = line[len("libraries: ="):]
+ dirlist = [ os.path.normpath(x) for x in dirliststr.split(':') ]
+ break
+
+ conf.env.STANDARD_LIBPATH = dirlist
+
+
+waf_config_c_parse_flags = config_c.parse_flags;
+def samba_config_c_parse_flags(line1, uselib, env):
+ #
+ # We do a special treatment of the rpath components
+ # in the linkflags line, because currently the upstream
+ # parse_flags function is incomplete with respect to
+ # treatment of the rpath. The remainder of the linkflags
+ # line is later passed to the original funcion.
+ #
+ lst1 = shlex.split(line1)
+ lst2 = []
+ while lst1:
+ x = lst1.pop(0)
+
+ #
+ # NOTE on special treatment of -Wl,-R and -Wl,-rpath:
+ #
+ # It is important to not put a library provided RPATH
+ # into the LINKFLAGS but in the RPATH instead, since
+ # the provided LINKFLAGS get prepended to our own internal
+ # RPATH later, and hence can potentially lead to linking
+ # in too old versions of our internal libs.
+ #
+ # We do this filtering here on our own because of some
+ # bugs in the real parse_flags() function.
+ #
+ if x == '-Wl,-rpath' or x == '-Wl,-R':
+ linkflags.remove(x)
+ x = lst1.pop(0)
+ if x.startswith('-Wl,'):
+ rpath = x[4:]
+ else:
+ rpath = x
+ elif x.startswith('-Wl,-R,'):
+ rpath = x[7:]
+ elif x.startswith('-Wl,-R'):
+ rpath = x[6:]
+ elif x.startswith('-Wl,-rpath,'):
+ rpath = x[11:]
+ else:
+ lst2.append(x)
+ continue
+
+ env.append_value('RPATH_' + uselib, rpath)
+
+ line2 = ' '.join(lst2)
+ waf_config_c_parse_flags(line2, uselib, env)
+
+ return
+config_c.parse_flags = samba_config_c_parse_flags
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index c00744e..3be9956 100644
--- a/buildtools/wafsamba/samba_deps.py
+++ b/buildtools/wafsamba/samba_deps.py
@@ -1021,7 +1021,7 @@ def save_samba_deps(bld, tgt_list):
denv.outenv[t.sname] = tdeps
depsfile = os.path.join(bld.bdir, "sambadeps")
- denv.store(depsfile)
+ denv.store_fast(depsfile)
@@ -1031,12 +1031,12 @@ def load_samba_deps(bld, tgt_list):
denv = Environment.Environment()
try:
debug('deps: checking saved dependencies')
- denv.load(depsfile)
+ denv.load_fast(depsfile)
if (denv.version != savedeps_version or
denv.savedeps_inputs != savedeps_inputs or
denv.savedeps_outputs != savedeps_outputs):
return False
- except:
+ except Exception:
return False
# check if critical files have changed
diff --git a/buildtools/wafsamba/samba_optimisation.py b/buildtools/wafsamba/samba_optimisation.py
index f0f430d..5def580 100644
--- a/buildtools/wafsamba/samba_optimisation.py
+++ b/buildtools/wafsamba/samba_optimisation.py
@@ -6,8 +6,10 @@
# overall this makes some build tasks quite a bit faster
-from TaskGen import feature, after
-import preproc, Task
+import os
+import Build, Utils, Node
+from TaskGen import feature, after, before
+import preproc
@feature('cc', 'cxx')
@after('apply_type_vars', 'apply_lib_vars', 'apply_core')
@@ -122,44 +124,208 @@ def hash_constraints(self):
return sum
Task.TaskBase.hash_constraints = hash_constraints
+def hash_env_vars(self, env, vars_lst):
+ idx = str(id(env)) + str(vars_lst)
+ try:
+ return self.cache_sig_vars[idx]
+ except KeyError:
+ pass
+
+ m = Utils.md5()
+ m.update(''.join([str(env[a]) for a in vars_lst]))
+
+ ret = self.cache_sig_vars[idx] = m.digest()
+ return ret
+Build.BuildContext.hash_env_vars = hash_env_vars
+
+
+def store_fast(self, filename):
+ file = open(filename, 'wb')
+ data = self.get_merged_dict()
+ try:
+ Build.cPickle.dump(data, file, -1)
+ finally:
+ file.close()
+Environment.Environment.store_fast = store_fast
+
+def load_fast(self, filename):
+ file = open(filename, 'rb')
+ try:
+ data = Build.cPickle.load(file)
+ finally:
+ file.close()
+ self.table.update(data)
+Environment.Environment.load_fast = load_fast
+
+def is_this_a_static_lib(self, name):
+ try:
+ cache = self.cache_is_this_a_static_lib
+ except AttributeError:
+ cache = self.cache_is_this_a_static_lib = {}
+ try:
+ return cache[name]
+ except KeyError:
+ ret = cache[name] = 'cstaticlib' in self.bld.name_to_obj(name, self.env).features
+ return ret
+TaskGen.task_gen.is_this_a_static_lib = is_this_a_static_lib
+
+def shared_ancestors(self):
+ try:
+ cache = self.cache_is_this_a_static_lib
+ except AttributeError:
+ cache = self.cache_is_this_a_static_lib = {}
+ try:
+ return cache[id(self)]
+ except KeyError:
+
+ ret = []
+ if 'cshlib' in self.features: # or 'cprogram' in self.features:
+ if getattr(self, 'uselib_local', None):
+ lst = self.to_list(self.uselib_local)
+ ret = [x for x in lst if not self.is_this_a_static_lib(x)]
+ cache[id(self)] = ret
+ return ret
+TaskGen.task_gen.shared_ancestors = shared_ancestors
+
+ at feature('cc', 'cxx')
+ at after('apply_link', 'init_cc', 'init_cxx', 'apply_core')
+def apply_lib_vars(self):
+ """after apply_link because of 'link_task'
+ after default_cc because of the attribute 'uselib'"""
+
+ # after 'apply_core' in case if 'cc' if there is no link
+
+ env = self.env
+ app = env.append_value
+ seen_libpaths = set([])
+
+ # OPTIMIZATION 1: skip uselib variables already added (700ms)
+ seen_uselib = set([])
+
+ # 1. the case of the libs defined in the project (visit ancestors first)
+ # the ancestors external libraries (uselib) will be prepended
+ self.uselib = self.to_list(self.uselib)
+ names = self.to_list(self.uselib_local)
+
+ seen = set([])
+ tmp = Utils.deque(names) # consume a copy of the list of names
+ while tmp:
+ lib_name = tmp.popleft()
+ # visit dependencies only once
+ if lib_name in seen:
+ continue
+
+ y = self.name_to_obj(lib_name)
+ if not y:
+ raise Utils.WafError('object %r was not found in uselib_local (required by %r)' % (lib_name, self.name))
+ y.post()
+ seen.add(lib_name)
+
+ # OPTIMIZATION 2: pre-compute ancestors shared libraries (100ms)
+ tmp.extend(y.shared_ancestors())
+
+ # link task and flags
+ if getattr(y, 'link_task', None):
+
+ link_name = y.target[y.target.rfind('/') + 1:]
+ if 'cstaticlib' in y.features:
+ app('STATICLIB', link_name)
+ elif 'cshlib' in y.features or 'cprogram' in y.features:
+ # WARNING some linkers can link against programs
+ app('LIB', link_name)
+
+ # the order
+ self.link_task.set_run_after(y.link_task)
+
+ # for the recompilation
+ dep_nodes = getattr(self.link_task, 'dep_nodes', [])
+ self.link_task.dep_nodes = dep_nodes + y.link_task.outputs
+
+ # OPTIMIZATION 3: reduce the amount of function calls
+ # add the link path too
+ par = y.link_task.outputs[0].parent
+ if id(par) not in seen_libpaths:
+ seen_libpaths.add(id(par))
+ tmp_path = par.bldpath(self.env)
+ if not tmp_path in env['LIBPATH']:
+ env.prepend_value('LIBPATH', tmp_path)
+
+
+ # add ancestors uselib too - but only propagate those that have no staticlib
+ for v in self.to_list(y.uselib):
+ if v not in seen_uselib:
+ seen_uselib.add(v)
+ if not env['STATICLIB_' + v]:
+ if not v in self.uselib:
+ self.uselib.insert(0, v)
+
+ # 2. the case of the libs defined outside
+ for x in self.uselib:
+ for v in self.p_flag_vars:
+ val = self.env[v + '_' + x]
+ if val:
+ self.env.append_value(v, val)
+
+ at feature('cprogram', 'cshlib', 'cstaticlib')
+ at after('apply_lib_vars')
+ at before('apply_obj_vars')
+def samba_before_apply_obj_vars(self):
+ """before apply_obj_vars for uselib, this removes the standard pathes"""
+
+ def is_standard_libpath(env, path):
+ for _path in env.STANDARD_LIBPATH:
+ if _path == os.path.normpath(path):
+ return True
+ return False
+
+ v = self.env
+
+ for i in v['RPATH']:
+ if is_standard_libpath(v, i):
+ v['RPATH'].remove(i)
+
+ for i in v['LIBPATH']:
+ if is_standard_libpath(v, i):
+ v['LIBPATH'].remove(i)
+
+ at feature('cc')
+ at before('apply_incpaths', 'apply_obj_vars_cc')
+def samba_stash_cppflags(self):
+ """Fix broken waf ordering of CPPFLAGS"""
+
+ self.env.SAVED_CPPFLAGS = self.env.CPPFLAGS
--
Samba Shared Repository
More information about the samba-cvs
mailing list