From Fedora Project Wiki

Jenkins

Jenkins logo.png

This wiki page shows progress of packaging Jenkins in Fedora.

Tasks

  • create packaging guidelines for Java web applications
  • package all necessary dependencies
  • port jenkins-core to jnr-posix 2.x (msrb)
  • port maven-hpi-plugin to jetty 9
    • currently uses jetty 6
    • low priority, only "run" mojo requires jetty
  • port maven-hpi-plugin to maven-archiver 2.5 (msrb)
    • currently uses 2.0 (+plexus-archiver 1.0-alpha4) which is like 7 years old
    • done, testing needed [1]
  • stapler requires forked/slightly modified version of dom4j library (msrb)
    • TODO find workaround
    • looks like original author tried to push his changes to upstream: [2] (no response)
    • prepared patch (dirty hack)
  • jenkins-remoting bundles Base64 implementation (msrb)
    • replace with JDK implementation
    • done, testing needed, possibly upstreamable.
  • jenkins-remoting bundles class (TeeOutputStream) from apache-commons-io (msrb)
    • replace with proper dependency on commons-io
    • done, probably not upstreamable (new dependency)
  • jenkins-commons-jelly, update dependencies (msrb)
    • uses very old libraries, it doesn't build in Fedora without hacking pom file
    • uses jaxen 1.1.1, 7 years old, latest jaxen 1.1.6 is not available from Maven central (reported upstream [3])
    • prepared patch, waiting for jaxen, probably upstreamable [4]
  • TODO - what else?

Packaging

# Package Version Review request Packager Status Comments
1 jenkins-ci-pom 1.30 msrb unknown license, reported upstream by mizdebsk [5] parent POM

URL: [6]

2 localizer 1.15 [7] msrb URL: [8]
3 stapler 1.207 [9] msrb URL: [10]
4 maven-hpi-plugin 1.95 [11] msrb requires jetty 6 from some reason Maven plugin for building Jenkins plugins

URL: [12]

5 tiger-types 1.4 [13] msrb packaged by gil long time ago URL: [14]
6 annotation-indexer 1.4 [15] msrb URL: [16]
7 metainf-services 1.4 [17] msrb URL: [18]
8 jinterop-proxy 1.1 msrb URL: [19]
9 memory-monitor 1.7 [20] msrb URL: [21]
10 commons-jelly:commons-jelly-tags-xml URL: ?
11 access-modifier-annotation 1.4 [22] msrb URL: [23]
12 org.springframework:spring-dao 2.5 probably our springframework-tx package,

but Jenkins uses older version (2.5, we have 3.1)

URL: ?
13 libpam4j 1.7 [24] msrb URL: [25]
14 woodstox 3.2.9 already in fedora, package woodstock-core

(we have newer version, req.:3.2.9, we have:4.1.2

URL: [26]
15 jbcrypt 0.3m already in fedora

(different namespace)

URL: [27]
16 org.jvnet.hudson:xstream 1.4.4-jenkins-2 we already have xstream in fedora

Jenkins uses forked version

URL: [28]
17 org.jvnet.libzfs:libzfs 0.5 solaris specific, we won't need this URL: [29]
18 org.jenkins-ci:trilead-ssh2 build214-jenkins-1 we already have trilead-ssh2,

Jenkins uses patched version

URL: [30]
19 windows-remote-command 1.3 looks windows specific, we won't probably need this URL: [31]
20 jfree:jcommon 1.0.12 already in fedora under different namespace

(org.jfree:jcommon:1.0.18)

URL: ?
21 org.kohsuke:trilead-putty-extension 1.2 [32] msrb not 100% sure if needed, but debian guys have this

and it's really simple package

URL: [33]
22 akuma 1.9 [34] msrb URL: [35]
23 commons-jelly:commons-jelly-tags-fmt URL: ?
24 net.java.sezpoz:sezpoz 1.9 [36] msrb needed URL: [37]
25 org.jvnet.hudson:jtidy jtidy package is already in fedora,

jenkins uses patched version

URL: [38]
26 org.kohsuke:asm3 this should be only renamed asm3, see [39] URL: ?
27 org.jruby.ext.posix:jna-posix 1.0.3 msrb needed, but jna-posix upstream is dead

replacement is called jnr-posix, we already have this package in Fedora, but patching Jenkins will be needed (this might be upstreamable)

URL: [40]
28 org.jenkins-ci:crypto-util 1.1 [41] msrb URL: [42]
29 xmlpull:xmlpull xpp3 package in fedora URL: [43]
30 org.jenkins-ci:commons-jelly 1.1-jenkins-20120928 [44] msrb URL: [45]
31 org.kohsuke.jinterop:j-interop msrb URL: [46]
32 com.sun.solaris:embedded_su4j 1.1 sounds solaris specific, probably not needed URL: ?
33 org.jenkins-ci:jmdns 3.4.0 [47] msrb needed, Jenkins uses patched version

(update: forked on github, but no changes have been made so far)

URL: [48] [49]
34 org.jvnet.winp:winp 1.6 sounds windows specific, not needed URL: ?
35 org.jenkins-ci:commons-jexl looks like our version works just fine URL: ?
36 org.jvnet.robust-http-client:robust-http-client 1.2 [50] msrb needed URL: [51]
37 jfree:jfreechart 1.0.9 already in fedora under different namespace

(org.jfree:jfreechart:1.0.14)

URL: ?
38 org.jvnet.hudson.dom4j:dom4j patched dom4j used in Jenkins,

required by stapler-jelly, our dom4j doesn't work with it

URL: [52]
39 org.jvnet.hudson:commons-jelly-tags-define URL: ?
40 org.jenkins-ci.main:cli this is artifact from jenkins tarball URL: ?
41 org.kohsuke:windows-package-checker 1.1 probably not needed

it looks out for windows reserved words in package names

URL: [53]
42 org.kohsuke:owasp-html-sanitizer r88 [54] msrb project uses Makefile...

review request: [55]

URL: [56] [57]
43 org.codehaus.groovy:groovy-all needed, already in fedora URL: ?
44 org.kohsuke.jinterop:j-interopdeps msrb part of the j-interop package URL: ?
45 org.acegisecurity:acegi-security needed, now called spring-security [[58]] URL: ?
46 org.jenkins-ci.main:remoting 2.23 [59] msrb packaged URL: [60]
47 org.jenkins-ci:jinterop-wmi windows related, not needed URL: [61]
48 org.jenkins-ci:version-number 1.1 [62] msrb needed URL: [63]
49 org.kohsuke.stapler:json-lib URL: [64]
50 com.infradna.tool:bridge-method-annotation 1.4 probably not needed URL: [65] [66]
51 org.jvnet.hudson:activation URL: ?
52 org.kohsuke.stapler:stapler-adjunct-zeroclipboard 1.0.7-2 javascript + .swf files (:/) URL: [67]
53 org.jvnet.hudson:task-reactor 1.2 [68] msrb needed, we can safely use latest version 1.3 URL: [69]
54 findbugs:annotations already in fedora URL: ?
55 org.jenkins-ci:core-annotation-processors msrb URL: [70]
56 com.sun.winsw:winsw 1.10 windows specific, not needed

(scope is 'provided' anyway)

URL: [71]
57 maven-jellydoc-plugin 1.5 msrb not needed URL: [72]
58 maven-stapler-plugin 1.16 msrb needed URL: [73]
59 stapler-adjunct-timeline 1.4 URL: [74]
60 stapler-adjunct-codemirror 1.2 URL: [75]
61 org.zeroturnaround:jr-sdk 2.1.1 msrb needed by stapler-jrebel

update: but it looks like stapler-jrebel is not actually needed

URL: ?
62 kohsuke-pom 5 [76] msrb needed by many projects URL: [77]