Blob Blame History Raw
Name:           svnkit
Version:        1.8.5
Release:        6%{?dist}
Summary:        Pure java subversion client library

Group:          Development/Tools
# License located at http://svnkit.com/license.html
License:        TMate
URL:            http://www.svnkit.com/
Source0:        http://www.svnkit.com/org.tmatesoft.svn_%{version}.src.zip
#Source1:       http://repo1.maven.org/maven2/org/tmatesoft/svnkit/svnkit/1.8.5/svnkit-1.8.5.pom
# svnkit-1.8.5.pom is not yet available on maven's site :(
# our pom has adjusted dependencies versions to Fedora platform:
Source1:        %{name}-%{version}.pom
Source2:        %{name}-build.xml
# just in SRPM due to nailgun comes included in svnkit upstream sources:
Source3:        https://www.apache.org/licenses/LICENSE-2.0.txt
Source4:        https://www.apache.org/licenses/LICENSE-1.1.txt

# Adjust names for Fedora
Patch0:         svnkit-1.8.5-trilead-ssh2.patch
# svnkit's trilead-ssh2 does not throw InterruptedException from Session.waitForCondition()
# Fedora's trilead-ssh2 trhows ...
Patch1:         svnkit-1.8.5-SshSession-unreported-exception.patch

BuildArch:      noarch

BuildRequires:          java-devel
BuildRequires:          jpackage-utils >= 0:1.6
BuildRequires:          ant
BuildRequires:          sequence-library
BuildRequires:          subversion-javahl >= 1.5
BuildRequires:          jna >= 3.5
BuildRequires:          jna-contrib >= 3.5
BuildRequires:          trilead-ssh2 >= 217
BuildRequires:          sqljet >= 1.1.10
BuildRequires:          tomcat-servlet-3.1-api >= 7.0.0
Requires:               jpackage-utils >= 0:1.6
Requires:               subversion-javahl >= 1.5
Requires:               jna >= 3.5
Requires:               jna-contrib >= 3.5
Requires:               trilead-ssh2 >= 217
Requires:               sqljet >= 1.1.10
Requires:               sequence-library
Requires:               tomcat-servlet-3.1-api >= 7.0.0
# jsch-agent-proxy is not required at build time because its clases
# are used in connection strings only
Requires:               jsch-agent-proxy-connector-factory >= 0.0.7
Requires:               jsch-agent-proxy-trilead-ssh2 >= 0.0.7


%description
SVNKit is a pure java Subversion client library. You would like to use SVNKit
when you need to access or modify Subversion repository from your Java
application, as a standalone program and plugin or web application. Being a
pure java program, SVNKit doesn't need any additional configuration or native
binaries to work on any OS that runs java.

%package javahl
Summary:        Replacement for the native JavaHL API 
Group:          Development/Libraries
Requires:       %{name}%{?_isa}  = %{version}-%{release}
Requires:       subversion-javahl >= 1.5

%description javahl
SVNKit provides a replacement for the native JavaHL API - the SVNClient  class 
that does not use any native bindings. This SVNClient  also implements 
SVNClientInterface (org.tigris.subversion.javahl) as the native one 
but uses only the SVNKit library API (written in pure Java!).
If you have code written with using the native SVNClient class, 
you may simply replace that class with the new one provided by SVNKit. 

%package cli
Summary:        Jsvn is a pure java Subversion client 
Group:          Development/Tools
Requires:       %{name}%{?_isa}  = %{version}-%{release}

%description cli
Includes jsvn, a pure java Subversion command line interface based on SVNKit.

%package javadoc
Summary:        Javadoc for SVNKit
Group:          Documentation

%description javadoc
Javadoc for SVNKit - Java Subversion client library.

%prep
%setup -q -n %{name}-%{version}

%patch0 -p1
%patch1 -p1

# delete binary jars from upstream
rm -rf gradle gradlew gradlew.bat
rm -rf svnkit-test/nailgun/nailgun-0.7.1.jar

# check for forbidden artifacts 
WHITELIST="\(template.jar\)"
FORBIDDEN=""
for j in $(find . ! -regex ".*$WHITELIST.*" -and \( -name '*.jar' -or -name '*.class' \) ); do
        if [ ! -L $j ] ; then
        FORBIDDEN="$FORBIDDEN $j"
        fi
done
if [ ! -z "$FORBIDDEN" ] ; then
        echo "These files should be deleted and symlinked to system: $FORBIDDEN" 
        exit 1
fi
  

# this jars are not removed because are templates from upstream and have no binary contents: 
#      - svnkit/src/main/java/org/tmatesoft/svn/core/io/repository/template.jar
#      - svnkit/src/main/resources/org/tmatesoft/svn/core/io/repository/template.jar

cp %{SOURCE2} build.xml

cat > %{name}.build.properties <<EOF
svnkit.version.major=1
svnkit.version.minor=8
svnkit.version.micro=5
svnkit.version.build=local
EOF


%build
ant all


%install
# jar
install -d -m 755 %{buildroot}%{_javadir}
install -p -m 644 %{name}/dist/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar
install -p -m 644 %{name}-javahl16/dist/%{name}-javahl16.jar %{buildroot}%{_javadir}/%{name}-javahl.jar
install -p -m 644 %{name}-cli/dist/%{name}-cli.jar %{buildroot}%{_javadir}/%{name}-cli.jar

install -p -Dm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap

# javadocs
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -rp build/javadoc %{buildroot}%{_javadocdir}/%{name}


%files -f .mfiles
%doc LICENSE.txt README.txt CHANGES.txt

%files cli
%{_javadir}/%{name}-cli.jar

%files javahl
%{_javadir}/%{name}-javahl.jar

%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE.txt


%changelog
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Mar 18 2015 Ismael Olea <ismael@olea.org> - 1.8.5-2
- the tomcat servlet api dep is now tomcat-servlet-3.1-api

* Wed Jun 11 2014 Jakub Filak <jfilak@redhat.com> - 1.8.5-1
- Updated to 1.8.5

* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.6-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu May 16 2013 Tom Callaway <spot@fedoraproject.org> - 1.7.6-7
- fix pom file for proper naming for trilead-ssh2

* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild


* Mon Dec 17 2012 Ismael Olea <ismael@olea.org> - 1.7.6-5
- Code auditing reports all used source code is TMate licensed only
  so license changed
- Added an ASL 1.1 license file obligued by nailgun
- Renamed ASL licenses file names with canonical source URIs

* Mon Dec 17 2012 Ismael Olea <ismael@olea.org> - 1.7.6-4
- better upstream URI for pom file
- better script for detecting non allowed binary artifacts
- removed innecesary duplicated license files
- spec cleaning

* Wed Dec 12 2012 Ismael Olea <ismael@olea.org> - 1.7.6-3
- added a LCENSE-2.0.txt just in SRPM due to nailgun.jar be included in svnkit sources
- minor spec cleaning

* Fri Dec 7 2012 Ismael Olea <ismael@olea.org> - 1.7.6-2
- removed all eclipse-isms and spec cleaning

* Mon Dec 3 2012 Ismael Olea <ismael@olea.org> - 1.7.6-1
- updated to 1.7.6

* Mon Dec 3 2012 Ismael Olea <ismael@olea.org> - 1.7.5-6
- svnkit-jna-3.5.0.patch from Brendan Jones to ride with jna API changes

* Tue Nov 20 2012 Ismael Olea <ismael@olea.org> - 1.7.5-5
- missing dep tomcat-servlet-3.0-api
- stetic changes

* Fri Nov 16 2012 Ismael Olea <ismael@olea.org> - 1.7.5-4
- cleaning mavem-isms
- removing the obsoletes javasvn since it's not in Fedora since F9
- minor spec cleaning

* Tue Oct 9 2012 Ismael Olea <ismael@olea.org> - 1.7.5-3
- fixing build.xml paths

* Sat Oct 6 2012 Ismael Olea <ismael@olea.org> - 1.7.5-2
- adding javadoc
- beautifing build.xml

* Fri Oct 5 2012 Ismael Olea <ismael@olea.org> - 1.7.5-1
- update to 1.7.5-v1

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Tue Jan 25 2011 Alexander Kurtakov <akurtako@redhat.com> 1.3.5-1
- Update to upstream 1.3.5.

* Mon Dec 13 2010 Alexander Kurtakov <akurtako@redhat.com> 1.3.4-2
- Fix pom name.
- Adapt to current guidelines.

* Thu Oct 21 2010 Alexander Kurtakov <akurtako@redhat.com> 1.3.4-1
- Update to new upstream 1.3.4.

* Wed Jul 21 2010 Alexander Kurtakov <akurtako@redhat.com> 1.3.3-5
- Add maven depmap and pom.
- Separate javahl in a subpackage.

* Fri Jul 16 2010 Alexander Kurtakov <akurtako@redhat.com> 1.3.3-4
- Move eclipse-platform dependency to the eclipse subpackage.

* Tue Jul 13 2010 Alexander Kurtakov <akurtako@redhat.com> 1.3.3-3
- Fix antlr3 jar rename.

* Tue Jul 13 2010 Alexander Kurtakov <akurtako@redhat.com> 1.3.3-2
- BR antlr3-java.

* Tue Jul 13 2010 Alexander Kurtakov <akurtako@redhat.com> 1.3.3-1
- Update to 1.3.3.
- Patch1 is not applied it looks like fixed upstream in different way.

* Fri Mar 05 2010 Lubomir Rintel <lkundrak@v3.sk> 1.3.2-2
- Cherry-pick r6418 from upstream

* Thu Dec 3 2009 Alexander Kurtakov <akurtako@redhat.com> 1.3.2-1
- Update to 1.3.2.

* Fri Jul 24 2009 Alexander Kurtakov <akurtako@redhat.com> 1.3.0-1
- Update to 1.3.0.

* Mon Apr  6 2009 Robert Marcano <robert@marcanoonline.com> - 1.2.3-2
- Rebuild

* Mon Mar 23 2009 Robert Marcano <robert@marcanoonline.com> - 1.2.3-1
- Update to upstream 1.2.3

* Tue Feb 17 2009 Robert Marcano <robert@marcanoonline.com> - 1.2.2-1
- Update to upstream 1.2.2
- New eclipse-svnkit subpackage with eclipse plugin
- GCJ AOT removed

* Sun Sep  7 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.1.4-4
- fix license tag

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.1.4-3
- Autorebuild for GCC 4.3

* Thu Sep 20 2007 Robert Marcano <robert@marcanoonline.com> - 1.1.4-2
- Fix Obsoletes to include javasvn = 1.1.0

* Mon Sep 10 2007 Robert Marcano <robert@marcanoonline.com> - 1.1.4-1
- Update to upstream 1.1.4
- Build for all supported arquitectures 

* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 1.1.2-4
- Rebuild for selinux ppc32 issue.

* Mon Jun 18 2007 Robert Marcano <robert@marcanoonline.com> 1.1.2-2
- Package review fixes

* Sun Apr 15 2007 Robert Marcano <robert@marcanoonline.com> 1.1.2-1
- Update to upstream 1.1.2
- Add obsoletes of javasvn

* Tue Feb 06 2007 Robert Marcano <robert@marcanoonline.com> 1.1.1-1
- Rename to svnkit
- Update to SVNKit 1.1.1

* Mon Aug 28 2006 Robert Marcano <robert@marcanoonline.com> 1.1.0-0.3.beta4
- Rebuild

* Thu Aug 03 2006 Robert Marcano <robert@marcanoonline.com> 1.1.0-0.2.beta4
- Fix bad relase tag

* Mon Jul 31 2006 Robert Marcano <robert@marcanoonline.com> 1.1.0-0.beta4
- Update to upstream version 1.1.0.beta4, required by subclipse 1.1.4

* Fri Jul 28 2006 Robert Marcano <robert@marcanoonline.com> 1.0.6-2
- Rebuilt to pick up the changes in GCJ (bug #200490)

* Mon Jun 26 2006 Robert Marcano <robert@marcanoonline.com> 1.0.6-1
- Update to upstream version 1.0.6

* Sun Jun 25 2006 Robert Marcano <robert@marcanoonline.com> 1.0.4-4
- created javadoc subpackage
- dependency changed from ganymed to ganymed-ssh2

* Sun Jun 11 2006 Robert Marcano <robert@marcanoonline.com> 1.0.4-3
- rpmlint fixes and debuginfo generation workaround
- doc files added

* Sun May 28 2006 Robert Marcano <robert@marcanoonline.com> 1.0.4-2
- review updates

* Sun May 07 2006 Robert Marcano <robert@marcanoonline.com> 1.0.4-1
- initial version