IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Certain escape sequences are not valid in Python string literals, and
will eventually result in a SyntaxError.
Follow up patch of 5045382c6d
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Fri Jan 20 09:06:49 UTC 2023 on atb-devel-224
This will be used to define plugins we provide to be used
via dbopen/dlsym to external consumers.
SAMBA_PLUGIN() is used instead of SAMBA_LIBRARY() in order
to make it more strict that these plugins can't be used as
normal depedency by other subsystems and libraries.
With require_builtin_deps=True we make sure that only
symbols explicitly marked with _PUBLIC_ are exported
and we only link to system libraries and include all
internal depedencies as builtin subsystems.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14780
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
The 'provide_builtin_linking=True' option that allows wscript files
to specify that a SAMBA_{SUBSYSTEM,LIBRARY} will also create a
builtin version of them in addition.
The logic behind this is very similar to what we already have with the
'--builtin-libraries=BUILTIN_LIBRARIES' configure option.
This avoids the need for manual definitions of SAMBA_SUBSYSTEMS() with
like this:
bld.SAMBA_SUBSYSTEM('replace-hidden',
source=REPLACE_SOURCE,
group='base_libraries',
hide_symbols=True,
deps='dl attr' + extra_libs)
The builtin version will also make sure that it will include all
dependecies (of internal code) also in the builtin variant.
Note that this is also possible if the dependency also
provided 'provide_builtin_linking=True' in order to limit
the scope.
We now imply '-D_PUBLIC_=_PRIVATE_' and 'hide_symbols=True' for
builtin libraries and subsystems in order to avoid exporting
the symbols of them.
With 'require_builtin_deps=True' a library can specify that it
is only able to use libraries/subsystems marked with
provide_builtin_linking=True. As a result it won't
link against any other SAMBA_LIBRARY() dependency,
but link in everything internal. Only system libraries
still get linked dynamically.
Use 'git show -w' to see a reduced diff.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14780
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
In `wafsamba.dumplicate_symbols` test, it will use Popen to call:
readelf --dynamic bin/default/source3/lib/netapi/examples/netlogon/netlogon_control2
then try to find rpath lib lines from output with regex:
re_rpath = re.compile(b'Library rpath: \[(.*)\]')
In ubuntu 14.04 docker image, which current CI is using, the actual output
from `readelf` is `runpath` instead of 'rpath':
...
Library runpath: [/home/gitlab-runner/samba/bin/shared:/home/gitlab-runner/samba/bin/shared/private]\n'
...
So the regex never matched, and hide a bug.
In Ubuntu 1604 docker image, the output changes to `rpath` and matched the
regex, which expose the error in previous commit.
Improve the regex to match both `rpath` and `runpath`.
Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
In py3, `wafsamba.duplicate_symbols` test may fail:
...
elfpipe = subprocess.Popen(['readelf', '--dynamic', binname], stdout=subprocess.PIPE).stdout
...
File "./buildtools/wafsamba/symbols.py", line 153, in get_libs
rpath.extend(m.group(1).split(":"))
TypeError: a bytes-like object is required, not 'str'
Because Popen will always return bytestr even in py3, and ":" is a
unicode str in py3. Change ":" to b":" to fix.
Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Use the b prefix on output from subcommands to match bytes with bytes.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
Update third_party/waf/ to 2.0.4 to bring us closer to Python 3
This change requires a number of changes in buildtools/ too.
Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
The 'import *' statements make it more difficult to reason about
the modules and tends to conceal bugs. These changes enable running
pyflakes against most of the build scripts.
Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Andrew Bartlet <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Wed Oct 28 12:52:17 CET 2015 on sn-devel-104
Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Sep 2 03:49:51 CEST 2015 on sn-devel-104
Except in the formatting of the selftest output, this removes the special case
of the build farm, so that an autobuild, a manual make test and the build farm
are more similar.
Andrew Bartlett
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Aug 21 06:39:04 CEST 2012 on sn-devel-104
This ensures we do not get duplicate symbols again, when run as
./configure.developer on non-build farm machines.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Sep 8 13:37:40 CEST 2011 on sn-devel-104
using readelf allows us to do a non-recursive library listing, which
is important to remove false positive symbol duplication
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Apr 13 04:37:33 CEST 2011 on sn-devel-104
this detects when we have the same symbol linked in twice in any
binary by using ldd and nm on the binary and its associated libraries.
Some of these duplicates are caused by a subsystem being linked twice,
and some are caused by two versions of the same function name being
linked into a binary
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Apr 6 06:44:14 CEST 2011 on sn-devel-104
we expect dups in libpthread, libc and libattr
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Feb 23 01:29:38 CET 2011 on sn-devel-104
you can now do:
make WHYNEEDED=smbd/smbd:gensec
and it will print:
Checking why smbd/smbd needs to link to gensec
target 'smbd/smbd' uses symbols set(['open_schannel_session_store']) from 'gensec'
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Feb 22 03:35:58 CET 2011 on sn-devel-104
we can now work out why a binary needs a library, and we can find all
the duplicate symbols (we currently have 1087 symbols defined in more
than one place in Samba).
this adds checking of the symbols in all our object files, libraries
and syslibs. It will form the basis in future for a lot more checks,
but for now it just checks basic rules like not allowing us to use
symbols that are in system libs.
Currently this is enabled only if you use the --symbol-check option,
(or use make with SYMBOLCHECK=1) but I intend to make this always
enabled once it has had more testing.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>