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: samba-4.19.8~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80655e221365799e37f70eef55fd92fd3ddcfde4;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 (cherry picked from commit 651fb94c374c7f84405d960a9e0a0fd7fcb285dd) --- diff --git a/buildtools/wafsamba/samba_version.py b/buildtools/wafsamba/samba_version.py index 31103e0f8c4..576168f5723 100644 --- a/buildtools/wafsamba/samba_version.py +++ b/buildtools/wafsamba/samba_version.py @@ -253,6 +253,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 95ddd9ef5ba..4b183fd375c 100644 --- a/wscript +++ b/wscript @@ -140,7 +140,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)