Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Dec 2019 11:06:43 +0000 (UTC)
From:      "Tobias C. Berner" <tcberner@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r520107 - in head/sysutils: . sysctlbyname-improved-kmod
Message-ID:  <201912141106.xBEB6hWo022256@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tcberner
Date: Sat Dec 14 11:06:43 2019
New Revision: 520107
URL: https://svnweb.freebsd.org/changeset/ports/520107

Log:
  [NEW PORT] sysutils/sysctlbyname-improved-kmod: sysctl node to implement an improved sysctlbyname(3) clone
  
  Kernel module to add the sysctl.entryidinputbyname sysctl node
  to allow to implement an improved sysctlbyname(3) clone to handle:
  
   * a node without a level name, e.g., "security.jail.param.allow.mount."
   * a CTLTYPE_NODE with a no-NULL handler, e.g., "kern.proc.pid.<pid>"
  
  The sysctlbyname_improved() function and an example are provided, too.
  
  WWW: https://gitlab.com/alfix/sysctlbyname-improved/
  
  PR:		242068
  Submitted by:	Alfonso S. Siciliano <alfix86@gmail.com>

Added:
  head/sysutils/sysctlbyname-improved-kmod/
  head/sysutils/sysctlbyname-improved-kmod/Makefile   (contents, props changed)
  head/sysutils/sysctlbyname-improved-kmod/distinfo   (contents, props changed)
  head/sysutils/sysctlbyname-improved-kmod/pkg-descr   (contents, props changed)
  head/sysutils/sysctlbyname-improved-kmod/pkg-message   (contents, props changed)
Modified:
  head/sysutils/Makefile

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Sat Dec 14 10:57:17 2019	(r520106)
+++ head/sysutils/Makefile	Sat Dec 14 11:06:43 2019	(r520107)
@@ -1261,6 +1261,7 @@
     SUBDIR += symon
     SUBDIR += synergy
     SUBDIR += synergy-1
+    SUBDIR += sysctlbyname-improved-kmod
     SUBDIR += sysctlinfo-kmod
     SUBDIR += sysgather
     SUBDIR += sysinfo

Added: head/sysutils/sysctlbyname-improved-kmod/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/sysctlbyname-improved-kmod/Makefile	Sat Dec 14 11:06:43 2019	(r520107)
@@ -0,0 +1,49 @@
+# $FreeBSD$
+
+PORTNAME=	sysctlbyname-improved-kmod
+DISTVERSION=	20191124
+CATEGORIES=	sysutils
+
+MAINTAINER=	alfix86@gmail.com
+COMMENT=	Internal sysctl node to implement an improved sysctlbyname(3) clone
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		kmod
+USE_GITLAB=	yes
+GL_ACCOUNT=	alfix
+GL_PROJECT=	sysctlbyname-improved
+GL_COMMIT=	522eb1f40c46a035c563f4f88594db5803ccf462
+
+PLIST_FILES=	${KMODDIR}/sysctlbyname_improved.ko
+
+PORTEXAMPLES=	sysctlbyname_improved.h \
+		sysctlbyname_improved.c \
+		sysctlbyname_improved_example.c
+
+OPTIONS_DEFINE=		EXAMPLES
+OPTIONS_DEFAULT=	EXAMPLES
+
+.include <bsd.port.pre.mk>
+
+# Once the sysctlinfo interface (review D21700) lands into the base tree this
+# node can be added to the interface and the following statement needs
+# to be expanded
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200019
+IGNORE=		needs oid_label member of struct sysctl_oid defined in sysctl.h which was first introduced in FreeBSD 12
+.endif
+.if ${OPSYS} != FreeBSD
+IGNORE=		not supported on anything but FreeBSD
+.endif
+
+do-install:
+	${INSTALL_KLD} ${WRKSRC}/sysctlbyname_improved.ko ${STAGEDIR}${KMODDIR}
+
+do-install-EXAMPLES-on:
+	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+.for e in ${PORTEXAMPLES}
+	${INSTALL_DATA} ${WRKSRC}/examples/${e} ${STAGEDIR}${EXAMPLESDIR}
+.endfor
+
+.include <bsd.port.post.mk>

Added: head/sysutils/sysctlbyname-improved-kmod/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/sysctlbyname-improved-kmod/distinfo	Sat Dec 14 11:06:43 2019	(r520107)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1574563228
+SHA256 (alfix-sysctlbyname-improved-522eb1f40c46a035c563f4f88594db5803ccf462_GL0.tar.gz) = 6ddf449100ed2012eeef2d770bebd58f739f9997957a073dc59e8a08022520a1
+SIZE (alfix-sysctlbyname-improved-522eb1f40c46a035c563f4f88594db5803ccf462_GL0.tar.gz) = 8680

Added: head/sysutils/sysctlbyname-improved-kmod/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/sysctlbyname-improved-kmod/pkg-descr	Sat Dec 14 11:06:43 2019	(r520107)
@@ -0,0 +1,7 @@
+Kernel module to add the sysctl.entryidinputbyname sysctl node
+to allow to implement an improved sysctlbyname(3) clone to handle:
+ * a node without a level name, e.g., "security.jail.param.allow.mount."
+ * a CTLTYPE_NODE with a no-NULL handler, e.g., "kern.proc.pid.<pid>"
+The sysctlbyname_improved() function and an example are provided, too.
+
+WWW: https://gitlab.com/alfix/sysctlbyname-improved

Added: head/sysutils/sysctlbyname-improved-kmod/pkg-message
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/sysctlbyname-improved-kmod/pkg-message	Sat Dec 14 11:06:43 2019	(r520107)
@@ -0,0 +1,17 @@
+[
+{ type: install
+  message: <<EOM
+To use the sysctl.entryidinputbyname sysctl node and the sysctlbyname_improved
+function, make sure that you have loaded the sysctlbyname_improved kernel 
+module, by doing
+
+	# kldload sysctlbyname_improved
+
+or adding
+
+	sysctlbyname_improved_load="YES"
+
+to your /boot/loader.conf.
+EOM
+}
+]



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912141106.xBEB6hWo022256>