[New port] sysutils/conman - serial console manager

- ConMan is a serial console management program designed to support a
  large number of console devices and simultaneous users.

Approved by:	araujo (mentor)
Differential Revision:	https://reviews.freebsd.org/D18978
This commit is contained in:
John Hixson 2019-01-31 04:55:59 +00:00
parent f8c9f79e5e
commit 962bd9fdb8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=491681
7 changed files with 160 additions and 0 deletions

View File

@ -194,6 +194,7 @@
SUBDIR += confman
SUBDIR += conky
SUBDIR += conky-awesome
SUBDIR += conman
SUBDIR += consolehm
SUBDIR += consolekit2
SUBDIR += consul

44
sysutils/conman/Makefile Normal file
View File

@ -0,0 +1,44 @@
# Created by: John Hixson <jhixson@FreeBSD.org>
# $FreeBSD$
PORTNAME= conman
PORTVERSION= 0.3.0
DISTVERSIONPREFIX= conman-
CATEGORIES= sysutils
MAINTAINER= jhixson@FreeBSD.org
COMMENT= Serial Console Management Program
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libinotify.so:devel/libinotify
RUN_DEPENDS= expect>0:lang/expect \
freeipmi>1.0.4:sysutils/freeipmi
USES= autoreconf gmake shebangfix perl5
USE_RC_SUBR= conmand
USE_GITHUB= yes
GH_ACCOUNT= dun
GNU_CONFIGURE= yes
ETCDIR= ${PREFIX}/etc
CONFIGURE_ARGS= --sysconfdir=${ETCDIR}
SHEBANG_GLOB= *.exp conmen
SHEBANG_LANG= expect
MAKE_ARGS+= CC="${CC}" PREFIX="${PREFIX}"
CFLAGS+= -I${LOCALBASE}/include -std=c99
LDFLAGS+= -L${LOCALBASE}/lib -linotify
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/conman
${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/conmand
${MKDIR} ${STAGEDIR}${ETCDIR}
.include <bsd.port.mk>

3
sysutils/conman/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1548451915
SHA256 (dun-conman-conman-0.3.0_GH0.tar.gz) = 51d379187028317784305588ce3770e66d56c201c3d98afbf823eac039f4583c
SIZE (dun-conman-conman-0.3.0_GH0.tar.gz) = 240855

View File

@ -0,0 +1,29 @@
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: conmand
# REQUIRE: NETWORKING
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable conman:
# conman_enable="YES"
# conman_args="<set as needed>"
. /etc/rc.subr
name=conmand
rcvar=conmand_enable
load_rc_config $name
pidfile=/var/run/conmand.pid
procname="%%PREFIX%%/sbin/conmand"
: ${conmand_enable:="NO"}
: ${conmand_args:="-P ${pidfile}"}
command="${procname}"
command_args="${conmand_args}"
run_rc_command "$1"

View File

@ -0,0 +1,39 @@
--- Makefile.in.orig 2018-09-15 15:51:34 UTC
+++ Makefile.in
@@ -90,13 +90,13 @@ install: $(PROGS)
$(INSTALL) -m 755 -d $(DESTDIR)$(sbindir)
$(INSTALL) -m 755 conmand $(DESTDIR)$(sbindir)/
$(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)
- @ test ! -f $(DESTDIR)$(sysconfdir)/conman.conf \
- || cmp etc/conman.conf $(DESTDIR)$(sysconfdir)/conman.conf \
+ @ test ! -f $(DESTDIR)$(sysconfdir)/conman.conf.sample \
+ || cmp etc/conman.conf $(DESTDIR)$(sysconfdir)/conman.conf.sample \
1>/dev/null 2>&1 || new=".new"; \
echo $(INSTALL) -m 600 etc/conman.conf \
- $(DESTDIR)$(sysconfdir)/conman.conf$${new}; \
+ $(DESTDIR)$(sysconfdir)/conman.conf$${new}.sample; \
$(INSTALL) -m 600 etc/conman.conf \
- $(DESTDIR)$(sysconfdir)/conman.conf$${new}
+ $(DESTDIR)$(sysconfdir)/conman.conf$${new}.sample
@ if test -d $(prefix)/lib/systemd/system; then \
echo $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/lib/systemd/system; \
$(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/lib/systemd/system; \
@@ -114,14 +114,14 @@ install: $(PROGS)
$(INSTALL) -m 755 etc/conman.init \
$(DESTDIR)$(sysconfdir)/init.d/conman$${new}
$(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/logrotate.d
- @ test ! -f $(DESTDIR)$(sysconfdir)/logrotate.d/conman \
+ @ test ! -f $(DESTDIR)$(sysconfdir)/logrotate.d/conman.sample \
|| cmp etc/conman.logrotate \
- $(DESTDIR)$(sysconfdir)/logrotate.d/conman \
+ $(DESTDIR)$(sysconfdir)/logrotate.d/conman.sample \
1>/dev/null 2>&1 || new=".new"; \
echo $(INSTALL) -m 644 etc/conman.logrotate \
- $(DESTDIR)$(sysconfdir)/logrotate.d/conman$${new}; \
+ $(DESTDIR)$(sysconfdir)/logrotate.d/conman$${new}.sample; \
$(INSTALL) -m 644 etc/conman.logrotate \
- $(DESTDIR)$(sysconfdir)/logrotate.d/conman$${new}
+ $(DESTDIR)$(sysconfdir)/logrotate.d/conman$${new}.sample
@ test -d /etc/sysconfig && d=sysconfig || d=default; \
echo $(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/$$d; \
$(INSTALL) -m 755 -d $(DESTDIR)$(sysconfdir)/$$d; \

12
sysutils/conman/pkg-descr Normal file
View File

@ -0,0 +1,12 @@
ConMan is a serial console management program designed to support a
large number of console devices and simultaneous users.
Supported console types:
- Local serial devices
- Remote terminal servers (via the telnet protocol)
- IPMI Serial-Over-LAN (via FreeIPMI's libipmiconsole)
- External processes (e.g., Expect)
- Unix domain sockets
WWW: https://dun.github.io/conman/

32
sysutils/conman/pkg-plist Normal file
View File

@ -0,0 +1,32 @@
bin/conman
bin/conmen
%%ETCDIR%%/default/conman
%%ETCDIR%%/init.d/conman
@sample %%ETCDIR%%/conman.conf.sample
@sample %%ETCDIR%%/logrotate.d/conman.sample
lib/conman/alpha.exp
lib/conman/conman.exp
lib/conman/examples/README
lib/conman/examples/boot_alpha.exp
lib/conman/examples/mac.exp
lib/conman/examples/rmc.exp
lib/conman/examples/shell_cmd_1.exp
lib/conman/examples/shell_cmd_n.exp
lib/conman/examples/srm.exp
lib/conman/examples/wtf.exp
lib/conman/exec/README
lib/conman/exec/cyclades-ssh.exp
lib/conman/exec/cyclades-telnet.exp
lib/conman/exec/hp-ilo.exp
lib/conman/exec/hp-lo100.exp
lib/conman/exec/ibm-bc.exp
lib/conman/exec/ipmiconsole.exp
lib/conman/exec/ipmitool.exp
lib/conman/exec/ssh.exp
lib/conman/exec/sun-elom.exp
lib/conman/exec/sun-ilom.exp
lib/conman/exec/sun-v20z-v40z.exp
man/man1/conman.1.gz
man/man5/conman.conf.5.gz
man/man8/conmand.8.gz
sbin/conmand