git: fb5ba3cd5db4 - main - sysutils/ngbuddy: Add new port

From: Mateusz Piotrowski <0mp_at_FreeBSD.org>
Date: Wed, 26 Jun 2024 09:41:47 UTC
The branch main has been updated by 0mp:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fb5ba3cd5db434dd12d9bd736391f7a90e887925

commit fb5ba3cd5db434dd12d9bd736391f7a90e887925
Author:     Daniel J. Bell <daniel@belltech.it>
AuthorDate: 2024-06-26 09:35:01 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2024-06-26 09:35:01 +0000

    sysutils/ngbuddy: Add new port
    
    Netgraph Buddy is an rc.d script for simplified management of netgraph
    networks in mixed VM and jail environments.
    
    PR:             279999
    Sponsored by:   Bell Tower Integration
    Sponsored by:   Klara, Inc.
    Co-authored-by: Xavier Beaudouin <kiwi@oav.net>
---
 sysutils/Makefile                     |  1 +
 sysutils/ngbuddy/Makefile             | 29 +++++++++++++++++++++++++++++
 sysutils/ngbuddy/distinfo             |  3 +++
 sysutils/ngbuddy/files/pkg-message.in | 20 ++++++++++++++++++++
 sysutils/ngbuddy/pkg-descr            |  2 ++
 sysutils/ngbuddy/pkg-plist            |  6 ++++++
 6 files changed, 61 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index 41eabf996316..5021696dc3fb 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -829,6 +829,7 @@
     SUBDIR += nerdctl
     SUBDIR += netevent
     SUBDIR += nfcutils
+    SUBDIR += ngbuddy
     SUBDIR += nitrogen
     SUBDIR += nix
     SUBDIR += nmdaemon
diff --git a/sysutils/ngbuddy/Makefile b/sysutils/ngbuddy/Makefile
new file mode 100644
index 000000000000..367781b7eac9
--- /dev/null
+++ b/sysutils/ngbuddy/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	ngbuddy
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.0
+CATEGORIES=	sysutils
+
+MAINTAINER=	daniel@belltech.it
+COMMENT=	rc.d script for management of netgraph networks
+WWW=		https://github.com/bellhyve/ngbuddy
+
+LICENSE=	BSD2CLAUSE
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	bellhyve
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+SUB_FILES=	pkg-message
+
+do-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/ngbuddy ${STAGEDIR}${PREFIX}/etc/rc.d/
+	${MKDIR} ${STAGEDIR}${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/share/ngbuddy/* ${STAGEDIR}${DATADIR}
+	${MKDIR} ${STAGEDIR}${DATADIR}/examples
+	${INSTALL_DATA} ${WRKSRC}/examples/devfs.rules ${STAGEDIR}${DATADIR}/examples/
+	${INSTALL_DATA} ${WRKSRC}/examples/jail_skel.conf ${STAGEDIR}${DATADIR}/examples/
+	${INSTALL_MAN} ${WRKSRC}/ngbuddy.8 ${STAGEDIR}${PREFIX}/share/man/man8/
+
+.include <bsd.port.mk>
diff --git a/sysutils/ngbuddy/distinfo b/sysutils/ngbuddy/distinfo
new file mode 100644
index 000000000000..9bb76bb57b70
--- /dev/null
+++ b/sysutils/ngbuddy/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1718315690
+SHA256 (bellhyve-ngbuddy-v1.0_GH0.tar.gz) = db62e004e5afbba97b2957676f8b2735a5a128ed68b67f96681393cc8bda8e6b
+SIZE (bellhyve-ngbuddy-v1.0_GH0.tar.gz) = 12977
diff --git a/sysutils/ngbuddy/files/pkg-message.in b/sysutils/ngbuddy/files/pkg-message.in
new file mode 100644
index 000000000000..044847281f2b
--- /dev/null
+++ b/sysutils/ngbuddy/files/pkg-message.in
@@ -0,0 +1,20 @@
+[
+{ type: install
+  message: <<EOM
+To configure Netgraph Buddy with a "private" and "public" netgraph bridge, run:
+
+    service ngbuddy enable
+
+If you're using vm-bhyve, you can add your bridges with:
+
+    service ngbuddy vmconf
+
+For more information, see ngbuddy(8) and the example jail configuration in:
+
+    %%DATADIR%%/examples/
+
+Please submit bugs to: https://github.com/bellhyve/ngbuddy
+
+EOM
+}
+]
diff --git a/sysutils/ngbuddy/pkg-descr b/sysutils/ngbuddy/pkg-descr
new file mode 100644
index 000000000000..37738789c36c
--- /dev/null
+++ b/sysutils/ngbuddy/pkg-descr
@@ -0,0 +1,2 @@
+Netgraph Buddy is an rc.d script for simplified management of netgraph
+networks in mixed VM and jail environments.
diff --git a/sysutils/ngbuddy/pkg-plist b/sysutils/ngbuddy/pkg-plist
new file mode 100644
index 000000000000..5a28f9a1bff1
--- /dev/null
+++ b/sysutils/ngbuddy/pkg-plist
@@ -0,0 +1,6 @@
+etc/rc.d/ngbuddy
+share/man/man8/ngbuddy.8.gz
+%%DATADIR%%/ngbuddy-status.awk
+%%DATADIR%%/ngbuddy-mmd.awk
+%%DATADIR%%/examples/devfs.rules
+%%DATADIR%%/examples/jail_skel.conf