git: 7ddec062787b - main - sysutils/devctl-jail-kmod: new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 03 Oct 2022 17:09:27 UTC
The branch main has been updated by pizzamig:
URL: https://cgit.FreeBSD.org/ports/commit/?id=7ddec062787b2ef2443e540d0b56489bb1fffc0c
commit 7ddec062787b2ef2443e540d0b56489bb1fffc0c
Author: Luca Pizzamiglio <pizzamig@FreeBSD.org>
AuthorDate: 2022-10-03 17:04:42 +0000
Commit: Luca Pizzamiglio <pizzamig@FreeBSD.org>
CommitDate: 2022-10-03 17:08:45 +0000
sysutils/devctl-jail-kmod: new port
This kernel module provides jails status changes
in devctl, and available to devd
Initial non working draft
Fix include order for 13+
Fix category's makefile
Remove devctl_notify_f that has been removed in later version
The flag used is the default one, so we are not introducing
different behaviors
---
sysutils/Makefile | 1 +
sysutils/devctl-jail-kmod/Makefile | 19 ++++++++
sysutils/devctl-jail-kmod/distinfo | 3 ++
.../devctl-jail-kmod/files/patch-devctl__jail.c | 50 ++++++++++++++++++++++
sysutils/devctl-jail-kmod/pkg-descr | 3 ++
5 files changed, 76 insertions(+)
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 3f425b3abc91..a262a1a51746 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -263,6 +263,7 @@
SUBDIR += deltup
SUBDIR += desktop-installer
SUBDIR += detox
+ SUBDIR += devctl-jail-kmod
SUBDIR += devcpu-data
SUBDIR += devcpu-data-amd
SUBDIR += devcpu-data-intel
diff --git a/sysutils/devctl-jail-kmod/Makefile b/sysutils/devctl-jail-kmod/Makefile
new file mode 100644
index 000000000000..09ad9bc79b7f
--- /dev/null
+++ b/sysutils/devctl-jail-kmod/Makefile
@@ -0,0 +1,19 @@
+PORTNAME= devctl-jail-kmod
+DISTVERSION= g20190521
+CATEGORIES= sysutils
+
+MAINTAINER= pizzamig@FreeBSD.org
+COMMENT= Module to expose jail lifecycle events
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= kmod uidfix
+USE_GITHUB= yes
+GH_ACCOUNT= fubarnetes
+GH_PROJECT= kmod_devctl_jail
+GH_TAGNAME= d3c17d2381a
+
+PLIST_FILES= ${KMODDIR}/devctl_jail.ko
+
+.include <bsd.port.mk>
diff --git a/sysutils/devctl-jail-kmod/distinfo b/sysutils/devctl-jail-kmod/distinfo
new file mode 100644
index 000000000000..4885e795e88b
--- /dev/null
+++ b/sysutils/devctl-jail-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1663582453
+SHA256 (fubarnetes-kmod_devctl_jail-g20190521-d3c17d2381a_GH0.tar.gz) = 6ad5e1a8cfd4704499be29c5881ac41817220ba0cd51521ed2e9f9054afbbcfb
+SIZE (fubarnetes-kmod_devctl_jail-g20190521-d3c17d2381a_GH0.tar.gz) = 4187
diff --git a/sysutils/devctl-jail-kmod/files/patch-devctl__jail.c b/sysutils/devctl-jail-kmod/files/patch-devctl__jail.c
new file mode 100644
index 000000000000..969cbc22a0ef
--- /dev/null
+++ b/sysutils/devctl-jail-kmod/files/patch-devctl__jail.c
@@ -0,0 +1,50 @@
+--- devctl_jail.c.orig 2019-05-21 13:00:05 UTC
++++ devctl_jail.c
+@@ -34,10 +34,10 @@
+
+ #include <sys/cdefs.h>
+ #include <sys/types.h>
++#include <sys/param.h> /* defines used in kernel.h */
+ #include <sys/module.h>
+ #include <sys/systm.h> /* uprintf */
+ #include <sys/errno.h>
+-#include <sys/param.h> /* defines used in kernel.h */
+ #include <sys/kernel.h> /* types used in module initialization */
+ #include <sys/jail.h>
+ #include <sys/proc.h>
+@@ -73,7 +73,7 @@ devctl_jail_prison_create(void *obj, void *data __unus
+ sbuf_new(&sb, buf, DEVCTL_JAIL_LOGSIZE, SBUF_FIXEDLEN);
+ sbuf_printf(&sb, "jid=%d", pr->pr_id);
+ sbuf_finish(&sb);
+- devctl_notify_f("kernel", "jail", "created", sbuf_data(&sb), M_NOWAIT);
++ devctl_notify("kernel", "jail", "created", sbuf_data(&sb));
+ sbuf_delete(&sb);
+ free(buf, M_DEVCTL_JAIL);
+ return (0);
+@@ -117,7 +117,7 @@ devctl_jail_prison_set(void *obj, void *data)
+ }
+
+ sbuf_finish(&sb);
+- devctl_notify_f("kernel", "jail", "updated", sbuf_data(&sb), M_NOWAIT);
++ devctl_notify("kernel", "jail", "updated", sbuf_data(&sb));
+ sbuf_delete(&sb);
+ free(buf, M_DEVCTL_JAIL);
+ return (0);
+@@ -143,7 +143,7 @@ devctl_jail_prison_remove(void *obj, void *data __unus
+ sbuf_new(&sb, buf, DEVCTL_JAIL_LOGSIZE, SBUF_FIXEDLEN);
+ sbuf_printf(&sb, "jid=%d", pr->pr_id);
+ sbuf_finish(&sb);
+- devctl_notify_f("kernel", "jail", "removed", sbuf_data(&sb), M_NOWAIT);
++ devctl_notify("kernel", "jail", "removed", sbuf_data(&sb));
+ sbuf_delete(&sb);
+ free(buf, M_DEVCTL_JAIL);
+ return (0);
+@@ -165,7 +165,7 @@ devctl_jail_prison_attach(void *obj, void *data __unus
+ sbuf_new(&sb, buf, DEVCTL_JAIL_LOGSIZE, SBUF_FIXEDLEN);
+ sbuf_printf(&sb, "jid=%d pid=%d", pr->pr_id, td->td_proc->p_pid);
+ sbuf_finish(&sb);
+- devctl_notify_f("kernel", "jail", "attached", sbuf_data(&sb), M_NOWAIT);
++ devctl_notify("kernel", "jail", "attached", sbuf_data(&sb));
+ sbuf_delete(&sb);
+ free(buf, M_DEVCTL_JAIL);
+ return (0);
diff --git a/sysutils/devctl-jail-kmod/pkg-descr b/sysutils/devctl-jail-kmod/pkg-descr
new file mode 100644
index 000000000000..0e99d254bd02
--- /dev/null
+++ b/sysutils/devctl-jail-kmod/pkg-descr
@@ -0,0 +1,3 @@
+Kernel mdule providing dectl notifications for jails
+Jails event like start and stop can be notified via devd.
+Devd acions can be added to send messages to syslogd