[prev in list] [next in list] [prev in thread] [next in thread]
List: lxc-devel
Subject: [lxc-devel] [lxd/stable-3.0] Centos 6 build
From: hackman on Github <lxc-bot () linuxcontainers ! org>
Date: 2019-07-27 21:07:37
Message-ID: 5d3cbd19.1c69fb81.19e81.51a9SMTPIN_ADDED_MISSING () mx ! google ! com
[Download RAW message or body]
[Attachment #2 (text/x-mailbox)]
The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/6020
This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.
=== Description (from pull-request) ===
just an overview of the CentOS 6 related changes
[Attachment #3 (text/plain)]
From fc29bacc485467ad5cc18bfc8657ef41cc4d7a0b Mon Sep 17 00:00:00 2001
From: Marian Marinov <mm@yuhu.biz>
Date: Sat, 27 Jul 2019 23:57:12 +0300
Subject: [PATCH 1/2] In order to build LXD on CentOS 6 we need setns() which
is not provided by CentOS 6.
We create a header namespaces.h which will be included in main_checkfeature.go and main_nsexec.go.
The header defines the setns() function, on distros, that don't export it in their own headers.
Signed-off-by: Marian Marinov <mm@yuhu.biz>
---
lxd/include/namespaces.h | 17 +++++++++++++++++
lxd/main_checkfeature.go | 1 +
lxd/main_nsexec.go | 1 +
3 files changed, 19 insertions(+)
create mode 100644 lxd/include/namespaces.h
diff --git a/lxd/include/namespaces.h b/lxd/include/namespaces.h
new file mode 100644
index 0000000000..64e3bbab53
--- /dev/null
+++ b/lxd/include/namespaces.h
@@ -0,0 +1,17 @@
+#ifndef __NAMESPACES_H
+
+// Define setns() if missing from the C library
+#ifndef HAVE_SETNS
+static inline int setns(int fd, int nstype) {
+#ifdef __NR_setns
+ return syscall(__NR_setns, fd, nstype);
+#elif defined(__NR_set_ns)
+ return syscall(__NR_set_ns, fd, nstype);
+#else
+ errno = ENOSYS;
+ return -1;
+#endif
+}
+#endif
+
+#endif
diff --git a/lxd/main_checkfeature.go b/lxd/main_checkfeature.go
index e82a157379..8edb64f9e9 100644
--- a/lxd/main_checkfeature.go
+++ b/lxd/main_checkfeature.go
@@ -21,6 +21,7 @@ import (
#include "../shared/netutils/netns_getifaddrs.c"
#include "include/memory_utils.h"
+#include "include/namespaces.h"
bool netnsid_aware = false;
char errbuf[4096];
diff --git a/lxd/main_nsexec.go b/lxd/main_nsexec.go
index df338e14da..2ad8a95e3d 100644
--- a/lxd/main_nsexec.go
+++ b/lxd/main_nsexec.go
@@ -34,6 +34,7 @@ package main
#include <unistd.h>
#include "include/memory_utils.h"
+#include "include/namespaces.h"
// External functions
extern void checkfeature();
From 532990416631b72c7c0fbc0294331d883509fb83 Mon Sep 17 00:00:00 2001
From: Marian Marinov <mm@yuhu.biz>
Date: Sat, 27 Jul 2019 23:59:26 +0300
Subject: [PATCH 2/2] Again in order to build LXD on CentOS 6 we need the
O_PATH and AT_EMPTY_PATH definitions. These are borrowed from newer glibc
headers.
Signed-off-by: Marian Marinov <mm@yuhu.biz>
---
shared/idmap/shift_linux.go | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/shared/idmap/shift_linux.go b/shared/idmap/shift_linux.go
index 11a2447955..801cefde0f 100644
--- a/shared/idmap/shift_linux.go
+++ b/shared/idmap/shift_linux.go
@@ -36,6 +36,15 @@ import (
#include "../../lxd/include/memory_utils.h"
+#ifndef __O_PATH
+#define __O_PATH 010000000
+#endif
+
+#ifndef O_PATH
+#define O_PATH __O_PATH
+#endif
+#define AT_EMPTY_PATH 0x1000
+
#ifndef VFS_CAP_REVISION_1
#define VFS_CAP_REVISION_1 0x01000000
#endif
[Attachment #4 (text/plain)]
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic