package init

This commit is contained in:
gu-gu-gu 2020-02-14 11:28:59 +08:00
parent 552becd400
commit c480070143
3 changed files with 214 additions and 0 deletions

205
ant.spec Normal file
View File

@ -0,0 +1,205 @@
%bcond_with tests
Name: ant
Summary: A Java-based build tool
Version: 1.10.5
Release: 6
Epoch: 0
License: ASL 2.0
URL: https://ant.apache.org/
Source0: https://archive.apache.org/dist/ant/source/apache-ant-1.10.5-src.tar.bz2
Source2: apache-ant-1.8.ant.conf
BuildRequires: xmlto mvn(org.hamcrest:hamcrest-library) ant >= 1.10.2 junit5
BuildRequires: mvn(commons-net:commons-net) mvn(bcel:bcel) mvn(bsf:bsf) javapackages-local
BuildRequires: mvn(commons-logging:commons-logging-api) mvn(antlr:antlr) mvn(com.jcraft:jsch)
BuildRequires: mvn(javax.mail:mail) mvn(jdepend:jdepend) mvn(junit:junit) java-devel >= 1:1.8.0
BuildRequires: mvn(org.tukaani:xz) mvn(log4j:log4j:1.2.13) mvn(xalan:xalan) mvn(regexp:regexp)
BuildRequires: mvn(xml-resolver:xml-resolver) mvn(org.hamcrest:hamcrest-core) mvn(oro:oro)
Requires: javapackages-tools java-devel >= 1:1.8.0
BuildArch: noarch
Obsoletes: %{name}-lib < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-swing < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-antlr < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-apache-bsf < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-apache-resolver < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-commons-logging < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-commons-net < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-apache-bcel < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-apache-log4j < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-apache-oro < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-apache-regexp < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-apache-xalan2 < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-javamail < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-jdepend < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-jsch < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-junit < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-testutil < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-xz < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-jmf < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-junit5 < %{epoch}:%{version}-%{release}
Provides: %{name}-lib = %{epoch}:%{version}-%{release}
Provides: %{name}-swing = %{epoch}:%{version}-%{release}
Provides: %{name}-antlr = %{epoch}:%{version}-%{release}
Provides: %{name}-apache-bsf = %{epoch}:%{version}-%{release}
Provides: %{name}-apache-resolver = %{epoch}:%{version}-%{release}
Provides: %{name}-commons-logging = %{epoch}:%{version}-%{release}
Provides: %{name}-commons-net = %{epoch}:%{version}-%{release}
Provides: %{name}-apache-bcel = %{epoch}:%{version}-%{release}
Provides: %{name}-apache-log4j = %{epoch}:%{version}-%{release}
Provides: %{name}-apache-oro = %{epoch}:%{version}-%{release}
Provides: %{name}-apache-regexp = %{epoch}:%{version}-%{release}
Provides: %{name}-apache-xalan2 = %{epoch}:%{version}-%{release}
Provides: %{name}-javamail = %{epoch}:%{version}-%{release}
Provides: %{name}-jdepend = %{epoch}:%{version}-%{release}
Provides: %{name}-jsch = %{epoch}:%{version}-%{release}
Provides: %{name}-junit = %{epoch}:%{version}-%{release}
Provides: %{name}-testutil = %{epoch}:%{version}-%{release}
Provides: %{name}-xz = %{epoch}:%{version}-%{release}
Provides: %{name}-jmf = %{epoch}:%{version}-%{release}
Provides: %{name}-junit5 = %{epoch}:%{version}-%{release}
%description
Ant is a Java based build tool. In theory it is kind of like "make"
without makes wrinkles and with the full portability of pure java code.
%package help
Summary: Documents for %{name}
Buildarch: noarch
Requires: info
Obsoletes: %{name}-manual < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-javadoc < %{epoch}:%{version}-%{release}
Provides: %{name}-manual = %{epoch}:%{version}-%{release}
Provides: %{name}-javadoc = %{epoch}:%{version}-%{release}
%description help
Man pages and other related documents for %{name}.
%prep
%autosetup -p1 -n apache-%{name}-%{version}
%pom_xpath_remove 'attribute[@name="Class-Path"]' build.xml
find . -name "*.jar" | xargs -t rm
pushd src/tests/junit/org/apache/tools/%{name}
rm types/selectors/SignedSelectorTest.java
rm taskdefs/condition/IsFileSelectedTest.java
rm taskdefs/condition/IsSignedTest.java
rm taskdefs/JarTest.java
popd
pushd src/tests/junit/org/apache/tools/mail
rm MailMessageTest.java
popd
build-jar-repository -s -p lib/optional antlr bcel javamail/mailapi jdepend junit log4j-1 oro regexp bsf commons-logging commons-net jsch xalan-j2 xml-commons-resolver xalan-j2-serializer hamcrest/core hamcrest/library xz-java
build-jar-repository -s -p lib/optional junit5 opentest4j
cp -p %{SOURCE2} %{name}.conf
sed -e 's:/etc/%{name}.conf:%{_sysconfdir}/%{name}.conf:g' \
-e 's:/etc/%{name}.d:%{_sysconfdir}/%{name}.d:g' \
-e 's:/usr/share/%{name}:%{_datadir}/%{name}:g' \
-e 's:/usr/bin/build-classpath:%{_bindir}/build-classpath:g' \
-e 's:/usr/share/java-utils/java-functions:%{_javadir}-utils/java-functions:g' \
-i src/script/%{name} %{name}.conf
sed -i 's/jaxp_parser_impl//;s/xml-commons-apis//' src/script/%{name}
iconv KEYS -f iso-8859-1 -t utf-8 -o KEYS.utf8
mv KEYS.utf8 KEYS
iconv LICENSE -f iso-8859-1 -t utf-8 -o LICENSE.utf8
ln -sf LICENSE.utf8 LICENSE
%pom_xpath_remove pom:optional src/etc/poms/%{name}-antlr/pom.xml
%pom_xpath_inject 'target[@name="javadocs"]/javadoc/packageset' '<exclude name="**/junitlauncher"/>' build.xml
%build
%{ant} jars test-jar
%{ant} javadocs
rm -fr build/lib/%{name}-jai.jar build/lib/%{name}-netrexx.jar
%install
install -d %{buildroot}%{_datadir}/%{name}/{lib,etc,bin}
%mvn_alias :%{name} org.apache.%{name}:%{name}-nodeps apache:%{name} %{name}:%{name}
%mvn_alias :%{name}-launcher %{name}:%{name}-launcher
%mvn_file ':{%{name},%{name}-bootstrap,%{name}-launcher}' %{name}/@1 @1
for jar in build/lib/*.jar
do
jar tf ${jar} | egrep -q *.class
jarname=$(basename $jar .jar)
ln -sf ../../java/%{name}/${jarname}.jar %{buildroot}%{_datadir}/%{name}/lib/${jarname}.jar
pom=src/etc/poms/${jarname}/pom.xml
[ $jarname == %{name}-bootstrap ] && pom='org.apache.%{name}:%{name}-bootstrap:%{version}'
%mvn_artifact ${pom} ${jar}
done
%mvn_artifact src/etc/poms/pom.xml
%mvn_package :%{name} lib
%mvn_package :%{name}-launcher lib
%mvn_package :%{name}-bootstrap lib
%mvn_package :%{name}-parent lib
%mvn_package :%{name}-junit4 junit
%mvn_package ':%{name}-{*}' @1
%mvn_install
rm -f src/script/*.bat
rm -f src/script/*.cmd
cp -p src/etc/*.xsl %{buildroot}%{_datadir}/%{name}/etc
install -d %{buildroot}%{_bindir}
cp -p src/script/%{name} %{buildroot}%{_bindir}/
cp -a %{_bindir}/%{name} %{buildroot}%{_datadir}/%{name}/bin/
cp -p src/script/%{name}Run %{buildroot}%{_datadir}/%{name}/bin/
install -d %{buildroot}%{_sysconfdir}
cp -p %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf
install -d %{buildroot}%{_sysconfdir}/%{name}.d
echo "%{name}/%{name}-jmf" > %{buildroot}%{_sysconfdir}/%{name}.d/jmf
echo "%{name}/%{name}-swing" > %{buildroot}%{_sysconfdir}/%{name}.d/swing
echo "antlr %{name}/%{name}-antlr" > %{buildroot}%{_sysconfdir}/%{name}.d/antlr
echo "rhino bsf %{name}/%{name}-apache-bsf" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-bsf
echo "xml-commons-resolver %{name}/%{name}-apache-resolver" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-resolver
echo "apache-commons-logging %{name}/%{name}-commons-logging" > %{buildroot}%{_sysconfdir}/%{name}.d/commons-logging
echo "apache-commons-net %{name}/%{name}-commons-net" > %{buildroot}%{_sysconfdir}/%{name}.d/commons-net
echo "bcel %{name}/%{name}-apache-bcel" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-bcel
echo "log4j12 %{name}/%{name}-apache-log4j" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-log4j
echo "oro %{name}/%{name}-apache-oro" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-oro
echo "regexp %{name}/%{name}-apache-regexp" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-regexp
echo "xalan-j2 xalan-j2-serializer %{name}/%{name}-apache-xalan2" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-xalan2
echo "javamail jaf %{name}/%{name}-javamail" > %{buildroot}%{_sysconfdir}/%{name}.d/javamail
echo "jdepend %{name}/%{name}-jdepend" > %{buildroot}%{_sysconfdir}/%{name}.d/jdepend
echo "jsch %{name}/%{name}-jsch" > %{buildroot}%{_sysconfdir}/%{name}.d/jsch
echo "junit hamcrest/core %{name}/%{name}-junit" > %{buildroot}%{_sysconfdir}/%{name}.d/junit
echo "junit hamcrest/core %{name}/%{name}-junit4" > %{buildroot}%{_sysconfdir}/%{name}.d/junit4
echo "testutil %{name}/%{name}-testutil" > %{buildroot}%{_sysconfdir}/%{name}.d/testutil
echo "xz-java %{name}/%{name}-xz" > %{buildroot}%{_sysconfdir}/%{name}.d/xz
echo "junit5 hamcrest/core junit opentest4j %{name}/%{name}-junitlauncher" > %{buildroot}%{_sysconfdir}/%{name}.d/junitlauncher
install -d %{buildroot}%{_javadocdir}/%{name}
cp -pr build/javadocs/* %{buildroot}%{_javadocdir}/%{name}
(cd manual; ln -sf %{_javadocdir}/%{name} api)
%if %with tests
%check
LC_ALL=en_US.utf8 %{ant} test
%endif
%files
%license LICENSE NOTICE
%config(noreplace) %{_sysconfdir}/%{name}.conf
%config(noreplace) %{_sysconfdir}/%{name}.d/*
%attr(0755,root,root) %{_bindir}/%{name}
%attr(0755,root,root) %{_datadir}/%{name}/bin/antRun
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/*
%dir %{_sysconfdir}/%{name}.d
%{_datadir}/%{name}/bin/%{name}
%{_datadir}/%{name}/lib/%{name}*
%{_datadir}/%{name}/etc/*
%{_datadir}/java/%{name}*jar
%{_datadir}/java/%{name}/%{name}*
%{_datadir}/maven-metadata/%{name}-*
%{_datadir}/maven-poms/%{name}*pom
%{_datadir}/maven-poms/%{name}/%{name}*
%files help
%license LICENSE NOTICE
%doc KEYS README WHATSNEW
%doc manual/*
%{_javadocdir}/%{name}
%changelog
* Fri Feb 14 2020 gulining<gulining1@huawei.com> - 0:1.10.5-6
- Package init

Binary file not shown.

9
apache-ant-1.8.ant.conf Normal file
View File

@ -0,0 +1,9 @@
if [ -z "$no_config" ] ; then
no_config=true
fi
if $no_config ; then
rpm_mode=false
else
rpm_mode=true
ANT_HOME=/usr/share/ant
fi