%global bootstrap 0 %global homedir %{_datadir}/%{name} %global webroot %{homedir}/webroot %global corepluginsdir %{webroot}/WEB-INF/plugins %global workdir %{_sharedstatedir}/%{name} Name: jenkins Version: 1.651.3 Release: 2%{?dist} Summary: An extendable open source continuous integration server # The project's primary license is MIT # ASL 2.0: # few files in core/src/main/java/hudson/ # CDDL: # core/src/main/java/hudson/util/EditDistance.java # LGPLv2+: # few files in core/src/main/java/hudson/util/jna/ License: MIT and ASL 2.0 and LGPLv2+ and CDDL URL: http://jenkins-ci.org Source0: https://github.com/jenkinsci/jenkins/archive/%{name}-%{version}.tar.gz Source1: http://www.apache.org/licenses/LICENSE-2.0.txt # taken from https://netbeans.org/cddl-gplv2.html Source2: CDDL-LICENSE Source4: jenkins-sysconfig Source6: jenkins.service Source7: jenkins.init Source8: dependencies.txt # latest plugins POM (LTS) before Jenkins 2.0 Source9: http://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/plugin/1.642.4/plugin-1.642.4.pom # we don't need support for Solaris in SU Patch3: remove-solaris-support-in-su.patch # jna-posix library is not in Fedora, we use jnr-posix Patch4: drop-jna-posix-compatibility.patch # build against newer guava Patch7: use-guava-13.0.patch Patch9: remove-windows-support-from-processtree.patch Patch11: remove-windows-installer-support.patch Patch14: do-not-check-for-core-updates.patch Patch15: hpi-unpack-temp-hack.patch Patch100: 0001-SECURITY-360-introduce-a-system-switch-to-kill-CLI.patch BuildArch: noarch BuildRequires: maven-local BuildRequires: mvn(antlr:antlr) BuildRequires: mvn(args4j:args4j) BuildRequires: mvn(com.github.jnr:jnr-posix) BuildRequires: mvn(com.google.code.findbugs:annotations) BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(com.google.inject:guice::no_aop:) BuildRequires: mvn(com.infradna.tool:bridge-method-annotation) BuildRequires: mvn(com.infradna.tool:bridge-method-injector) BuildRequires: mvn(com.jcraft:jzlib) BuildRequires: mvn(commons-beanutils:commons-beanutils) BuildRequires: mvn(commons-codec:commons-codec) BuildRequires: mvn(commons-collections:commons-collections) BuildRequires: mvn(org.apache.commons:commons-compress) BuildRequires: mvn(commons-digester:commons-digester) BuildRequires: mvn(commons-httpclient:commons-httpclient) BuildRequires: mvn(commons-io:commons-io) BuildRequires: mvn(commons-jelly:commons-jelly-tags-define) BuildRequires: mvn(commons-jelly:commons-jelly-tags-fmt) BuildRequires: mvn(commons-jelly:commons-jelly-tags-xml) BuildRequires: mvn(commons-lang:commons-lang) BuildRequires: mvn(commons-logging:commons-logging) BuildRequires: mvn(com.sun.xml.txw2:txw2) BuildRequires: mvn(javax.mail:mail) BuildRequires: mvn(javax.servlet:jstl) BuildRequires: mvn(javax.servlet:servlet-api) BuildRequires: mvn(jaxen:jaxen) BuildRequires: mvn(jline:jline:1) BuildRequires: mvn(junit:junit) BuildRequires: mvn(net.java.dev.jna:jna) BuildRequires: mvn(net.java.sezpoz:sezpoz) BuildRequires: mvn(org.apache.ant:ant) BuildRequires: mvn(org.apache.maven.plugins:maven-release-plugin) BuildRequires: mvn(org.codehaus.groovy:groovy18:1.8) BuildRequires: mvn(org.codehaus.mojo:antlr-maven-plugin) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.fusesource.jansi:jansi) BuildRequires: mvn(org.jenkins-ci:annotation-indexer) BuildRequires: mvn(org.jenkins-ci:bytecode-compatibility-transformer) BuildRequires: mvn(org.jenkins-ci:commons-jexl) BuildRequires: mvn(org.jenkins-ci:crypto-util) BuildRequires: mvn(org.jenkins-ci:jmdns) BuildRequires: mvn(org.jenkins-ci:memory-monitor) BuildRequires: mvn(org.jenkins-ci:task-reactor) BuildRequires: mvn(org.jenkins-ci.tools:maven-hpi-plugin) BuildRequires: mvn(org.jenkins-ci:version-number) BuildRequires: mvn(org.jfree:jfreechart) BuildRequires: mvn(org.jvnet.hudson:xstream) BuildRequires: mvn(org.jvnet.localizer:localizer) BuildRequires: mvn(org.jvnet.localizer:maven-localizer-plugin) BuildRequires: mvn(org.jvnet.robust-http-client:robust-http-client) BuildRequires: mvn(org.kohsuke:access-modifier-annotation) BuildRequires: mvn(org.kohsuke:access-modifier-checker) BuildRequires: mvn(org.kohsuke:akuma) BuildRequires: mvn(org.kohsuke:libpam4j) BuildRequires: mvn(org.kohsuke.metainf-services:metainf-services) BuildRequires: mvn(org.kohsuke.stapler:json-lib) BuildRequires: mvn(org.kohsuke.stapler:maven-stapler-plugin) BuildRequires: mvn(org.kohsuke.stapler:stapler-adjunct-timeline) BuildRequires: mvn(org.kohsuke.stapler:stapler-groovy) BuildRequires: mvn(org.kohsuke:trilead-putty-extension) BuildRequires: mvn(org.mindrot:jbcrypt) BuildRequires: mvn(org.mockito:mockito-core) BuildRequires: mvn(org.powermock:powermock-api-mockito) BuildRequires: mvn(org.powermock:powermock-module-junit4) BuildRequires: mvn(org.springframework.ldap:spring-ldap-core) BuildRequires: mvn(org.springframework.ldap:spring-ldap-core-tiger) BuildRequires: mvn(org.springframework.ldap:spring-ldap-ldif-batch) BuildRequires: mvn(org.springframework.ldap:spring-ldap-ldif-core) BuildRequires: mvn(org.springframework.ldap:spring-ldap-odm) BuildRequires: mvn(org.springframework.security:spring-security-acl) BuildRequires: mvn(org.springframework.security:spring-security-config) BuildRequires: mvn(org.springframework.security:spring-security-core) BuildRequires: mvn(org.springframework.security:spring-security-ldap) BuildRequires: mvn(org.springframework.security:spring-security-web) BuildRequires: mvn(org.springframework:spring-aop) BuildRequires: mvn(org.springframework:spring-core) BuildRequires: mvn(org.springframework:spring-oxm) BuildRequires: mvn(org.springframework:spring-webmvc) BuildRequires: mvn(org.tmatesoft.svnkit:trilead-ssh2) BuildRequires: mvn(org.jenkins-ci.main:remoting) >= 2.62.3-1 BuildRequires: mvn(xpp3:xpp3) BuildRequires: mvn(org.apache.maven.plugins:maven-war-plugin) BuildRequires: mvn(org.apache.sshd:sshd-core) BuildRequires: mvn(org.bouncycastle:bcprov-jdk16) BuildRequires: mvn(org.bouncycastle:bcpkix-jdk15on) BuildRequires: mvn(org.acegisecurity:acegi-security) BuildRequires: mvn(org.kohsuke.stapler:stapler-adjunct-codemirror) BuildRequires: mvn(org.jenkins-ci.plugins.icon-shim:icon-set) BuildRequires: mvn(org.jenkins-ci:winstone) BuildRequires: mvn(net.jcip:jcip-annotations) BuildRequires: mvn(org.slf4j:slf4j-jdk14) BuildRequires: mvn(org.slf4j:log4j-over-slf4j) BuildRequires: mvn(org.slf4j:jcl-over-slf4j) BuildRequires: jcifs BuildRequires: atinject BuildRequires: glassfish-annotation-api BuildRequires: systemd-units BuildRequires: stax2-api %if !%{bootstrap} #BuildRequires: mvn(org.jenkins-ci.lib:lib-jenkins-maven-embedder) BuildRequires: mvn(org.jenkins-ci.main:cli) BuildRequires: mvn(org.jenkins-ci:executable-war) BuildRequires: mvn(org.jenkins-ci.main:jenkins-core) #BuildRequires: mvn(org.jenkins-ci.main.maven:maven31-agent) #BuildRequires: mvn(org.jenkins-ci.main.maven:maven31-interceptor) #BuildRequires: mvn(org.jenkins-ci.main:pom:pom:) BuildRequires: mvn(org.jenkins-ci.modules:instance-identity) #BuildRequires: mvn(org.jenkins-ci.modules:slave-installer) BuildRequires: mvn(org.jenkins-ci.modules:ssh-cli-auth) BuildRequires: mvn(org.jenkins-ci.modules:sshd) #BuildRequires: mvn(org.jenkins-ci.plugins:credentials) #BuildRequires: mvn(org.jenkins-ci.plugins:javadoc) #BuildRequires: mvn(org.jenkins-ci.plugins:mailer) #BuildRequires: mvn(org.jenkins-ci.plugins:ssh-credentials) #BuildRequires: mvn(org.jenkins-ci.plugins:token-macro) BuildRequires: js-yui2 BuildRequires: springframework-instrument BuildRequires: woodstox-core %endif Requires: jenkins-webapp Requires(pre): shadow-utils Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units %description Jenkins is an award-winning, cross-platform, continuous integration and continuous delivery application that increases your productivity. Use Jenkins to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by providing powerful ways to define your build pipelines and integrating with a large number of testing and deployment technologies. %package core Summary: Jenkins core %description core This package contains Jenkins core artifact. %package plugins-pom Summary: Jenkins Plugins POM %description plugins-pom This package contains Jenkins Plugins POM. %package cli Summary: Jenkins CLI %description cli This package contains Jenkins CLI. %if !%{bootstrap} %package webapp Summary: Jenkins Web Application # we install exploded WAR with symlinks to system JARs, thus we need all these deps Requires: %{name} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release} Requires: unzip Requires: mvn(org.kohsuke:access-modifier-annotation) Requires: acegisecurity Requires: akuma Requires: mvn(org.jenkins-ci:annotation-indexer) Requires: ant Requires: antlr-tool Requires: aopalliance Requires: apache-commons-beanutils Requires: apache-commons-codec Requires: apache-commons-collections Requires: apache-commons-compress Requires: apache-commons-digester Requires: apache-commons-discovery Requires: apache-commons-fileupload Requires: apache-commons-io Requires: apache-commons-lang Requires: apache-commons-logging Requires: apache-mina-mina-core Requires: apache-sshd Requires: args4j Requires: atinject Requires: bea-stax-api Requires: bouncycastle Requires: bouncycastle-pkix Requires: mvn(com.infradna.tool:bridge-method-annotation) Requires: mvn(com.sun.xml.txw2:txw2) Requires: bytecode-compatibility-transformer Requires: constant-pool-scanner Requires: dom4j Requires: ezmorph Requires: glassfish-annotation-api Requires: google-guice Requires: groovy18-lib Requires: guava Requires: hamcrest-core Requires: jakarta-commons-httpclient Requires: jakarta-oro Requires: jansi Requires: javamail Requires: jaxen Requires: jBCrypt Requires: jcifs Requires: jcip-annotations Requires: jcommon Requires: jenkins-commons-jelly Requires: jenkins-crypto-util Requires: jenkins-executable-war-webroot Requires: jenkins-extras-memory-monitor Requires: jenkins-icon-shim Requires: jenkins-instance-identity Requires: jenkins-jexl Requires: jenkins-json-lib Requires: jenkins-remoting >= 2.62.3-1 Requires: jenkins-remoting-webapp >= 2.62.3-1 Requires: jenkins-ssh-cli-auth Requires: jenkins-sshd Requires: jenkins-task-reactor Requires: jenkins-version-number Requires: jenkins-winstone Requires: jenkins-xstream Requires: jffi Requires: jffi-native Requires: jfreechart Requires: jline1 Requires: jmdns Requires: jna Requires: jnr-constants Requires: jnr-ffi Requires: jnr-posix Requires: jnr-x86asm Requires: jsr-305 Requires: js-yui2-jenkins Requires: jtidy Requires: junit Requires: jzlib Requires: libpam4j Requires: localizer Requires: log4j12 Requires: objectweb-asm Requires: objectweb-asm3 Requires: relaxngDatatype Requires: robust-http-client Requires: sezpoz Requires: slf4j Requires: slf4j-jdk14 Requires: springframework Requires: springframework-aop Requires: springframework-beans Requires: springframework-context Requires: springframework-context-support Requires: springframework-expression Requires: springframework-instrument Requires: springframework-jdbc Requires: springframework-oxm Requires: springframework-tx Requires: springframework-web Requires: springframework-webmvc Requires: stapler Requires: stapler-adjunct-codemirror Requires: stapler-adjunct-timeline Requires: stapler-groovy Requires: stapler-jelly Requires: stax2-api Requires: tiger-types Requires: tomcat-taglibs-standard Requires: trilead-putty-extension Requires: trilead-ssh2 Requires: txw2 Requires: woodstox-core Requires: xpp3 # core plugins Requires: jenkins-ant-plugin Requires: jenkins-antisamy-markup-formatter-plugin Requires: jenkins-credentials-plugin #Requires: jenkins-cvs-plugin Requires: jenkins-external-monitor-job-plugin Requires: jenkins-javadoc-plugin Requires: jenkins-junit-plugin Requires: jenkins-ldap-plugin Requires: jenkins-mailer-plugin Requires: jenkins-matrix-auth-plugin Requires: jenkins-matrix-project-plugin #Requires: jenkins-maven-plugin Requires: jenkins-pam-auth-plugin Requires: jenkins-script-security-plugin Requires: jenkins-ssh-credentials-plugin Requires: jenkins-ssh-slaves-plugin #Requires: jenkins-subversion-plugin #Requires: jenkins-translation-plugin #Requires: jenkins-windows-slaves %description webapp This package contains Jenkins web application. %endif # bootstrap %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains API documentation for %{name}. %prep %setup -q -n %{name}-%{name}-%{version} %patch3 -p1 %patch4 -p1 %patch7 -p1 %patch9 -p1 %patch11 -p1 %patch14 -p1 %patch15 -p1 %patch100 -p1 # plugins POM mkdir plugins cp %{SOURCE9} plugins/pom.xml %pom_xpath_inject 'pom:modules' 'plugins' # remote .NET detection code - it's not needed in Fedora rm core/src/main/java/hudson/util/jna/DotNet.java cp %{SOURCE1} LICENSE-ASL-2.0.txt cp %{SOURCE2} LICENSE-CDDL.txt # Remove bundled JARs and classes find . -name "*.jar" -delete find . -name "*.class" -delete # remove support for Solaris for now (missing deps and unclear licensing) rm core/src/main/java/hudson/os/solaris/package-info.java rm core/src/main/java/hudson/os/solaris/ZFSProvisioner.java rm core/src/main/java/hudson/os/solaris/ZFSInstaller.java # remove windows support (for now) rm core/src/main/java/hudson/util/jna/Advapi32.java rm core/src/main/java/hudson/util/jna/RegistryKey.java rm core/src/main/java/hudson/util/jna/SHELLEXECUTEINFO.java rm core/src/main/java/hudson/util/jna/Shell32.java rm core/src/main/java/hudson/util/jna/WINBASE.java # TODO: prepare shaded asm5 and use it here sed -i 's|org.kohsuke.asm5|org.objectweb.asm|g' core/src/main/java/hudson/util/SubClassGenerator.java # Don't add classpath entry to the manifest %pom_xpath_remove pom:manifest/pom:addClasspath core # packaging layout %mvn_package :jenkins-core core %mvn_package :plugin plugins-pom %mvn_package :cli cli %mvn_package :pom core %if %{bootstrap} %pom_disable_module war %else %mvn_package :jenkins-war __noinstall %endif %pom_change_dep org.jenkins-ci:winstone :::compile war # CLI uber JAR # useful, but bundling exception will be needed %pom_remove_plugin :maven-assembly-plugin cli # Requires cannot be generated on jenkins-war (when building in bootstrap mode) %pom_remove_dep org.jenkins-ci.main:jenkins-war plugins # parent pom has not been packaged yet (unknown license) %pom_remove_parent %pom_remove_parent plugins # a lot of missing deps for tests %pom_disable_module test #%%pom_add_dep net.jcip:jcip-annotations core # remove unneeded/unavailable stuff %pom_xpath_remove "pom:extensions[pom:extension[pom:artifactId[text()='wagon-gitsite']]]" %pom_xpath_remove "pom:extensions[pom:extension[pom:artifactId[text()='wagon-gitsite']]]" plugins %pom_xpath_remove "pom:dependencies[pom:dependency[pom:artifactId[text()='maven-jellydoc-plugin']]]" %pom_remove_plugin :animal-sniffer-maven-plugin %pom_remove_plugin :gmaven-plugin %pom_remove_plugin :maven-enforcer-plugin %pom_remove_plugin :maven-enforcer-plugin plugins %pom_remove_plugin :maven-remote-resources-plugin %pom_remove_plugin org.codehaus.gmaven:gmaven-plugin plugins %pom_remove_plugin org.codehaus.gmaven:gmaven-plugin core %pom_remove_plugin org.jvnet.hudson.tools:maven-encoding-plugin core %pom_remove_plugin com.cloudbees:maven-license-plugin %pom_remove_plugin com.cloudbees:maven-license-plugin plugins %pom_remove_plugin :maven-jenkins-dev-plugin %pom_remove_plugin :maven-dependency-plugin core # missing deps %pom_remove_dep org.jenkins-ci.main:jenkins-test-harness plugins %pom_remove_dep :animal-sniffer-annotations %pom_remove_dep :animal-sniffer-annotations plugins %pom_remove_dep org.jvnet.hudson:jtidy core %pom_remove_dep org.jenkins-ci:core-annotation-processors core %pom_remove_dep org.jruby.ext.posix:jna-posix core %pom_remove_dep org.kohsuke.stapler:stapler-jrebel core %pom_remove_dep org.kohsuke:windows-package-checker core %pom_remove_dep org.kohsuke.stapler:stapler-adjunct-zeroclipboard core %pom_remove_dep org.jvnet.hudson:activation core %pom_remove_dep org.jvnet.winp:winp core %pom_remove_dep org.jvnet.libzfs:libzfs core %pom_remove_dep com.sun.solaris:embedded_su4j core %pom_remove_dep org.kohsuke.jinterop:j-interop core %pom_remove_dep org.jenkins-ci.modules:windows-slave-installer war %pom_remove_dep org.jenkins-ci.modules:launchd-slave-installer war %pom_remove_dep org.jenkins-ci.modules:upstart-slave-installer war %pom_remove_dep org.jenkins-ci.modules:systemd-slave-installer war %pom_remove_dep org.jenkins-ci.modules:slave-installer war #%%if %{bootstrap} #%%endif %pom_remove_plugin :maven-dependency-plugin war #%%pom_xpath_remove "pom:plugin[pom:artifactId[text()='maven-dependency-plugin']]/pom:executions" war %pom_remove_dep :cli war %pom_add_dep org.bouncycastle:bcprov-jdk15on war %pom_add_dep org.bouncycastle:bcpkix-jdk15on war %pom_add_dep org.apache.sshd:sshd-core war # fix gId:aId # groovy %pom_remove_dep org.codehaus.groovy:groovy-all core %pom_add_dep org.codehaus.groovy:groovy18:1.8 core # jfreechart %pom_remove_dep jfree:jfreechart core %pom_add_dep org.jfree:jfreechart core # jelly-tags %pom_remove_dep org.jvnet.hudson:commons-jelly-tags-define core %pom_add_dep commons-jelly:commons-jelly-tags-define core # jline 1.x is a compat package %pom_remove_dep jline:jline core %pom_add_dep jline:jline:1 core %build %mvn_build -f %install %mvn_install # wrapper script for CLI %jpackage_script hudson.cli.CLI "" "" trilead-ssh2:commons-codec:jenkins-remoting/remoting:localizer/localizer:jenkins/cli %{name}-cli true %if !%{bootstrap} install -d -m 755 %{buildroot}/%{homedir} install -d -m 755 %{buildroot}/%{webroot} install -d -m 755 %{buildroot}/%{homedir}/plugins install -d -m 755 %{buildroot}/%{corepluginsdir} install -d -m 755 %{buildroot}/%{workdir} install -d -m 755 %{buildroot}/%{_localstatedir}/log/%{name} install -d -m 755 %{buildroot}/%{_sysconfdir}/%{name} install -d -m 755 %{buildroot}/%{_unitdir} install -d -m 755 %{buildroot}/%{_libexecdir}/%{name} install -m 644 %{SOURCE6} %{buildroot}/%{_unitdir}/%{name}.service install -m 644 %{SOURCE7} %{buildroot}/%{_libexecdir}/%{name}/%{name} # webapp # we don't have packaging guidelines for web applications yet. # just install exploded WAR to %{webroot} unzip -d %{buildroot}/%{webroot}/ war/target/jenkins.war cp war/src/main/webapp/WEB-INF/web.xml %{buildroot}/%{webroot}/WEB-INF/ pushd %{buildroot}/%{webroot}/WEB-INF/lib rm * ln -sf `build-classpath access-modifier-annotation/access-modifier-annotation` access-modifier-annotation.jar ln -sf `build-classpath acegisecurity/acegi-security` acegi-security.jar #ln -sf `build-classpath ` activation-1.1.1-hudson-1.jar ln -sf `build-classpath akuma/akuma` akuma-1.9.jar ln -sf `build-classpath annotation-indexer/annotation-indexer` annotation-indexer.jar ln -sf `build-classpath ant/ant` ant.jar ln -sf `build-classpath ant/ant-launcher` ant-launcher.jar ln -sf `build-classpath antlr` antlr.jar ln -sf `build-classpath aopalliance` aopalliance.jar ln -sf `build-classpath args4j/args4j` args4j.jar # asm ln -sf `build-classpath objectweb-asm/asm` asm.jar ln -sf `build-classpath objectweb-asm/asm-analysis` asm-analysis.jar ln -sf `build-classpath objectweb-asm/asm-commons` asm-commons.jar ln -sf `build-classpath objectweb-asm/asm-tree` asm-tree.jar ln -sf `build-classpath objectweb-asm/asm-util` asm-util.jar # end asm ln -sf `build-classpath bcpkix` bcpkix.jar ln -sf `build-classpath bcprov` bcprov.jar ln -sf `build-classpath bridge-method-injector/bridge-method-annotation` bridge-method-annotation.jar ln -sf `build-classpath bytecode-compatibility-transformer/bytecode-compatibility-transformer` bytecode-compatibility-transformer.jar ln -sf `build-classpath jenkins/cli` cli-%{version}.jar ln -sf `build-classpath commons-beanutils` commons-beanutils.jar ln -sf `build-classpath commons-codec` commons-codec.jar ln -sf `build-classpath commons-collections` commons-collections.jar ln -sf `build-classpath commons-compress` commons-compress.jar ln -sf `build-classpath commons-digester` commons-digester.jar ln -sf `build-classpath commons-discovery` commons-discovery.jar ln -sf `build-classpath commons-fileupload` commons-fileupload.jar ln -sf `build-classpath commons-httpclient3` commons-httpclient3.jar ln -sf `build-classpath commons-io` commons-io.jar ln -sf `build-classpath jenkins-commons-jelly/commons-jelly` commons-jelly.jar ln -sf `build-classpath jenkins-commons-jelly/commons-jelly-tags-define` commons-jelly-tags-define.jar ln -sf `build-classpath jenkins-commons-jelly/commons-jelly-tags-fmt` commons-jelly-tags-fmt.jar ln -sf `build-classpath jenkins-commons-jelly/commons-jelly-tags-xml` commons-jelly-tags-xml.jar ln -sf `build-classpath jenkins-jexl/commons-jexl` commons-jexl.jar ln -sf `build-classpath commons-lang` commons-lang.jar ln -sf `build-classpath commons-logging` commons-logging.jar ln -sf `build-classpath constant-pool-scanner/constant-pool-scanner` constant-pool-scanner.jar ln -sf `build-classpath jenkins-crypto-util/crypto-util` crypto-util.jar ln -sf `build-classpath dom4j` dom4j.jar #ln -sf `embedded_su4j` embedded_su4j.jar ln -sf `build-classpath ezmorph` ezmorph.jar ln -sf `build-classpath groovy18-1.8` groovy18-1.8.jar ln -sf `build-classpath guava` guava.jar ln -sf `build-classpath guice/google-guice-no_aop` guice.jar ln -sf `build-classpath hamcrest/core` hamcrest-core.jar ln -sf `build-classpath jenkins-icon-shim/icon-set` icon-set.jar ln -sf `build-classpath jenkins-instance-identity/instance-identity` instance-identity.jar ln -sf `build-classpath jansi/jansi` jansi.jar ln -sf `build-classpath glassfish-annotation-api` javax.annotation-api.jar ln -sf `build-classpath atinject` javax.inject.jar ln -sf `build-classpath jaxen` jaxen.jar ln -sf `build-classpath jBCrypt/jBCrypt` jbcrypt.jar ln -sf `build-classpath jcifs` jcifs.jar ln -sf `build-classpath jcommon/jcommon` jcommon.jar ln -sf `build-classpath jenkins/jenkins-core` jenkins-core-%{version}.jar ln -sf `build-classpath jffi/jffi` jffi.jar ln -sf `build-classpath jffi/jffi-native` jffi-native.jar ln -sf `build-classpath jfreechart/jfreechart` jfreechart.jar #ln -sf `j-interop-2.0.6-kohsuke-1.jar` .jar #ln -sf `j-interopdeps-2.0.6-kohsuke-1.jar` .jar ln -sf `build-classpath jline1/jline-1.0` jline.jar ln -sf `build-classpath jmdns/jmdns` jmdns.jar ln -sf `build-classpath jna` jna-4.1.0.jar #ln -sf `jna-posix-1.0.3-jenkins-1.jar` .jar ln -sf `build-classpath jnr-constants` jnr-constants.jar ln -sf `build-classpath jnr-ffi/jnr-ffi` jnr-ffi.jar ln -sf `build-classpath jnr-posix` jnr-posix.jar ln -sf `build-classpath jnr-x86asm` jnr-x86asm.jar ln -sf `build-classpath jenkins-json-lib` json-lib.jar ln -sf `build-classpath jsr-305` jsr305.jar ln -sf `build-classpath tomcat-taglibs-standard/taglibs-standard-spec` jstl.jar ln -sf `build-classpath jtidy` jtidy.jar ln -sf `build-classpath junit` junit.jar ln -sf `build-classpath jzlib` jzlib.jar #ln -sf `launchd-slave-installer-1.2.jar` .jar ln -sf `build-classpath libpam4j/libpam4j` libpam4j.jar #ln -sf `libzfs-0.5.jar` .jar ln -sf `build-classpath localizer/localizer` localizer.jar ln -sf `build-classpath slf4j/log4j-over-slf4j` log4j-over-slf4j.jar ln -sf `build-classpath javamail/mail` mail.jar ln -sf `build-classpath jenkins-extras-memory-monitor/memory-monitor` memory-monitor.jar ln -sf `build-classpath apache-mina/mina-core` mina-core.jar ln -sf `build-classpath oro` oro.jar ln -sf `build-classpath relaxngDatatype` relaxngDatatype.jar ln -sf `build-classpath jenkins-remoting/remoting` remoting.jar ln -sf `build-classpath robust-http-client/robust-http-client` robust-http-client.jar ln -sf `build-classpath sezpoz/sezpoz` sezpoz.jar #ln -sf `slave-installer-1.5.jar` .jar ln -sf `build-classpath slf4j/slf4j-api` slf4j-api.jar ln -sf `build-classpath slf4j/slf4j-jdk14` slf4j-jdk14.jar # spring ln -sf `build-classpath springframework/spring-aop` spring-aop.jar ln -sf `build-classpath springframework/spring-beans` spring-beans.jar ln -sf `build-classpath springframework/spring-context` spring-context.jar ln -sf `build-classpath springframework/spring-context-support` spring-context-support.jar ln -sf `build-classpath springframework/spring-core` spring-core.jar ln -sf `build-classpath springframework/spring-expression` spring-expression.jar ln -sf `build-classpath springframework/spring-instrument` spring-instrument.jar ln -sf `build-classpath springframework/spring-jdbc` spring-jdbc.jar ln -sf `build-classpath springframework/spring-oxm` spring-oxm.jar ln -sf `build-classpath springframework/spring-tx` spring-tx.jar ln -sf `build-classpath springframework/spring-web` spring-web.jar ln -sf `build-classpath springframework/spring-webmvc` spring-webmvc.jar # end spring ln -sf `build-classpath jenkins-ssh-cli-auth/ssh-cli-auth` ssh-cli-auth.jar ln -sf `build-classpath jenkins-sshd/sshd` sshd.jar ln -sf `build-classpath apache-sshd/sshd-core` sshd-core.jar ln -sf `build-classpath stapler/stapler` stapler.jar ln -sf `build-classpath stapler-adjunct-codemirror/stapler-adjunct-codemirror` stapler-adjunct-codemirror.jar ln -sf `build-classpath stapler-adjunct-timeline/stapler-adjunct-timeline` stapler-adjunct-timeline.jar #ln -sf `stapler-adjunct-zeroclipboard-1.3.5-1.jar` .jar ln -sf `build-classpath stapler/stapler-groovy` stapler-groovy.jar ln -sf `build-classpath stapler/stapler-jelly` stapler-jelly.jar #ln -sf `stapler-jrebel-1.234.jar` .jar ln -sf `build-classpath bea-stax-api` bea-stax-api.jar ln -sf `build-classpath stax2-api` stax2-api.jar #ln -sf `systemd-slave-installer-1.1.jar` .jar ln -sf `build-classpath jenkins-task-reactor/task-reactor` task-reactor.jar ln -sf `build-classpath tiger-types` tiger-types.jar ln -sf `build-classpath trilead-putty-extension/trilead-putty-extension` trilead-putty-extension.jar ln -sf `build-classpath trilead-ssh2/trilead-ssh2` trilead-ssh2.jar ln -sf `build-classpath txw2/txw2` txw2.jar #ln -sf `upstart-slave-installer-1.1.jar` .jar ln -sf `build-classpath jenkins-version-number/version-number` version-number.jar #ln -sf `windows-package-checker-1.0.jar` .jar #ln -sf `windows-slave-installer-1.4.jar` .jar #ln -sf `winp-1.22.jar` .jar ln -sf `build-classpath woodstox-core-asl` woodstox-core-asl.jar ln -sf `build-classpath xpp3` xpp3.jar ln -sf `build-classpath jenkins-xstream/xstream` xstream.jar # extra ln -sf `build-classpath jenkins-winstone/winstone` ../../winstone.jar ln -sf `build-classpath objectweb-asm3/asm-tree-distroshaded` asm-tree-distroshaded-any.jar ln -sf `build-classpath objectweb-asm3/asm-util-distroshaded` asm-util-distroshaded-any.jar ln -sf `build-classpath objectweb-asm3/asm-distroshaded` asm-distroshaded-any.jar ln -sf `build-classpath objectweb-asm3/asm-commons-distroshaded` asm-commons-distroshaded-any.jar ln -sf `build-classpath objectweb-asm3/asm-analysis-distroshaded` asm-analysis-distroshaded-any.jar popd cp %{SOURCE8} %{buildroot}/%{webroot}/WEB-INF/classes/dependencies.txt # remove bundled YUI library rm -Rf %{buildroot}/%{webroot}/scripts/yui cp -p %{buildroot}/%{_javadir}/%{name}/cli.jar %{buildroot}/%{webroot}/WEB-INF/jenkins-cli.jar install -d -m 755 %{buildroot}%{_sysconfdir}/sysconfig cp -p %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/%{name} %endif # bootstrap %pre # Add jenkins user and group getent group %{name} >/dev/null || groupadd -r %{name} getent passwd %{name} >/dev/null || \ useradd -r -g %{name} -d %{workdir} -s /sbin/nologin \ -c "Jenkins Continuous Build server" %{name} exit 0 %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files core -f .mfiles-core %dir %{_javadir}/%{name} %doc LICENSE.txt LICENSE-ASL-2.0.txt LICENSE-CDDL.txt %files %defattr(0664, jenkins, jenkins, 0755) %{_sysconfdir}/jenkins %{_unitdir}/%{name}.service %dir %{homedir} %dir %{homedir}/plugins %attr(0770, jenkins, jenkins) %{_libexecdir}/%{name} %attr(0770, jenkins, jenkins) %{_localstatedir}/log/%{name} %attr(0770, jenkins, jenkins) %dir %{workdir} %files plugins-pom -f .mfiles-plugins-pom %files cli -f .mfiles-cli %{_bindir}/%{name}-cli %doc LICENSE.txt %if !%{bootstrap} %files webapp %{webroot} %{corepluginsdir} %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %doc LICENSE.txt %endif # bootstrap %files javadoc -f .mfiles-javadoc %doc LICENSE.txt %changelog * Thu Nov 17 2016 Michal Srb - 1.651.3-2 - Fix remote code execution vulnerability in remoting module - Resolves: CVE-2016-9299 * Tue Jun 14 2016 Michal Srb - 1.651.3-1 - Update to 1.651.1 * Fri May 13 2016 Michal Srb - 1.651.2-1 - Update to 1.651.2 - Resolves: CVE-2016-3721 - Resolves: CVE-2016-3722 - Resolves: CVE-2016-3723 - Resolves: CVE-2016-3724 - Resolves: CVE-2016-3725 - Resolves: CVE-2016-3726 - Resolves: CVE-2016-3727 * Tue Apr 26 2016 Michal Srb - 1.651.1-1 - Update to 1.651.1 * Tue Apr 26 2016 Michal Srb - 1.642.3-2 - Fix dangling symlink (Resolves: rhbz#1330472) * Fri Mar 18 2016 Michal Srb - 1.642.3-1 - Update to 1.642.3 * Wed Mar 02 2016 Michal Srb - 1.642.2-2 - Fix NoClassDefFoundError: org/codehaus/stax2/XMLInputFactory2 - Resolves: rhbz#1311132 * Fri Feb 26 2016 Michal Srb - 1.642.2-1 - Update to 1.642.2 * Thu Feb 04 2016 Fedora Release Engineering - 1.625.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Dec 21 2015 Michal Srb - 1.625.3-1 - Update to 1.625.3 - Resolves: CVE-2015-7536 - Resolves: CVE-2015-7537 - Resolves: CVE-2015-7538 - Resolves: CVE-2015-7539 * Thu Nov 26 2015 Mikolaj Izdebski - 1.625.2-4 - Remove workaround for rhbz#1276729 * Thu Nov 26 2015 Michal Srb - 1.625.2-3 - Fix R * Thu Nov 12 2015 Michal Srb - 1.625.2-2 - Add missing R: apache-commons-compress * Wed Nov 11 2015 Michal Srb - 1.625.2-1 - Update to 1.625.2 - Resolves: CVE-2015-5317 - Resolves: CVE-2015-5318 - Resolves: CVE-2015-5319 - Resolves: CVE-2015-5320 - Resolves: CVE-2015-5324 - Resolves: CVE-2015-5321 - Resolves: CVE-2015-5322 - Resolves: CVE-2015-5323 - Resolves: CVE-2015-5325 - Resolves: CVE-2015-5326 - Resolves: Remote code execution vulnerability due to unsafe deserialization in Jenkins remoting * Fri Oct 30 2015 Michal Srb - 1.625.1-1 - Update to 1.625.1 * Fri Oct 02 2015 Michal Srb - 1.625-2 - Fix plugins unpacking issue (rhbz#1267631) * Thu Oct 01 2015 Michal Srb - 1.625-1 - Update to next LTS release 1.625 * Tue Sep 22 2015 Michal Srb - 1.616-8 - Update description * Fri Jul 03 2015 Michal Srb - 1.616-7 - Fix R * Mon Jun 29 2015 Michal Srb - 1.616-6 - Fix BR/R - Fix plugin-unpacking workaround * Mon Jun 29 2015 Michal Srb - 1.616-5 - Start migration to mvn()-like Requires * Wed Jun 17 2015 Fedora Release Engineering - 1.616-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Jun 15 2015 Michal Srb - 1.616-3 - Fix BR on findbugs * Mon Jun 15 2015 Michal Srb - 1.616-2 - Fix R * Thu Jun 04 2015 Michal Srb - 1.616-1 - Update to upstream release 1.616 * Thu May 21 2015 Michal Srb - 1.614-1 - Update to upstream release 1.614 * Fri May 08 2015 Michal Srb - 1.611-3 - Spec clean up, add R: jenkins-script-security-plugin * Thu May 07 2015 Michal Srb - 1.611-2 - Clean up dangling symlinks in JENKINS_HOME * Wed Apr 29 2015 Michal Srb - 1.611-1 - Update to upstream release 1.611 * Mon Apr 13 2015 Michal Srb - 1.606-2 - Migrate to plugins containing symlinks * Thu Mar 26 2015 Michal Srb - 1.606-1 - Update to upstream release 1.606 - Resolves: CVE-2015-1806 - Resolves: CVE-2015-1807 - Resolves: CVE-2015-1813 - Resolves: CVE-2015-1812 - Resolves: CVE-2015-1810 - Resolves: CVE-2015-1808 - Resolves: CVE-2015-1809 - Resolves: CVE-2015-1814 - Resolves: CVE-2015-1811 * Fri Mar 13 2015 Michal Srb - 1.598-9 - Add BR: springframework-instrument * Thu Mar 12 2015 Michal Srb - 1.598-8 - Fix jstl dep * Thu Mar 12 2015 Michal Srb - 1.598-7 - Fix init script * Thu Mar 12 2015 Michal Srb - 1.598-6 - Switch to unpacked executable-war * Wed Mar 11 2015 Michal Srb - 1.598-5 - Sanitize R * Tue Mar 10 2015 Michal Srb - 1.598-4 - Add missing R: springframework-instrument * Fri Mar 06 2015 Michal Srb - 1.598-3 - Migrate to tomcat-taglibs-standard * Thu Feb 26 2015 Michal Srb - 1.598-2 - Add missing BR: mvn(org.slf4j:slf4j-jdk14) * Tue Feb 03 2015 Michal Srb - 1.598-1 - Update to upstream version 1.598 * Mon Feb 02 2015 Michal Srb - 1.590-2 - Require jna >= 4.1.0-7 * Wed Nov 19 2014 Michal Srb - 1.590-1 - Update to upstream version 1.590 - Add R: jenkins-matrix-project-plugin * Wed Nov 12 2014 Michal Srb - 1.589-1 - Update to upstream version 1.589 * Wed Oct 01 2014 Michal Srb - 1.581-3 - Fix JENKINS_HOME ownership (Resolves: rhbz#1147846) - Do not inform about upstream core updates (Resolves: rhbz#1147897) - Move webroot to %%{webroot} - Own directory for core plugins - Make jenkins-cli.jar available for download (Resolves: rhbz#1147831) - Make slave.jar available for download (Resolves: rhbz#1147978) - Exclude unneeded slf4j binding (Resolves: rhbz#1147875) - Fix "Incorrect plugin version to downgrade" bug (Resolves: rhbz#1147908) - Fix "RPM plugin uninstallation is not persistent" (Resolves: rhbz#1147902) * Sun Sep 28 2014 Michal Srb - 1.581-2 - Add R: jenkins-junit-plugin * Mon Sep 22 2014 Michal Srb - 1.581-1 - Update to upstream version 1.581 - Migrate to jenkins-winstone - Initial support for plugins from RPMs - Bugfixes * Wed Sep 03 2014 Michal Srb - 1.578-1 - Update to upstream version 1.578 * Fri Aug 15 2014 Michal Srb - 1.575-2 - Add R for webapp: jenkins-core and jenkins-cli * Fri Aug 15 2014 Michal Srb - 1.575-1 - Update to upstream version 1.575 * Mon Jul 14 2014 Michal Srb - 1.572-1 - Update to upstream version 1.572 * Fri Jul 11 2014 Michal Srb - 1.569-2 - Exclude unneeded JARs * Thu Jun 26 2014 Michal Srb - 1.569-1 - Update to upstream version 1.569 * Mon Jun 23 2014 Michal Srb - 1.557-14 - Fix FTBFS * Sun Jun 08 2014 Fedora Release Engineering - 1.557-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed Apr 09 2014 Michal Srb - 1.557-12 - Do not inherit default configuration from tomcat - Tweak permissions * Mon Apr 07 2014 Michal Srb - 1.557-11 - Run as a separate service * Mon Apr 07 2014 Michal Srb - 1.557-10 - Remove forgotten BSD license references * Fri Apr 04 2014 Michal Srb - 1.557-9 - Update license tag to reflect changes in 1.557 * Fri Apr 04 2014 Michal Srb - 1.557-8 - Drop unneeded trilead-ssh2 patch * Fri Apr 04 2014 Michal Srb - 1.557-7 - Spec file cleanup * Fri Apr 04 2014 Michal Srb - 1.557-6 - Remove superfluous JARs from cli jpackage script * Fri Apr 04 2014 Michal Srb - 1.557-5 - Use jline1 * Thu Apr 03 2014 Michal Srb - 1.557-4 - Symlink remoting and cli JAR * Wed Apr 02 2014 Michal Srb - 1.557-3 - Build with stapler-adjunct-codemirror * Tue Apr 01 2014 Michal Srb - 1.557-2 - Allow symlinking * Tue Apr 01 2014 Michal Srb - 1.557-1 - Update to upstream version 1.557 * Mon Mar 31 2014 Michal Srb - 1.549-8 - First acegisecurity experiment * Mon Mar 31 2014 Michal Srb - 1.549-7 - Symlink tomcat's work dir * Thu Mar 27 2014 Michal Srb - 1.549-6 - Unbundle yui - Install proper sysconfig * Thu Mar 27 2014 Michal Srb - 1.549-5 - BR jenkins-core when building webapp * Thu Mar 27 2014 Michal Srb - 1.549-4 - Add missing BR * Tue Mar 25 2014 Michal Srb - 1.549-3 - Build webapp * Tue Mar 11 2014 Michal Srb - 1.549-2 - Fix license tag - Install missing licenses - Remove bundled jars and classes * Wed Jan 29 2014 Michal Srb - 1.549-1 - Initial packaging