# Webapp is disabled, since Fedora does not have the Java Webapp guidelines # finished yet: http://fedoraproject.org/wiki/PackagingDrafts/JavaWebApps %bcond_with webapp Name: opengrok Version: 0.9 Release: 2%{?dist} Summary: Source browser and indexer Group: Development/Tools License: CDDL URL: http://hub.opensolaris.org/bin/view/Project+opengrok/ Source0: http://hub.opensolaris.org/bin/download/Project+opengrok/files/%{name}-%{version}-src.tar.gz Source1: opengrok Source2: configuration.xml Source3: opengrok-README.Fedora.webapp Source4: opengrok-README.Fedora.nowebapp Patch0: opengrok-0.5-jrcs-import.patch Patch1: opengrok-0.9-nocplib.patch Patch3: opengrok-0.8.1-manifest-classpath.patch Patch4: opengrok-0.6-nooverview.patch Patch6: opengrok-0.9-jflex.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch %define common_reqs jakarta-oro ant bcel servlet lucene > 2 lucene-contrib > 2 swing-layout jpackage-utils javacc Requires: %{common_reqs} Requires: ctags Requires: java BuildRequires: %{common_reqs} BuildRequires: jflex >= 1.4 BuildRequires: java_cup BuildRequires: ant-nodeps # FIXME: As of 0.6-hg275 this should build with java-1.5 again. # This is just to prevent GCJ from attempting to build this. # ant scripts from both jrcs and opengrok need to be fixed somehow BuildRequires: java-devel >= 1.6 BuildRequires: unzip BuildRequires: junit4 BuildRequires: ant-junit BuildRequires: ctags BuildRequires: docbook2X %description OpenGrok is a fast and usable source code search and cross reference engine, written in Java. It helps you search, cross-reference and navigate your source tree. It can understand various program file formats and version control histories like SCCS, RCS, CVS, Subversion and Mercurial. %package javadoc Summary: Javadoc for %{name} Group: Documentation Requires: jpackage-utils %description javadoc %{summary}. %if %with webapp %package tomcat5 Summary: Source browser web application Group: Development/Tools Requires: %{name} tomcat5 %description tomcat5 OpenGrok web application %endif %prep %setup -q -n %{name}-%{version}-src %{__unzip} -q ext/jrcs.zip %patch0 -p1 -b .jrcs-import %patch1 -p1 -b .nocplib %patch3 -p1 -b .manifest-classpath %patch4 -p1 -b .nooverview %patch6 -p1 -b .jflex # This is not strictly needed, but to nuke prebuilt stuff # makes us feel warmer while building find -name '*.jar' -o -name '*.class' -o -name '*.war' -delete # jrcs' javacc directory sed ' s,\(property name="javacc.lib.dir" value="\)[^"]*,\1%{_javadir},; s,\(javacchome="\)[^"]*,\1${javacc.lib.dir},; ' -i jrcs/build.xml # Default war configuration sed 's,/var/opengrok/etc/configuration.xml,%{_sysconfdir}/%{name}/configuration.xml,' \ -i web/WEB-INF/web.xml # README.Fedora %if %with webapp cp %{SOURCE3} README.Fedora %else cp %{SOURCE4} README.Fedora %endif %build pushd jrcs CLASSPATH=$(build-classpath oro) %{ant} -v all popd CLASSPATH=$(build-classpath jflex java_cup) %{ant} -v jar javadoc \ -Dfile.reference.org.apache.commons.jrcs.diff.jar=jrcs/lib/org.apache.commons.jrcs.diff.jar \ -Dfile.reference.org.apache.commons.jrcs.rcs.jar=jrcs/lib/org.apache.commons.jrcs.rcs.jar \ -Dfile.reference.lucene-core-2.2.0.jar=$(build-classpath lucene) \ -Dfile.reference.lucene-spellchecker-2.2.0.jar=$(build-classpath lucene-contrib/lucene-spellchecker) \ -Dfile.reference.ant.jar=$(build-classpath ant) \ -Dfile.reference.bcel-5.1.jar=$(build-classpath bcel) \ -Dfile.reference.jakarta-oro-2.0.8.jar=$(build-classpath jakarta-oro) \ -Dfile.reference.servlet-api.jar=$(build-classpath servlet) \ -Dfile.reference.swing-layout-0.9.jar=$(build-classpath swing-layout) # SolBook is more-or-less DocBook subset, so this can be done safely # FIXME: db2x_docbook2man output is not as nice as it should be sed ' s,^<!DOCTYPE.*,<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "docbookx.dtd">, s,^<?Pub Inc>,, ' dist/opengrok.1 |db2x_docbook2man - %check pushd jrcs CLASSPATH=$(build-classpath junit4) %{ant} test popd #CLASSPATH=$(build-classpath jflex junit4) %{ant} test %install rm -rf $RPM_BUILD_ROOT # directories %if %with webapp %define webappdir %{_localstatedir}/lib/tomcat5/webapps/source install -d $RPM_BUILD_ROOT%{webappdir}/WEB-INF/lib %endif install -d $RPM_BUILD_ROOT%{_javadir} install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name} install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-jrcs install -d $RPM_BUILD_ROOT%{_bindir} install -d $RPM_BUILD_ROOT%{_mandir}/man1 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name} install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/data install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/src install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps # jar install -p -m 644 dist/opengrok.jar $RPM_BUILD_ROOT%{_javadir}/opengrok-%{version}.jar ln -sf opengrok-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/opengrok.jar # jrcs install -d $RPM_BUILD_ROOT%{_javadir}/opengrok-jrcs install -p -m 644 jrcs/lib/org.apache.commons.jrcs.rcs.jar \ $RPM_BUILD_ROOT%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.rcs-%{version}.jar ln -sf org.apache.commons.jrcs.rcs-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.rcs.jar install -p -m 644 jrcs/lib/org.apache.commons.jrcs.diff.jar \ $RPM_BUILD_ROOT%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.diff-%{version}.jar ln -sf org.apache.commons.jrcs.diff-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.diff.jar # bin install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir} # man install -p -m 644 opengrok.1 $RPM_BUILD_ROOT%{_mandir}/man1 # javadoc cp -pR dist/javadoc/. $RPM_BUILD_ROOT%{_javadocdir}/%{name} cp -pR jrcs/doc/api/. $RPM_BUILD_ROOT%{_javadocdir}/%{name}-jrcs # Configuration file configuration.xml install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/%{name} %if %with webapp # Make love, not war! unzip -q dist/source.war -d $RPM_BUILD_ROOT%{webappdir} (IFS=:; for file in $(build-classpath \ bcel jakarta-oro swing-layout \ lucene lucene-contrib/lucene-spellchecker) \ %{_javadir}/opengrok.jar \ %{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.diff.jar \ %{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.rcs.jar do ln -sf $file $RPM_BUILD_ROOT%{webappdir}/WEB-INF/lib done) %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %{_javadir}/* %{_bindir}/opengrok %{_mandir}/man1/opengrok.1* %{_localstatedir}/lib/%{name} %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/configuration.xml %doc CHANGES.txt LICENSE.txt README.txt doc/EXAMPLE.txt README.Fedora %files javadoc %defattr(-,root,root,-) %{_javadocdir}/* %if %with webapp %files tomcat5 %defattr(-,root,root,-) %{webappdir} %config(noreplace) %{webappdir}/WEB-INF/web.xml %config(noreplace) %{webappdir}/index_body.html %endif %changelog * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon May 31 2010 Lubomir Rintel <lkundrak@v3.sk> - 0.9-1 - Update to later upstream release * Wed Feb 17 2010 Lubomir Rintel <lkundrak@v3.sk> - 0.8.1-1 - Fix build - Update to later upstream release * Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-0.2.20090712hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sun Jul 12 2009 Lubomir Rintel <lkundrak@v3.sk> - 0.8-0.1.20090712hg - Update to latest Mercurial snapshot - bconds are nice, use them * Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7-0.3.20081016hg - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Oct 16 2008 Lubomir Rintel <lkundrak@v3.sk> - 0.7-0.2-20081016hg - Fix servlet classpath - Do not depend on subversion-javahl now that svn tool is used - Rediff jflex patch for zero fuzz * Thu Oct 16 2008 Lubomir Rintel <lkundrak@v3.sk> - 0.7-0.1-20081016hg - Update to post-0.7rc1 - Disable JUnit tests - Remove GUI * Sun Aug 10 2008 Lubomir Rintel <lkundrak@v3.sk> - 0.6.1-3.20080810hg - Update to a Mercurial snapshot to adress excessive memory usage bug - Specify fuzz for patches explicitely for now (see #458577) * Thu May 22 2008 Lubomir Rintel <lkundrak@v3.sk> 0.6.1-2 - Tolerate svn-javahl not being in correct directory, in RHEL5 - Replace sed-mungled configuration with hardcoded, so that stamps don't change * Mon May 19 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6.1-1 - New upstream release, dropping snapshot patch * Fri Apr 18 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-9.hg275 - Review from Deepak Bhole and Andrew Overholt: (#433312) - Remove GCJ bits - Preserve timestamps wherever it makes sense - Fix dependencies of -javadoc subpackage - Remove webapp subpackage for now - Do not try to include nonexistent overview file in jrcs javadoc - Do not call hg * Wed Apr 09 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-8.hg275 - Fix the Junit tests * Wed Apr 09 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-7.hg275 - Javadoc - Return forgotten patch to nuke classpath from manifest * Wed Apr 09 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-6.hg275 - Newer tip with bugfixes - %%check with junit tests * Thu Apr 03 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-5.hg260 - GCJ * Thu Mar 27 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-4.hg260 - Convert the manpage to roff from SolBook * Thu Mar 27 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-3.hg260 - Install manual - Don't warn if subversion jar is not available - Correct java options variable name * Thu Mar 27 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-2.hg260 - Current tip * Thu Mar 27 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.6-1 - New upstream release * Tue Mar 18 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-9.hg206 - Patch from Trend Norbye to close file handles manually - Possibly to work around the VM issue * Thu Feb 21 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-8.hg206 - Go back to revision 206; where project used a shared lucene index - Will be cherry-picking important commits until searching multiple project works again * Thu Feb 21 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-7.e3806d642190 - Subversion finally fixed - README.Fedora * Wed Feb 20 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-6.e3806d642190 - trunk - Webapp - Desktop entry * Tue Feb 19 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-5.c4dea0135445 - swing-layout from jpackage 1.6 - We don't actually need ant-tools * Tue Feb 19 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-4.c4dea0135445 - Use our lucene, once we have version 2 * Mon Feb 18 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-3.c4dea0135445 - Fix the script - Use Tomcat servlet api - Use internal JRCS * Mon Feb 18 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-2.c4dea0135445 - Use mercurial snapshot - Attempt to use no prebuilt stuff * Fri Jan 25 2008 Lubomir Kundrak <lkundrak@redhat.com> - 0.5-1 - Initial packaging attempt