Group :: Development/Java
RPM: ant
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Name: ant
Version: 1.7.0
Release: alt8
%def_disable debug
Summary: Platform-independent build tool for Java
Group: Development/Java
License: Apache
URL: http://ant.apache.org/
Packager: Damir Shayhutdinov <damir at altlinux.ru>
%define ant_home %_datadir/ant
%define pkgdocdir %_docdir/%name-%version
Requires: j2se-devel >= 1.2
Requires: java-common jaxp_parser_impl xml-commons-apis
BuildArch: noarch
Source: http://www.apache.org/dist/ant/source/apache-%name-%version-src.tar.bz2
Source2: ant.sh.in
Source3: ant.conf
BuildPreReq: rpm-build-java
BuildRequires: /proc
BuildRequires: j2se-devel >= 1.4
#BuildRequires: jaxp_parser_impl xml-commons-apis
BuildRequires: python
BuildRequires: junit
Provides: ant-nodeps = %version-%release
%description
Ant is a Java based build tool.
Ant is used to build Jakarta & XML projects by the Apache Group.
%package scripts
Summary: Additional scripts for %{name}
Group: Development/Other
Requires: %name = %version-%release
%description scripts
Additional Perl and Python scripts for ant,
a platform-independent build tool for Java.
%package manual
Summary: Documentation for ant
Group: Development/Java
Requires: %name = %version-%release
AutoReqProv: no
%description manual
Documentation for ant, a platform-independent build tool for Java.
%package javadoc
Summary: Javadoc for ant
Group: Development/Java
AutoReqProv: no
%description javadoc
Javadoc-generated documentation for ant, a platform-independent
build tool for Java.
%package task-reference
Summary: Ant task reference in PDF format
Group: Books/Computer books
%description task-reference
The Ant task reference in the PDF format.
%package style-xsl
Summary: XSL stylesheets for Ant
Group: Text tools
%description style-xsl
Useful XSL stylesheets included in the Ant distribution.
%prep
%setup -q -n apache-%name-%version
find docs -name '*.orig' -print0 | xargs -r0 rm -f
%build
if [ -z "$JAVA_HOME" -a -f "%_target_libdir/jdk/lib/tools.jar" ]; then
JAVA_HOME=%_target_libdir/jdk
export JAVA_HOME
fi
CLASSPATH=$CLASSPATH:%_javadir/jaxp_parser_impl.jar:%_javadir/xml-commons-apis.jar:%_javadir/junit.jar
export CLASSPATH
sh build.sh -Ddist.dir=dist \
%if_enabled debug
-Doptimize=false \
%else
-Ddebug=false \
%endif
dist
sed -e 's, at libdir at ,%_target_libdir,g' \
-e 's, at datadir at ,%_datadir,g' \
-e 's, at sysconfdir at ,%_sysconfdir,g' \
< %SOURCE2 >dist/bin/ant
%install
mkdir -p $RPM_BUILD_ROOT%_bindir
mkdir -p $RPM_BUILD_ROOT%_sysconfdir
install -d -m755 $RPM_BUILD_ROOT%ant_home
install -d -m755 $RPM_BUILD_ROOT%ant_home/etc
install -d -m755 $RPM_BUILD_ROOT%_javadir/%name
install -d -m755 $RPM_BUILD_ROOT%pkgdocdir
# java archives
install -p -m 644 dist/lib/ant.jar $RPM_BUILD_ROOT%_javadir/%name/
install -p -m 644 dist/lib/ant-launcher.jar $RPM_BUILD_ROOT%_javadir/%name/
install -p -m 644 dist/lib/ant-nodeps.jar $RPM_BUILD_ROOT%_javadir/%name/
# scripts
install -p -m 755 dist/bin/ant $RPM_BUILD_ROOT%_bindir/
install -p -m 755 dist/bin/antRun $RPM_BUILD_ROOT%_bindir/
install -p -m 755 dist/bin/*.p[ly] $RPM_BUILD_ROOT%_bindir/
# configuration
install -p -m 644 %SOURCE3 $RPM_BUILD_ROOT%_sysconfdir/ant.conf
# stylesheets
cp -a dist/etc/* $RPM_BUILD_ROOT%ant_home/etc/
rm -f $RPM_BUILD_ROOT%ant_home/etc/*.jar
# documentation
install -p -m 644 NOTICE LICENSE README WHATSNEW \
$RPM_BUILD_ROOT%pkgdocdir/
cp -a dist/docs/* $RPM_BUILD_ROOT%pkgdocdir/
mkdir -p $RPM_BUILD_ROOT%_javadocdir
mv $RPM_BUILD_ROOT%pkgdocdir/manual/api $RPM_BUILD_ROOT%_javadocdir/%name
find $RPM_BUILD_ROOT%pkgdocdir/manual -type d -print |\
sed -e "s|$RPM_BUILD_ROOT|%%dir |" >manual.list
find $RPM_BUILD_ROOT%pkgdocdir/manual -type f -print |\
sed -e "s|$RPM_BUILD_ROOT||" >>manual.list
# compatibility links
ln -snf $(relative %_javadir/%name %ant_home/) \
$RPM_BUILD_ROOT%ant_home/lib
ln -snf $(relative %_javadocdir/%name %pkgdocdir/manual/) \
$RPM_BUILD_ROOT%pkgdocdir/manual/api
ln -sf ant/ant.jar %buildroot/%_javadir/ant.jar
ln -sf ant/ant-launcher.jar %buildroot/%_javadir/ant-launcher.jar
%files
%dir %pkgdocdir
%pkgdocdir/NOTICE
%pkgdocdir/LICENSE
%pkgdocdir/README
%pkgdocdir/WHATSNEW
%pkgdocdir/*.html
%pkgdocdir/*.js
%pkgdocdir/*.css
%pkgdocdir/*.ico
%pkgdocdir/ant2
%pkgdocdir/projects
%pkgdocdir/images
%_bindir/ant
%_bindir/antRun
%config(noreplace) %_sysconfdir/ant.conf
%dir %ant_home
%dir %ant_home/etc
%ant_home/lib
%_javadir/%name/ant.jar
%_javadir/ant.jar
%_javadir/%name/ant-launcher.jar
%_javadir/ant-launcher.jar
%_javadir/%name/ant-nodeps.jar
%files scripts
%_bindir/*.pl
%_bindir/*.py
%files manual -f manual.list
%files javadoc
%dir %pkgdocdir
%dir %pkgdocdir/manual
%pkgdocdir/manual/api
%doc %_javadocdir/%name
%files task-reference
%dir %pkgdocdir
%pkgdocdir/*.pdf
%files style-xsl
%ant_home/etc/*.xsl
%ant_home/etc/checkstyle
%changelog
…
Full changelog you can see here
Version: 1.7.0
Release: alt8
%def_disable debug
Summary: Platform-independent build tool for Java
Group: Development/Java
License: Apache
URL: http://ant.apache.org/
Packager: Damir Shayhutdinov <damir at altlinux.ru>
%define ant_home %_datadir/ant
%define pkgdocdir %_docdir/%name-%version
Requires: j2se-devel >= 1.2
Requires: java-common jaxp_parser_impl xml-commons-apis
BuildArch: noarch
Source: http://www.apache.org/dist/ant/source/apache-%name-%version-src.tar.bz2
Source2: ant.sh.in
Source3: ant.conf
BuildPreReq: rpm-build-java
BuildRequires: /proc
BuildRequires: j2se-devel >= 1.4
#BuildRequires: jaxp_parser_impl xml-commons-apis
BuildRequires: python
BuildRequires: junit
Provides: ant-nodeps = %version-%release
%description
Ant is a Java based build tool.
Ant is used to build Jakarta & XML projects by the Apache Group.
%package scripts
Summary: Additional scripts for %{name}
Group: Development/Other
Requires: %name = %version-%release
%description scripts
Additional Perl and Python scripts for ant,
a platform-independent build tool for Java.
%package manual
Summary: Documentation for ant
Group: Development/Java
Requires: %name = %version-%release
AutoReqProv: no
%description manual
Documentation for ant, a platform-independent build tool for Java.
%package javadoc
Summary: Javadoc for ant
Group: Development/Java
AutoReqProv: no
%description javadoc
Javadoc-generated documentation for ant, a platform-independent
build tool for Java.
%package task-reference
Summary: Ant task reference in PDF format
Group: Books/Computer books
%description task-reference
The Ant task reference in the PDF format.
%package style-xsl
Summary: XSL stylesheets for Ant
Group: Text tools
%description style-xsl
Useful XSL stylesheets included in the Ant distribution.
%prep
%setup -q -n apache-%name-%version
find docs -name '*.orig' -print0 | xargs -r0 rm -f
%build
if [ -z "$JAVA_HOME" -a -f "%_target_libdir/jdk/lib/tools.jar" ]; then
JAVA_HOME=%_target_libdir/jdk
export JAVA_HOME
fi
CLASSPATH=$CLASSPATH:%_javadir/jaxp_parser_impl.jar:%_javadir/xml-commons-apis.jar:%_javadir/junit.jar
export CLASSPATH
sh build.sh -Ddist.dir=dist \
%if_enabled debug
-Doptimize=false \
%else
-Ddebug=false \
%endif
dist
sed -e 's, at libdir at ,%_target_libdir,g' \
-e 's, at datadir at ,%_datadir,g' \
-e 's, at sysconfdir at ,%_sysconfdir,g' \
< %SOURCE2 >dist/bin/ant
%install
mkdir -p $RPM_BUILD_ROOT%_bindir
mkdir -p $RPM_BUILD_ROOT%_sysconfdir
install -d -m755 $RPM_BUILD_ROOT%ant_home
install -d -m755 $RPM_BUILD_ROOT%ant_home/etc
install -d -m755 $RPM_BUILD_ROOT%_javadir/%name
install -d -m755 $RPM_BUILD_ROOT%pkgdocdir
# java archives
install -p -m 644 dist/lib/ant.jar $RPM_BUILD_ROOT%_javadir/%name/
install -p -m 644 dist/lib/ant-launcher.jar $RPM_BUILD_ROOT%_javadir/%name/
install -p -m 644 dist/lib/ant-nodeps.jar $RPM_BUILD_ROOT%_javadir/%name/
# scripts
install -p -m 755 dist/bin/ant $RPM_BUILD_ROOT%_bindir/
install -p -m 755 dist/bin/antRun $RPM_BUILD_ROOT%_bindir/
install -p -m 755 dist/bin/*.p[ly] $RPM_BUILD_ROOT%_bindir/
# configuration
install -p -m 644 %SOURCE3 $RPM_BUILD_ROOT%_sysconfdir/ant.conf
# stylesheets
cp -a dist/etc/* $RPM_BUILD_ROOT%ant_home/etc/
rm -f $RPM_BUILD_ROOT%ant_home/etc/*.jar
# documentation
install -p -m 644 NOTICE LICENSE README WHATSNEW \
$RPM_BUILD_ROOT%pkgdocdir/
cp -a dist/docs/* $RPM_BUILD_ROOT%pkgdocdir/
mkdir -p $RPM_BUILD_ROOT%_javadocdir
mv $RPM_BUILD_ROOT%pkgdocdir/manual/api $RPM_BUILD_ROOT%_javadocdir/%name
find $RPM_BUILD_ROOT%pkgdocdir/manual -type d -print |\
sed -e "s|$RPM_BUILD_ROOT|%%dir |" >manual.list
find $RPM_BUILD_ROOT%pkgdocdir/manual -type f -print |\
sed -e "s|$RPM_BUILD_ROOT||" >>manual.list
# compatibility links
ln -snf $(relative %_javadir/%name %ant_home/) \
$RPM_BUILD_ROOT%ant_home/lib
ln -snf $(relative %_javadocdir/%name %pkgdocdir/manual/) \
$RPM_BUILD_ROOT%pkgdocdir/manual/api
ln -sf ant/ant.jar %buildroot/%_javadir/ant.jar
ln -sf ant/ant-launcher.jar %buildroot/%_javadir/ant-launcher.jar
%files
%dir %pkgdocdir
%pkgdocdir/NOTICE
%pkgdocdir/LICENSE
%pkgdocdir/README
%pkgdocdir/WHATSNEW
%pkgdocdir/*.html
%pkgdocdir/*.js
%pkgdocdir/*.css
%pkgdocdir/*.ico
%pkgdocdir/ant2
%pkgdocdir/projects
%pkgdocdir/images
%_bindir/ant
%_bindir/antRun
%config(noreplace) %_sysconfdir/ant.conf
%dir %ant_home
%dir %ant_home/etc
%ant_home/lib
%_javadir/%name/ant.jar
%_javadir/ant.jar
%_javadir/%name/ant-launcher.jar
%_javadir/ant-launcher.jar
%_javadir/%name/ant-nodeps.jar
%files scripts
%_bindir/*.pl
%_bindir/*.py
%files manual -f manual.list
%files javadoc
%dir %pkgdocdir
%dir %pkgdocdir/manual
%pkgdocdir/manual/api
%doc %_javadocdir/%name
%files task-reference
%dir %pkgdocdir
%pkgdocdir/*.pdf
%files style-xsl
%ant_home/etc/*.xsl
%ant_home/etc/checkstyle
%changelog
…
Full changelog you can see here