Browse Source

An initial cut at getting the RPMs for Ant to build as part of the

distribution build.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269962 13f79535-47bb-0310-9956-ffa450edef68
master
Conor MacNeill 23 years ago
parent
commit
a6ed69b0f7
3 changed files with 151 additions and 35 deletions
  1. +63
    -4
      build.xml
  2. +34
    -31
      src/etc/ant.spec
  3. +54
    -0
      src/etc/antsrc.spec

+ 63
- 4
build.xml View File

@@ -534,12 +534,12 @@
Create the binary distribution Create the binary distribution
=================================================================== ===================================================================
--> -->
<target name="distribution"
description="--> creates a binary distribution">
<target name="main_distribution"
description="--> creates the zip and tar distributions">
<delete dir="${dist.name}" />
<mkdir dir="${dist.base}"/> <mkdir dir="${dist.base}"/>
<mkdir dir="${dist.base}/src"/> <mkdir dir="${dist.base}/src"/>
<mkdir dir="${dist.base}/bin"/> <mkdir dir="${dist.base}/bin"/>
<mkdir dir="${dist.base}/rpms"/>


<antcall inheritAll="false" target="internal_dist"> <antcall inheritAll="false" target="internal_dist">
<param name="dist.dir" value="${dist.name}" /> <param name="dist.dir" value="${dist.name}" />
@@ -587,9 +587,68 @@
<gzip zipfile="${dist.base}/src/${dist.name}-src.tar.gz" <gzip zipfile="${dist.base}/src/${dist.name}-src.tar.gz"
src="${dist.base}/src/${dist.name}-src.tar"/> src="${dist.base}/src/${dist.name}-src.tar"/>
<delete file="${dist.base}/src/${dist.name}-src.tar"/> <delete file="${dist.base}/src/${dist.name}-src.tar"/>
<delete dir="${dist.name}" />
<delete dir="${dist.name}" />
</target>

<target name="rpm_check">
<available property="rpm.present"
file="/bin/rpm"/>
</target>
<target name="rpm" description="Build the RPM files for ant"
depends="prepare, rpm_check"
if="rpm.present">
<tstamp>
<format property="rpmyear" pattern="yyyyMMdd"/>
<format property="nightlybuild.dir" pattern="yyyy-MM-dd"/>
</tstamp>
<property name="rpm.release" value="cvs${rpmyear}"/>
<property name="rpm.source" value="nightly/${nightlybuild.dir}/"/>

<mkdir dir="build/rpm/SPECS"/>
<mkdir dir="build/rpm/SOURCES"/>
<mkdir dir="build/rpm/BUILD"/>
<mkdir dir="build/rpm/RPMS"/>
<mkdir dir="build/rpm/SRPMS"/>

<property name="disttar" location="${dist.base}/bin/${dist.name}-bin.tar.gz"/>
<copy file="src/etc/ant.spec" tofile="build/rpm/SPECS/ant.spec">
<filterset refid="ant.filters"/>
<filterset>
<filter token="RPM_RELEASE" value="${rpm.release}"/>
<filter token="RPM_SOURCE" value="${rpm.source}"/>
<filter token="DIST_TAR" value="${disttar}"/>
</filterset>
</copy>
<copy file="src/etc/antsrc.spec" tofile="build/rpm/SPECS/antsrc.spec">
<filterset refid="ant.filters"/>
<filterset>
<filter token="RPM_RELEASE" value="${rpm.release}"/>
<filter token="RPM_SOURCE" value="${rpm.source}"/>
</filterset>
</copy>
<rpm topDir="build/rpm"
specfile="ant.spec"
command="-bb"/>

<copy file="distribution/src/${dist.name}-src.tar.gz" todir="build/rpm/SOURCES"/>
<rpm topDir="build/rpm"
specfile="antsrc.spec"
command="-bs"/>

<mkdir dir="${dist.base}/rpms"/>
<copy todir="${dist.base}/rpms">
<fileset dir="build/rpm/RPMS/noarch"/>
</copy>
<copy todir="${dist.base}/rpms">
<fileset dir="build/rpm/SRPMS"/>
</copy>
</target> </target>


<target name="distribution" depends="main_distribution, rpm">
</target>

<!-- <!--
=================================================================== ===================================================================
Cleans up build and distribution directories Cleans up build and distribution directories


+ 34
- 31
src/etc/ant.spec View File

@@ -1,52 +1,55 @@
Summary: Java build tool
%define packname jakarta-ant
%define applibdir /usr/share/ant
%define dist_tar @DIST_TAR@

Summary: A Java based build tool.
Name: ant Name: ant
Version: 1.0
Release: 0
Version: @VERSION@
Release: @RPM_RELEASE@
Group: Development/Tools Group: Development/Tools
Copyright: Apache - free
Copyright: Apache Software License
Provides: ant Provides: ant
Url: http://jakarta.apache.org

Source: http://jakarta.apache.org/builds/nightly/ant/jakarta-tools.src.zip
Prefix: /opt
Url: http://jakarta.apache.org/ant
BuildArch: noarch
Source: http://jakarta.apache.org/builds/jakarta-ant/@RPM_SOURCE@/src/%{packname}-%{version}-src.tar.gz
BuildRoot: /var/tmp/ant-root
Vendor: Apache Software Foundation
Packager: Apache Software Foundation


%description %description
Platform-independent build tool for java.
Apache Ant is a platform-independent build tool implemented in Java.
It is used to build a number of projects including the Apache Jakarta
and XML projects.


%prep %prep
rm -rf ${RPM_BUILD_DIR}/jakarta-tools
unzip -x $RPM_SOURCE_DIR/jakarta-tools.src.zip


%build %build
cd ${RPM_BUILD_DIR}/jakarta-tools
cd ant
sh bootstrap.sh
sh build.sh


%install %install
cd ${RPM_BUILD_DIR}/jakarta-tools
cd ant
sh build.sh -Ddist.dir /opt dist
mkdir -p $RPM_BUILD_ROOT/%{applibdir}
cd $RPM_BUILD_ROOT
tar zxvf %{dist_tar}
cp -r $RPM_BUILD_ROOT/%{packname}-%{version}/bin $RPM_BUILD_ROOT/%{applibdir}
cp -r $RPM_BUILD_ROOT/%{packname}-%{version}/lib $RPM_BUILD_ROOT/%{applibdir}
cp -r $RPM_BUILD_ROOT/%{packname}-%{version}/docs $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{packname}-%{version}/LICENSE $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{packname}-%{version}/README $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{packname}-%{version}/KEYS $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{packname}-%{version}/WHATSNEW $RPM_BUILD_DIR


%clean %clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT


%post %post
ln -s /opt/ant/bin/ant /usr/bin


%preun %preun
%files %files
## %defattr(-,root,root)
%dir /opt/ant
%dir /opt/ant/bin
%dir /opt/ant/lib
%dir /opt/ant/docs
/opt/ant/lib/ant.jar
/opt/ant/lib/xml.jar
/opt/ant/lib/moo.jar
%config /opt/ant/lib/build.xml
/opt/ant/bin/ant
/opt/ant/bin/antRun
/opt/ant/docs/index.html
%defattr(-,root,root)
%doc LICENSE README WHATSNEW KEYS
%doc docs
%{applibdir}/lib
%{applibdir}/bin



%changelog %changelog

+ 54
- 0
src/etc/antsrc.spec View File

@@ -0,0 +1,54 @@
%define packname jakarta-ant
%define applibdir /usr/share/ant
%define manualdir /usr/share/doc/%{name}

Summary: A Java based build tool.
Name: ant
Version: @VERSION@
Release: @RPM_RELEASE@
Group: Development/Tools
Copyright: Apache Software License
Provides: ant
Url: http://jakarta.apache.org/ant
BuildArch: noarch
Source: http://jakarta.apache.org/builds/jakarta-ant/@RPM_SOURCE@/src/%{packname}-%{version}-src.tar.gz
BuildRoot: /var/tmp/ant-root
Vendor: Apache Software Foundation
Packager: Apache Software Foundation

%description
Apache Ant is a platform-independent build tool implemented in Java.
It is used to build a number of projects including the Apache Jakarta
and XML projects.

%prep
%setup -n %{packname}-%{version}

%build
sh build.sh

%install
mkdir -p $RPM_BUILD_ROOT
export ANT_HOME=$RPM_BUILD_ROOT/%{applibdir}
sh build.sh install
cp -r $RPM_BUILD_ROOT/%{applibdir}/docs $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{applibdir}/LICENSE $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{applibdir}/README $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{applibdir}/WHATSNEW $RPM_BUILD_DIR
cp -r $RPM_BUILD_ROOT/%{applibdir}/KEYS $RPM_BUILD_DIR

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

%post

%preun
%files
%defattr(-,root,root)
%doc LICENSE README WHATSNEW KEYS
%doc docs
%{applibdir}/lib
%{applibdir}/bin

%changelog

Loading…
Cancel
Save