pkg://jftp-1.42-2jpp.src.rpm:2618723/jftp.spec
info downloads
%define name jftp
%define Name j-ftp
%define fname JFtp
%define version 1.42
%define release 2jpp
%define section free
%define pkg_summary Swing ftp-client with a lot of useful features
Name: %{name}
Version: %{version}
Release: %{release}
Epoch: 0
Summary: %{pkg_summary}
License: GPL
Url: http://%{Name}.sf.net/
Group: Development/Java
Vendor: JPackage Project
Distribution: JPackage
Source0: http://download.sourceforge.net/sourceforge/j-ftp/j-ftp-1.42.tar.gz
Source1: %{name}-16.png
Source2: %{name}-32.png
Source3: %{name}-48.png
Source4: %{name}.desktop
Patch0: jftp-newapi.patch
Requires: j2ssh >= 0:0.2.7
Requires: jakarta-slide-webdavclient
Requires: jcifs
Requires: log4j
Requires: webnfs
BuildRequires: j2ssh >= 0:0.2.7
BuildRequires: jakarta-commons-httpclient
BuildRequires: jakarta-slide-webdavclient
BuildRequires: jcifs
BuildRequires: log4j
BuildRequires: webnfs
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
%description
JFtp is a graphical FTP client written in Java. It supports all the
basic FTP operations, and has some improved features such as recursive
directory upload, a nice swing UI, the ability to automatically resume
downloads, and the ability to recognize broken directory names. The API
is separated from the GUI and can also be used in third-party
applications or in a command-line mode.
%package javadoc
Summary: Javadoc for %{name}
Group: Development/Documentation
%description javadoc
Javadoc for %{name}.
%package mdkmenu
Summary: Mandrake menu entry for %{name}
Group: Development
Requires: %{name} = %{epoch}:%{version}-%{release}
%description mdkmenu
This is a Mandrake menu system entry for %{name}.
%package legacymenu
Summary: Red Hat menu entry for %{name}
Group: Development
Requires: %{name} = %{epoch}:%{version}-%{release}
Obsoletes: %{name}-rhmenu
Provides: %{name}-rhmenu
Conflicts: redhat-menus
%description legacymenu
This is a Red Hat menu system entry for %{name}.
%prep
%setup -q -n %{Name}
%patch0 -p1
# remove all binary libs
find . -name "*.jar" -exec rm -f {} \;
find . -name "*.class" -exec rm -f {} \;
find . -type d -name ".xvpics" | xargs rm -rf
rm -rf lib/*
# To avoid name clashes
install -m 644 src/images/org/javalobby/icons/readme icons-readme
install -m 644 src/images/org/javalobby/icons/COPYRIGHT icons-COPYRIGHT
%build
export CLASSPATH=%(build-classpath j2ssh/j2ssh-core jakarta-commons-httpclient slide/jakarta-slide-webdavclient-webdavlib jcifs log4j webnfs)
perl -p -i -e 's|docs/|file://%{_docdir}/%{name}-%{version}/|g;' \
src/java/net/sf/jftp/config/Settings.java
ant -Djftp.version=%{version}-%{release} -Dlog4j.jar=%{_javadir}/log4j.jar jars
ant -Djftp.version=%{version}-%{release} -Dlog4j.jar=%{_javadir}/log4j.jar javadoc
%install
rm -rf $RPM_BUILD_ROOT
# jar
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 build/jars/%{name}.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do \
ln -sf ${jar} ${jar/-%{version}/}; done)
# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
# script
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
cat > $RPM_BUILD_ROOT%{_bindir}/%{name} << EOF
#!/bin/sh
#
# %{name} script
# JPackage Project <http://www.jpackage.org/>
# Source functions library
if [ -f %{_datadir}/java-utils/java-functions ]; then
. %{_datadir}/java-utils/java-functions
else
echo "Can't find functions library, aborting"
exit 1
fi
# Source system prefs
if [ -f %{_sysconfdir}/%{name}.conf ] ; then
. %{_sysconfdir}/%{name}.conf
fi
# Source user prefs
if [ -f \$HOME/.%{name}rc ] ; then
. \$HOME/.%{name}rc
fi
# Configuration
MAIN_CLASS="net.sf.jftp.JFtp"
BASE_JARS="j2ssh/j2ssh-core jakarta-commons-logging jcifs log4j webnfs webnfs-xfilechooser jakarta-commons-httpclient slide/jakarta-slide-webdavclient-webdavlib %{name}"
HAVE_KUNSTSTOFF="\$(build-classpath kunststoff 2>/dev/null)"
if [ -n "\$HAVE_KUNSTSTOFF" ]; then
BASE_JARS="\$BASE_JARS kunststoff.jar"
fi
HAVE_METOUIA="\$(build-classpath metouia 2>/dev/null)"
if [ -n "\$HAVE_METOUIA" ]; then
BASE_JARS="\$BASE_JARS metouia.jar"
fi
# Set parameters
set_jvm
set_classpath \$BASE_JARS
# Let's start
run "\$@"
EOF
# menus
# mdk icons
install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png
install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png
install -D -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png
# mdk menu
install -d -m 755 $RPM_BUILD_ROOT%{_menudir}
cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
?package(%{name}):\
command="%{_bindir}/%{name}"\
needs="X11"\
section="Networking/File transfer"\
title="%{fname}"\
longtitle="%{pkg_summary}"\
icon="%{name}.png"
EOF
# rh icons
install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
install -D -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
# rh menu
install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Networking
cat >$RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/Networking/%{name}.desktop <<EOF
[Desktop Entry]
Name=%{fname}
Comment=%{pkg_summary}
Exec=%{_bindir}/%{name}
Terminal=0
Type=Application
Icon=%{name}.png
EOF
# freedesktop.org menu entry
install -D -p -m 644 %{SOURCE4} \
$RPM_BUILD_ROOT%{_datadir}/applications/jpackage-%{name}.desktop
# icons for freedesktop.org and legacy menu entries
install -D -p -m 644 %{SOURCE1} \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
install -D -p -m 644 %{SOURCE2} \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
install -D -p -m 644 %{SOURCE3} \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
install -D -p -m 644 %{SOURCE3} \
$RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
%post mdkmenu
%{update_menus}
%postun mdkmenu
%{clean_menus}
%clean
rm -rf $RPM_BUILD_ROOT
%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}
%postun javadoc
if [ "$1" = "0" ]; then
rm -f %{_javadocdir}/%{name}
fi
%files
%defattr(0644,root,root,0755)
%doc CHANGELOG LICENSE readme TODO doc/*.{txt,java} doc/nfsinfo icons-*
%attr(0755,root,root) %{_bindir}/%{name}
%{_javadir}/*
%{_datadir}/applications/*-%{name}.desktop
%{_datadir}/icons/*/*/apps/*
%{_datadir}/pixmaps/%{name}.png
%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}-%{version}
%files mdkmenu
%defattr(0644,root,root,0755)
%{_menudir}/%{name}
%{_iconsdir}/%{name}.png
%{_miconsdir}/%{name}.png
%{_liconsdir}/%{name}.png
%files legacymenu
%defattr(0644,root,root,0755)
%{_sysconfdir}/X11/applnk/*/*
%{_datadir}/icons/*/*/apps/*
%changelog
* Tue Jul 6 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:1.42-2jpp
- Add httpclient and webdavlib to classpath in startup script.
- freedesktop.org desktop entry improvements.
* Fri Apr 16 2004 David Walluck <david@anti-microsoft.org> 0:1.42-1jpp
- 1.42
- new dependencies on jakarta-commons-httpclient, jakarta-slide-webdavclient
* Mon Jan 19 2004 David Walluck <david@anti-microsoft.org> 0:1.40-1jpp
- 1.4.0
- change some groups to Development/Java
- Requires j2ssh >= 0:0.2.7 due to change in API (known broken, fix
pending)
* Fri Sep 26 2003 David Walluck <david@anti-microsoft.org> 0:1.37-1jpp
- 1.37
- all current patches merged upstream
* Wed Sep 17 2003 David Walluck <david@anti-microsoft.org> 0:1.35-2jpp
- fix j2ssh Requires
* Mon Sep 15 2003 David Walluck <david@anti-microsoft.org> 0:1.35-1jpp
- 1.35
- add freedesktop.org menu entry and replace rhmenu subpackage with legacymenu
- now requires j2ssh >= 0:0.2.5
- add jakarta-commons-logging to script CLASSPATH because of new j2ssh
- most patches are now merged upstream
- add new build and lnf patches
* Tue Sep 09 2003 David Walluck <david@anti-microsoft.org> 0:1.28-2jpp
- use oldj2ssh
* Sun May 04 2003 David Walluck <david@anti-microsoft.org> 0:1.28-1jpp
- 1.28
- remove docs patch for now
- javadocs are disabled for throwing an exception in the compiler
* Sun May 04 2003 David Walluck <david@anti-microsoft.org> 0:1.27-1jpp
- 1.27
- some JPackage 1.5 fixes
* Sun May 04 2003 David Walluck <david@anti-microsoft.org> 0:1.26-1jpp
- 1.26
- fix summary in menus (actually fixed since last version)
* Fri May 02 2003 David Walluck <david@anti-microsoft.org> 0:1.25-1jpp
- 1.25
- use build-classpath instead of direct jar location in jftp script
- add patch to prevent unsupported lnf's from showing up in the menu
- add patch to allow docs on the filesystem instead of in jftp.jar
* Wed Apr 30 2003 David Walluck <david@anti-microsoft.org> 0:1.24-2jpp
- better support for kunststoff lnf
* Thu Apr 24 2003 David Walluck <david@anti-microsoft.org> 0:1.24-1jpp
- 1.24
- update for JPackage 1.5
- patch to work with external jars and to remove the jarsigner task
* Tue Mar 25 2003 David Walluck <david@anti-microsoft.org> 1.21-1jpp
- 1.21
* Sun Mar 23 2003 David Walluck <david@anti-microsoft.org> 1.20-1jpp
- 1.20
* Fri Mar 14 2003 David Walluck <david@anti-microsoft.org> 1.13-1jpp
- 1.13
- no demos anymore
- I think the right icons are in the right directories now
* Sun Mar 09 2003 David Walluck <david@anti-microsoft.org> 1.09-1jpp
- 1.09
* Fri Feb 28 2003 David Walluck <david@anti-microsoft.org> 1.06-1jpp
- 1.06
* Wed Feb 26 2003 David Walluck <david@anti-microsoft.org> 1.04-1jpp
- 1.04
- demos work now
- use File.separator instead of "/" in patch
* Mon Feb 24 2003 David Walluck <david@anti-microsoft.org> 1.01-1jpp
- release