[packages/samba] fix build on archs without 64-bit atomics

atler atler at pld-linux.org
Wed Sep 6 15:13:25 CEST 2023


commit 2f2d26d81aba653d609f3982ca3ff2e9c1f311ee
Author: Jan Palus <atler at pld-linux.org>
Date:   Wed Sep 6 13:56:05 2023 +0200

    fix build on archs without 64-bit atomics
    
    likely needs to be fixed in heimdal first:
    https://github.com/heimdal/heimdal/issues/1186
    
    than needs to be "ported" to samba which builds heimdal with self
    maintained waf scripts instead of autotools

 heimdal-atomic.patch | 24 ++++++++++++++++++++++++
 samba.spec           | 13 ++++++++++++-
 2 files changed, 36 insertions(+), 1 deletion(-)
---
diff --git a/samba.spec b/samba.spec
index d10f93a..7930adc 100644
--- a/samba.spec
+++ b/samba.spec
@@ -68,6 +68,7 @@ Patch5:		%{name}-heimdal.patch
 Patch6:		server-role.patch
 Patch8:		%{name}-no_libbsd.patch
 Patch9:		format-security.patch
+Patch10:	heimdal-atomic.patch
 URL:		https://www.samba.org/
 BuildRequires:	acl-devel
 %{?with_avahi:BuildRequires:	avahi-devel}
@@ -100,6 +101,11 @@ BuildRequires:	jansson-devel
 BuildRequires:	keyutils-devel
 BuildRequires:	libaio-devel
 BuildRequires:	libarchive-devel >= 3.1.2
+%if %{without system_heimdal}
+%ifnarch %arch_with_atomics64
+BuildRequires:	libatomic-devel
+%endif
+%endif
 %{?with_system_libbsd:BuildRequires:	libbsd-devel}
 BuildRequires:	libcap-devel
 BuildRequires:	libcom_err-devel
@@ -139,7 +145,7 @@ BuildRequires:	rpcsvc-proto
 BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpm-perlprov
 BuildRequires:	rpm-pythonprov
-BuildRequires:	rpmbuild(macros) >= 1.752
+BuildRequires:	rpmbuild(macros) >= 2.025
 BuildRequires:	sed >= 4.0
 BuildRequires:	subunit-devel
 %{?with_systemd:BuildRequires:	systemd-devel}
@@ -569,6 +575,11 @@ wyeksportowania do PMCD.
 
 %{!?with_system_libbsd:%patch8 -p1}
 %patch9 -p1
+%if %{without system_heimdal}
+%ifnarch %arch_with_atomics64
+%patch10 -p1
+%endif
+%endif
 
 %{__sed} -i -e '1s|#!/usr/bin/env bash|#!/bin/bash|' ctdb/tools/onnode
 %{__sed} -i -e '1s|#!/usr/bin/env perl|#!/usr/bin/perl|' pidl/pidl
diff --git a/heimdal-atomic.patch b/heimdal-atomic.patch
new file mode 100644
index 0000000..2efa995
--- /dev/null
+++ b/heimdal-atomic.patch
@@ -0,0 +1,24 @@
+diff -ur samba-4.19.0.orig/third_party/heimdal_build/wscript_build samba-4.19.0/third_party/heimdal_build/wscript_build
+--- samba-4.19.0.orig/third_party/heimdal_build/wscript_build	2023-07-18 10:14:57.102107300 +0200
++++ samba-4.19.0/third_party/heimdal_build/wscript_build	2023-09-06 13:45:50.945430242 +0200
+@@ -733,7 +733,7 @@
+     HEIMDAL_LIBRARY('krb5', KRB5_SOURCE,
+         version_script='lib/krb5/version-script.map',
+                         includes='../heimdal/lib/krb5 ../heimdal/lib/asn1 ../heimdal/include',
+-                deps='roken wind asn1 hx509 HEIMDAL_KX509_ASN1 hcrypto com_err HEIMDAL_CONFIG heimbase execinfo samba_intl HEIMDAL_IPC_CLIENT KRB5_CRYPTO' + krb5_keyutils_dep,
++                deps='atomic roken wind asn1 hx509 HEIMDAL_KX509_ASN1 hcrypto com_err HEIMDAL_CONFIG heimbase execinfo samba_intl HEIMDAL_IPC_CLIENT KRB5_CRYPTO' + krb5_keyutils_dep,
+                 cflags=['-DLOCALSTATEDIR="/2"'] + bld.dynconfig_cflags(),
+                         )
+     KRB5_PROTO_SOURCE = KRB5_SOURCE + ['lib/krb5/expand_path.c', 'lib/krb5/plugin.c', 'lib/krb5/context.c', 'lib/krb5/crypto.c']
+diff -ur samba-4.19.0.orig/wscript samba-4.19.0/wscript
+--- samba-4.19.0.orig/wscript	2023-07-18 10:14:57.130107400 +0200
++++ samba-4.19.0/wscript	2023-09-06 13:44:51.950443107 +0200
+@@ -207,6 +207,8 @@
+                    mandatory=True)
+     conf.CHECK_FUNCS_IN('inflateInit2', 'z')
+ 
++    conf.CHECK_LIB('atomic')
++
+     if Options.options.enable_keyring != False:
+         conf.env['WITH_KERNEL_KEYRING'] = 'auto'
+         if Options.options.enable_keyring == True:
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/samba.git/commitdiff/2f2d26d81aba653d609f3982ca3ff2e9c1f311ee



More information about the pld-cvs-commit mailing list