diff --git a/GIDs b/GIDs --- a/GIDs +++ b/GIDs @@ -312,7 +312,7 @@ neo4j:*:369: _wsdd:*:370: reposilite:*:371: -# free: 372 +beam:*:372: # free: 373 # free: 374 # free: 375 diff --git a/UIDs b/UIDs --- a/UIDs +++ b/UIDs @@ -318,7 +318,7 @@ neo4j:*:369:369::0:0:neo4j Database Daemon:/nonexistent:/usr/sbin/nologin _wsdd:*:370:370::0:0:Web Service Discovery Daemon:/nonexistent:/usr/sbin/nologin reposilite:*:371:371::0:0:Reposilite user:/nonexistent:/usr/sbin/nologin -# free: 372 +beam:*:372:372::0:0:Erlang BEAM VM user:/nonexistent:/usr/sbin/nologin # free: 373 # free: 374 # free: 375 diff --git a/lang/erlang/Makefile b/lang/erlang/Makefile --- a/lang/erlang/Makefile +++ b/lang/erlang/Makefile @@ -1,6 +1,7 @@ PORTNAME= erlang DISTVERSIONPREFIX= OTP- DISTVERSION= 26.2.5.12 +PORTREVISION= 1 PORTEPOCH= 4 CATEGORIES= lang parallel java DIST_SUBDIR= erlang @@ -37,6 +38,9 @@ WRKSRC= ${WRKSRC_otp} +USERS= beam +GROUPS= beam + _EI_VSN= 5.5.1 _SNMP_VSN= 5.15 _TOOLS_VSN= 3.6 diff --git a/lang/erlang/files/epmd.in b/lang/erlang/files/epmd.in --- a/lang/erlang/files/epmd.in +++ b/lang/erlang/files/epmd.in @@ -8,7 +8,7 @@ # epmd_enable="YES" # # Configure optional flags with: -# epmd_flags="-address 127.0.0.1" +# epmd_opts="-address 127.0.0.1" . /etc/rc.subr @@ -18,10 +18,24 @@ load_rc_config ${name} : ${epmd_enable="NO"} -: ${epmd_flags:-""} +: ${epmd_opts:-""} +: ${epmd_user="beam"} -procname=%%PREFIX%%/bin/epmd -start_cmd="%%PREFIX%%/bin/epmd -daemon ${epmd_flags}" -stop_cmd="%%PREFIX%%/bin/epmd -kill >/dev/null" +procname="daemon" +pidfile="/var/run/epmd/epmd.pid" +command="/usr/sbin/daemon" +command_args="-f -r -P ${pidfile} %%PREFIX%%/bin/epmd ${epmd_opts}" +command_user="${epmd_user}" + +start_precmd="epmd_precmd" + +epmd_precmd() +{ + if [ ! -d "/var/run/epmd" ]; then + install -d -o ${epmd_user} -g ${epmd_user} /var/run/epmd + fi + # Ensure beam user can write pidfile + install -m 644 -g ${epmd_user} -o ${epmd_user} /dev/null ${pidfile} +} run_rc_command "$1"