diff options
| author | Dries Michiels <driesm@FreeBSD.org> | 2025-03-18 07:02:57 +0000 |
|---|---|---|
| committer | Dries Michiels <driesm@FreeBSD.org> | 2025-03-18 11:13:32 +0000 |
| commit | 30f266aa4b9a16f58883a7eeccd128c57e4bbc6d (patch) | |
| tree | 9ec70b32c5227ddab15bdbb2cbf0f81dd50ab95f | |
| parent | 0a5479b86b57ac3bf092233ac587cc76f9b2c77a (diff) | |
devel/py-python-velbus: add new port
Python application that bridges a Velbus installation with TCP.
| -rw-r--r-- | GIDs | 2 | ||||
| -rw-r--r-- | UIDs | 2 | ||||
| -rw-r--r-- | devel/Makefile | 1 | ||||
| -rw-r--r-- | devel/py-python-velbustcp/Makefile | 39 | ||||
| -rw-r--r-- | devel/py-python-velbustcp/distinfo | 3 | ||||
| -rw-r--r-- | devel/py-python-velbustcp/files/velbustcpd-devd.conf | 11 | ||||
| -rw-r--r-- | devel/py-python-velbustcp/files/velbustcpd.in | 49 | ||||
| -rw-r--r-- | devel/py-python-velbustcp/pkg-descr | 2 |
8 files changed, 107 insertions, 2 deletions
@@ -307,7 +307,7 @@ victoria-logs:*:363: elog:*:364: gotify:*:365: opengist:*:366: -# free: 367 +velbustcpd:*:367: # free: 368 # free: 369 _wsdd:*:370: @@ -313,7 +313,7 @@ victoria-logs:*:363:363::0:0:VictoriaLogs Daemon:/nonexistent:/usr/sbin/nologin elog:*:364:364::0:0:Elog server:/nonexistent:/usr/sbin/nologin gotify:*:365:365::0:0:Gotify User:/var/db/gotify:/usr/sbin/nologin opengist:*:366:366::0:0:OpenGist User:/var/db/opengist:/usr/sbin/nologin -# free: 367 +velbustcpd:*:367:367::0:0:Velbustcp Deamon:/nonexistent:/usr/sbin/nologin # free: 368 # free: 369 _wsdd:*:370:370::0:0:Web Service Discovery Daemon:/nonexistent:/usr/sbin/nologin diff --git a/devel/Makefile b/devel/Makefile index 4d4b24ab54a2..0a0b6092a18a 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -5756,6 +5756,7 @@ SUBDIR += py-python-socketio SUBDIR += py-python-statsd SUBDIR += py-python-subunit + SUBDIR += py-python-velbustcp SUBDIR += py-python-xcaplib SUBDIR += py-pythonbrew SUBDIR += py-pythondialog diff --git a/devel/py-python-velbustcp/Makefile b/devel/py-python-velbustcp/Makefile new file mode 100644 index 000000000000..15e8b4842954 --- /dev/null +++ b/devel/py-python-velbustcp/Makefile @@ -0,0 +1,39 @@ +PORTNAME= python-velbustcp +DISTVERSION= 1.5.1-9 +DISTVERSIONSUFFIX= -g01b75b7 +CATEGORIES= devel python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= driesm@FreeBSD.org +COMMENT= Python application that bridges a Velbus installation with TCP +WWW= https://github.com/velbus/python-velbustcp + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyserial>=0:comms/py-pyserial@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}blinker>0:devel/py-blinker@${PY_FLAVOR} + +USES= python +USE_GITHUB= yes +GH_ACCOUNT= velbus +USE_PYTHON= autoplist concurrent distutils + +USE_RC_SUBR= velbustcpd + +NO_ARCH= yes +SUB_LIST= PORTNAME=${PORTNAME} \ + PYTHON_CMD=${PYTHON_CMD} \ + USERS=${USERS} + +USERS= velbustcpd +GROUPS= velbustcpd + +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/${PORTNAME} + ${INSTALL_DATA} ${WRKSRC}/settings.json.template ${STAGEDIR}${PREFIX}/etc/${PORTNAME}/settings.json.sample + ${ECHO_CMD} "@sample etc/${PORTNAME}/settings.json.sample" >> ${TMPPLIST} + ${INSTALL_DATA} files/velbustcpd-devd.conf ${STAGEDIR}${PREFIX}/etc/devd/velbustcpd-devd.conf.sample + ${ECHO_CMD} "@sample etc/devd/velbustcpd-devd.conf.sample" >> ${TMPPLIST} + +.include <bsd.port.mk> diff --git a/devel/py-python-velbustcp/distinfo b/devel/py-python-velbustcp/distinfo new file mode 100644 index 000000000000..174e3e6e3b20 --- /dev/null +++ b/devel/py-python-velbustcp/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1742281208 +SHA256 (velbus-python-velbustcp-1.5.1-9-g01b75b7_GH0.tar.gz) = b7b5d66103715a2f8ee77ada66fb5389eb13fd16a5a45bcc8d95a980fa5bdb9f +SIZE (velbus-python-velbustcp-1.5.1-9-g01b75b7_GH0.tar.gz) = 19774 diff --git a/devel/py-python-velbustcp/files/velbustcpd-devd.conf b/devel/py-python-velbustcp/files/velbustcpd-devd.conf new file mode 100644 index 000000000000..e7843b9c2a73 --- /dev/null +++ b/devel/py-python-velbustcp/files/velbustcpd-devd.conf @@ -0,0 +1,11 @@ +# Example devd configuration file for velbus usb interface +# Uncomment the notify rule below to enable. +# vendor/product id to be adjusted, probe with usbconfig for the correct ids +#notify 100 { +# match "system" "USB"; +# match "subsystem" "INTERFACE"; +# match "type" "ATTACH"; +# match "vendor" "0x1209"; +# match "product" "0xc0ca"; +# action "chown velbustcpd:wheel /dev/$cdev"; +#}; diff --git a/devel/py-python-velbustcp/files/velbustcpd.in b/devel/py-python-velbustcp/files/velbustcpd.in new file mode 100644 index 000000000000..03718c0f69e6 --- /dev/null +++ b/devel/py-python-velbustcp/files/velbustcpd.in @@ -0,0 +1,49 @@ +#!/bin/sh + +# PROVIDE: velbustcpd +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable velbustcpd: +# velbustcpd_enable: Set to NO by default. Set it to YES to enable it. +# velbustcpd_log_dig: The directory to store log files +# Default: /var/log/%%PORTNAME%% +# velbustcpd_pid_dir: The directory of the pid file +# Default: /var/run/%%PORTNAME%% +# velbustcpd_user: The user account velbustcpd daemon runs as what +# you want it to be. +# velbustcpd_settings: Location of the settings file +# Default: %%LOCALBASE%%/etc/%%PORTNAME%%/settings.json + +. /etc/rc.subr + +name=velbustcpd +rcvar=velbustcpd_enable + +load_rc_config ${name} + +: ${velbustcpd_enable:=NO} +: ${velbustcpd_log_dir:="/var/log/%%PORTNAME%%"} +: ${velbustcpd_pid_dir:="/var/run/%%PORTNAME%%"} +: ${velbustcpd_user:=%%USERS%%} +: ${velbustcpd_settings:="%%LOCALBASE%%/etc/%%PORTNAME%%/settings.json"} + +pidfile="${velbustcpd_pid_dir}/velbustcpd.pid" +logfile="${velbustcpd_log_dir}/velbustcpd.log" +procname="%%PYTHON_CMD%%" +command="/usr/sbin/daemon" +command_args="-f -p ${pidfile} -o ${logfile} ${procname} \ + %%LOCALBASE%%/bin/velbustcp --settings ${velbustcpd_settings}" +start_precmd=velbustcpd_precmd + +velbustcpd_precmd() +{ + if [ ! -d ${velbustcpd_pid_dir} ]; then + install -d -g ${velbustcpd_user} -o ${velbustcpd_user} ${velbustcpd_pid_dir} + fi + if [ ! -d ${velbustcpd_log_dir} ]; then + install -d -g ${velbustcpd_user} -o ${velbustcpd_user} ${velbustcpd_log_dir} + fi +} + +run_rc_command "$1" diff --git a/devel/py-python-velbustcp/pkg-descr b/devel/py-python-velbustcp/pkg-descr new file mode 100644 index 000000000000..47c1d9fefbd2 --- /dev/null +++ b/devel/py-python-velbustcp/pkg-descr @@ -0,0 +1,2 @@ +Python application that bridges a Velbus installation with TCP. +Can be used to broadcast a velbus USB interface as TCP socket. |
