dnsjava/dnsjava.spec
starlet-dx f8a812cf1a Update to 2.1.9
(cherry picked from commit 7e9fe766498cc26c0dd44d1d68c85d04539ec7d6)
2022-10-14 14:46:35 +08:00

80 lines
2.8 KiB
RPMSpec

%global do_not_test 1
Name: dnsjava
Version: 2.1.9
Release: 1
Summary: Java DNS implementation
License: BSD and MIT
URL: http://www.dnsjava.org/
Source0: https://github.com/dnsjava/dnsjava/archive/refs/tags/v%{version}.tar.gz
Patch0: dnsjava-2.0.6-java1.5.target.patch
BuildRequires: ant aqute-bnd javapackages-local ant-junit
BuildRequires: maven-local
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.jacoco:jacoco-maven-plugin)
BuildArch: noarch
%description
dnsjava is an implementation of DNS in Java. It supports all of the common
record types and the DNSSEC types. It can be used for queries, zone transfers,
and dynamic updates. It includes a cache which can be used by clients, and a
minimal implementation of a server. It supports TSIG authenticated messages,
partial DNSSEC verification, and EDNS0.
dnsjava provides functionality above and beyond that of the InetAddress class.
Since it is written in pure Java, dnsjava is fully threadable, and in many
cases is faster than using InetAddress.
dnsjava provides both high and low level access to DNS. The high level
functions perform queries for records of a given name, type, and class, and
return an array of records. There is also a clone of InetAddress, which is
even simpler. A cache is used to reduce the number of DNS queries sent. The
low level functions allow direct manipulation of dns messages and records, as
well as allowing additional resolver properties to be set.
A 'dig' clone and a dynamic update program are included, as well as a
primary-only server.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
Javadoc for %{name}.
%prep
%setup -q
rm -rf doc/
find -name "*.class" -print -delete
find -name "*.jar" -print -delete
%patch0 -p1 -b .java1.5
iconv -f iso8859-1 -t utf8 Changelog > Changelog.tmp
touch -r Changelog Changelog.tmp
mv -f Changelog.tmp Changelog
%mvn_file %{name}:%{name} %{name}
%pom_remove_plugin :japicmp-maven-plugin
%pom_remove_plugin :maven-gpg-plugin
%build
export CLASSPATH=%(build-classpath jce aqute-bnd)
ant -Dj2se.javadoc=%{_javadocdir}/java clean docsclean bundle docs
%mvn_build
%install
%mvn_install -J doc
%if ! 0%{?do_not_test}
%check
export CLASSPATH='%(build-classpath junit):%{name}-%{version}.jar'
ant -Dj2se.javadoc=%{_javadocdir}/java compile_tests
ant -Dj2se.javadoc=%{_javadocdir}/java run_tests
%endif
%files -f .mfiles
%license LICENSE
%doc Changelog README.md USAGE EXAMPLES.md *.java
%files javadoc -f .mfiles-javadoc
%license LICENSE
%changelog
* Wed Jun 01 2022 yaoxin <yaoxin30@h-partners.com> - 2.1.9-1
- Update to 2.1.9
* Sat Aug 15 2020 yanan li <liyanan032@huawei.com> - 2.1.3-1
- Package init