mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 12:50:22 +02:00
runc: introduce oci-systemd-hook
To support running "OS containers" aka systemd as the entry point under runc, we provide the oci-systemd-hook. By adding this to the pre-start and stop hook points, coupled with the proper config.json, you can start systemd controlled containers via runc. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
parent
66997c4dcf
commit
013fe63f17
|
@ -0,0 +1,25 @@
|
|||
From 12c263703a0b0ae92566de7e5440fce7b59cd9be Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Ashfield <bruce.ashfield@windriver.com>
|
||||
Date: Tue, 8 Nov 2016 13:16:19 -0500
|
||||
Subject: [PATCH] configure: drop selinux support
|
||||
|
||||
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
||||
---
|
||||
configure.ac | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c1275acb253d..eaba7fbb57e2 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -8,7 +8,6 @@ AC_USE_SYSTEM_EXTENSIONS
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
PKG_CHECK_MODULES([YAJL], [yajl >= 2.0.0])
|
||||
-PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0.0])
|
||||
PKG_CHECK_MODULES([LIBMOUNT], [mount >= 2.23.0])
|
||||
|
||||
AC_MSG_CHECKING([whether to disable argument checking])
|
||||
--
|
||||
2.4.0.53.g8440f74
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From 9b66394c712ec0d0fcb2052baa7f590621a53461 Mon Sep 17 00:00:00 2001
|
||||
From: Bruce Ashfield <bruce.ashfield@windriver.com>
|
||||
Date: Tue, 8 Nov 2016 13:15:46 -0500
|
||||
Subject: [PATCH] selinux: drop selinux support
|
||||
|
||||
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
||||
---
|
||||
src/systemdhook.c | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/src/systemdhook.c b/src/systemdhook.c
|
||||
index 274e5b910699..b9e8f1be376a 100644
|
||||
--- a/src/systemdhook.c
|
||||
+++ b/src/systemdhook.c
|
||||
@@ -14,7 +14,6 @@
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
#include <linux/limits.h>
|
||||
-#include <selinux/selinux.h>
|
||||
#include <yajl/yajl_tree.h>
|
||||
|
||||
#include "config.h"
|
||||
@@ -538,14 +537,6 @@ static int prestart(const char *rootfs,
|
||||
}
|
||||
}
|
||||
|
||||
- if (strcmp("", mount_label)) {
|
||||
- rc = setfilecon(journal_dir, (security_context_t)mount_label);
|
||||
- if (rc < 0) {
|
||||
- pr_perror("Failed to set journal dir selinux context");
|
||||
- return -1;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
if (makepath(cont_journal_dir, 0755) == -1) {
|
||||
if (errno != EEXIST) {
|
||||
pr_perror("Failed to mkdir container journal dir: %s", cont_journal_dir);
|
||||
--
|
||||
2.4.0.53.g8440f74
|
||||
|
35
recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb
Normal file
35
recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb
Normal file
|
@ -0,0 +1,35 @@
|
|||
DESCRIPTION = "OCI systemd hook enables users to run systemd in docker and OCI"
|
||||
SECTION = "console/utils"
|
||||
LICENSE = "GPLv3"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
|
||||
PRIORITY = "optional"
|
||||
|
||||
DEPENDS = "yajl util-linux"
|
||||
|
||||
SRCREV = "ca515c1f399bd0b16e94b7c34aa1ef20498beca6"
|
||||
SRC_URI = "git://github.com/projectatomic/oci-systemd-hook \
|
||||
file://0001-selinux-drop-selinux-support.patch \
|
||||
file://0001-configure-drop-selinux-support.patch \
|
||||
"
|
||||
|
||||
PV = "0.0.1+git${SRCPV}"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG[selinux] = ",,libselinux"
|
||||
|
||||
EXTRA_OECONF += "--libexecdir=${libexecdir}/oci/hooks.d"
|
||||
|
||||
# nothing to compile, we do it all in the install task
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
# Avoid building docs, and other artifacts by surgically calling the
|
||||
# semi-internal target of "install-exec-am"
|
||||
oe_runmake 'DESTDIR=${D}' install-exec-am
|
||||
}
|
||||
|
||||
FILES_${PN} += "${libexecdir}/oci/hooks.d/"
|
||||
|
Loading…
Reference in New Issue
Block a user