You are not logged in.

#1 2015-09-28 20:13:11

kurisutian
Member
From: Germany
Registered: 2009-04-04
Posts: 32

Rundeck PKGBUILD

Hi,
would anyone care to create a PKGBUILD for Rundeck? It's something like Jenkins but for DevOPS rather than developers.

Here's the URL: http://rundeck.org/

Sources can be found here:
https://github.com/rundeck/rundeck/tarball/v2.5.3
http://rundeck.org/downloads.html

Thanks!

Offline

#2 2016-05-09 13:08:56

kurisutian
Member
From: Germany
Registered: 2009-04-04
Posts: 32

Re: Rundeck PKGBUILD

Does nobody need a rundeck package for Arch? Unfortunately I don't know how to create a working PKGBUILD for the sources.
Latest releases can be found here:

https://github.com/rundeck/rundeck/releases

Thanks!

Offline

#3 2016-05-09 15:22:13

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,920

Re: Rundeck PKGBUILD

The build system it uses,gradle , looks a bit weird and i'm not sure if it has options like $DESTDIR .
Otoh  the rpm/deb packaging they do support mostly seems to copy things, so maybe gradle builds portable stuff that can run from any location.

I'll look a bit further into it.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#4 2016-05-09 15:43:13

MarcinWieczorek
Member
From: Poland
Registered: 2016-04-09
Posts: 14
Website

Re: Rundeck PKGBUILD

I'm working on this atm.

Test it.
https://github.com/MarcinWieczorek/aur-rundeck

Last edited by MarcinWieczorek (2016-05-09 16:22:03)

Offline

#5 2016-05-10 08:36:29

kurisutian
Member
From: Germany
Registered: 2009-04-04
Posts: 32

Re: Rundeck PKGBUILD

Hi!

Thanks for the feedback.
Marcin, is there a reason why your start script runs rundeck from a local directory per user?
I'm more looking for a global running rundeck like the rpm/deb do with maybe systemd running.
This is started by user root and rudeck when looking at the process of my test-system which runs the rpm from centos:

root       915  0.0  0.0 164916  1228 ?        S    Apr01   0:00 runuser -s /bin/bash -l rundeck -c /usr/bin/java -Djava.security.auth.login.config=/etc/rundeck/jaas-ldap.conf ?-Dloginmodule.name=oneandoneldap ?-Drdeck.config=/etc/rundeck ?-Drdeck.base=/var/lib/rundeck ?-Drundeck.server.configDir=/etc/rundeck ?-Dserver.datastore.path=/var/lib/rundeck/data ?-Drundeck.server.serverDir=/var/lib/rundeck ?-Drdeck.projects=/var/rundeck/projects ?-Drdeck.runlogs=/var/lib/rundeck/logs ?-Drundeck.config.location=/etc/rundeck/rundeck-config.properties ?-Djava.io.tmpdir=/tmp/rundeck -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server -cp /var/lib/rundeck/bootstrap/jetty-all-7.6.0.v20120127.jar:/var/lib/rundeck/bootstrap/jna-3.2.2.jar:/var/lib/rundeck/bootstrap/libpam4j-1.5.jar:/var/lib/rundeck/bootstrap/log4j-1.2.16.jar:/var/lib/rundeck/bootstrap/not-yet-commons-ssl-0.3.11.jar:/var/lib/rundeck/bootstrap/rundeck-jetty-server-2.6.4.jar:/var/lib/rundeck/bootstrap/servlet-api-2.5.jar: com.dtolabs.rundeck.RunServer /var/lib/rundeck 4440
rundeck    990  0.1 35.1 3220132 660324 ?      Ssl  Apr01  86:10 /usr/bin/java -Djava.security.auth.login.config=/etc/rundeck/jaas-ldap.conf -Dloginmodule.name=oneandoneldap -Drdeck.config=/etc/rundeck -Drdeck.base=/var/lib/rundeck -Drundeck.server.configDir=/etc/rundeck -Dserver.datastore.path=/var/lib/rundeck/data -Drundeck.server.serverDir=/var/lib/rundeck -Drdeck.projects=/var/rundeck/projects -Drdeck.runlogs=/var/lib/rundeck/logs -Drundeck.config.location=/etc/rundeck/rundeck-config.properties -Djava.io.tmpdir=/tmp/rundeck -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server -cp /var/lib/rundeck/bootstrap/jetty-all-7.6.0.v20120127.jar:/var/lib/rundeck/bootstrap/jna-3.2.2.jar:/var/lib/rundeck/bootstrap/libpam4j-1.5.jar:/var/lib/rundeck/bootstrap/log4j-1.2.16.jar:/var/lib/rundeck/bootstrap/not-yet-commons-ssl-0.3.11.jar:/var/lib/rundeck/bootstrap/rundeck-jetty-server-2.6.4.jar:/var/lib/rundeck/bootstrap/servlet-api-2.5.jar: com.dtolabs.rundeck.RunServer /var/lib/rundeck 4440

The start script delivered with the rpm is:

#!/bin/bash 
#
# rundeckd    Startup script for the rundeck
#
# chkconfig: 2345 90 10
# description: rundeckd, providing rundeckd
# pidfile: /var/run/rundeckd.pid

# Source function library
. /etc/rc.d/init.d/functions
. /etc/rundeck/profile

prog="rundeckd"
rundeckd="${JAVA_HOME:-/usr}/bin/java ${RDECK_JVM} -cp ${BOOTSTRAP_CP} com.dtolabs.rundeck.RunServer /var/lib/rundeck ${RDECK_HTTP_PORT}"
RETVAL=0
PID_FILE=/var/run/${prog}.pid
servicelog=/var/log/rundeck/service.log

start() {
        echo -n $"Starting $prog: "
        if ! touch $servicelog; then
                echo No access to $servicelog. This usually means you need to be root
                echo_failure
                echo
                return 1
        fi
        nohup runuser -s /bin/bash -l rundeck -c "$rundeckd" >>$servicelog 2>&1 &
        RETVAL=$?
        PID=$!
        echo $PID > $PID_FILE
        if [ $RETVAL -eq 0 ]; then 
                touch /var/lock/subsys/$prog
                echo_success
        else
                echo_failure
        fi
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc -p $PID_FILE "$rundeckd"
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
        return $RETVAL
}

### NOT USED
reload() {
        echo -n $"Reloading $prog: "
        killproc -p $PID_FILE "$rundeckd" -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                start
                ;;
        condrestart)
                if [ -f /var/lock/subsys/$prog ]; then
                        stop
                        start
                fi
                ;;
        status)
                status -p $PID_FILE $prog
                RETVAL=$?
                ;;
        *)
                echo $"Usage: $0 {start|stop|restart|condrestart|status}"
                RETVAL=1
esac

exit $RETVAL

Is it possible to modify your package to this?

Thanks!

Offline

#6 2016-05-10 15:18:09

MarcinWieczorek
Member
From: Poland
Registered: 2016-04-09
Posts: 14
Website

Re: Rundeck PKGBUILD

That's what is recommended by the authors:
>> To start from the rundeck-launcher.jar, put it in a directory named ~/rundeck, then execute
I put the launcher to /opt/rundeck and copy to ~/rundeck.
I'll look into that, tho I don't know how to set up permissions properly

Offline

#7 2016-05-12 11:04:26

kurisutian
Member
From: Germany
Registered: 2009-04-04
Posts: 32

Re: Rundeck PKGBUILD

Does taking apart the deb or rpm file help, maybe? Just looking into it and taking a look what is being done in these packages which obviously work properly?

Offline

#8 2016-05-12 20:08:51

MarcinWieczorek
Member
From: Poland
Registered: 2016-04-09
Posts: 14
Website

Re: Rundeck PKGBUILD

Well, look into deb/rpm packages and inform me when you find something interesting. You can create .service file for systemd, it should meet your expectations. If so, please send it via a Pull Request to my package's repository on GitHub.

Offline

#9 2016-05-17 14:53:58

kurisutian
Member
From: Germany
Registered: 2009-04-04
Posts: 32

Re: Rundeck PKGBUILD

Unfortunately I have way to limited skills to deal with that. All I found was how they build the rpm/deb packages: https://github.com/rundeck/rundeck/blob … g/Makefile
The deb itself contained just all the system folders and an init.d script. So unfortunately I won't be of any help here... sad

Offline

Board footer

Powered by FluxBB