ntp: fix build without libcap and no threads
authorBaruch Siach <baruch@tkos.co.il>
Mon, 15 Oct 2018 18:38:28 +0000 (21:38 +0300)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 16 Oct 2018 12:48:27 +0000 (14:48 +0200)
When threads support is missing the ntp build system builds the
work_fork code. This code added call to set_user_group_ids() that is
under HAVE_DROPROOT, which is disabled when libcap is not built.

Add a patch fixing that.

Fixes:
http://autobuild.buildroot.net/results/ab9/ab9ceff1151b8b5e6b9fa77d39c0f9b0cac1a080/

Cc: Artyom Panfilov <apanfilov@spectracom.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/ntp/0004-fix-work-fork-without-droproot.patch [new file with mode: 0644]

diff --git a/package/ntp/0004-fix-work-fork-without-droproot.patch b/package/ntp/0004-fix-work-fork-without-droproot.patch
new file mode 100644 (file)
index 0000000..cb6fec0
--- /dev/null
@@ -0,0 +1,26 @@
+Fix work_fork build when droproot is disabled
+
+The set_user_group_ids() depends on HAVE_DROPROOT. When HAVE_DROPROOT is not
+enabled, work_fork.c code causes a link failure:
+
+../libntp/libntp.a(work_fork.o): In function `send_blocking_req_internal':
+work_fork.c:(.text+0x498): undefined reference to `set_user_group_ids'
+
+Make the set_user_group_ids() call depend on HAVE_DROPROOT.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: http://bugs.ntp.org/show_bug.cgi?id=3539
+
+--- ntp-4.2.8p12.orig/libntp/work_fork.c       2018-08-14 14:51:06.000000000 +0300
++++ ntp-4.2.8p12/libntp/work_fork.c    2018-10-15 21:10:54.580917962 +0300
+@@ -594,7 +594,9 @@
+       init_logging("ntp_intres", 0, FALSE);
+       setup_logfile(NULL);
++#if defined(HAVE_DROPROOT)
+       (void) set_user_group_ids();
++#endif
+       /*
+        * And now back to the portable code