Hello community, here is the log from the commit of package tdb for openSUSE:Factory checked in at 2014-12-23 11:50:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tdb (Old) and /work/SRC/openSUSE:Factory/.tdb.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tdb" Changes: -------- --- /work/SRC/openSUSE:Factory/tdb/tdb.changes 2014-11-07 09:05:17.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.tdb.new/tdb.changes 2014-12-23 11:48:48.000000000 +0100 @@ -1,0 +2,17 @@ +Sun Dec 21 19:09:06 UTC 2014 - [email protected] + +- Update to version 1.3.3. + + test: TDB_CLEAR_IF_FIRST | TDB_MUTEX_LOCKING, O_RDONLY is a valid + combination +- Update to version 1.3.2. + + allow tdb_open_ex() with O_RDONLY of TDB_FEATURE_FLAG_MUTEX tdbs. + + Fix a comment + + Fix tdb_runtime_check_for_robust_mutexes() + + Improve wording in a comment + + tdb.h needs bool type; obsoletes include_stdbool_bso10625.patch + + tdb_wrap: Make mutexes easier to use + + tdb_wrap: Only pull in samba-debug + + tdb_wrap: Standalone compile without includes.h + + tdb_wrap: tdb_wrap.h doesn't need struct loadparm_context + +------------------------------------------------------------------- Old: ---- include_stdbool_bso10625.patch tdb-1.3.1.tar.asc tdb-1.3.1.tar.gz New: ---- tdb-1.3.3.tar.asc tdb-1.3.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tdb.spec ++++++ --- /var/tmp/diff_new_pack.zUtvRD/_old 2014-12-23 11:48:49.000000000 +0100 +++ /var/tmp/diff_new_pack.zUtvRD/_new 2014-12-23 11:48:49.000000000 +0100 @@ -34,7 +34,7 @@ %endif BuildRequires: python-devel Url: http://tdb.samba.org/ -Version: 1.3.1 +Version: 1.3.3 Release: 0 Summary: Samba Trivial Database License: GPL-3.0+ @@ -45,7 +45,6 @@ Source4: baselibs.conf Patch0: ignore-tdb1-run-transaction-expand.diff Patch1: build_pie.patch -Patch2: include_stdbool_bso10625.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -118,7 +117,6 @@ %patch0 -p1 %endif %patch1 -p1 -%patch2 -p3 %build %if 0%{?suse_version} && 0%{?suse_version} < 911 ++++++ tdb-1.3.1.tar.gz -> tdb-1.3.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/ABI/tdb-1.3.2.sigs new/tdb-1.3.3/ABI/tdb-1.3.2.sigs --- old/tdb-1.3.1/ABI/tdb-1.3.2.sigs 1970-01-01 01:00:00.000000000 +0100 +++ new/tdb-1.3.3/ABI/tdb-1.3.2.sigs 2014-11-29 12:02:17.000000000 +0100 @@ -0,0 +1,68 @@ +tdb_add_flags: void (struct tdb_context *, unsigned int) +tdb_append: int (struct tdb_context *, TDB_DATA, TDB_DATA) +tdb_chainlock: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_mark: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_nonblock: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_read: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_unmark: int (struct tdb_context *, TDB_DATA) +tdb_chainunlock: int (struct tdb_context *, TDB_DATA) +tdb_chainunlock_read: int (struct tdb_context *, TDB_DATA) +tdb_check: int (struct tdb_context *, int (*)(TDB_DATA, TDB_DATA, void *), void *) +tdb_close: int (struct tdb_context *) +tdb_delete: int (struct tdb_context *, TDB_DATA) +tdb_dump_all: void (struct tdb_context *) +tdb_enable_seqnum: void (struct tdb_context *) +tdb_error: enum TDB_ERROR (struct tdb_context *) +tdb_errorstr: const char *(struct tdb_context *) +tdb_exists: int (struct tdb_context *, TDB_DATA) +tdb_fd: int (struct tdb_context *) +tdb_fetch: TDB_DATA (struct tdb_context *, TDB_DATA) +tdb_firstkey: TDB_DATA (struct tdb_context *) +tdb_freelist_size: int (struct tdb_context *) +tdb_get_flags: int (struct tdb_context *) +tdb_get_logging_private: void *(struct tdb_context *) +tdb_get_seqnum: int (struct tdb_context *) +tdb_hash_size: int (struct tdb_context *) +tdb_increment_seqnum_nonblock: void (struct tdb_context *) +tdb_jenkins_hash: unsigned int (TDB_DATA *) +tdb_lock_nonblock: int (struct tdb_context *, int, int) +tdb_lockall: int (struct tdb_context *) +tdb_lockall_mark: int (struct tdb_context *) +tdb_lockall_nonblock: int (struct tdb_context *) +tdb_lockall_read: int (struct tdb_context *) +tdb_lockall_read_nonblock: int (struct tdb_context *) +tdb_lockall_unmark: int (struct tdb_context *) +tdb_log_fn: tdb_log_func (struct tdb_context *) +tdb_map_size: size_t (struct tdb_context *) +tdb_name: const char *(struct tdb_context *) +tdb_nextkey: TDB_DATA (struct tdb_context *, TDB_DATA) +tdb_null: dptr = 0xXXXX, dsize = 0 +tdb_open: struct tdb_context *(const char *, int, int, int, mode_t) +tdb_open_ex: struct tdb_context *(const char *, int, int, int, mode_t, const struct tdb_logging_context *, tdb_hash_func) +tdb_parse_record: int (struct tdb_context *, TDB_DATA, int (*)(TDB_DATA, TDB_DATA, void *), void *) +tdb_printfreelist: int (struct tdb_context *) +tdb_remove_flags: void (struct tdb_context *, unsigned int) +tdb_reopen: int (struct tdb_context *) +tdb_reopen_all: int (int) +tdb_repack: int (struct tdb_context *) +tdb_rescue: int (struct tdb_context *, void (*)(TDB_DATA, TDB_DATA, void *), void *) +tdb_runtime_check_for_robust_mutexes: bool (void) +tdb_set_logging_function: void (struct tdb_context *, const struct tdb_logging_context *) +tdb_set_max_dead: void (struct tdb_context *, int) +tdb_setalarm_sigptr: void (struct tdb_context *, volatile sig_atomic_t *) +tdb_store: int (struct tdb_context *, TDB_DATA, TDB_DATA, int) +tdb_summary: char *(struct tdb_context *) +tdb_transaction_cancel: int (struct tdb_context *) +tdb_transaction_commit: int (struct tdb_context *) +tdb_transaction_prepare_commit: int (struct tdb_context *) +tdb_transaction_start: int (struct tdb_context *) +tdb_transaction_start_nonblock: int (struct tdb_context *) +tdb_transaction_write_lock_mark: int (struct tdb_context *) +tdb_transaction_write_lock_unmark: int (struct tdb_context *) +tdb_traverse: int (struct tdb_context *, tdb_traverse_func, void *) +tdb_traverse_read: int (struct tdb_context *, tdb_traverse_func, void *) +tdb_unlock: int (struct tdb_context *, int, int) +tdb_unlockall: int (struct tdb_context *) +tdb_unlockall_read: int (struct tdb_context *) +tdb_validate_freelist: int (struct tdb_context *, int *) +tdb_wipe_all: int (struct tdb_context *) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/ABI/tdb-1.3.3.sigs new/tdb-1.3.3/ABI/tdb-1.3.3.sigs --- old/tdb-1.3.1/ABI/tdb-1.3.3.sigs 1970-01-01 01:00:00.000000000 +0100 +++ new/tdb-1.3.3/ABI/tdb-1.3.3.sigs 2014-12-02 09:30:09.000000000 +0100 @@ -0,0 +1,68 @@ +tdb_add_flags: void (struct tdb_context *, unsigned int) +tdb_append: int (struct tdb_context *, TDB_DATA, TDB_DATA) +tdb_chainlock: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_mark: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_nonblock: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_read: int (struct tdb_context *, TDB_DATA) +tdb_chainlock_unmark: int (struct tdb_context *, TDB_DATA) +tdb_chainunlock: int (struct tdb_context *, TDB_DATA) +tdb_chainunlock_read: int (struct tdb_context *, TDB_DATA) +tdb_check: int (struct tdb_context *, int (*)(TDB_DATA, TDB_DATA, void *), void *) +tdb_close: int (struct tdb_context *) +tdb_delete: int (struct tdb_context *, TDB_DATA) +tdb_dump_all: void (struct tdb_context *) +tdb_enable_seqnum: void (struct tdb_context *) +tdb_error: enum TDB_ERROR (struct tdb_context *) +tdb_errorstr: const char *(struct tdb_context *) +tdb_exists: int (struct tdb_context *, TDB_DATA) +tdb_fd: int (struct tdb_context *) +tdb_fetch: TDB_DATA (struct tdb_context *, TDB_DATA) +tdb_firstkey: TDB_DATA (struct tdb_context *) +tdb_freelist_size: int (struct tdb_context *) +tdb_get_flags: int (struct tdb_context *) +tdb_get_logging_private: void *(struct tdb_context *) +tdb_get_seqnum: int (struct tdb_context *) +tdb_hash_size: int (struct tdb_context *) +tdb_increment_seqnum_nonblock: void (struct tdb_context *) +tdb_jenkins_hash: unsigned int (TDB_DATA *) +tdb_lock_nonblock: int (struct tdb_context *, int, int) +tdb_lockall: int (struct tdb_context *) +tdb_lockall_mark: int (struct tdb_context *) +tdb_lockall_nonblock: int (struct tdb_context *) +tdb_lockall_read: int (struct tdb_context *) +tdb_lockall_read_nonblock: int (struct tdb_context *) +tdb_lockall_unmark: int (struct tdb_context *) +tdb_log_fn: tdb_log_func (struct tdb_context *) +tdb_map_size: size_t (struct tdb_context *) +tdb_name: const char *(struct tdb_context *) +tdb_nextkey: TDB_DATA (struct tdb_context *, TDB_DATA) +tdb_null: dptr = 0xXXXX, dsize = 0 +tdb_open: struct tdb_context *(const char *, int, int, int, mode_t) +tdb_open_ex: struct tdb_context *(const char *, int, int, int, mode_t, const struct tdb_logging_context *, tdb_hash_func) +tdb_parse_record: int (struct tdb_context *, TDB_DATA, int (*)(TDB_DATA, TDB_DATA, void *), void *) +tdb_printfreelist: int (struct tdb_context *) +tdb_remove_flags: void (struct tdb_context *, unsigned int) +tdb_reopen: int (struct tdb_context *) +tdb_reopen_all: int (int) +tdb_repack: int (struct tdb_context *) +tdb_rescue: int (struct tdb_context *, void (*)(TDB_DATA, TDB_DATA, void *), void *) +tdb_runtime_check_for_robust_mutexes: bool (void) +tdb_set_logging_function: void (struct tdb_context *, const struct tdb_logging_context *) +tdb_set_max_dead: void (struct tdb_context *, int) +tdb_setalarm_sigptr: void (struct tdb_context *, volatile sig_atomic_t *) +tdb_store: int (struct tdb_context *, TDB_DATA, TDB_DATA, int) +tdb_summary: char *(struct tdb_context *) +tdb_transaction_cancel: int (struct tdb_context *) +tdb_transaction_commit: int (struct tdb_context *) +tdb_transaction_prepare_commit: int (struct tdb_context *) +tdb_transaction_start: int (struct tdb_context *) +tdb_transaction_start_nonblock: int (struct tdb_context *) +tdb_transaction_write_lock_mark: int (struct tdb_context *) +tdb_transaction_write_lock_unmark: int (struct tdb_context *) +tdb_traverse: int (struct tdb_context *, tdb_traverse_func, void *) +tdb_traverse_read: int (struct tdb_context *, tdb_traverse_func, void *) +tdb_unlock: int (struct tdb_context *, int, int) +tdb_unlockall: int (struct tdb_context *) +tdb_unlockall_read: int (struct tdb_context *) +tdb_validate_freelist: int (struct tdb_context *, int *) +tdb_wipe_all: int (struct tdb_context *) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/buildtools/wafsamba/samba3.py new/tdb-1.3.3/buildtools/wafsamba/samba3.py --- old/tdb-1.3.1/buildtools/wafsamba/samba3.py 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/buildtools/wafsamba/samba3.py 2014-11-29 11:30:57.000000000 +0100 @@ -6,16 +6,17 @@ 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/buildtools/wafsamba/samba_autoconf.py new/tdb-1.3.3/buildtools/wafsamba/samba_autoconf.py --- old/tdb-1.3.1/buildtools/wafsamba/samba_autoconf.py 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/buildtools/wafsamba/samba_autoconf.py 2014-11-29 11:30:57.000000000 +0100 @@ -671,6 +671,8 @@ 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 @@ -689,7 +691,7 @@ conf.env['EXTRA_CFLAGS'].extend(TO_LIST("-Werror=format")) if Options.options.picky_developer: - conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Werror', testflags=True) + conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Werror -Wno-error=deprecated-declarations', testflags=True) if Options.options.fatal_errors: conf.ADD_CFLAGS('-Wfatal-errors', testflags=True) @@ -763,7 +765,7 @@ -def CURRENT_CFLAGS(bld, target, cflags, allow_warnings=True, hide_symbols=False): +def CURRENT_CFLAGS(bld, target, cflags, allow_warnings=False, hide_symbols=False): '''work out the current flags. local flags are added first''' ret = TO_LIST(cflags) if not 'EXTRA_CFLAGS' in bld.env: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/buildtools/wafsamba/samba_deps.py new/tdb-1.3.3/buildtools/wafsamba/samba_deps.py --- old/tdb-1.3.1/buildtools/wafsamba/samba_deps.py 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/buildtools/wafsamba/samba_deps.py 2014-11-29 11:30:57.000000000 +0100 @@ -1021,7 +1021,7 @@ denv.outenv[t.sname] = tdeps depsfile = os.path.join(bld.bdir, "sambadeps") - denv.store(depsfile) + denv.store_fast(depsfile) @@ -1031,12 +1031,12 @@ 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/buildtools/wafsamba/samba_optimisation.py new/tdb-1.3.3/buildtools/wafsamba/samba_optimisation.py --- old/tdb-1.3.1/buildtools/wafsamba/samba_optimisation.py 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/buildtools/wafsamba/samba_optimisation.py 2014-11-29 11:30:57.000000000 +0100 @@ -6,6 +6,7 @@ # overall this makes some build tasks quite a bit faster +import Build, Utils, Node from TaskGen import feature, after import preproc, Task @@ -163,3 +164,147 @@ return oldrun(self) cls.run = run suncc_wrap(Task.TaskBase.classes['cc_link']) + + + +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 + +@feature('cc', 'cxx') +@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) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/buildtools/wafsamba/test_duplicate_symbol.sh new/tdb-1.3.3/buildtools/wafsamba/test_duplicate_symbol.sh --- old/tdb-1.3.1/buildtools/wafsamba/test_duplicate_symbol.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/tdb-1.3.3/buildtools/wafsamba/test_duplicate_symbol.sh 2014-11-29 11:30:57.000000000 +0100 @@ -0,0 +1,12 @@ +#!/bin/sh +# Run the waf duplicate symbol check, wrapped in subunit. + +. lib/subunit/shell/share/subunit.sh + +subunit_start_test duplicate_symbols + +if ./buildtools/bin/waf build --dup-symbol-check; then + subunit_pass_test duplicate_symbols +else + echo | subunit_fail_test duplicate_symbols +fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/buildtools/wafsamba/wafsamba.py new/tdb-1.3.3/buildtools/wafsamba/wafsamba.py --- old/tdb-1.3.1/buildtools/wafsamba/wafsamba.py 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/buildtools/wafsamba/wafsamba.py 2014-11-29 11:30:57.000000000 +0100 @@ -132,7 +132,7 @@ private_library=False, grouping_library=False, allow_undefined_symbols=False, - allow_warnings=True, + allow_warnings=False, enabled=True): '''define a Samba library''' @@ -349,10 +349,10 @@ # only specify PIE flags for binaries pie_cflags = cflags pie_ldflags = TO_LIST(ldflags) - if bld.env['ENABLE_PIE'] == True: + if bld.env['ENABLE_PIE'] is True: pie_cflags += ' -fPIE' pie_ldflags.extend(TO_LIST('-pie')) - if bld.env['ENABLE_RELRO'] == True: + if bld.env['ENABLE_RELRO'] is True: pie_ldflags.extend(TO_LIST('-Wl,-z,relro,-z,now')) # first create a target for building the object files for this binary @@ -420,7 +420,7 @@ pyembed=False, manpages=None, allow_undefined_symbols=False, - allow_warnings=True + allow_warnings=False ): '''define a Samba module.''' @@ -520,7 +520,7 @@ vars=None, subdir=None, hide_symbols=False, - allow_warnings=True, + allow_warnings=False, pyext=False, pyembed=False): '''define a Samba subsystem''' @@ -726,7 +726,8 @@ lineno = 0 for line in source_file: newline = line - if lineno == 0 and task.env["PYTHON_SPECIFIED"] == True and line[:2] == "#!": + if (lineno == 0 and task.env["PYTHON_SPECIFIED"] is True and + line[:2] == "#!"): newline = replacement_shebang elif pattern in line: newline = line.replace(pattern, replacement) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/common/mutex.c new/tdb-1.3.3/common/mutex.c --- old/tdb-1.3.1/common/mutex.c 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/common/mutex.c 2014-11-29 11:30:57.000000000 +0100 @@ -814,17 +814,17 @@ ret = pthread_mutex_lock(m); nwritten = write(pipe_up[1], &ret, sizeof(ret)); if (nwritten != sizeof(ret)) { - exit(1); + _exit(1); } if (ret != 0) { - exit(1); + _exit(1); } nread = read(pipe_down[0], &c, 1); if (nread != 1) { - exit(1); + _exit(1); } /* leave locked */ - exit(0); + _exit(0); } if (tdb_robust_mutex_pid == -1) { goto cleanup_sig_child; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/common/open.c new/tdb-1.3.3/common/open.c --- old/tdb-1.3.1/common/open.c 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/common/open.c 2014-11-29 11:30:57.000000000 +0100 @@ -232,6 +232,14 @@ { int locked; + if (tdb->flags & TDB_NOLOCK) { + /* + * We don't look at locks, so it does not matter to have a + * compatible mutex implementation. Allow the open. + */ + return true; + } + locked = tdb_nest_lock(tdb, ACTIVE_LOCK, F_WRLCK, TDB_LOCK_NOWAIT|TDB_LOCK_PROBE); @@ -261,14 +269,6 @@ return false; } - if (tdb->flags & TDB_NOLOCK) { - /* - * We don't look at locks, so it does not matter to have a - * compatible mutex implementation. Allow the open. - */ - return true; - } - check_local_settings: if (!(tdb->flags & TDB_MUTEX_LOCKING)) { @@ -399,7 +399,7 @@ tdb->read_only = 1; /* read only databases don't do locking or clear if first */ tdb->flags |= TDB_NOLOCK; - tdb->flags &= ~TDB_CLEAR_IF_FIRST; + tdb->flags &= ~(TDB_CLEAR_IF_FIRST|TDB_MUTEX_LOCKING); } if ((tdb->flags & TDB_ALLOW_NESTING) && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/common/tdb.c new/tdb-1.3.3/common/tdb.c --- old/tdb-1.3.1/common/tdb.c 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/common/tdb.c 2014-11-29 11:30:57.000000000 +0100 @@ -511,7 +511,7 @@ goto fail; } } - /* reset the error code potentially set by the tdb_update() */ + /* reset the error code potentially set by the tdb_update_hash() */ tdb->ecode = TDB_SUCCESS; /* delete any existing record - if it doesn't exist we don't diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/common/traverse.c new/tdb-1.3.3/common/traverse.c --- old/tdb-1.3.1/common/traverse.c 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/common/traverse.c 2014-10-01 11:22:21.000000000 +0200 @@ -239,7 +239,7 @@ prevent deadlocks WARNING: The data buffer given to the callback fn does NOT meet the - alignment restrictions malloc gives you. + alignment guarantees malloc gives you. */ _PUBLIC_ int tdb_traverse(struct tdb_context *tdb, tdb_traverse_func fn, void *private_data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/include/tdb.h new/tdb-1.3.3/include/tdb.h --- old/tdb-1.3.1/include/tdb.h 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/include/tdb.h 2014-10-01 11:22:21.000000000 +0200 @@ -31,6 +31,7 @@ #endif #include <signal.h> +#include <stdbool.h> /** * @defgroup tdb The tdb API diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/lib/replace/replace.h new/tdb-1.3.3/lib/replace/replace.h --- old/tdb-1.3.1/lib/replace/replace.h 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/lib/replace/replace.h 2014-10-01 11:22:21.000000000 +0200 @@ -41,6 +41,10 @@ #include <stdarg.h> #include <errno.h> +#ifndef HAVE_DECL_EWOULDBLOCK +#define EWOULDBLOCK EAGAIN +#endif + #if defined(_MSC_VER) || defined(__MINGW32__) #include "win32_replace.h" #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/lib/replace/system/filesys.h new/tdb-1.3.3/lib/replace/system/filesys.h --- old/tdb-1.3.1/lib/replace/system/filesys.h 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/lib/replace/system/filesys.h 2014-10-01 11:22:21.000000000 +0200 @@ -26,7 +26,10 @@ */ +#ifdef HAVE_UNISTD_H #include <unistd.h> +#endif + #include <sys/stat.h> #ifdef HAVE_SYS_PARAM_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/lib/replace/system/network.h new/tdb-1.3.3/lib/replace/system/network.h --- old/tdb-1.3.1/lib/replace/system/network.h 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/lib/replace/system/network.h 2014-10-01 11:22:21.000000000 +0200 @@ -31,7 +31,9 @@ #error "AC_LIBREPLACE_NETWORK_CHECKS missing in configure" #endif +#ifdef HAVE_UNISTD_H #include <unistd.h> +#endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> @@ -77,10 +79,6 @@ #include <net/if.h> #endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - #ifdef HAVE_SYS_IOCTL_H #include <sys/ioctl.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/lib/replace/system/passwd.h new/tdb-1.3.3/lib/replace/system/passwd.h --- old/tdb-1.3.1/lib/replace/system/passwd.h 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/lib/replace/system/passwd.h 2014-10-01 11:22:21.000000000 +0200 @@ -27,6 +27,10 @@ */ +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + #ifdef HAVE_PWD_H #include <pwd.h> #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/lib/replace/wscript new/tdb-1.3.3/lib/replace/wscript --- old/tdb-1.3.1/lib/replace/wscript 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/lib/replace/wscript 2014-11-29 11:30:57.000000000 +0100 @@ -518,6 +518,7 @@ conf.CHECK_DECLS('snprintf vsnprintf asprintf vasprintf') conf.CHECK_DECLS('errno', headers='errno.h', reverse=True) + conf.CHECK_DECLS('EWOULDBLOCK', headers='errno.h') conf.CHECK_DECLS('environ getgrent_r getpwent_r', reverse=True, headers='pwd.h grp.h') conf.CHECK_DECLS('pread pwrite setenv setresgid setresuid', reverse=True) @@ -638,10 +639,10 @@ if conf.CHECK_CFLAGS('-fvisibility=hidden'): conf.env.VISIBILITY_CFLAGS = '-fvisibility=hidden' - conf.CHECK_CODE('''void vis_foo1(void) {} + conf.CHECK_CODE('''int main(void) { return 0; } __attribute__((visibility("default"))) void vis_foo2(void) {}''', cflags=conf.env.VISIBILITY_CFLAGS, - define='HAVE_VISIBILITY_ATTR') + define='HAVE_VISIBILITY_ATTR', addmain=False) # look for a method of finding the list of network interfaces for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/test/run-mutex-openflags2.c new/tdb-1.3.3/test/run-mutex-openflags2.c --- old/tdb-1.3.1/test/run-mutex-openflags2.c 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/test/run-mutex-openflags2.c 2014-12-02 09:30:01.000000000 +0100 @@ -75,8 +75,9 @@ TDB_CLEAR_IF_FIRST | TDB_MUTEX_LOCKING, O_RDONLY, 0755, &nolog_ctx, NULL); - ok((tdb == NULL) && (errno == EINVAL), "TDB_MUTEX_LOCKING with " - "O_RDONLY should fail with EINVAL - %d", errno); + ok((tdb != NULL), "TDB_MUTEX_LOCKING with " + "O_RDONLY should work - %d", errno); + tdb_close(tdb); tdb = tdb_open_ex("mutex-openflags2.tdb", 0, TDB_CLEAR_IF_FIRST | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tdb-1.3.1/wscript new/tdb-1.3.3/wscript --- old/tdb-1.3.1/wscript 2014-09-16 20:04:31.000000000 +0200 +++ new/tdb-1.3.3/wscript 2014-12-02 09:30:09.000000000 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/env python APPNAME = 'tdb' -VERSION = '1.3.1' +VERSION = '1.3.3' blddir = 'bin' -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
