# - build it from sources
# https://hudson.dev.java.net/files/documents/2402/125619/hudson-1.280-src.zip
# - use system jars
+# - subpackages (see ubuntu packages for splitting contents)
%include /usr/lib/rpm/macros.java
-Summary: Hudson Continuous Build Server
-Name: hudson
-Version: 1.367
+Summary: Jenkins Continuous Build Server
+Name: jenkins
+# Stay at LTS line
+Version: 2.7.3
Release: 1
License: MIT License
Group: Networking/Daemons/Java/Servlets
-# Check for new releases and URLs here: https://hudson.dev.java.net/servlets/ProjectRSS?type=news
-Source0: http://hudson-ci.org/download/war/%{version}/%{name}.war#/%{name}-%{version}.war
-# Source0-md5: b1d333446fd96f1c96bf67f977ba3c84
-Source1: %{name}-web.xml
-Source2: %{name}-context.xml
-URL: https://hudson.dev.java.net/
+# Check for new releases and URLs here:
+# Source0Download: http://mirrors.jenkins-ci.org/war-stable/?C=N;O=D
+Source0: http://mirrors.jenkins-ci.org/war-stable/%{version}/%{name}.war?/%{name}-%{version}.war
+# Source0-md5: cb01d0c713f75d02d214aabb27c15681
+Source1: context.xml
+Patch0: webxml.patch
+URL: http://www.jenkins-ci.org/
BuildRequires: jpackage-utils
BuildRequires: rpm-javaprov
BuildRequires: rpmbuild(macros) >= 1.546
Requires: jpackage-utils
-Requires: jre-X11
+Requires: jre-X11 >= 1.7
Requires: tomcat
+Suggests: %{name}-plugin-maven
+Obsoletes: hudson < 1.396
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Hudson monitors executions of repeated jobs, such as building a
+Jenkins monitors executions of repeated jobs, such as building a
software project or jobs run by cron.
-Among those things, current Hudson focuses on the following two jobs:
+Among those things, current Jenkins focuses on the following two jobs:
- Building/testing software projects continuously, just like
- CruiseControl or DamageControl. In a nutshell, Hudson provides an
+ CruiseControl or DamageControl. In a nutshell, Jenkins provides an
easy-to-use so-called continuous integration system, making it easier
for developers to integrate changes to the project, and making it
easier for users to obtain a fresh build. The automated, continoues
procmail jobs, even those that are run on a remote machine. For
example, with cron, all you receive is regular e-mails that capture
the output, and it is up to you to look at them diligently and notice
- when it broke. Hudson keeps those outputs and makes it easy for you to
- notice when something is wrong.
+ when it broke. Jenkins keeps those outputs and makes it easy for you
+ to notice when something is wrong.
+
+%package plugin-maven
+Summary: Jenkins Maven 2 Project Plugin
+Group: Networking/Daemons/Java/Servlets
+URL: https://wiki.jenkins-ci.org/display/JENKINS/Maven+2+Project+Plugin
+Requires: %{name} = %{version}-%{release}
+Conflicts: %{name} < %{version}-%{release}
+
+%description plugin-maven
+Maven Integration plugin.
%prep
%setup -qc
-rm *.class
-rm winstone.jar
+%{__rm} *.class
+%{__rm} winstone.jar
+%patch0 -p1
+
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_datadir}/%{name},%{_sharedstatedir}/%{name},%{_tomcatconfdir}}
-cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/web.xml
-cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tomcat-context.xml
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tomcat-context.xml
ln -sf %{_sysconfdir}/%{name}/tomcat-context.xml $RPM_BUILD_ROOT%{_tomcatconfdir}/%{name}.xml
cp -a . $RPM_BUILD_ROOT%{_datadir}/%{name}
+mv $RPM_BUILD_ROOT{%{_datadir}/%{name}/WEB-INF,%{_sysconfdir}/%{name}}/web.xml
ln -sf %{_sysconfdir}/%{name}/web.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/WEB-INF/web.xml
%postun
%dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.xml
%{_tomcatconfdir}/%{name}.xml
-%{_datadir}/%{name}
%attr(2775,root,servlet) %dir %{_sharedstatedir}/%{name}
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/META-INF
+
+%dir %{_datadir}/%{name}/WEB-INF
+%{_datadir}/%{name}/WEB-INF/classes
+%{_datadir}/%{name}/WEB-INF/hudson
+%{_datadir}/%{name}/WEB-INF/lib
+%{_datadir}/%{name}/WEB-INF/security
+%{_datadir}/%{name}/WEB-INF/update-center-rootCAs
+%{_datadir}/%{name}/WEB-INF/*.xmi
+%{_datadir}/%{name}/WEB-INF/*.xml
+%{_datadir}/%{name}/WEB-INF/jenkins-cli.jar
+%{_datadir}/%{name}/WEB-INF/remoting.jar
+%{_datadir}/%{name}/WEB-INF/slave.jar
+
+%dir %{_datadir}/%{name}/WEB-INF/detached-plugins
+%{_datadir}/%{name}/WEB-INF/detached-plugins/ant.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/antisamy-markup-formatter.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/credentials.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/cvs.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/external-monitor-job.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/javadoc.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/junit.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/ldap.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/mailer.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/matrix-auth.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/matrix-project.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/pam-auth.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/script-security.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/ssh-credentials.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/ssh-slaves.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/subversion.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/translation.hpi
+%{_datadir}/%{name}/WEB-INF/detached-plugins/windows-slaves.hpi
+
+%{_datadir}/%{name}/css
+%{_datadir}/%{name}/executable
+%{_datadir}/%{name}/help
+%{_datadir}/%{name}/images
+%{_datadir}/%{name}/jsbundles
+%{_datadir}/%{name}/scripts
+%{_datadir}/%{name}/*.txt
+%{_datadir}/%{name}/favicon.ico
+
+%files plugin-maven
+%defattr(644,root,root,755)
+%{_datadir}/%{name}/WEB-INF/detached-plugins/maven-plugin.hpi