Index: head/net/guacamole-server/Makefile =================================================================== --- head/net/guacamole-server/Makefile (revision 525770) +++ head/net/guacamole-server/Makefile (revision 525771) @@ -1,91 +1,98 @@ # Created by: Richard Gallamore # $FreeBSD$ PORTNAME= guacamole-server DISTVERSION= 1.1.0 +PORTREVISION= 1 CATEGORIES= net MAINTAINER= ultima@FreeBSD.org COMMENT= HTML5 Clientless Remote Desktop LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libossp-uuid.so:misc/ossp-uuid \ libpng.so:graphics/png CONFLICTS_BUILD=pulseaudio-*+jack_* ffmpeg-*+jack_* USES= autoreconf gnome jpeg libtool localbase pkgconfig shebangfix USE_GITHUB= yes GH_ACCOUNT= apache USE_GNOME= cairo USE_LDCONFIG= yes USE_RC_SUBR= guacd SHEBANG_FILES= ${WRKSRC}/src/protocols/rdp/keymaps/generate.pl GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-guacd-conf=${ETCDIR}/guacd.conf INSTALL_TARGET= install-strip +GUACAMOLE_HOME?= ${PREFIX}/guacamole USERS= guacamole GROUPS= guacamole SUB_LIST= GUACD_USER=${USERS} \ - GUACD_GROUP=${GROUPS} + GUACD_GROUP=${GROUPS} \ + GUACD_HOME=${GUACAMOLE_HOME} +PLIST_SUB= GUACD_USER=${USERS} \ + GUACD_GROUP=${GROUPS} \ + GUACD_HOME=${GUACAMOLE_HOME} + OPTIONS_DEFINE= GUACENC GUACLOG NLS SSL WEBP OPTIONS_DEFAULT= GUACENC GUACLOG KUBERNETES PULSEAUDIO RDP \ SSH SSL VNC VORBIS WEBP OPTIONS_GROUP= SP AUDIO -OPTIONS_GROUP_SP= RDP KUBERNETES SSH VNC +OPTIONS_GROUP_SP= KUBERNETES RDP SSH VNC OPTIONS_GROUP_AUDIO= VORBIS PULSEAUDIO OPTIONS_SUB= yes AUDIO_DESC= Audio Support GUACENC_DESC= Video Encoding Utility GUACLOG_DESC= Input log interpreter KUBERNETES_DESC= Kubernetes protocol support RDP_DESC= RDP protocol support SP_DESC= Supported Protocols VNC_DESC= VNC protocol support GUACENC_CONFIGURE_ENABLE= guacenc GUACENC_CONFIGURE_WITH= libavcodec libavutil libswscale GUACENC_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg GUACENC_CFLAGS= -Wno-error=deprecated GUACLOG_CONFIGURE_ENABLE= guaclog KUBERNETES_CONFIGURE_WITH= kubernetes pango terminal KUBERNETES_LIB_DEPENDS= libwebsockets.so:net/libwebsockets KUBERNETES_USE= GNOME=pango NLS_USES= gettext-runtime PULSEAUDIO_CONFIGURE_WITH= pulse PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio RDP_CONFIGURE_WITH= rdp RDP_LIB_DEPENDS= libfreerdp2.so:net/freerdp SSH_CONFIGURE_WITH= pango ssh terminal SSH_IMPLIES= SSL SSH_LIB_DEPENDS= libssh2.so:security/libssh2 SSH_USE= GNOME=pango SSL_CONFIGURE_WITH= ssl SSL_USES= ssl VNC_CONFIGURE_WITH= vnc VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver VORBIS_CONFIGURE_WITH= vorbis VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \ libogg.so:audio/libogg WEBP_CONFIGURE_WITH= webp WEBP_LIB_DEPENDS= libwebp.so:graphics/webp post-patch: @${REINPLACE_CMD} 's|/etc/ssl|${PREFIX}/etc/ssl|g ; \ s|/etc/guacamole|${ETCDIR}|g' \ ${WRKSRC}/src/guacd/man/guacd.conf.5.in post-install: - @${MKDIR} ${STAGEDIR}${ETCDIR} + @${MKDIR} ${STAGEDIR}${ETCDIR} ${STAGEDIR}${GUACAMOLE_HOME} ${INSTALL_DATA} ${FILESDIR}/guacd.conf.sample ${STAGEDIR}${ETCDIR} .include Index: head/net/guacamole-server/files/guacd.in =================================================================== --- head/net/guacamole-server/files/guacd.in (revision 525770) +++ head/net/guacamole-server/files/guacd.in (revision 525771) @@ -1,47 +1,52 @@ #!/bin/sh # $FreeBSD$ # # PROVIDE: guacd # REQUIRE: LOGIN # # Add these lines to /etc/rc.conf.local or /etc/rc.conf # to enable this service: # # guacd_enable (bool): Set to "NO" by default. # Set it to "YES" to enable guacd. +# guacd_home (str): Home directory for guacd to use +# Default to "%%GUACD_HOME%%" created by the port # guacd_user (str): User to run guacd as # Default to "%%GUACD_USER%%" created by the port # guacd_group (str): Group to run guacd as # Default to "%%GUACD_GROUP%%" created by the port # guacd_pidfile (str): Set to "" by default will use the path . /etc/rc.subr name=guacd rcvar=${name}_enable load_rc_config ${name} : ${guacd_enable:="NO"} +: ${guacd_home:="%%GUACD_HOME%%"} : ${guacd_user:="%%GUACD_USER%%"} : ${guacd_group:="%%GUACD_GROUP%%"} : ${guacd_pidfile:="/var/run/${name}/${name}.pid"} + +guacd_env="$guacd_env HOME=$guacd_home" command=%%PREFIX%%/sbin/guacd pidfile=${guacd_pidfile} command_args="-p ${pidfile}" start_precmd="guacd_prestart" guacd_prestart() { if [ -f ${pidfile} ]; then rm -f ${pidfile} echo "Removing stale pidfile." elif [ ! -d ${pidfile%/*} ]; then install -d -o ${guacd_user} -g ${guacd_group} ${pidfile%/*} fi } run_rc_command "$1" Index: head/net/guacamole-server/pkg-plist =================================================================== --- head/net/guacamole-server/pkg-plist (revision 525770) +++ head/net/guacamole-server/pkg-plist (revision 525771) @@ -1,69 +1,70 @@ %%GUACENC%%bin/guacenc %%GUACLOG%%bin/guaclog %%ETCDIR%%/guacd.conf.sample include/guacamole/audio-fntypes.h include/guacamole/audio-types.h include/guacamole/audio.h include/guacamole/client-constants.h include/guacamole/client-fntypes.h include/guacamole/client-types.h include/guacamole/client.h include/guacamole/error-types.h include/guacamole/error.h include/guacamole/hash.h include/guacamole/layer-types.h include/guacamole/layer.h include/guacamole/object-types.h include/guacamole/object.h include/guacamole/parser-constants.h include/guacamole/parser-types.h include/guacamole/parser.h include/guacamole/plugin-constants.h include/guacamole/plugin.h include/guacamole/pool-types.h include/guacamole/pool.h include/guacamole/protocol-constants.h include/guacamole/protocol-types.h include/guacamole/protocol.h include/guacamole/socket-constants.h include/guacamole/socket-fntypes.h %%SSL%%include/guacamole/socket-ssl.h include/guacamole/socket-types.h include/guacamole/socket.h include/guacamole/stream-types.h include/guacamole/stream.h include/guacamole/string.h include/guacamole/timestamp-types.h include/guacamole/timestamp.h include/guacamole/unicode.h include/guacamole/user-constants.h include/guacamole/user-fntypes.h include/guacamole/user-types.h include/guacamole/user.h %%RDP%%lib/freerdp2/libguac-common-svc-client.so %%RDP%%lib/freerdp2/libguacai-client.so %%KUBERNETES%%lib/libguac-client-kubernetes.a %%KUBERNETES%%lib/libguac-client-kubernetes.so %%KUBERNETES%%lib/libguac-client-kubernetes.so.0 %%KUBERNETES%%lib/libguac-client-kubernetes.so.0.0.0 %%RDP%%lib/libguac-client-rdp.a %%RDP%%lib/libguac-client-rdp.so %%RDP%%lib/libguac-client-rdp.so.0 %%RDP%%lib/libguac-client-rdp.so.0.0.0 %%SSH%%lib/libguac-client-ssh.a %%SSH%%lib/libguac-client-ssh.so %%SSH%%lib/libguac-client-ssh.so.0 %%SSH%%lib/libguac-client-ssh.so.0.0.0 %%VNC%%lib/libguac-client-vnc.a %%VNC%%lib/libguac-client-vnc.so %%VNC%%lib/libguac-client-vnc.so.0 %%VNC%%lib/libguac-client-vnc.so.0.0.0 lib/libguac.a lib/libguac.so lib/libguac.so.17 lib/libguac.so.17.0.0 %%GUACENC%%man/man1/guacenc.1.gz %%GUACLOG%%man/man1/guaclog.1.gz man/man5/guacd.conf.5.gz man/man8/guacd.8.gz sbin/guacd +@dir(%%GUACD_USER%%,%%GUACD_GROUP%%,) %%GUACD_HOME%%