From: Andrew Bartlett Date: Wed, 29 May 2024 22:50:12 +0000 (+1200) Subject: build: Add --vendor-name --vendor-patch-revision options to ./configure X-Git-Tag: tdb-1.4.11~510 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=651fb94c374c7f84405d960a9e0a0fd7fcb285dd;p=thirdparty%2Fsamba.git build: Add --vendor-name --vendor-patch-revision options to ./configure These options are for packagers and vendors to set so that when Samba developers are debugging an issue, we know exactly which package is in use, and so have an idea if any patches have been applied. This is included in the string that a Samba backtrace gives, as part of the PANIC message. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15654 REF: https://lists.samba.org/archive/samba-technical/2024-May/138992.html Signed-off-by: Andrew Bartlett Reviewed-by: Douglas Bagnall --- diff --git a/buildtools/wafsamba/samba_version.py b/buildtools/wafsamba/samba_version.py index 3d2998c7441..1533e01198f 100644 --- a/buildtools/wafsamba/samba_version.py +++ b/buildtools/wafsamba/samba_version.py @@ -251,6 +251,11 @@ def samba_version_file(version_file, path, env=None, is_install=True): print("Failed to parse line %s from %s" % (line, version_file)) raise + if "SAMBA_VERSION_VENDOR_SUFFIX" in env: + version_dict["SAMBA_VERSION_VENDOR_SUFFIX"] = env.SAMBA_VERSION_VENDOR_SUFFIX + if "SAMBA_VERSION_VENDOR_PATCH" in env: + version_dict["SAMBA_VERSION_VENDOR_PATCH"] = str(env.SAMBA_VERSION_VENDOR_PATCH) + return SambaVersion(version_dict, path, env=env, is_install=is_install) diff --git a/wscript b/wscript index c833764e8fe..2959b083d47 100644 --- a/wscript +++ b/wscript @@ -144,7 +144,27 @@ def options(opt): dest='with_smb1server', help=("Build smbd with SMB1 support (default=yes).")) + opt.add_option('--vendor-name', + help=('Specify a vendor (or packager) name to include in the version string'), + type="string", + dest='SAMBA_VERSION_VENDOR_SUFFIX', + default=None) + + opt.add_option('--vendor-patch-revision', + help=('Specify a vendor (or packager) patch revision number include in the version string (requires --vendor-name)'), + type="int", + dest='SAMBA_VERSION_VENDOR_PATCH', + default=None) + def configure(conf): + if Options.options.SAMBA_VERSION_VENDOR_SUFFIX: + conf.env.SAMBA_VERSION_VENDOR_SUFFIX = Options.options.SAMBA_VERSION_VENDOR_SUFFIX + + if Options.options.SAMBA_VERSION_VENDOR_PATCH: + if not Options.options.SAMBA_VERSION_VENDOR_SUFFIX: + raise conf.fatal('--vendor-patch-revision requires --vendor-version') + conf.env.SAMBA_VERSION_VENDOR_PATCH = Options.options.SAMBA_VERSION_VENDOR_PATCH + version = samba_version.load_version(env=conf.env) conf.DEFINE('CONFIG_H_IS_FROM_SAMBA', 1)