mirror of
https://github.com/openwrt/packages.git
synced 2025-12-21 23:34:31 +04:00
samba4: bump to 4.22.2
https://www.samba.org/samba/history/samba-4.22.2.html Removed upstreamed: 101-do-not-check-xsltproc-manpages.patch 105-perl-json-pp.patch Removed due to build failure: 104-samba-4.12-unbundle-icu.patch Added: 104-fix-build-on-aarch64-and-risc.patch[1] Makefile: Removed section on --accel-aes due to upstream dropping support Added line to correct fcntl check in cross-answers.txt 1. For aarch64 and risc64, the discard_const macro is used to remove const qualifiers from string literals, but casting a string literal’s address to uintptr_t and then to void * is not a constant expression in some compilers or environments e.g. the musl libc and aarch64/risc64 combination seems to enforce stricter rules for constant initializers or pointer/integer size handling compared to glibc-based systems. Build system: x86/64 Build-tested: x86/64 Run-tested: x86/64 Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=samba
|
PKG_NAME:=samba
|
||||||
PKG_VERSION:=4.18.8
|
PKG_VERSION:=4.22.2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
@@ -13,7 +13,7 @@ PKG_SOURCE_URL:= \
|
|||||||
http://www.nic.funet.fi/index/samba/pub/samba/stable/ \
|
http://www.nic.funet.fi/index/samba/pub/samba/stable/ \
|
||||||
http://samba.mirror.bit.nl/samba/ftp/stable/ \
|
http://samba.mirror.bit.nl/samba/ftp/stable/ \
|
||||||
https://download.samba.org/pub/samba/stable/
|
https://download.samba.org/pub/samba/stable/
|
||||||
PKG_HASH:=4fb87bceaeb01d832a59046c197a044b7e8e8000581548b5d577a6cda03344d1
|
PKG_HASH:=d9ac8e224a200159e62c651cf42307dc162212ec25d04eb6800b9a7ccfbcc3c1
|
||||||
|
|
||||||
PKG_BUILD_FLAGS:=gc-sections
|
PKG_BUILD_FLAGS:=gc-sections
|
||||||
|
|
||||||
@@ -217,14 +217,6 @@ HOST_CONFIGURE_ARGS += --disable-avahi --without-quotas --without-acl-support --
|
|||||||
--without-ad-dc --without-json --without-libarchive --disable-python --nopyc --nopyo \
|
--without-ad-dc --without-json --without-libarchive --disable-python --nopyc --nopyo \
|
||||||
--without-ads --without-ldap --without-ldb-lmdb
|
--without-ads --without-ldap --without-ldb-lmdb
|
||||||
|
|
||||||
# Optional AES-NI support - https://lists.samba.org/archive/samba-technical/2017-September/122738.html
|
|
||||||
# Support for Nettle wasn't comitted
|
|
||||||
ifdef CONFIG_TARGET_x86_64
|
|
||||||
CONFIGURE_ARGS += --accel-aes=intelaesni
|
|
||||||
else
|
|
||||||
CONFIGURE_ARGS += --accel-aes=none
|
|
||||||
endif
|
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
--with-lockdir=/var/lock \
|
--with-lockdir=/var/lock \
|
||||||
--with-logfilebase=/var/log \
|
--with-logfilebase=/var/log \
|
||||||
@@ -371,6 +363,7 @@ define Build/Configure
|
|||||||
echo 'Checking uname version type: "$(VERSION_DIST) Linux-$(LINUX_VERSION) $(shell date +%Y-%m-%d)"' >> $(PKG_BUILD_DIR)/cross-answers.txt
|
echo 'Checking uname version type: "$(VERSION_DIST) Linux-$(LINUX_VERSION) $(shell date +%Y-%m-%d)"' >> $(PKG_BUILD_DIR)/cross-answers.txt
|
||||||
# NOTE: special answers for freeBSD/CircleCI
|
# NOTE: special answers for freeBSD/CircleCI
|
||||||
echo 'checking for clnt_create(): OK' >> $(PKG_BUILD_DIR)/cross-answers.txt
|
echo 'checking for clnt_create(): OK' >> $(PKG_BUILD_DIR)/cross-answers.txt
|
||||||
|
echo 'Checking whether fcntl supports setting/getting hints: OK' >> $(PKG_BUILD_DIR)/cross-answers.txt
|
||||||
$(call Build/Configure/Default)
|
$(call Build/Configure/Default)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
--- a/wscript_configure_embedded_heimdal
|
--- a/wscript_configure_embedded_heimdal
|
||||||
+++ b/wscript_configure_embedded_heimdal
|
+++ b/wscript_configure_embedded_heimdal
|
||||||
@@ -6,3 +6,14 @@ if not conf.env['BISON']:
|
@@ -7,6 +7,17 @@ if not conf.env['BISON']:
|
||||||
|
|
||||||
conf.define('USING_EMBEDDED_HEIMDAL', 1)
|
conf.define('USING_EMBEDDED_HEIMDAL', 1)
|
||||||
conf.RECURSE('third_party/heimdal_build')
|
conf.RECURSE('third_party/heimdal_build')
|
||||||
+
|
|
||||||
+def check_system_heimdal_binary(name):
|
+def check_system_heimdal_binary(name):
|
||||||
+ if conf.LIB_MAY_BE_BUNDLED(name):
|
+ if conf.LIB_MAY_BE_BUNDLED(name):
|
||||||
+ return False
|
+ return False
|
||||||
@@ -15,3 +14,7 @@
|
|||||||
+
|
+
|
||||||
+check_system_heimdal_binary("compile_et")
|
+check_system_heimdal_binary("compile_et")
|
||||||
+check_system_heimdal_binary("asn1_compile")
|
+check_system_heimdal_binary("asn1_compile")
|
||||||
|
+
|
||||||
|
#
|
||||||
|
# See https://github.com/heimdal/heimdal/pull/1234
|
||||||
|
# and https://github.com/krb5/krb5/pull/1329
|
||||||
|
|||||||
11
net/samba4/patches/012-fix-gnutls-version-check.patch
Normal file
11
net/samba4/patches/012-fix-gnutls-version-check.patch
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/wscript_configure_system_gnutls
|
||||||
|
+++ b/wscript_configure_system_gnutls
|
||||||
|
@@ -36,7 +36,7 @@ if (gnutls_version > parse_version('3.6.
|
||||||
|
|
||||||
|
# GNUTLS_CB_TLS_SERVER_END_POINT is available with
|
||||||
|
# 3.7.2
|
||||||
|
-if (gnutls_version >= parse_version('3.7.2')):
|
||||||
|
+if (gnutls_version > parse_version('3.7.2')):
|
||||||
|
conf.DEFINE('HAVE_GNUTLS_CB_TLS_SERVER_END_POINT', 1)
|
||||||
|
|
||||||
|
# Check if gnutls has fips mode support
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/source3/lib/messages.c
|
--- a/source3/lib/messages.c
|
||||||
+++ b/source3/lib/messages.c
|
+++ b/source3/lib/messages.c
|
||||||
@@ -500,7 +500,7 @@ static NTSTATUS messaging_init_internal(
|
@@ -501,7 +501,7 @@ static NTSTATUS messaging_init_internal(
|
||||||
return NT_STATUS_ACCESS_DENIED;
|
return NT_STATUS_ACCESS_DENIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
if (priv_path == NULL) {
|
if (priv_path == NULL) {
|
||||||
return NT_STATUS_NO_MEMORY;
|
return NT_STATUS_NO_MEMORY;
|
||||||
}
|
}
|
||||||
@@ -663,7 +663,7 @@ NTSTATUS messaging_reinit(struct messagi
|
@@ -664,7 +664,7 @@ NTSTATUS messaging_reinit(struct messagi
|
||||||
msg_ctx->per_process_talloc_ctx,
|
msg_ctx->per_process_talloc_ctx,
|
||||||
msg_ctx->event_ctx,
|
msg_ctx->event_ctx,
|
||||||
&msg_ctx->id.unique_id,
|
&msg_ctx->id.unique_id,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/source4/lib/messaging/messaging.c
|
--- a/source4/lib/messaging/messaging.c
|
||||||
+++ b/source4/lib/messaging/messaging.c
|
+++ b/source4/lib/messaging/messaging.c
|
||||||
@@ -526,7 +526,7 @@ static struct imessaging_context *imessa
|
@@ -537,7 +537,7 @@ static struct imessaging_context *imessa
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,17 +2,6 @@ Don't check xsltproc manpages
|
|||||||
|
|
||||||
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
|
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
|
||||||
|
|
||||||
--- a/lib/ldb/wscript
|
|
||||||
+++ b/lib/ldb/wscript
|
|
||||||
@@ -144,7 +144,7 @@ def configure(conf):
|
|
||||||
conf.DEFINE('EXPECTED_SYSTEM_LDB_VERSION_RELEASE', int(v[2]))
|
|
||||||
|
|
||||||
if conf.env.standalone_ldb:
|
|
||||||
- conf.CHECK_XSLTPROC_MANPAGES()
|
|
||||||
+ #conf.CHECK_XSLTPROC_MANPAGES()
|
|
||||||
|
|
||||||
# we need this for the ldap backend
|
|
||||||
if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
|
|
||||||
--- a/lib/talloc/wscript
|
--- a/lib/talloc/wscript
|
||||||
+++ b/lib/talloc/wscript
|
+++ b/lib/talloc/wscript
|
||||||
@@ -48,7 +48,7 @@ def configure(conf):
|
@@ -48,7 +48,7 @@ def configure(conf):
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/lib/replace/wscript
|
--- a/lib/replace/wscript
|
||||||
+++ b/lib/replace/wscript
|
+++ b/lib/replace/wscript
|
||||||
@@ -434,22 +434,13 @@ def configure(conf):
|
@@ -441,33 +441,13 @@ def configure(conf):
|
||||||
|
|
||||||
conf.CHECK_FUNCS('prctl dirname basename')
|
conf.CHECK_FUNCS('prctl dirname basename')
|
||||||
|
|
||||||
@@ -16,6 +16,17 @@
|
|||||||
- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
|
- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
|
||||||
- checklibc=True):
|
- checklibc=True):
|
||||||
- strlcpy_in_bsd = True
|
- strlcpy_in_bsd = True
|
||||||
|
- elif conf.env.enable_fuzzing:
|
||||||
|
- # Just to complicate it more, some versions of Honggfuzz have
|
||||||
|
- # got strlcpy and strlcat in libc, but not in <string.h>
|
||||||
|
- # (unless it is there coincidentally, on a BSD). Therefore we
|
||||||
|
- # can't use CHECK_FUNCS alone to decide whether to add the
|
||||||
|
- # headers to replace.h.
|
||||||
|
- #
|
||||||
|
- # As this is only known to happen on a fuzzing compiler, we'll
|
||||||
|
- # skip the check when not in fuzzing mode.
|
||||||
|
- conf.CHECK_HEADERS('bsd/string.h')
|
||||||
|
-
|
||||||
- if not conf.CHECK_FUNCS('getpeereid'):
|
- if not conf.CHECK_FUNCS('getpeereid'):
|
||||||
- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
|
- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
|
||||||
- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
|
- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
|
||||||
@@ -29,7 +40,7 @@
|
|||||||
|
|
||||||
conf.CHECK_CODE('''
|
conf.CHECK_CODE('''
|
||||||
struct ucred cred;
|
struct ucred cred;
|
||||||
@@ -832,9 +823,6 @@ syscall(SYS_copy_file_range,0,NULL,0,NUL
|
@@ -850,9 +830,6 @@ syscall(SYS_copy_file_range,0,NULL,0,NUL
|
||||||
|
|
||||||
# look for a method of finding the list of network interfaces
|
# look for a method of finding the list of network interfaces
|
||||||
for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
|
for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
|
||||||
@@ -39,7 +50,7 @@
|
|||||||
if conf.CHECK_CODE('''
|
if conf.CHECK_CODE('''
|
||||||
#define %s 1
|
#define %s 1
|
||||||
#define NO_CONFIG_H 1
|
#define NO_CONFIG_H 1
|
||||||
@@ -847,7 +835,7 @@ syscall(SYS_copy_file_range,0,NULL,0,NUL
|
@@ -865,7 +842,7 @@ syscall(SYS_copy_file_range,0,NULL,0,NUL
|
||||||
#include "tests/getifaddrs.c"
|
#include "tests/getifaddrs.c"
|
||||||
''' % method,
|
''' % method,
|
||||||
method,
|
method,
|
||||||
@@ -48,7 +59,7 @@
|
|||||||
addmain=False,
|
addmain=False,
|
||||||
execute=True):
|
execute=True):
|
||||||
break
|
break
|
||||||
@@ -895,7 +883,6 @@ def build(bld):
|
@@ -913,7 +890,6 @@ def build(bld):
|
||||||
break
|
break
|
||||||
|
|
||||||
extra_libs = ''
|
extra_libs = ''
|
||||||
|
|||||||
11
net/samba4/patches/104-fix-build-on-aarch64-and-risc.patch
Normal file
11
net/samba4/patches/104-fix-build-on-aarch64-and-risc.patch
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/lib/ldb/tests/test_ldb_comparison_fold.c
|
||||||
|
+++ b/lib/ldb/tests/test_ldb_comparison_fold.c
|
||||||
|
@@ -52,7 +52,7 @@ struct ranked_value {
|
||||||
|
int rank;
|
||||||
|
};
|
||||||
|
|
||||||
|
-#define STR_VAL(s, r) { { discard_const(s), sizeof(s) - 1 }, r}
|
||||||
|
+#define STR_VAL(s, r) { { (void *)s, sizeof(s) - 1 }, r}
|
||||||
|
|
||||||
|
static const struct ranked_value values_common[] = {
|
||||||
|
STR_VAL("", 0),
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
--- a/lib/util/charset/wscript_configure
|
|
||||||
+++ b/lib/util/charset/wscript_configure
|
|
||||||
@@ -37,15 +37,15 @@ conf.CHECK_CODE('''
|
|
||||||
lib='iconv',
|
|
||||||
headers='errno.h iconv.h')
|
|
||||||
|
|
||||||
-if conf.CHECK_CFG(package='icu-i18n',
|
|
||||||
- args='--cflags --libs',
|
|
||||||
- msg='Checking for icu-i18n',
|
|
||||||
- uselib_store='ICU_I18N'):
|
|
||||||
- for lib in conf.env['LIB_ICU_I18N']:
|
|
||||||
- conf.CHECK_LIB(lib, shlib=True, mandatory=True)
|
|
||||||
- conf.env['icu-libs'] = ' '.join(conf.env['LIB_ICU_I18N'])
|
|
||||||
- if not conf.CHECK_HEADERS('unicode/ustring.h'):
|
|
||||||
- conf.fatal('Found libicu, but unicode/ustring.h is missing')
|
|
||||||
- conf.DEFINE('HAVE_UTF8_NORMALISATION', 1)
|
|
||||||
-else:
|
|
||||||
- conf.env['icu-libs'] = ''
|
|
||||||
+# if conf.CHECK_CFG(package='icu-i18n',
|
|
||||||
+ # args='--cflags --libs',
|
|
||||||
+ # msg='Checking for icu-i18n',
|
|
||||||
+ # uselib_store='ICU_I18N'):
|
|
||||||
+ # for lib in conf.env['LIB_ICU_I18N']:
|
|
||||||
+ # conf.CHECK_LIB(lib, shlib=True, mandatory=True)
|
|
||||||
+ # conf.env['icu-libs'] = ' '.join(conf.env['LIB_ICU_I18N'])
|
|
||||||
+ # if not conf.CHECK_HEADERS('unicode/ustring.h'):
|
|
||||||
+ # conf.fatal('Found libicu, but unicode/ustring.h is missing')
|
|
||||||
+ # conf.DEFINE('HAVE_UTF8_NORMALISATION', 1)
|
|
||||||
+# else:
|
|
||||||
+conf.env['icu-libs'] = ''
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
--- a/third_party/heimdal/cf/make-proto.pl
|
|
||||||
+++ b/third_party/heimdal/cf/make-proto.pl
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
use Getopt::Std;
|
|
||||||
use File::Compare;
|
|
||||||
|
|
||||||
-use JSON;
|
|
||||||
+use JSON::PP;
|
|
||||||
|
|
||||||
my $comment = 0;
|
|
||||||
my $doxygen = 0;
|
|
||||||
@@ -70,7 +70,7 @@ if($opt_x) {
|
|
||||||
my $EXP;
|
|
||||||
local $/;
|
|
||||||
open(EXP, '<', $opt_x) || die "open ${opt_x}";
|
|
||||||
- my $obj = JSON->new->utf8->decode(<EXP>);
|
|
||||||
+ my $obj = JSON::PP->new->utf8->decode(<EXP>);
|
|
||||||
close $EXP;
|
|
||||||
|
|
||||||
foreach my $x (keys %$obj) {
|
|
||||||
Reference in New Issue
Block a user