]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
build: Add --vendor-name --vendor-patch-revision options to ./configure
authorAndrew Bartlett <abartlet@samba.org>
Wed, 29 May 2024 22:50:12 +0000 (10:50 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Fri, 31 May 2024 00:25:33 +0000 (00:25 +0000)
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 <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
buildtools/wafsamba/samba_version.py
wscript

index 3d2998c744148dee05d39fd69d6cac617320fce8..1533e01198f327bd4c02714fbe8dc0d0f983e770 100644 (file)
@@ -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 c833764e8fe97dcea50438603b774817379eba3e..2959b083d470c6ea628d6f933ac736fc4f1c5796 100644 (file)
--- 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)