sysutils/rundeck: Update to 5.18.0 and jdk-11:

This hasn't been updated to 2016 so it's a significant update. Similar to
before the war file can be run with --installonly to get the RDECK_BASE
directories and config files setup in the extract phase. The etc files populate
upon first run but this is not ideal so I copied them to FILESDIR and install
with the package. --installonly also installs a rundeckd script that I took
some bits and pieces from to update our pkg/rundeck.rc.

I've given this some light testing on aarch64. It starts a website on
localhost:4440 that I can log into and configure a local command to run.
If anyone in the DevOps world could give this a once over I would appreciate 
it. 

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/Makefile,v
diff -u -p -u -r1.21 Makefile
--- Makefile    27 Sep 2023 17:16:33 -0000      1.21
+++ Makefile    13 Jan 2026 20:18:24 -0000
@@ -1,26 +1,24 @@
 COMMENT=               job scheduler and runbook automation
 
-V=                     2.6.11
-DISTNAME=              rundeck-launcher-${V}
+V=                     5.18.0
+DISTNAME=              rundeck-${V}-20251216
 PKGNAME=               rundeck-${V}
-REVISION=              9
 
 CATEGORIES=            sysutils
 
-HOMEPAGE=              http://rundeck.org/
+HOMEPAGE=              https://www.rundeck.org/
 
 # Apache 2.0
 PERMIT_PACKAGE=        Yes
 
-SITES=                 http://download.rundeck.org/jar/
-EXTRACT_SUFX=          .jar
+SITES=                 
https://packagecloud.io/pagerduty/rundeck/packages/java/org.rundeck/${DISTNAME}.war/artifacts/${DISTNAME}.war/download?/
+EXTRACT_SUFX=          .war
 EXTRACT_ONLY=          # empty
 
 MODULES=               java
-MODJAVA_VER=           1.8+
-
-RUN_DEPENDS=           java/javaPathHelper
+MODJAVA_VER=           11
 
+NO_BUILD=              Yes
 NO_TEST=               Yes
 PKG_ARCH=              *
 
@@ -28,13 +26,17 @@ WRKDIST=            ${WRKDIR}/rundeck-${V}
 
 PREFIX =               ${VARBASE}
 RDECK_BASE =           ${PREFIX}/rundeck
-SUBST_VARS +=          RDECK_BASE
+SUBST_VARS +=          JAVA_HOME
 
-CONFIG_FILES =         server/exp/webapp/WEB-INF/classes/log4j.properties \
-                       server/config/rundeck-config.properties \
-                       server/config/jaas-loginmodule.conf
-TOOLS =                        dispatch rd-acl rd-jobs rd-project rd-queue \
-                       rd-setup run
+ETC_FILES =            admin.aclpolicy \
+                       framework.properties \
+                       profile \
+                       project.properties \
+                       system-job_reader.aclpolicy_template \
+                       system-job_runner.aclpolicy_template \
+                       system-job_viewer.aclpolicy_template \
+                       system-job_writer.aclpolicy_template \
+                       system-project_admin.aclpolicy_template
 
 do-extract:
        mkdir -p ${WRKDIST}
@@ -42,35 +44,18 @@ do-extract:
                ${JAVA_HOME}/bin/java -jar 
${FULLDISTDIR}/${DISTNAME}${EXTRACT_SUFX} \
                --installonly -b .
 
-do-build:
-       sed -i -e 
"s,^grails.serverURL=.*,grails.serverURL=http://localhost:4440,"; \
-               -e "s,^rdeck.base=.*,rdeck.base=${PREFIX}/rundeck," \
-               ${WRKSRC}/server/config/rundeck-config.properties
-.for c in ${CONFIG_FILES}
-       sed -i "s,$$(readlink -f ${WRKDIST}),${PREFIX}/rundeck,g" ${WRKSRC}/$c
-.endfor
-.for t in ${TOOLS}
-       sed -i 's,^#!/bin/bash,#!/bin/sh,' ${WRKSRC}/tools/bin/$t
-.endfor
-
-# First we install the modified configuration files and scripts. These files
-# are not overwritten when the jar unpacks itself into ${RDECK_BASE}
 do-install:
-       ${INSTALL_DATA_DIR} ${RDECK_BASE}/{etc/,tools/bin}
-.for c in ${CONFIG_FILES}
-       ${INSTALL_DATA_DIR} ${RDECK_BASE}/$$(dirname ${c})
-       ${INSTALL_DATA} ${WRKSRC}/$c ${RDECK_BASE}/$c
-.endfor
-.for t in ${TOOLS}
-       ${INSTALL_SCRIPT} ${WRKSRC}/tools/bin/$t ${RDECK_BASE}/tools/bin/
-.endfor
-       for f in ${FILESDIR}/*; do \
-               if [ -f $$f ]; then \
-                       ${SUBST_CMD} -m ${SHAREMODE} -c $$f \
-                               ${RDECK_BASE}/etc/$$(basename $$f).dist; \
-               fi; \
-       done
+       ${INSTALL_DATA_DIR} ${RDECK_BASE}/{etc,.ssh}
        ${INSTALL_DATA} ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} \
-               ${RDECK_BASE}/rundeck-launcher.jar
+               ${RDECK_BASE}/rundeck.war
+       cd ${WRKSRC} && \
+               find . -type d -not -name sbin -exec \
+                       ${INSTALL_DATA_DIR} ${RDECK_BASE}/{} \;
+       cd ${WRKSRC}/server/config && \
+               find . -type f -not -name \*.orig.port -exec \
+                       ${SUBST_DATA} {} ${RDECK_BASE}/server/config/{}.dist \;
+       cd ${FILESDIR} && \
+               for f in ${ETC_FILES} ; do \
+                       ${SUBST_DATA} $$f ${RDECK_BASE}/etc/$$f.dist ; done
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/distinfo,v
diff -u -p -u -r1.3 distinfo
--- distinfo    21 Nov 2016 20:05:28 -0000      1.3
+++ distinfo    13 Jan 2026 20:18:24 -0000
@@ -1,2 +1,2 @@
-SHA256 (rundeck-launcher-2.6.11.jar) = 
Qcjz7LmrCQLk0ZBJlywQ2FrwHH7YgC3Z6zcPpnuA4Ys=
-SIZE (rundeck-launcher-2.6.11.jar) = 88241586
+SHA256 (rundeck-5.18.0-20251216.war) = 
VCxOD54gMgMSDhEgkDI1FDaK8RDGxKwtUwXrfK4JmpM=
+SIZE (rundeck-5.18.0-20251216.war) = 253749591
Index: files/admin.aclpolicy
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/admin.aclpolicy,v
diff -u -p -u -r1.2 admin.aclpolicy
--- files/admin.aclpolicy       11 Mar 2022 19:57:59 -0000      1.2
+++ files/admin.aclpolicy       13 Jan 2026 20:18:24 -0000
@@ -10,6 +10,8 @@ for:
     - allow: '*' # allow read/write/delete/run/kill of all jobs
   node:
     - allow: '*' # allow read/run for all nodes
+  runner:
+    - allow: '*' # allow read/write/delete for all Runners
 by:
   group: admin
 
@@ -23,6 +25,8 @@ for:
     - allow: '*' # allow create of projects
   project:
     - allow: '*' # allow view/admin of all projects
+  project_acl:
+    - allow: '*' # allow admin of all project-level ACL policies
   storage:
     - allow: '*' # allow read/create/update/delete for all /keys/* storage 
content
 by:
Index: files/apitoken.aclpolicy
===================================================================
RCS file: files/apitoken.aclpolicy
diff -N files/apitoken.aclpolicy
--- files/apitoken.aclpolicy    11 Mar 2022 19:57:59 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,43 +0,0 @@
-description: API project level access control
-context:
-  project: '.*' # all projects
-for:
-  resource:
-    - equals:
-        kind: job
-      allow: [create,delete] # allow create and delete jobs
-    - equals:
-        kind: node
-      allow: [read,create,update,refresh] # allow refresh node sources
-    - equals:
-        kind: event
-      allow: [read,create] # allow read/create events
-  adhoc:
-    - allow: [read,run,kill] # allow running/killing adhoc jobs and read output
-  job: 
-    - allow: [create,read,update,delete,run,kill] # allow 
create/read/write/delete/run/kill of all jobs
-  node:
-    - allow: [read,run] # allow read/run for all nodes
-by:
-  group: api_token_group
-
----
-
-description: API Application level access control
-context:
-  application: 'rundeck'
-for:
-  resource:
-    - equals:
-        kind: system
-      allow: [read] # allow read of system info
-  project:
-    - match:
-        name: '.*'
-      allow: [read] # allow view of all projects
-  storage:
-    - match:
-        path: '(keys|keys/.*)'
-      allow: '*' # allow all access to manage stored keys
-by:
-  group: api_token_group
Index: files/framework.properties
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/framework.properties,v
diff -u -p -u -r1.2 framework.properties
--- files/framework.properties  11 Mar 2022 19:57:59 -0000      1.2
+++ files/framework.properties  13 Jan 2026 20:18:24 -0000
@@ -9,9 +9,6 @@ framework.server.name = localhost
 framework.server.hostname = localhost
 framework.server.port = 4440
 framework.server.url = http://localhost:4440
-# Username/password used by CLI tools.
-framework.server.username = admin
-framework.server.password = admin
 
 # ----------------------------------------------------------------
 # Installation locations
@@ -36,4 +33,14 @@ framework.ssh.user = _rundeck
 # ssh connection timeout after a specified number of milliseconds.
 # "0" value means wait forever.
 framework.ssh.timeout = 0
+
+# ----------------------------------------------------------------
+# System-wide global variables.
+# ----------------------------------------------------------------
+
+# Expands to ${globals.var1}
+#framework.globals.var1 = value1
+
+# Expands to ${globals.var2}
+#framework.globals.var2 = value2
 
Index: files/log4j.properties
===================================================================
RCS file: files/log4j.properties
diff -N files/log4j.properties
--- files/log4j.properties      11 Mar 2022 19:57:59 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-log4j.rootCategory=INFO, file
-
-#
-# stdout - ConsoleAppender
-#
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%-5p %c{1}: %m%n
-
-#
-# plainStdout - ConsoleAppender which
-# doesnt provide any timestamps, etc
-#
-log4j.appender.plainStdout=org.apache.log4j.ConsoleAppender
-log4j.appender.plainStdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.plainStdout.ConversionPattern=%m%n
-
-
-#
-# file - DailyRollingFileAppender
-#
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.file=${TRUEPREFIX}/rundeck/var/logs/command.log
-log4j.appender.file.datePattern='.'yyyy-MM-dd
-log4j.appender.file.append=true
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c - %m%n
-
-
Index: files/profile
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/profile,v
diff -u -p -u -r1.2 profile
--- files/profile       11 Mar 2022 19:57:59 -0000      1.2
+++ files/profile       13 Jan 2026 20:18:24 -0000
@@ -1,7 +1,7 @@
 RDECK_BASE=${TRUEPREFIX}/rundeck
 export RDECK_BASE
 
-JAVA_HOME=$(/usr/local/bin/javaPathHelper -h rundeck)
+JAVA_HOME=${JAVA_HOME}
 export JAVA_HOME
 
 PATH=$JAVA_HOME/bin:$RDECK_BASE/tools/bin:$PATH
@@ -9,30 +9,15 @@ export PATH
 
 export JAVA_CMD=$JAVA_HOME/bin/java
 
-if test -t 0 -a -z "$RUNDECK_CLI_TERSE"
-then
-  RUNDECK_CLI_TERSE=true
-  export RUNDECK_CLI_TERSE
-fi
-
 if test -n "$JRE_HOME"
 then
    unset JRE_HOME
 fi
 
-LIBDIR=$RDECK_BASE/tools/lib
-
-CLI_CP=
-for i in `ls $LIBDIR/*.jar`
-do
- CLI_CP=${CLI_CP}:${i}
-done
-export CLI_CP
-
 #
 # Set min/max heap size
 #
-export RDECK_JVM="$RDECK_JVM -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server"
+export RDECK_JVM="$RDECK_JVM -Xmx4096m -Xms256m -server"
 
 export RDECK_SSL_OPTS="-Djavax.net.ssl.trustStore=$RDECK_BASE/etc/truststore 
-Djavax.net.ssl.trustStoreType=jks 
-Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol"
 
Index: files/project.properties
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/files/project.properties,v
diff -u -p -u -r1.2 project.properties
--- files/project.properties    11 Mar 2022 19:57:59 -0000      1.2
+++ files/project.properties    13 Jan 2026 20:18:24 -0000
@@ -11,7 +11,18 @@ project.dir = ${TRUEPREFIX}/rundeck/proj
 project.etc.dir = ${TRUEPREFIX}/rundeck/projects/${project.name}/etc
 
 #
-# The resources registration file
+# The default resources file
 #
-project.resources.file = 
${TRUEPREFIX}/rundeck/projects/${project.name}/etc/resources.xml
+resources.source.1.type=file
+resources.source.1.config.file=${TRUEPREFIX}/rundeck/projects/${project.name}/etc/resources.xml
+resources.source.1.config.format=resourcexml
+resources.source.1.config.includeServerNode=true
+resources.source.1.config.generateFileAutomatically=true
 
+# Project-wide global variables (overrides values from framework.globals)
+
+# Expands to ${globals.var1}
+#project.globals.var1 = value1
+
+# Expands to ${globals.var2}
+#project.globals.var2 = value2
Index: files/system-job_reader.aclpolicy_template
===================================================================
RCS file: files/system-job_reader.aclpolicy_template
diff -N files/system-job_reader.aclpolicy_template
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/system-job_reader.aclpolicy_template  13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,27 @@
+description: Allow groups to list projects
+context:
+  application: 'rundeck'
+for:
+  project:
+  - allow: read
+    match:
+      name: '.*'
+by:
+  group: job_reader
+
+---
+
+description: Global read access to job_reader role
+context:
+  project: '.*'
+for:
+  job:
+  - allow: [read]
+    match:
+      name: '.*'
+  resource:
+  - allow: read
+    equals:
+      kind: event
+by:
+  group: job_reader
Index: files/system-job_runner.aclpolicy_template
===================================================================
RCS file: files/system-job_runner.aclpolicy_template
diff -N files/system-job_runner.aclpolicy_template
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/system-job_runner.aclpolicy_template  13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,35 @@
+description: Allow groups to list projects
+context:
+  application: 'rundeck'
+for:
+  project:
+  - allow: read
+    match:
+      name: '.*'
+by:
+  group: job_runner
+
+---
+
+description: Global run permissions to job_runner role
+context:
+  project: '.*'
+for:
+  resource:
+  - equals:
+      kind: 'node'
+    allow: [read,refresh]
+  job:
+  - allow: [read, run]
+    match:
+      name: '.*'
+  node:
+  - allow: [read, run, refresh]
+    match:
+      nodename: '.*'
+  resource:
+  - allow: read
+    equals:
+      kind: event
+by:
+  group: job_runner
Index: files/system-job_viewer.aclpolicy_template
===================================================================
RCS file: files/system-job_viewer.aclpolicy_template
diff -N files/system-job_viewer.aclpolicy_template
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/system-job_viewer.aclpolicy_template  13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,27 @@
+description: Allow groups to list projects
+context:
+  application: 'rundeck'
+for:
+  project:
+  - allow: read
+    match:
+      name: '.*'
+by:
+  group: job_viewer
+
+---
+
+description: Global read access to job_reader role
+context:
+  project: '.*'
+for:
+  job:
+  - allow: [view]
+    match:
+      name: '.*'
+  resource:
+  - allow: read
+    equals:
+      kind: event
+by:
+  group: job_viewer
Index: files/system-job_writer.aclpolicy_template
===================================================================
RCS file: files/system-job_writer.aclpolicy_template
diff -N files/system-job_writer.aclpolicy_template
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/system-job_writer.aclpolicy_template  13 Jan 2026 20:18:24 -0000
@@ -0,0 +1,37 @@
+description: Allow groups to list projects
+context:
+  application: 'rundeck'
+for:
+  project:
+  - allow: read
+    match:
+      name: '.*'
+by:
+  group: job_writer
+
+---
+
+description: Global write permissions to job_writer role
+context:
+  project: '.*'
+for:
+  resource:
+  - equals:
+      kind: 'node'
+    allow: [read,refresh]
+  - equals:
+      kind: job
+    allow: [create, delete]
+  - equals:
+      kind: event
+    allow: [read]
+  job:
+  - allow: [create,read,update,delete,run,kill]
+    match:
+      name: '.*'
+  node:
+  - allow: [read, run, refresh]
+    match:
+      nodename: '.*'
+by:
+  group: job_writer
Index: files/system-project_admin.aclpolicy_template
===================================================================
RCS file: files/system-project_admin.aclpolicy_template
diff -N files/system-project_admin.aclpolicy_template
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/system-project_admin.aclpolicy_template       13 Jan 2026 20:18:24 
-0000
@@ -0,0 +1,51 @@
+description: Allow groups to list projects
+context:
+  application: 'rundeck'
+for:
+  project:
+  - allow: read
+    match:
+      name: '.*'
+by:
+  group: project_admin
+
+---
+description: Global project admin permissions to project_admin role
+context:
+  project: '.*'
+for:
+  resource:
+  - equals:
+      kind: job
+    allow: '*'
+  - equals:
+      kind: node
+    allow: '*'
+  - equals:
+      kind: event
+    allow: '*'
+  adhoc:
+    - allow: '*'
+  job:
+    - allow: '*'
+  node:
+    - allow: '*'
+  project:
+    - allow: '*'
+by:
+  group: project_admin
+---
+description: project_admin application scope permissions
+context:
+  application: 'rundeck'
+for:
+  resource:
+  - equals:
+      kind: project
+    allow: '*'
+  project:
+  - match:
+      name: '.*'
+    allow: '*'
+by:
+  group: project_admin
Index: patches/patch-server_config_log4j2_properties
===================================================================
RCS file: patches/patch-server_config_log4j2_properties
diff -N patches/patch-server_config_log4j2_properties
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-server_config_log4j2_properties       13 Jan 2026 20:18:24 
-0000
@@ -0,0 +1,14 @@
+Setup log directory for SUBST
+
+Index: server/config/log4j2.properties
+--- server/config/log4j2.properties.orig
++++ server/config/log4j2.properties
+@@ -1,7 +1,7 @@
+ 
+ name = Rundeck Logging Configuration
+ 
+-property.baseDir = ${sys:rundeck.server.logDir:-./server/logs}
++property.baseDir = ${TRUEPREFIX}/rundeck/server/logs
+ property.classLength = 2
+ property.noConsoleNoAnsi = true
+ property.prefix = [%style{%d{ISO8601}}{dim, 
noConsoleNoAnsi=${noConsoleNoAnsi}}] 
%highlight{%-5p}{noConsoleNoAnsi=${noConsoleNoAnsi}} 
%style{%c{${classLength}}}{cyan,noConsoleNoAnsi=${noConsoleNoAnsi}}
Index: patches/patch-server_config_rundeck-config_properties
===================================================================
RCS file: patches/patch-server_config_rundeck-config_properties
diff -N patches/patch-server_config_rundeck-config_properties
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-server_config_rundeck-config_properties       13 Jan 2026 
20:18:24 -0000
@@ -0,0 +1,22 @@
+Setup rdeck.base for SUBST
+
+Index: server/config/rundeck-config.properties
+--- server/config/rundeck-config.properties.orig
++++ server/config/rundeck-config.properties
+@@ -1,6 +1,6 @@
+ #loglevel.default is the default log level for jobs: 
ERROR,WARN,INFO,VERBOSE,DEBUG
+ loglevel.default=INFO
+-rdeck.base=.
++rdeck.base=${TRUEPREFIX}/rundeck
+ 
+ #rss.enabled if set to true enables RSS feeds that are public 
(non-authenticated)
+ rss.enabled=false
+@@ -8,7 +8,7 @@ server.address=localhost
+ server.port=4440
+ grails.serverURL=http://localhost:4440
+ dataSource.dbCreate = none
+-dataSource.url = 
jdbc:h2:file:./server/data/grailsdb;NON_KEYWORDS=MONTH,HOUR,MINUTE,YEAR,SECONDS;DB_CLOSE_ON_EXIT=FALSE
++dataSource.url = 
jdbc:h2:file:${TRUEPREFIX}/rundeck/server/data/grailsdb;NON_KEYWORDS=MONTH,HOUR,MINUTE,YEAR,SECONDS;DB_CLOSE_ON_EXIT=FALSE
+ grails.plugin.databasemigration.updateOnStart=true
+ # Pre Auth mode settings
+ rundeck.security.authorization.preauthenticated.enabled=false
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/pkg/PLIST,v
diff -u -p -u -r1.5 PLIST
--- pkg/PLIST   8 Nov 2022 11:17:12 -0000       1.5
+++ pkg/PLIST   13 Jan 2026 20:18:24 -0000
@@ -1,43 +1,54 @@
 @newgroup _rundeck:780
 @newuser _rundeck:780:_rundeck::RunDeck user:/nonexistent:/sbin/nologin
+@rcscript ${RCDIR}/rundeck
+@extraunexec rm -rf ${PREFIX}/rundeck/libext
+@extraunexec rm -rf ${PREFIX}/rundeck/projects
+@extraunexec rm -rf ${PREFIX}/rundeck/repository
+@extraunexec rm -rf ${PREFIX}/rundeck/server/data/*
+@extraunexec rm -rf ${PREFIX}/rundeck/server/logs/*
+@extraunexec rm -rf ${PREFIX}/rundeck/var/* ${PREFIX}/rundeck/var/.first*
+@extra rundeck/server/config/artifact-repositories.yaml
 @mode 0750
 @owner _rundeck
 @group _rundeck
 rundeck/
+rundeck/.ssh/
 rundeck/etc/
 rundeck/etc/admin.aclpolicy.dist
 @sample rundeck/etc/admin.aclpolicy
-rundeck/etc/apitoken.aclpolicy.dist
-@sample rundeck/etc/apitoken.aclpolicy
 rundeck/etc/framework.properties.dist
 @sample rundeck/etc/framework.properties
-rundeck/etc/log4j.properties.dist
-@sample rundeck/etc/cli-log4j.properties
-@sample rundeck/etc/log4j.properties
 rundeck/etc/profile.dist
 @sample rundeck/etc/profile
 rundeck/etc/project.properties.dist
 @sample rundeck/etc/project.properties
-rundeck/rundeck-launcher.jar
+rundeck/etc/system-job_reader.aclpolicy_template.dist
+@sample rundeck/etc/system-job_reader.aclpolicy_template
+rundeck/etc/system-job_runner.aclpolicy_template.dist
+@sample rundeck/etc/system-job_runner.aclpolicy_template
+rundeck/etc/system-job_viewer.aclpolicy_template.dist
+@sample rundeck/etc/system-job_viewer.aclpolicy_template
+rundeck/etc/system-job_writer.aclpolicy_template.dist
+@sample rundeck/etc/system-job_writer.aclpolicy_template
+rundeck/etc/system-project_admin.aclpolicy_template.dist
+@sample rundeck/etc/system-project_admin.aclpolicy_template
+rundeck/rundeck.war
 rundeck/server/
+rundeck/server/addons/
 rundeck/server/config/
-rundeck/server/config/jaas-loginmodule.conf
-rundeck/server/config/rundeck-config.properties
-rundeck/server/exp/
-rundeck/server/exp/webapp/
-rundeck/server/exp/webapp/WEB-INF/
-rundeck/server/exp/webapp/WEB-INF/classes/
-rundeck/server/exp/webapp/WEB-INF/classes/log4j.properties
-rundeck/tools/
-rundeck/tools/bin/
-rundeck/tools/bin/dispatch
-rundeck/tools/bin/rd-acl
-rundeck/tools/bin/rd-jobs
-rundeck/tools/bin/rd-project
-rundeck/tools/bin/rd-queue
-rundeck/tools/bin/rd-setup
-rundeck/tools/bin/run
-@group
-@owner
-@mode
-@rcscript ${RCDIR}/rundeck
+rundeck/server/config/jaas-loginmodule.conf.dist
+@sample rundeck/server/config/jaas-loginmodule.conf
+rundeck/server/config/log4j2.properties.dist
+@sample rundeck/server/config/log4j2.properties
+rundeck/server/config/realm.properties.dist
+@sample rundeck/server/config/realm.properties
+rundeck/server/config/rundeck-config.properties.dist
+@sample rundeck/server/config/rundeck-config.properties
+rundeck/server/config/ssl.properties.dist
+@sample rundeck/server/config/ssl.properties
+rundeck/server/data/
+rundeck/server/lib/
+rundeck/server/logs/
+rundeck/server/work/
+rundeck/user-assets/
+rundeck/var/
Index: pkg/rundeck.rc
===================================================================
RCS file: /cvs/ports/sysutils/rundeck/pkg/rundeck.rc,v
diff -u -p -u -r1.6 rundeck.rc
--- pkg/rundeck.rc      11 Mar 2022 19:57:59 -0000      1.6
+++ pkg/rundeck.rc      13 Jan 2026 20:18:24 -0000
@@ -1,7 +1,24 @@
 #!/bin/ksh
 
-daemon=$(${LOCALBASE}/bin/javaPathHelper -c rundeck)
-daemon_flags="-XX:MaxPermSize=256m -Xmx1024m 
-Djava.io.tmpdir=/var/cache/rundeck -jar ${RDECK_BASE}/rundeck-launcher.jar -b 
${RDECK_BASE}"
+RDECK_BASE=${TRUEPREFIX}/rundeck
+
+# Source installation profile
+[ -f "${RDECK_BASE}/etc/profile" ] && . ${RDECK_BASE}/etc/profile
+
+# lookup the server port from the tools config file
+RDECK_PORT=$(awk '/framework.server.port/ {print $3}' 
${RDECK_BASE}/etc/framework.properties)
+
+SSL_OPTS=
+proto=$(awk '/framework.server.url = / {split($3, a, ":"); print a[1]}' 
${RDECK_BASE}/etc/framework.properties)
+[ "${proto:-http}" == "https" ] && {
+   SSL_OPTS="-Drundeck.ssl.config=${RDECK_BASE}/server/config/ssl.properties 
-Dserver.https.port=${RDECK_PORT:=4443}"
+}
+
+LOG4J_CONFIG="${RDECK_BASE}/server/config/log4j2.properties"
+logging="-Dlogging.config=file:${LOG4J_CONFIG} 
-Dlog4j.configurationFile=${LOG4J_CONFIG}"
+
+daemon_flags="${logging} ${RDECK_JVM} -Dserver.http.port=${RDECK_PORT:=4440} 
${SSL_OPTS} -jar ${RDECK_BASE}/rundeck.war --skipinstall -b ${RDECK_BASE}"
+daemon="${JAVA_HOME}/bin/java"
 daemon_user="_rundeck"
 
 . /etc/rc.d/rc.subr

Reply via email to