summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorPierre Langlois <pierre.langlois@gmx.com>2020-09-19 23:57:41 +0100
committerPierre Langlois <pierre.langlois@gmx.com>2020-09-22 19:52:07 +0100
commitd3456739c5afd210cdc47b8c147adc277b84bfa8 (patch)
tree79ae437f1759ff625c084d1f149f479be0c69371 /gnu/packages
parenta2c0dbb84a5537a0f9edb67dd20af3c7fe773aea (diff)
downloadguix-patches-d3456739c5afd210cdc47b8c147adc277b84bfa8.tar
guix-patches-d3456739c5afd210cdc47b8c147adc277b84bfa8.tar.gz
gnu: samba: Fix fcntl hint detection in configure script.
The configure script generates a C program to detect support for lifetime hints on files. But this program could crash, potentially leaving a stale unreadable file behind which could cause the patch-generated-file-shebang phase to fail. Reported upstream <https://bugzilla.samba.org/show_bug.cgi?id=14503>. * gnu/packages/patches/patches/samba-fix-fcntl-hint-detection.patch: New file. * gnu/packages/samba.scm (samba)[origin]: Add patch. * gnu/local.mk (dist_patch_DATA): Register patch.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/samba-fix-fcntl-hint-detection.patch55
-rw-r--r--gnu/packages/samba.scm2
2 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch b/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch
new file mode 100644
index 0000000000..b56c628537
--- /dev/null
+++ b/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch
@@ -0,0 +1,55 @@
+From 454ccd986b61799908a6898a55d0480911f15306 Mon Sep 17 00:00:00 2001
+From: Ralph Boehme <slow@samba.org>
+Date: Mon, 21 Sep 2020 07:48:43 +0200
+Subject: [PATCH] s3: fix fcntl waf configure check
+
+RN: Fix fcntl waf configure check
+BUG: https://bugzilla.samba.org/show_bug.cgi?id=14503
+
+Signed-off-by: Ralph Boehme <slow@samba.org>
+Reviewed-by: Volker Lendecke <vl@samba.org>
+
+Autobuild-User(master): Volker Lendecke <vl@samba.org>
+Autobuild-Date(master): Mon Sep 21 07:26:54 UTC 2020 on sn-devel-184
+---
+ source3/wscript | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/source3/wscript b/source3/wscript
+index 840ed430c0f..d3ef346eecd 100644
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -1244,7 +1244,7 @@ err:
+
+ int main(void)
+ {
+- uint64_t *hint, get_hint;
++ uint64_t hint, get_hint;
+ int fd;
+
+ fd = open(DATA, O_RDONLY | O_CREAT | O_EXCL);
+@@ -1252,8 +1252,8 @@ int main(void)
+ goto err;
+ }
+
+- *hint = RWH_WRITE_LIFE_SHORT;
+- int ret = fcntl(fd, F_SET_RW_HINT, hint);
++ hint = RWH_WRITE_LIFE_SHORT;
++ int ret = fcntl(fd, F_SET_RW_HINT, &hint);
+ if (ret == -1) {
+ goto err;
+ }
+@@ -1267,8 +1267,8 @@ int main(void)
+ goto err;
+ }
+
+- *hint = RWH_WRITE_LIFE_EXTREME;
+- ret = fcntl(fd, F_SET_FILE_RW_HINT, hint);
++ hint = RWH_WRITE_LIFE_EXTREME;
++ ret = fcntl(fd, F_SET_FILE_RW_HINT, &hint);
+ if (ret == -1) {
+ goto err;
+ }
+--
+2.28.0
+
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index c04426c49c..76a9c01866 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -32,6 +32,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (guix utils)
+ #:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
@@ -182,6 +183,7 @@ external dependencies.")
"samba-" version ".tar.gz"))
(sha256
(base32 "1lkgih0vrarf5zy6chspkwarqdylzwr63nxr3qjkpazrs86nlm9h"))
+ (patches (search-patches "samba-fix-fcntl-hint-detection.patch"))
(modules '((guix build utils)))
(snippet
'(begin