Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 02b92139633a0dd42807345b90184e60 > files > 12

opengrok-0.8-0.0.20090712hg.2mdv2009.0.src.rpm

Summary:	Source browser and indexer
Name:		opengrok
Version:	0.8
Release:	%mkrel 0.0.20090712hg.2
Group:		Development/Java
License:	CDDL
URL:		http://www.opensolaris.org/os/project/opengrok/
#Source0:        http://www.opensolaris.org/os/project/opengrok/files/%{name}-%{version}-src.tar.gz
# hg clone -r786 ssh://anon@hg.opensolaris.org/hg/opengrok/trunk opengrok-0.8-src
# tar czf opengrok-r786-src.tar.gz --exclude .hg opengrok-0.8-src
Source0:	opengrok-r786-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.7-nocplib.patch
Patch3:		opengrok-0.8-manifest-classpath.patch
Patch4:		opengrok-0.6-nooverview.patch
Patch5:		opengrok-0.6-nochangeset.patch
Patch6:		opengrok-0.7-jflex.patch
Requires:	ant
Requires:	bcel
Requires:	ctags
Requires:	jakarta-oro
Requires:	java
Requires:	javacc
Requires:	java-cup
Requires:	jpackage-utils
Requires:	lucene > 2
Requires:	lucene-contrib > 2
Requires:	servlet
Requires:	swing-layout
BuildRequires:	ant
BuildRequires:	ant-junit
BuildRequires:	ant-nodeps
BuildRequires:	bcel
BuildRequires:	ctags
BuildRequires:	docbook2x
BuildRequires:	jakarta-oro
BuildRequires:	javacc
BuildRequires:	java-cup
BuildRequires:	java-devel >= 1.6
BuildRequires:	java-rpmbuild
BuildRequires:	jflex >= 1.4
BuildRequires:	jpackage-utils
BuildRequires:	junit4
BuildRequires:	lucene > 2
BuildRequires:	lucene-contrib > 2
BuildRequires:	servlet
BuildRequires:	swing-layout
BuildRequires:	unzip
BuildArch:	noarch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot

%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:		Books/Other
Requires:	jpackage-utils

%description	javadoc
%{summary}.


%package	tomcat5
Summary:	Source browser web application
Group:		System/Servers
Requires:	%{name} tomcat5

%description	tomcat5
OpenGrok web application


%prep

%setup -q -n %{name}-0.7-src
%{__unzip} -q ext/jrcs.zip
%patch0 -p1 -b .jrcs-import
%patch1 -p1 -b .nocplib
%patch3 -p1 -b .manifest-classpath
%patch4 -p1 -b .nooverview
%patch5 -p1 -b .nochangeset
%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' -exec rm -f '{}' \;

# 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,/opengrok/configuration.xml,%{_sysconfdir}/%{name}/configuration.xml,' \
        -i conf/web.xml

# README.webapp
cp %{SOURCE3} README.webapp

%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 |docbook2man -


%check
pushd jrcs
CLASSPATH=$(build-classpath junit4) %{ant} test

popd
#CLASSPATH=$(build-classpath jflex junit4) %{ant} test

%install
rm -rf %{buildroot}

# directories

%define webappdir %{_localstatedir}/lib/tomcat5/webapps/source
install -d %{buildroot}%{webappdir}
install -d %{buildroot}%{webappdir}/WEB-INF/lib

install -d %{buildroot}%{_javadir}
install -d %{buildroot}%{_javadocdir}/%{name}
install -d %{buildroot}%{_javadocdir}/%{name}-jrcs
install -d %{buildroot}%{_bindir}
install -d %{buildroot}%{_mandir}/man1
install -d %{buildroot}%{_sysconfdir}/%{name}
install -d %{buildroot}%{_localstatedir}/lib/%{name}/data
install -d %{buildroot}%{_localstatedir}/lib/%{name}/src
install -d %{buildroot}%{_datadir}/pixmaps

# jar
install -p -m 644 dist/opengrok.jar %{buildroot}%{_javadir}/opengrok-%{version}.jar
ln -sf opengrok-%{version}.jar %{buildroot}%{_javadir}/opengrok.jar

# jrcs
install -d %{buildroot}%{_javadir}/opengrok-jrcs

install -p -m 644 jrcs/lib/org.apache.commons.jrcs.rcs.jar \
        %{buildroot}%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.rcs-%{version}.jar
ln -sf org.apache.commons.jrcs.rcs-%{version}.jar \
        %{buildroot}%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.rcs.jar

install -p -m 644 jrcs/lib/org.apache.commons.jrcs.diff.jar \
        %{buildroot}%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.diff-%{version}.jar
ln -sf org.apache.commons.jrcs.diff-%{version}.jar \
        %{buildroot}%{_javadir}/opengrok-jrcs/org.apache.commons.jrcs.diff.jar

# bin
install -p -m 755 %{SOURCE1} %{buildroot}%{_bindir}

# man
install -p -m 644 opengrok.1 %{buildroot}%{_mandir}/man1


# javadoc
cp -pR dist/javadoc/. %{buildroot}%{_javadocdir}/%{name}
cp -pR jrcs/doc/api/. %{buildroot}%{_javadocdir}/%{name}-jrcs

# Configuration file configuration.xml
install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}

# Make love, not war!
unzip -q dist/source.war -d %{buildroot}%{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 %{buildroot}%{webappdir}/WEB-INF/lib
done)

sed -i 's/\/etc\/etc\//\/etc\//' %{buildroot}%{webappdir}/WEB-INF/web.xml

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc CHANGES.txt LICENSE.txt README.txt doc/EXAMPLE.txt README.webapp
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/configuration.xml
%{_javadir}/*
%{_bindir}/opengrok
%{_mandir}/man1/opengrok.1*
%{_localstatedir}/lib/%{name}

%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/*

%files tomcat5
%defattr(-,root,root,-)
%{webappdir}
%config(noreplace) %{webappdir}/WEB-INF/web.xml
%config(noreplace) %{webappdir}/index_body.html


%changelog
* Fri Sep 18 2009 Oden Eriksson <oeriksson@mandriva.com> 0.8-0.0.20090712hg.2mdv2009.0
+ Revision: 444320
- remove condition to generate tomcat5 package (cabral)
- fixes coping of README.webapp (cabral)
- fixes web.xml CONFIGURATION parameter in the webapp (cabral)

* Mon Sep 14 2009 Oden Eriksson <oeriksson@mandriva.com> 0.8-0.0.20090712hg.1mdv2010.0
+ Revision: 440196
- fix build
- import opengrok


* Sat Sep 12 2009 Oden Eriksson <oeriksson@mandriva.com> 0.8-0.0.20090712hg.1mdv2009.1
- initial Mandriva package (fedora import)

* 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