mirror of
https://github.com/termux/termux-packages.git
synced 2024-12-12 13:03:31 +00:00
808b6a73f9
%ci:no-build
144 lines
4.8 KiB
Diff
144 lines
4.8 KiB
Diff
https://github.com/termux/termux-packages/issues/15852
|
|
https://gitlab.com/samba-team/samba/-/merge_requests/2807
|
|
|
|
From afc5144819e0db141aa9c58de385e5829b952096 Mon Sep 17 00:00:00 2001
|
|
From: Florian Weimer <fweimer@redhat.com>
|
|
Date: Mon, 21 Nov 2022 13:37:41 +0100
|
|
Subject: [PATCH 1/3] buildtools/wafsamba: Avoid calling lib_func without a
|
|
prototype
|
|
|
|
This is a backport of commit f4c0a750d4adebcf2342a44e85f04526c34
|
|
("WAF: Fix detection of linker features")
|
|
to buildtools/wafsamba/samba_conftests.py. It fixes the check for
|
|
rpath support with compilers in strict C99 mode.
|
|
|
|
Signed-off-by: Florian Weimer <fweimer@redhat.com>
|
|
---
|
|
buildtools/wafsamba/samba_waf18.py | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/buildtools/wafsamba/samba_waf18.py b/buildtools/wafsamba/samba_waf18.py
|
|
index e2a078bd3a0..cfdceea14ca 100644
|
|
--- a/buildtools/wafsamba/samba_waf18.py
|
|
+++ b/buildtools/wafsamba/samba_waf18.py
|
|
@@ -209,7 +209,8 @@ def CHECK_LIBRARY_SUPPORT(conf, rpath=False, version_script=False, msg=None):
|
|
lib_node.parent.mkdir()
|
|
lib_node.write('int lib_func(void) { return 42; }\n', 'w')
|
|
main_node = bld.srcnode.make_node('main.c')
|
|
- main_node.write('int main(void) {return !(lib_func() == 42);}', 'w')
|
|
+ main_node.write('int lib_func(void);\n'
|
|
+ 'int main(void) {return !(lib_func() == 42);}', 'w')
|
|
linkflags = []
|
|
if version_script:
|
|
script = bld.srcnode.make_node('ldscript')
|
|
--
|
|
GitLab
|
|
|
|
|
|
From d8c6a9e5558085dfdb144bb64365822415affe84 Mon Sep 17 00:00:00 2001
|
|
From: Florian Weimer <fweimer@redhat.com>
|
|
Date: Mon, 21 Nov 2022 13:53:17 +0100
|
|
Subject: [PATCH 2/3] source3/wscript: Fix detection of major/minor macros
|
|
|
|
These macros are only available via <sys/sysmacros.h> as of glibc
|
|
commit e16deca62e16f645213dffd4ecd1153c37765f17 ("[BZ #19239] Don't
|
|
include sys/sysmacros.h from sys/types.h."), which went into
|
|
glibc 2.28.
|
|
|
|
This is different from the usual C99 cleanups because it changes
|
|
the configure check result with existing compilers that usually
|
|
accept implicit function declarations.
|
|
|
|
Signed-off-by: Florian Weimer <fweimer@redhat.com>
|
|
---
|
|
source3/wscript | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/source3/wscript b/source3/wscript
|
|
index 22be17a1a6f..ca27deaa543 100644
|
|
--- a/source3/wscript
|
|
+++ b/source3/wscript
|
|
@@ -603,11 +603,11 @@ msg.msg_accrightslen = sizeof(fd);
|
|
conf.CHECK_HEADERS('asm/types.h')
|
|
|
|
conf.CHECK_CODE('dev_t dev; int i = major(dev); return 0', "HAVE_DEVICE_MAJOR_FN",
|
|
- headers='unistd.h sys/types.h',
|
|
+ headers='sys/sysmacros.h unistd.h sys/types.h',
|
|
msg="Checking for major macro")
|
|
|
|
conf.CHECK_CODE('dev_t dev; int i = minor(dev); return 0', "HAVE_DEVICE_MINOR_FN",
|
|
- headers='unistd.h sys/types.h',
|
|
+ headers='sys/sysmacros.h unistd.h sys/types.h',
|
|
msg="Checking for minor macro")
|
|
|
|
conf.CHECK_STRUCTURE_MEMBER('struct dirent', 'd_off',
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 1f5c44d982c112e21879b64911a4184c063ba4d4 Mon Sep 17 00:00:00 2001
|
|
From: Florian Weimer <fweimer@redhat.com>
|
|
Date: Mon, 21 Nov 2022 14:12:43 +0100
|
|
Subject: [PATCH 3/3] source3/wscript: Remove implict int and implicit function
|
|
declarations
|
|
|
|
This should fix the remaining C89isms in these configure checks.
|
|
|
|
Signed-off-by: Florian Weimer <fweimer@redhat.com>
|
|
---
|
|
source3/wscript | 11 ++++++-----
|
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/source3/wscript b/source3/wscript
|
|
index ca27deaa543..e77cd127e60 100644
|
|
--- a/source3/wscript
|
|
+++ b/source3/wscript
|
|
@@ -1314,7 +1314,7 @@ syscall(SYS_initgroups, 16, NULL, NULL, 0);
|
|
|
|
if conf.CHECK_CODE('''
|
|
#include <time.h>
|
|
-main() {
|
|
+int main() {
|
|
struct tm *tm;
|
|
if (sizeof(time_t) == 8) {
|
|
time_t max_time = 0x7fffffffffffffffll;
|
|
@@ -1345,7 +1345,7 @@ main() {
|
|
#if defined(HAVE_SYS_SYSMACROS_H)
|
|
#include <sys/sysmacros.h>
|
|
#endif
|
|
-main() { dev_t dev = makedev(1,2); return 0; }
|
|
+int main() { dev_t dev = makedev(1,2); return 0; }
|
|
''',
|
|
'HAVE_MAKEDEV',
|
|
addmain=False,
|
|
@@ -1355,12 +1355,13 @@ main() { dev_t dev = makedev(1,2); return 0; }
|
|
#include <stdio.h>
|
|
#include <limits.h>
|
|
#include <signal.h>
|
|
+#include <stdlib.h>
|
|
|
|
void exit_on_core(int ignored) {
|
|
exit(1);
|
|
}
|
|
|
|
-main() {
|
|
+int main() {
|
|
char *newpath;
|
|
signal(SIGSEGV, exit_on_core);
|
|
newpath = realpath("/tmp", NULL);
|
|
@@ -1517,9 +1518,9 @@ main() {
|
|
# Check for getcwd allowing a NULL arg.
|
|
conf.CHECK_CODE('''
|
|
#include <unistd.h>
|
|
-main() {
|
|
+int main() {
|
|
char *s = getcwd(NULL,0);
|
|
- exit(s != NULL ? 0 : 1);
|
|
+ return s != NULL ? 0 : 1;
|
|
}''', 'GETCWD_TAKES_NULL', addmain=False, execute=True,
|
|
msg="getcwd takes a NULL argument")
|
|
|
|
--
|
|
GitLab
|
|
|