You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
6.4 KiB
170 lines
6.4 KiB
## |
|
## ant.spec -- OpenPKG RPM Package Specification |
|
## Copyright (c) 2000-2010 OpenPKG Foundation e.V. <http://openpkg.net/> |
|
## |
|
## Permission to use, copy, modify, and distribute this software for |
|
## any purpose with or without fee is hereby granted, provided that |
|
## the above copyright notice and this permission notice appear in all |
|
## copies. |
|
## |
|
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
|
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
|
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
|
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
|
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
|
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
|
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
## SUCH DAMAGE. |
|
## |
|
|
|
# package version |
|
%define V_ant 1.7.1 |
|
%define V_ivy 2.1.0 |
|
%define V_maven 2.1.0 |
|
%define V_junit 4.8.1 |
|
|
|
# package information |
|
Name: ant |
|
Summary: Java Building Tool |
|
URL: http://ant.apache.org/ |
|
Vendor: Apache Software Foundation |
|
Packager: OpenPKG Foundation e.V. |
|
Distribution: OpenPKG Community |
|
Class: EVAL |
|
Group: Building |
|
License: Apache Software License |
|
Version: %{V_ant} |
|
Release: 20091212 |
|
|
|
# package options |
|
%option with_docs no |
|
|
|
# list of sources |
|
Source0: http://www.apache.org/dist/ant/binaries/apache-ant-%{V_ant}-bin.tar.bz2 |
|
Source1: http://www.apache.org/dist/ant/ivy/%{V_ivy}/apache-ivy-%{V_ivy}-bin-with-deps.tar.gz |
|
Source2: http://www.apache.org/dist/maven/binaries/maven-ant-tasks-%{V_maven}.jar |
|
Source3: http://switch.dl.sourceforge.net/junit/junit%{V_junit}.zip |
|
Source4: ant.conf |
|
Source5: rc.ant |
|
Source6: ant.1 |
|
Source7: build.xml.5 |
|
Patch0: ant.patch |
|
|
|
# build information |
|
Prefix: %{l_prefix} |
|
BuildRoot: %{l_buildroot} |
|
BuildPreReq: OpenPKG, openpkg >= 20060823, infozip |
|
PreReq: OpenPKG, openpkg >= 20060823, java, JAVA-JDK |
|
AutoReq: no |
|
AutoReqProv: no |
|
|
|
%description |
|
Apache Ant is a Java based build tool. In theory it is kind of like |
|
make(1) without make(1)'s wrinkles. In practice it has its own |
|
wrinkles. |
|
|
|
%track |
|
prog ant = { |
|
version = %{V_ant} |
|
url = http://www.apache.org/dist/ant/binaries/ |
|
regex = apache-ant-(__VER__)-bin\.tar\.bz2 |
|
} |
|
prog ant:maven-ant-tasks = { |
|
version = %{V_maven} |
|
url = http://www.apache.org/dist/maven/binaries/ |
|
regex = maven-ant-tasks-(__VER__)\.jar |
|
} |
|
prog ant:ivy = { |
|
version = %{V_ivy} |
|
url = http://www.apache.org/dist/ant/ivy/ |
|
regex = (\d+\.\d+(?:\.\d+)?-(?:(?:rc|beta)\d+)?) |
|
} |
|
prog ant:junit = { |
|
version = %{V_junit} |
|
url = http://sourceforge.net/projects/junit/files/ |
|
regex = junit(\d+\.\d+(?:\.\d+)?)\.zip |
|
} |
|
|
|
%prep |
|
%setup -q -n apache-ant-%{V_ant} |
|
%setup -q -n apache-ant-%{V_ant} -T -D -a 1 |
|
%{l_prefix}/bin/unzip -q %{SOURCE junit%{V_junit}.zip} |
|
%patch -p0 |
|
|
|
%build |
|
# Note that there is nothing to build since the Ant binary distribution |
|
# is used. The reason for that is that a Ant build would require other |
|
# tools which build procedures depend on Ant which leads to a chicken |
|
# and egg problem. But in the end this doesn't hurt very much since we |
|
# are talking about Java byte code and shell scripts which are portable |
|
# anyway. |
|
|
|
%install |
|
rm -rf $RPM_BUILD_ROOT |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/bin \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/ant \ |
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/ant \ |
|
$RPM_BUILD_ROOT%{l_prefix}/man/man1 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/man/man5 |
|
%{l_shtool} install -c -m 755 \ |
|
-e 's;/etc/ant.conf;%{l_prefix}/etc/ant/ant.conf;' \ |
|
-e 's;^\(ANT_LIB="\)[^"]*\("\);\1%{l_prefix}/libexec/ant\2;' \ |
|
bin/ant $RPM_BUILD_ROOT%{l_prefix}/bin/ |
|
%{l_shtool} install -c -m 644 \ |
|
lib/*.jar etc/*.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/ |
|
%{l_shtool} install -c -m 644 \ |
|
apache-ivy-*/ivy-%{V_ivy}.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/ivy.jar |
|
( cd apache-ivy-*/lib |
|
for jar in commons-codec-*.jar commons-httpclient-*.jar \ |
|
commons-logging-*.jar commons-vfs-*.jar jsch-*.jar oro-*.jar; do |
|
newjar="ivy-`echo $jar | sed -e 's;-[0-9].*$;;'`.jar" |
|
%{l_shtool} install -c -m 644 \ |
|
$jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/$newjar |
|
done |
|
) || exit $? |
|
( echo "#!/bin/sh" |
|
echo "CP=\"%{l_prefix}/libexec/ant/ivy.jar\"" |
|
echo "for jar in %{l_prefix}/libexec/ant/ivy-*.jar; do" |
|
echo " CP=\"\${CP}:\${jar}\"" |
|
echo "done" |
|
echo "%{l_prefix}/bin/java -Djava.awt.headless=true -cp \$CP org.apache.ivy.Main \${1+\"\$@\"}" |
|
) >ivy.sh |
|
%{l_shtool} install -c -m 755 \ |
|
ivy.sh $RPM_BUILD_ROOT%{l_prefix}/bin/ivy |
|
%{l_shtool} install -c -m 644 \ |
|
junit*/junit-%{V_junit}.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/junit.jar |
|
%{l_shtool} install -c -m 644 \ |
|
etc/*.xsl etc/checkstyle/*.xsl $RPM_BUILD_ROOT%{l_prefix}/etc/ant/ |
|
%{l_shtool} install -c -m 644 \ |
|
%{SOURCE maven-ant-tasks-%{V_maven}.jar} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/ant/maven-ant-task.jar |
|
%{l_shtool} install -c -m 644 \ |
|
%{SOURCE ant.1} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/man/man1/ |
|
%{l_shtool} install -c -m 644 \ |
|
%{SOURCE build.xml.5} \ |
|
$RPM_BUILD_ROOT%{l_prefix}/man/man5/ |
|
%if "%{with_docs}" == "yes" |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/share/ant |
|
rm docs/LICENSE* |
|
cp -rp docs/* $RPM_BUILD_ROOT%{l_prefix}/share/ant/ |
|
%endif |
|
%{l_shtool} install -c -m 644 %{l_value -s -a} \ |
|
%{SOURCE ant.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/ant/ |
|
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
|
%{SOURCE rc.ant} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \ |
|
'%config %{l_prefix}/etc/ant/*.conf' |
|
|
|
%files -f files |
|
|
|
%clean |
|
rm -rf $RPM_BUILD_ROOT |
|
|
|
|