https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk Note, that since f43, you should be always explicit on what jdk to use. This commit should do exactly that.
204 lines
6.9 KiB
RPMSpec
204 lines
6.9 KiB
RPMSpec
%bcond cifs 0
|
|
%bcond ftp 0
|
|
%bcond hadoop 0
|
|
%bcond mina 0
|
|
|
|
Name: apache-commons-vfs
|
|
Version: 2.9.0
|
|
Release: %autorelease
|
|
Summary: Commons Virtual File System
|
|
License: Apache-2.0
|
|
BuildArch: noarch
|
|
ExclusiveArch: %{java_arches} noarch
|
|
|
|
URL: https://commons.apache.org/proper/commons-vfs/
|
|
VCS: git:https://github.com/apache/commons-vfs.git
|
|
Source0: https://archive.apache.org/dist/commons/vfs/source/commons-vfs-%{version}-src.tar.gz
|
|
Source1: https://archive.apache.org/dist/commons/vfs/source/commons-vfs-%{version}-src.tar.gz.asc
|
|
Source2: https://downloads.apache.org/commons/KEYS
|
|
|
|
# Migrate from the old commons-httpclient, which is no longer available in
|
|
# Fedora, to the newer httpcomponents httpclient.
|
|
Patch: %{name}-httpclient.patch
|
|
|
|
BuildRequires: gnupg2
|
|
BuildRequires: maven-local-openjdk25
|
|
BuildRequires: mvn(com.jcraft:jsch)
|
|
BuildRequires: mvn(com.sun.mail:jakarta.mail)
|
|
BuildRequires: mvn(commons-codec:commons-codec)
|
|
BuildRequires: mvn(commons-io:commons-io)
|
|
BuildRequires: mvn(commons-logging:commons-logging)
|
|
BuildRequires: mvn(commons-net:commons-net)
|
|
BuildRequires: mvn(junit:junit)
|
|
BuildRequires: mvn(org.apache.ant:ant)
|
|
BuildRequires: mvn(org.apache.commons:commons-collections4)
|
|
BuildRequires: mvn(org.apache.commons:commons-compress)
|
|
BuildRequires: mvn(org.apache.commons:commons-lang3)
|
|
BuildRequires: mvn(org.apache.commons:commons-parent:pom:)
|
|
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
|
|
BuildRequires: mvn(org.apache.httpcomponents:httpcore-nio)
|
|
BuildRequires: mvn(org.apache.logging.log4j:log4j-core)
|
|
BuildRequires: mvn(org.apache.logging.log4j:log4j-slf4j-impl)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-surefire-plugin)
|
|
BuildRequires: mvn(org.apache.sshd:sshd-core)
|
|
BuildRequires: mvn(org.bouncycastle:bcprov-jdk16)
|
|
BuildRequires: mvn(org.mockito:mockito-core)
|
|
BuildRequires: mvn(org.slf4j:jcl-over-slf4j)
|
|
BuildRequires: mvn(org.slf4j:slf4j-api)
|
|
%if %{with hadoop}
|
|
BuildRequires: mvn(javax.ws.rs:jsr311-api)
|
|
BuildRequires: mvn(org.apache.hadoop:hadoop-common)
|
|
BuildRequires: mvn(org.apache.hadoop:hadoop-hdfs)
|
|
BuildRequires: mvn(org.apache.hadoop:hadoop-hdfs-client)
|
|
%endif
|
|
%if %{with ftp}
|
|
BuildRequires: mvn(org.apache.ftpserver:ftpserver-core)
|
|
%endif
|
|
%if %{with cifs}
|
|
BuildRequires: mvn(jcifs:jcifs)
|
|
%endif
|
|
%if %{with mina}
|
|
BuildRequires: mvn(org.apache.mina:mina-core)
|
|
%endif
|
|
|
|
Provides: %{name}2 = %{version}-%{release}
|
|
|
|
%description
|
|
Commons VFS provides a single API for accessing various file systems.
|
|
It presents a uniform view of the files from various sources, such as
|
|
the files on local disk, on an HTTP server, or inside a Zip archive.
|
|
|
|
Some of the features of Commons VFS are:
|
|
* A single consistent API for accessing files of different types.
|
|
* Support for numerous file system types.
|
|
* Caching of file information. Caches information in-JVM, and
|
|
optionally can cache remote file information on the local file
|
|
system (replicator).
|
|
* Event delivery.
|
|
* Support for logical file systems made up of files from various file
|
|
systems.
|
|
* Utilities for integrating Commons VFS into applications, such as a
|
|
VFS-aware ClassLoader and URLStreamHandlerFactory.
|
|
* A set of VFS-enabled Ant tasks.
|
|
|
|
%package ant
|
|
Summary: Development files for Commons VFS
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: ant-openjdk25
|
|
|
|
%description ant
|
|
This package enables support for the Commons VFS ant tasks.
|
|
|
|
%package examples
|
|
Summary: Commons VFS Examples
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description examples
|
|
VFS is a Virtual File System library - Examples.
|
|
|
|
%package project
|
|
Summary: Commons VFS Parent POM
|
|
|
|
%description project
|
|
Commons VFS Parent POM.
|
|
|
|
%{?javadoc_package}
|
|
|
|
%prep
|
|
%{gpgverify} --data=%{SOURCE0} --signature=%{SOURCE1} --keyring=%{SOURCE2}
|
|
%autosetup -n commons-vfs-%{version} -p1
|
|
|
|
%conf
|
|
# Not needed for RPM builds
|
|
%pom_xpath_remove //pom:reporting
|
|
%pom_remove_plugin :apache-rat-plugin
|
|
%pom_remove_plugin :japicmp-maven-plugin
|
|
%pom_remove_plugin :maven-checkstyle-plugin
|
|
%pom_remove_plugin :maven-pmd-plugin
|
|
%pom_remove_plugin :maven-project-info-reports-plugin
|
|
%pom_remove_plugin :spotbugs-maven-plugin
|
|
|
|
# Disable unwanted module
|
|
%pom_disable_module commons-vfs2-distribution
|
|
|
|
# Fix ant gId
|
|
%pom_change_dep -r :ant org.apache.ant:
|
|
|
|
# Remove webdav client (jackrabbit not packaged)
|
|
%pom_remove_dep -r org.apache.jackrabbit:
|
|
%pom_disable_module commons-vfs2-jackrabbit1
|
|
%pom_disable_module commons-vfs2-jackrabbit2
|
|
|
|
# Remove http3 client. It needs the old commons-httpclient, which is no
|
|
# longer available in Fedora. We support the http4 client.
|
|
%pom_remove_dep -r commons-httpclient:commons-httpclient
|
|
rm -r commons-vfs2/src/{main,test}/java/org/apache/commons/vfs2/provider/http
|
|
rm -r commons-vfs2/src/{main,test}/java/org/apache/commons/vfs2/provider/https
|
|
|
|
# Remove http5 client (httpclient5 not packaged)
|
|
%pom_remove_dep -r org.apache.httpcomponents.client5:httpclient5
|
|
rm -r commons-vfs2/src/{main,test}/java/org/apache/commons/vfs2/provider/http5
|
|
rm -r commons-vfs2/src/{main,test}/java/org/apache/commons/vfs2/provider/http5s
|
|
|
|
# hadoop has been retired
|
|
%if %{without hadoop}
|
|
%pom_remove_dep -r org.apache.hadoop
|
|
%pom_remove_dep -r javax.ws.rs
|
|
rm -r commons-vfs2/src/{main,test}/java/org/apache/commons/vfs2/provider/hdfs
|
|
%endif
|
|
|
|
# ftpserver is not available
|
|
%if %{without ftp}
|
|
%pom_remove_dep -r :ftpserver-core
|
|
rm -r commons-vfs2/src/{main,test}/java/org/apache/commons/vfs2/provider/ftps
|
|
%endif
|
|
|
|
# jcifs not packaged and also export controlled in the US
|
|
%if %{without cifs}
|
|
%pom_remove_dep :jcifs
|
|
%endif
|
|
|
|
# mina is not available
|
|
%if %{without mina}
|
|
%pom_remove_dep :mina-core
|
|
%endif
|
|
|
|
# Fix installation directory and symlink
|
|
%mvn_file :commons-vfs2 %{name}
|
|
%mvn_file :commons-vfs2 %{name}2
|
|
%mvn_file :commons-vfs2 commons-vfs
|
|
%mvn_file :commons-vfs2 commons-vfs2
|
|
%mvn_file :commons-vfs2-examples %{name}-examples
|
|
%mvn_file :commons-vfs2-examples %{name}2-examples
|
|
%mvn_file :commons-vfs2-examples commons-vfs-examples
|
|
%mvn_file :commons-vfs2-examples commons-vfs2-examples
|
|
|
|
%mvn_alias :commons-vfs2 "org.apache.commons:commons-vfs" "commons-vfs:commons-vfs"
|
|
%mvn_alias :commons-vfs2-examples "org.apache.commons:commons-vfs-examples" "commons-vfs:commons-vfs-examples"
|
|
|
|
%build
|
|
%mvn_build -sf
|
|
|
|
%install
|
|
%mvn_install
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/ant.d
|
|
echo "ant commons-logging commons-vfs" > commons-vfs
|
|
install -p -m 644 commons-vfs %{buildroot}%{_sysconfdir}/ant.d/commons-vfs
|
|
|
|
%files -f .mfiles-commons-vfs2
|
|
%doc README.md RELEASE-NOTES.txt
|
|
%license LICENSE.txt NOTICE.txt
|
|
|
|
%files examples -f .mfiles-commons-vfs2-examples
|
|
|
|
%files project -f .mfiles-commons-vfs2-project
|
|
%license LICENSE.txt NOTICE.txt
|
|
|
|
%files ant
|
|
%config(noreplace) %{_sysconfdir}/ant.d/commons-vfs
|
|
|
|
%changelog
|
|
%autochangelog
|