[SCM] Samba Shared Repository - branch v4-1-stable updated
Karolin Seeger
kseeger at samba.org
Mon Dec 1 06:07:38 MST 2014
The branch, v4-1-stable has been updated
via 1eb23eb VERSION: Disable git snapshots for the 4.1.14 release.
via b692217 WHATSNEW: Add release notes for Samba 4.1.14.
via 4ddd4c6 s4-dns: dlz-bind: Add trailing '.' to all fqdn strings
via a5adad6 s4-dns: Add support for BIND 9.10
via a30eeec s4-dns: Update dlz_minimal.h based on BIND release 9.10
via 8fed025 s4-dns: Check DLZ_DLOPEN_VERSION for different BIND versions
via 221934c s4-dns: Update template variables, change BIND98 --> BIND9_8
via c4ae1b4 samba: pass down size_t instead of int to add_string_to_array().
via fed8ae0 lib/util: use size_t for add_string_to_array().
via e0b65dd s3-proto: remove duplicate proto for add_string_to_array().
via 2947da5 Revert "buildtools: Rename perl vendorarch configure option."
via 13c1147 Revert "buildtools: Add perl vendorlib configure option."
via a3a75d7 Revert "wafsamba: If perl can't provide defaults, define them."
via 3b4dc66 Revert "wafsamba: Fail with error message if perl doesn't provide valid dirs."
via 699bcec pidl/wscript: remove --with-perl-* options
via 999867a Revert "autobuild: Set perl vendorlib direcotry."
via 8f967e2 Revert "script/autobuild: make use of --with-perl-{arch,lib}-install-dir"
via 23aba84 pidl: remove superfluous "use lib ...".
via 6feada1 pidl: fix the perl module search path (use lib ...) when installing pidl.
via 50f3e56 wafsamba: add perl_fixup parameter to INSTALL_FILES
via 016f1ef s3:build: don't detect perl in source3/wscript again.
via 711a810 pidl/wscript: don't check for perl again.
via 94e9dae build: do full SAMBA_CHECK_PERL() check in configure
via dff2c03 wafsamba: add samba_perl.py with SAMBA_CHECK_PERL() higher level check.
via 78cb744 dynconfig: implement PERL_ARCH_INSTALL_DIR
via 89cc025 dynconfig: implement PERL_LIB_INSTALL_DIR.
via f839d6c lib/ldb/wscript: pass dep_vars=['LDB_VERSION'] to SAMBA_GENERATOR()
via 226ccc7 docs-xml/wscript_build: pass dep_vars=bld.dynconfig_varnames() to SAMBA_GENERATOR()
via 48e500d dynconfig/wscript: add dynconfig_varnames()
via d9d873c wafsamba: let SAMBA_BLDOPTIONS() use dep_vars=['defines'] instead of always=True
via e19b17a wafsamba: fix dependencies on environment variables for python_fixup
via 81c781d wafsamba: allow an optional dep_vars list to be passed to SAMBA_GENERATOR()
via f0cf2c0 wafsamba: fix dependency for SAMBA_GENERATOR() when passing vars!=None
via ae97d88 wafsamba: fix dependency calculation for SAMBA_GENERATOR()
via cfbf91e wafsamba: improve wording in a comment
via 6392749 wafsamba: remove unused variable from copy_and_fix_python_path
via cda88f3 docs: Always declare rule to build parameters.all.xml and do it first
via fd0fe9a docs: define and include entities for the docs
via 422d803 docs: remove the file prefix from included path names
via f66abcc docs: update XInclude year to conform with current standard
via 3aa6401 pdb_tdb: Fix a TALLOC/SAFE_FREE mixup
via 60501b0 s3-keytab: fix keytab array NULL termination.
via 1d9c15f spoolss: remove unused fill_job_info3()
via bcd16d6 spoolss: fix jobid in level 3 EnumJobs response
via 20f803b spoolss: fix jobid in level 2 GetJob and EnumJobs responses
via e1fb94b spoolss: fix jobid in level 1 GetJob and EnumJobs responses
via 7bf4cb0 spoolss: fix GetJob jobid lookups
via 9f438fd printing: add jobid_to_sysjob helper function
via 00f6184 s3:smbd: fix file corruption using "write cache size != 0"
via 907e64c s3: nmbd: Ensure NetBIOS names are only 15 characters stored.
via 56ed600 s3: libsmbclient - smb2. MacOSX 10 SMB2 server doesn't set STATUS_NO_MORE_FILES when handed a non-wildcard path.
via 5126c01 spoolss: fix handling of bad EnumJobs levels
via 39a9211 s3-nmbd: Fix netbios name truncation.
via 0e03a17 There are tests all over the SMB1 code to check that srv_send_smb fails, but it never returns false.
via 859a84d s3: daemons - ensure nmbd and winbindd are consistent in command line processing by adding POPT_COMMON_DYNCONFIG.
via 43fbaf6 vfs_glusterfs: Remove "integer fd" code and store the glfs pointers.
via ad4629b vfs_glusterfs: smb_stat_ex_from_stat commenting and cleanup.
via 6a2496a vfs_glusterfs: Comment the top of the file.
via 1883e25 nss_winbind: add getgroupmembership for FreeBSD
via 0548c9e VERSION: Bump version up to 4.1.14...
from 3211982 VERSION: Disable git snapshots for the 4.1.13 release.
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-1-stable
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
VERSION | 2 +-
WHATSNEW.txt | 94 +++++++++++-
buildtools/wafadmin/Tools/perl.py | 51 +------
buildtools/wafsamba/samba_patterns.py | 4 +-
buildtools/wafsamba/samba_perl.py | 62 ++++++++
buildtools/wafsamba/wafsamba.py | 77 +++++++---
docs-xml/wscript_build | 30 ++--
dynconfig/wscript | 55 ++++++-
lib/ldb/wscript | 3 +-
lib/util/samba_util.h | 2 +-
lib/util/util_strlist.c | 2 +-
libcli/ldap/ldap_message.h | 2 +-
libgpo/gpext/gpext.c | 2 +-
nsswitch/winbind_nss_freebsd.c | 74 ++++++++-
pidl/pidl | 1 -
pidl/wscript | 7 +-
script/autobuild.py | 9 +-
source3/include/printing.h | 1 +
source3/include/proto.h | 3 -
source3/lib/eventlog/eventlog.c | 2 +-
source3/lib/util_names.c | 10 +-
source3/libads/kerberos_keytab.c | 3 +-
source3/libads/ldap.c | 2 +-
source3/libnet/libnet_join.c | 4 +-
source3/libsmb/cli_smb2_fnum.c | 14 ++
source3/modules/vfs_glusterfs.c | 169 +++++++--------------
source3/nmbd/nmbd.c | 3 +-
source3/nmbd/nmbd_nameregister.c | 76 +++++++++-
source3/passdb/pdb_tdb.c | 2 +-
source3/printing/printing.c | 70 ++++++---
source3/rpc_server/lsa/srv_lsa_nt.c | 2 +-
source3/rpc_server/netlogon/srv_netlog_nt.c | 2 +-
source3/rpc_server/spoolss/srv_spoolss_nt.c | 222 +++++++++++++++++----------
source3/rpcclient/cmd_spoolss.c | 5 +-
source3/smbd/oplock.c | 3 +
source3/smbd/process.c | 2 +-
source3/winbindd/winbindd.c | 1 +
source3/winbindd/winbindd_cm.c | 2 +-
source3/wscript | 1 -
source4/dns_server/dlz_bind9.c | 77 ++++++++--
source4/dns_server/dlz_minimal.h | 227 ++++++++++++++++++++--------
source4/dns_server/wscript_build | 10 ++
source4/setup/named.conf.dlz | 7 +-
source4/torture/dns/dlz_bind9.c | 24 +--
source4/torture/rpc/samba3rpc.c | 4 +-
source4/torture/rpc/samr.c | 2 +-
source4/torture/rpc/wkssvc.c | 10 +-
wscript | 2 +-
wscript_build | 13 +-
49 files changed, 1007 insertions(+), 445 deletions(-)
create mode 100644 buildtools/wafsamba/samba_perl.py
Changeset truncated at 500 lines:
diff --git a/VERSION b/VERSION
index f965464..cbe4336 100644
--- a/VERSION
+++ b/VERSION
@@ -25,7 +25,7 @@
########################################################
SAMBA_VERSION_MAJOR=4
SAMBA_VERSION_MINOR=1
-SAMBA_VERSION_RELEASE=13
+SAMBA_VERSION_RELEASE=14
########################################################
# If a official release has a serious bug #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 963b614..f96bfdf 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,4 +1,94 @@
==============================
+ Release Notes for Samba 4.1.14
+ December 1, 2014
+ ==============================
+
+
+This is the latest stable release of Samba 4.1.
+
+
+Changes since 4.1.13:
+---------------------
+
+o Michael Adam <obnox at samba.org>
+ * BUG 10472: Revert buildtools/wafadmin/Tools/perl.py back to upstream
+ state.
+
+
+o Jeremy Allison <jra at samba.org>
+ * BUG 10711: nmbd fails to accept "--piddir" option.
+ * BUG 10896: s3-nmbd: Fix netbios name truncation.
+ * BUG 10904: s3: libsmbclient-smb2. MacOSX 10 SMB2 server doesn't set
+ STATUS_NO_MORE_FILES when handed a non-wildcard path.
+ * BUG 10920: s3: nmbd: Ensure NetBIOS names are only 15 characters stored.
+
+
+o Günther Deschner <gd at samba.org>
+ * BUG 10942: Cleanup add_string_to_array and usage.
+
+
+o David Disseldorp <ddiss at samba.org>
+ * BUG 10898: spoolss: Fix handling of bad EnumJobs levels.
+ * BUG 10905: spoolss: Fix jobid in level 3 EnumJobs response.
+
+
+o Amitay Isaacs <amitay at gmail.com>
+ * BUG 10620: s4-dns: Add support for BIND 9.10.
+
+
+o Björn Jacke <bj at sernet.de>
+ * BUG 10835: nss_winbind: Add getgroupmembership for FreeBSD.
+
+
+o Volker Lendecke <vl at samba.org>
+ * BUG 10932: pdb_tdb: Fix a TALLOC/SAFE_FREE mixup.
+
+
+o Stefan Metzmacher <metze at samba.org>
+ * BUG 10472: pidl/wscript: Remove --with-perl-* options.
+ * BUG 10921: s3:smbd: Fix file corruption using "write cache size != 0".
+
+
+o Jose A. Rivera <jarrpa at redhat.com>
+ * BUG 10889: vfs_glusterfs: Remove "integer fd" code and store the glfs
+ pointers.
+
+
+o Matt Rogers <mrogers at redhat.com>
+ * BUG 10933: s3-keytab: Fix keytab array NULL termination.
+
+
+o Richard Sharpe <realrichardsharpe at gmail.com>
+ * BUG 10880: S3: source3/smbd/process.c::srv_send_smb() returns true on the
+ error path.
+
+
+#######################################
+Reporting bugs & Development Discussion
+#######################################
+
+Please discuss this release on the samba-technical mailing list or by
+joining the #samba-technical IRC channel on irc.freenode.net.
+
+If you do report problems then please try to send high quality
+feedback. If you don't provide vital information to help us track down
+the problem then you will probably be ignored. All bug reports should
+be filed under the Samba 4.1 product in the project's Bugzilla
+database (https://bugzilla.samba.org/).
+
+
+======================================================================
+== Our Code, Our Bugs, Our Responsibility.
+== The Samba Team
+======================================================================
+
+
+Release notes for older releases follow:
+----------------------------------------
+
+======================================================================
+
+ ==============================
Release Notes for Samba 4.1.13
October 20, 2014
==============================
@@ -80,10 +170,8 @@ database (https://bugzilla.samba.org/).
======================================================================
-Release notes for older releases follow:
-----------------------------------------
+----------------------------------------------------------------------
-======================================================================
==============================
Release Notes for Samba 4.1.12
diff --git a/buildtools/wafadmin/Tools/perl.py b/buildtools/wafadmin/Tools/perl.py
index 0f34e79..a6787a8 100644
--- a/buildtools/wafadmin/Tools/perl.py
+++ b/buildtools/wafadmin/Tools/perl.py
@@ -98,53 +98,12 @@ def check_perl_ext_devel(conf):
conf.env.EXTUTILS_TYPEMAP = read_out('print "$Config{privlib}/ExtUtils/typemap"')
conf.env.perlext_PATTERN = '%s.' + read_out('print $Config{dlext}')[0]
- def try_any(keys):
- for k in keys:
- conf.start_msg("Checking for perl $Config{%s}:" % k)
- try:
- v = read_out('print $Config{%s}' % k)[0]
- conf.end_msg("'%s'" % (v), 'GREEN')
- return v
- except IndexError:
- conf.end_msg(False, 'YELLOW')
- pass
- return None
-
- perl_arch_install_dir = None
- if getattr(Options.options, 'perl_arch_install_dir', None):
- perl_arch_install_dir = Options.options.perl_arch_install_dir
- if perl_arch_install_dir is None:
- perl_arch_install_dir = try_any(['vendorarch', 'sitearch', 'archlib'])
- if perl_arch_install_dir is None:
- conf.fatal('No perl arch install directory autodetected.' +
- 'Please define it with --with-perl-arch-install-dir.')
- conf.start_msg("PERL_ARCH_INSTALL_DIR: ")
- conf.end_msg("'%s'" % (perl_arch_install_dir), 'GREEN')
- conf.env.PERL_ARCH_INSTALL_DIR = perl_arch_install_dir
-
- perl_lib_install_dir = None
- if getattr(Options.options, 'perl_lib_install_dir', None):
- perl_lib_install_dir = Options.options.perl_lib_install_dir
- if perl_lib_install_dir is None:
- perl_lib_install_dir = try_any(['vendorlib', 'sitelib', 'privlib'])
- if perl_lib_install_dir is None:
- conf.fatal('No perl lib install directory autodetected. ' +
- 'Please define it with --with-perl-lib-install-dir.')
- conf.start_msg("PERL_LIB_INSTALL_DIR: ")
- conf.end_msg("'%s'" % (perl_lib_install_dir), 'GREEN')
- conf.env.PERL_LIB_INSTALL_DIR = perl_lib_install_dir
+ if getattr(Options.options, 'perlarchdir', None):
+ conf.env.ARCHDIR_PERL = Options.options.perlarchdir
+ else:
+ conf.env.ARCHDIR_PERL = read_out('print $Config{sitearch}')[0]
def set_options(opt):
opt.add_option("--with-perl-binary", type="string", dest="perlbinary", help = 'Specify alternate perl binary', default=None)
+ opt.add_option("--with-perl-archdir", type="string", dest="perlarchdir", help = 'Specify directory where to install arch specific files', default=None)
- opt.add_option("--with-perl-arch-install-dir",
- type="string",
- dest="perl_arch_install_dir",
- help = ('Specify directory where to install arch specific files'),
- default=None)
-
- opt.add_option("--with-perl-lib-install-dir",
- type="string",
- dest="perl_lib_install_dir",
- help = ('Specify directory where to install vendor specific files'),
- default=None)
diff --git a/buildtools/wafsamba/samba_patterns.py b/buildtools/wafsamba/samba_patterns.py
index 55ed540..62d988e 100644
--- a/buildtools/wafsamba/samba_patterns.py
+++ b/buildtools/wafsamba/samba_patterns.py
@@ -202,6 +202,6 @@ def SAMBA_BLDOPTIONS(bld, target):
'''generate the bld_options.c for Samba'''
t = bld.SAMBA_GENERATOR(target,
rule=write_build_options,
- target=target,
- always=True)
+ dep_vars=['defines'],
+ target=target)
Build.BuildContext.SAMBA_BLDOPTIONS = SAMBA_BLDOPTIONS
diff --git a/buildtools/wafsamba/samba_perl.py b/buildtools/wafsamba/samba_perl.py
new file mode 100644
index 0000000..3909aba
--- /dev/null
+++ b/buildtools/wafsamba/samba_perl.py
@@ -0,0 +1,62 @@
+import Build
+from samba_utils import *
+from Configure import conf
+
+done = {}
+
+ at conf
+def SAMBA_CHECK_PERL(conf, mandatory=True, version=(5,0,0)):
+ #
+ # TODO: use the @runonce mechanism for this.
+ # The problem is that @runonce currently does
+ # not seem to work together with @conf...
+ # So @runonce (and/or) @conf needs fixing.
+ #
+ if "done" in done:
+ return
+ done["done"] = True
+ conf.find_program('perl', var='PERL', mandatory=mandatory)
+ conf.check_tool('perl')
+ path_perl = conf.find_program('perl')
+ conf.env.PERL_SPECIFIED = (conf.env.PERL != path_perl)
+ conf.check_perl_version(version)
+
+ def read_perl_config_var(cmd):
+ return Utils.to_list(Utils.cmd_output([conf.env.PERL, '-MConfig', '-e', cmd]))
+
+ def check_perl_config_var(var):
+ conf.start_msg("Checking for perl $Config{%s}:" % var)
+ try:
+ v = read_perl_config_var('print $Config{%s}' % var)[0]
+ conf.end_msg("'%s'" % (v), 'GREEN')
+ return v
+ except IndexError:
+ conf.end_msg(False, 'YELLOW')
+ pass
+ return None
+
+ vendor_prefix = check_perl_config_var('vendorprefix')
+
+ perl_arch_install_dir = None
+ if vendor_prefix == conf.env.PREFIX:
+ perl_arch_install_dir = check_perl_config_var('vendorarch');
+ if perl_arch_install_dir is None:
+ perl_arch_install_dir = "${LIBDIR}/perl5";
+ conf.start_msg("PERL_ARCH_INSTALL_DIR: ")
+ conf.end_msg("'%s'" % (perl_arch_install_dir), 'GREEN')
+ conf.env.PERL_ARCH_INSTALL_DIR = perl_arch_install_dir
+
+ perl_lib_install_dir = None
+ if vendor_prefix == conf.env.PREFIX:
+ perl_lib_install_dir = check_perl_config_var('vendorlib');
+ if perl_lib_install_dir is None:
+ perl_lib_install_dir = "${DATADIR}/perl5";
+ conf.start_msg("PERL_LIB_INSTALL_DIR: ")
+ conf.end_msg("'%s'" % (perl_lib_install_dir), 'GREEN')
+ conf.env.PERL_LIB_INSTALL_DIR = perl_lib_install_dir
+
+ perl_inc = read_perl_config_var('print "@INC"')
+ perl_inc.remove('.')
+ conf.start_msg("PERL_INC: ")
+ conf.end_msg("%s" % (perl_inc), 'GREEN')
+ conf.env.PERL_INC = perl_inc
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index aaa0939..c8220c2 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -16,6 +16,7 @@ from samba_patterns import *
from samba_pidl import *
from samba_autoproto import *
from samba_python import *
+from samba_perl import *
from samba_deps import *
from samba_bundled import *
import samba_install
@@ -578,6 +579,7 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='',
public_headers_install=True,
header_path=None,
vars=None,
+ dep_vars=[],
always=False):
'''A generic source generator target'''
@@ -587,11 +589,8 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='',
if not enabled:
return
- dep_vars = []
- if isinstance(vars, dict):
- dep_vars = vars.keys()
- elif isinstance(vars, list):
- dep_vars = vars
+ dep_vars.append('ruledeps')
+ dep_vars.append('SAMBA_GENERATOR_VARS')
bld.SET_BUILD_GROUP(group)
t = bld(
@@ -603,9 +602,13 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='',
before='cc',
ext_out='.c',
samba_type='GENERATOR',
- dep_vars = [rule] + dep_vars,
+ dep_vars = dep_vars,
name=name)
+ if vars is None:
+ vars = {}
+ t.env.SAMBA_GENERATOR_VARS = vars
+
if always:
t.always = True
@@ -701,8 +704,6 @@ def copy_and_fix_python_path(task):
replacement="""sys.path.insert(0, "%s")
sys.path.insert(1, "%s")""" % (task.env["PYTHONARCHDIR"], task.env["PYTHONDIR"])
- shebang = None
-
if task.env["PYTHON"][0] == "/":
replacement_shebang = "#!%s\n" % task.env["PYTHON"]
else:
@@ -724,9 +725,38 @@ sys.path.insert(1, "%s")""" % (task.env["PYTHONARCHDIR"], task.env["PYTHONDIR"])
os.chmod(installed_location, 0755)
return 0
+def copy_and_fix_perl_path(task):
+ pattern='use lib "$RealBin/lib";'
+
+ replacement = ""
+ if not task.env["PERL_LIB_INSTALL_DIR"] in task.env["PERL_INC"]:
+ replacement = 'use lib "%s";' % task.env["PERL_LIB_INSTALL_DIR"]
+
+ if task.env["PERL"][0] == "/":
+ replacement_shebang = "#!%s\n" % task.env["PERL"]
+ else:
+ replacement_shebang = "#!/usr/bin/env %s\n" % task.env["PERL"]
+
+ installed_location=task.outputs[0].bldpath(task.env)
+ source_file = open(task.inputs[0].srcpath(task.env))
+ installed_file = open(installed_location, 'w')
+ lineno = 0
+ for line in source_file:
+ newline = line
+ if lineno == 0 and task.env["PERL_SPECIFIED"] == True and line[:2] == "#!":
+ newline = replacement_shebang
+ elif pattern in line:
+ newline = line.replace(pattern, replacement)
+ installed_file.write(newline)
+ lineno = lineno + 1
+ installed_file.close()
+ os.chmod(installed_location, 0755)
+ return 0
+
def install_file(bld, destdir, file, chmod=MODE_644, flat=False,
- python_fixup=False, destname=None, base_name=None):
+ python_fixup=False, perl_fixup=False,
+ destname=None, base_name=None):
'''install a file'''
destdir = bld.EXPAND_VARIABLES(destdir)
if not destname:
@@ -735,16 +765,22 @@ def install_file(bld, destdir, file, chmod=MODE_644, flat=False,
destname = os.path.basename(destname)
dest = os.path.join(destdir, destname)
if python_fixup:
- # fixup the python path it will use to find Samba modules
+ # fix the path python will use to find Samba modules
inst_file = file + '.inst'
bld.SAMBA_GENERATOR('python_%s' % destname,
rule=copy_and_fix_python_path,
+ dep_vars=["PYTHON","PYTHON_SPECIFIED","PYTHONDIR","PYTHONARCHDIR"],
+ source=file,
+ target=inst_file)
+ file = inst_file
+ if perl_fixup:
+ # fix the path perl will use to find Samba modules
+ inst_file = file + '.inst'
+ bld.SAMBA_GENERATOR('perl_%s' % destname,
+ rule=copy_and_fix_perl_path,
+ dep_vars=["PERL","PERL_SPECIFIED","PERL_LIB_INSTALL_DIR"],
source=file,
target=inst_file)
- bld.add_manual_dependency(bld.path.find_or_declare(inst_file), bld.env["PYTHONARCHDIR"])
- bld.add_manual_dependency(bld.path.find_or_declare(inst_file), bld.env["PYTHONDIR"])
- bld.add_manual_dependency(bld.path.find_or_declare(inst_file), str(bld.env["PYTHON_SPECIFIED"]))
- bld.add_manual_dependency(bld.path.find_or_declare(inst_file), bld.env["PYTHON"])
file = inst_file
if base_name:
file = os.path.join(base_name, file)
@@ -752,12 +788,13 @@ def install_file(bld, destdir, file, chmod=MODE_644, flat=False,
def INSTALL_FILES(bld, destdir, files, chmod=MODE_644, flat=False,
- python_fixup=False, destname=None, base_name=None):
+ python_fixup=False, perl_fixup=False,
+ destname=None, base_name=None):
'''install a set of files'''
for f in TO_LIST(files):
install_file(bld, destdir, f, chmod=chmod, flat=flat,
- python_fixup=python_fixup, destname=destname,
- base_name=base_name)
+ python_fixup=python_fixup, perl_fixup=perl_fixup,
+ destname=destname, base_name=base_name)
Build.BuildContext.INSTALL_FILES = INSTALL_FILES
@@ -804,7 +841,7 @@ def MANPAGES(bld, manpages, install):
bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
Build.BuildContext.MANPAGES = MANPAGES
-def SAMBAMANPAGES(bld, manpages):
+def SAMBAMANPAGES(bld, manpages, extra_source=None):
'''build and install manual pages'''
bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/expand-sambadoc.xsl'
bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl'
@@ -812,13 +849,15 @@ def SAMBAMANPAGES(bld, manpages):
for m in manpages.split():
source = m + '.xml'
+ if extra_source is not None:
+ source = [source, extra_source]
bld.SAMBA_GENERATOR(m,
source=source,
target=m,
group='final',
rule='''XML_CATALOG_FILES="${SAMBA_CATALOGS}"
export XML_CATALOG_FILES
- ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC}
+ ${XSLTPROC} --xinclude --stringparam noreference 0 -o ${TGT}.xml --nonet ${SAMBA_EXPAND_XSL} ${SRC[0].abspath(env)}
${XSLTPROC} --nonet -o ${TGT} ${SAMBA_MAN_XSL} ${TGT}.xml'''
)
bld.INSTALL_FILES('${MANDIR}/man%s' % m[-1], m, flat=True)
diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build
index 9c6042f..7af0f68 100644
--- a/docs-xml/wscript_build
+++ b/docs-xml/wscript_build
@@ -97,22 +97,34 @@ def smbdotconf_generate_parameter_list(task):
parameter_all = task.outputs[0].bldpath(task.env)
articles = task.inputs
- t = '<section xmlns:xi="http://www.w3.org/2003/XInclude">\n'
+ entities = bld.pathconfig_entities()
+ t = "<!DOCTYPE section [\n"
+
+ for entity in entities:
+ t += "%s\n" % entity
+
+ t += "]>\n"
+ t += "<section>\n"
for article in articles:
- t += "<xi:include href='file://" + article.abspath(task.env) + "' parse='xml'/>\n"
+ f = open(article.abspath(task.env), 'r')
+ t += f.read()
+ f.close()
+
t += "</section>\n"
save_file(parameter_all, t , create_dir=True)
return 0
+articles = bld.path.ant_glob("smbdotconf/**/*.xml")
+parameter_all = 'smbdotconf/parameters.all.xml'
+bld.SAMBA_GENERATOR(parameter_all,
+ source=articles,
+ target=parameter_all,
+ rule=smbdotconf_generate_parameter_list,
+ dep_vars=bld.dynconfig_varnames())
+
def SMBDOTCONF_MANPAGE(bld, target):
''' assemble and build smb.conf.5 manual page'''
- articles = bld.path.ant_glob("smbdotconf/**/*.xml")
- parameter_all = 'smbdotconf/parameters.all.xml'
- bld.SAMBA_GENERATOR(parameter_all,
- source=articles,
- target=parameter_all,
- rule=smbdotconf_generate_parameter_list)
- bld.SAMBAMANPAGES(target)
+ bld.SAMBAMANPAGES(target, parameter_all)
if ('XSLTPROC_MANPAGES' in bld.env and bld.env['XSLTPROC_MANPAGES']):
diff --git a/dynconfig/wscript b/dynconfig/wscript
index aa4e66e..6410c38 100755
--- a/dynconfig/wscript
+++ b/dynconfig/wscript
@@ -111,6 +111,16 @@ dynconfig = {
'FHS-PATH': '${PYTHONARCHDIR}',
'OVERWRITE': True,
},
+ 'PERL_LIB_INSTALL_DIR' : {
+ 'STD-PATH': '${PERL_LIB_INSTALL_DIR}',
+ 'FHS-PATH': '${PERL_LIB_INSTALL_DIR}',
+ 'OVERWRITE': True,
+ },
+ 'PERL_ARCH_INSTALL_DIR' : {
+ 'STD-PATH': '${PERL_ARCH_INSTALL_DIR}',
--
Samba Shared Repository
More information about the samba-cvs
mailing list