|
@@ -1,77 +0,0 @@
|
|
|
-From 8e9a7a8c72a9fe407d296ec0ffeb56b2cd271959 Mon Sep 17 00:00:00 2001
|
|
|
-From: Matt Weber <matthew.weber@rockwellcollins.com>
|
|
|
-Date: Mon, 16 Sep 2019 22:00:29 -0500
|
|
|
-Subject: [PATCH] Select TCP when lack of SYSV IPC
|
|
|
-
|
|
|
-Update to add a configure test to build and install the TCP IPC version
|
|
|
-when detecting SYSV IPC MsgQ support isn't available.
|
|
|
-
|
|
|
-The issue was initially discovered on Windows Services for Linux
|
|
|
-(WSL1.0). WSL does have some SysV IPC, but no message Q's, which is
|
|
|
-required by fakeroot/faked by default.
|
|
|
-
|
|
|
-Fixes:
|
|
|
-https://github.com/Microsoft/WSL/issues/2465
|
|
|
-
|
|
|
-Additional bug reports:
|
|
|
-https://bugs.busybox.net/show_bug.cgi?id=11366
|
|
|
-
|
|
|
-Upstream:
|
|
|
-https://salsa.debian.org/clint/fakeroot/merge_requests/2
|
|
|
-
|
|
|
-Signed-off-by: Jean-Francois Doyon <jfdoyon@gmail.com>
|
|
|
-Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
|
|
|
----
|
|
|
- configure.ac | 36 ++++++++++++++++++++++++++++++++++++
|
|
|
- 1 file changed, 36 insertions(+)
|
|
|
-
|
|
|
-diff --git a/configure.ac b/configure.ac
|
|
|
-index a9189e6..1650f77 100644
|
|
|
---- a/configure.ac
|
|
|
-+++ b/configure.ac
|
|
|
-@@ -25,6 +25,42 @@ AC_CACHE_CHECK([which IPC method to use],
|
|
|
- [ac_cv_use_ipc],
|
|
|
- [ac_cv_use_ipc=sysv])
|
|
|
-
|
|
|
-+if test $ac_cv_use_ipc = "sysv"; then
|
|
|
-+ AC_MSG_CHECKING([whether SysV IPC message queues are actually working on the host])
|
|
|
-+
|
|
|
-+ AC_LANG_PUSH(C)
|
|
|
-+ AC_TRY_RUN([
|
|
|
-+#include <stdlib.h>
|
|
|
-+#include <sys/types.h>
|
|
|
-+#include <sys/ipc.h>
|
|
|
-+#include <sys/msg.h>
|
|
|
-+#include <time.h>
|
|
|
-+#include <unistd.h>
|
|
|
-+
|
|
|
-+int main() {
|
|
|
-+
|
|
|
-+ srandom(time(NULL)+getpid()*33151);
|
|
|
-+ key_t msg_key = random();
|
|
|
-+ int msg_get = msgget(msg_key, IPC_CREAT|0600);
|
|
|
-+
|
|
|
-+ if (msg_get==-1) {
|
|
|
-+ return 1;
|
|
|
-+ } else {
|
|
|
-+ msgctl(msg_get, IPC_RMID, NULL);
|
|
|
-+ return 0;
|
|
|
-+ }
|
|
|
-+
|
|
|
-+}], [ac_cv_use_ipc=sysv], [ac_cv_use_ipc=tcp])
|
|
|
-+
|
|
|
-+ if test $ac_cv_use_ipc = "tcp"; then
|
|
|
-+ AC_MSG_RESULT([No, using TCP])
|
|
|
-+ else
|
|
|
-+ AC_MSG_RESULT([Yes])
|
|
|
-+ fi
|
|
|
-+
|
|
|
-+ AC_LANG_POP(C)
|
|
|
-+fi
|
|
|
-+
|
|
|
- AC_ARG_WITH([dbformat],
|
|
|
- AS_HELP_STRING([--with-dbformat@<:@=DBFORMAT@:>@],
|
|
|
- [database format to use: either inode (default) or path]),
|
|
|
---
|
|
|
-2.17.1
|
|
|
-
|