Requests for Help: add FreeBSD procstat support to akuma library for Jenkins

Craig Rodrigues rodrigc at FreeBSD.org
Thu Jun 18 15:05:44 UTC 2015


Hi,

When setting up Jenkins, if you install new plugins, there
is a checkbox:

Restart Jenkins when installation is complete and no jobs are running

This checkbox allows you to restart Jenkins automatically when new
plugins are installed.  This feature works on OS X, Linux, and Solaris,
but not FreeBSD.

I tracked down the problem on FreeBSD.  It turns out in this file
in the Jenkins core Jenkins:
https://github.com/kohsuke/hudson/blob/master/core/src/main/java/hudson/lifecycle/UnixLifecycle.java

 the akuma library ( https://github.com/kohsuke/akuma/ ) is used
 to figure out what command-line arguments
were passed to the Java VM that is running Jenkins.
This allows Jenkins to restart the VM with the same command-line
arguments.

The akuma library has platform specific code for
OS X, Linux, and Solaris, but not FreeBSD.

I am a bit overstretched with multiple things at this point.
I was wondering if someone with Java coding experience can help
with the following.

(1)  Take the akuma library from https://github.com/kohsuke/akuma/

(2)  Implement FreeBSD support in akuma, by having it execute
      "procstat -c" to figure out the command-line arguments for a process.

(3)  Make sure that all tests in akuma pass

(4)  Send a GitHub pull request to incorporate the change upstream.


If we can get this functionality into akuma, then
we can eventually get this functionality into Jenkins itself.

This will make Jenkins behave more like on Linux,
and much nicer to  upgrade plugins.

--
Craig


More information about the freebsd-java mailing list