vendor version/revision string

Douglas Bagnall douglas.bagnall at catalyst.net.nz
Thu Jun 20 21:48:38 UTC 2024


On 20/06/24 18:46, Michael Tokarev via samba-technical wrote:

> So I tried to (ab-)use --vendor-name instead, - adding debian version 
> string right to
> this one (there's no need to have both options, one is definitely 
> enough).  And while
> at first it worked (for a simple version like 4.20.2+dfsg-1), it still 
> fails later during
> build process with a version string which contains a tilde, like 
> 4.20.2+dfsg-1~mjt-ubt24 -
> it fails at link time because linker script will contain tilde in a 
> symbol name:
> 
> SAMBA_4.20.2_UBUNTU_4.20.2_DFSG_1~MJT_UBT24_PRIVATE_SAMBA {
> ..
> }
> 
> The wafsamba thing is tough to deal with (it's probably the most uneasy 
> build system in
> the world).  I tried this change:
> 
> --- a/buildtools/wafsamba/samba_abi.py
> +++ b/buildtools/wafsamba/samba_abi.py
> @@ -288,3 +288,3 @@ def abi_build_vscript(task):
>   def VSCRIPT_MAP_PRIVATE(bld, libname, orig_vscript, version, 
> private_vscript):
> -    version = version.replace("-", "_").replace("+","_").upper()
> +    version = version.replace("-", 
> "_").replace("+","_").replace("~","_").upper()
>       t = bld.SAMBA_GENERATOR(private_vscript,
> @@ -317,3 +317,3 @@ def ABI_VSCRIPT(bld, libname, abi_directory, 
> version, vscript, abi_match=None, p
>       libname = libname.replace("-", "_").replace("+","_").upper()
> -    version = version.replace("-", "_").replace("+","_").upper()
> +    version = version.replace("-", 
> "_").replace("+","_").replace("~","_").upper()

OK, I'm thinking we just jump to --vendor-suffix and

       version = re.sub(r'\W', '_', version).upper()

for these.

> 
>  there's still a prob in manpages:
> 
> Samba 4.20.2-Debian-4.
> 
> Yes, it is cut at the first dot.

Did that not happen the old way, if you patch
SAMBA_VERSION_VENDOR_SUFFIX and such?

The missing bit is "20.2+dfsg-1~mjt-ubt24"?

Douglas




More information about the samba-technical mailing list