Sync from SUSE:ALP:Source:Standard:1.0 apache-commons-io revision 3167bd46d69e07ae2f188a458bbd32a9

This commit is contained in:
Adrian Schröter 2024-02-21 14:12:26 +01:00
commit 6b1c16c923
6 changed files with 546 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

145
apache-commons-io-build.xml Normal file
View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="commons-io" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="maven-build.properties"/>
<property name="project.groupId" value="commons-io"/>
<property name="project.artifactId" value="commons-io"/>
<property name="project.version" value="2.15.1"/>
<property name="project.name" value="Apache Commons IO"/>
<property name="project.description" value="The Apache Commons IO library
contains utility classes, stream implementations, file filters,
file comparators, endian transformation classes, and much more."/>
<property name="project.organization.name" value="The Apache Software Foundation"/>
<property name="bundle.symbolicName" value="org.apache.commons.io"/>
<property name="bundle.version" value="${project.version}"/>
<property name="compiler.release" value="8"/>
<property name="compiler.source" value="1.${compiler.release}"/>
<property name="compiler.target" value="${compiler.source}"/>
<property name="build.finalName" value="${project.artifactId}-${project.version}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir" value="src/main/java"/>
<property name="build.resourceDir.0" value="src/main/resources"/>
<property name="build.resourceDir.1" value="."/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ====================================================================== -->
<!-- Defining classpaths -->
<!-- ====================================================================== -->
<path id="build.classpath"/>
<path id="build.test.classpath"/>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name="compile" description="Compile the code">
<mkdir dir="${build.outputDir}"/>
<javac destdir="${build.outputDir}"
encoding="iso-8859-1"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
release="${compiler.release}"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.srcDir}"/>
</src>
<classpath refid="build.classpath"/>
</javac>
<mkdir dir="${build.outputDir}/META-INF"/>
<copy todir="${build.outputDir}/META-INF">
<fileset dir="${build.resourceDir.1}">
<include name="NOTICE.txt"/>
<include name="LICENSE.txt"/>
</fileset>
</copy>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
verbose="false"
encoding="iso-8859-1"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
source="${compiler.source}"
linksource="true"
breakiterator="false">
</javadoc>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile" description="Package the application">
<jar jarfile="${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
<attribute name="Automatic-Module-Name" value="${bundle.symbolicName}"/>
<attribute name="Bundle-Description" value="${project.description}"/>
<attribute name="Bundle-DocURL" value="http://commons.apache.org/proper/commons-io/"/>
<attribute name="Bundle-License" value="https://www.apache.org/licenses/LICENSE-2.0.txt"/>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Name" value="${project.name}"/>
<attribute name="Bundle-SymbolicName" value="${bundle.symbolicName}"/>
<attribute name="Bundle-Vendor" value="${project.organization.name}"/>
<attribute name="Bundle-Version" value="${bundle.version}"/>
<attribute name="Export-Package" value="org.apache.commons.io;version=&quot;1.4.9999&quot;,org.apache.commons.io.comparator;version=&quot;1.4.9999&quot;,org.apache.commons.io.filefilter;version=&quot;1.4.9999&quot;,org.apache.commons.io.input;version=&quot;1.4.9999&quot;,org.apache.commons.io.output;version=&quot;1.4.9999&quot;,org.apache.commons.io.monitor;version=&quot;${project.version}&quot;,org.apache.commons.io.serialization;version=&quot;${project.version}&quot;,org.apache.commons.io;version=&quot;${project.version}&quot;,org.apache.commons.io.comparator;version=&quot;${project.version}&quot;,org.apache.commons.io.filefilter;version=&quot;${project.version}&quot;,org.apache.commons.io.input;version=&quot;${project.version}&quot;,org.apache.commons.io.output;version=&quot;${project.version}&quot;"/>
<attribute name="Include-Resource" value="META-INF/NOTICE.txt=NOTICE.txt,META-INF/LICENSE.txt=LICENSE.txt"/>
<attribute name="JavaPackages-ArtifactId" value="${project.artifactId}"/>
<attribute name="JavaPackages-GroupId" value="${project.groupId}"/>
<attribute name="JavaPackages-Version" value="${project.version}"/>
<attribute name="Require-Capability" value="osgi.ee;filter:=&quot;(&amp;(osgi.ee=JavaSE)(version=${compiler.target}))&quot;"/>
</manifest>
</jar>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>

280
apache-commons-io.changes Normal file
View File

@ -0,0 +1,280 @@
-------------------------------------------------------------------
Mon Feb 19 14:58:13 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to 2.15.1
* Fixed Bugs:
+ Fix wrong issue id in change log
+ Add test for FileChannels.contentEquals()
+ Fix FileChannels.contentEquals()
+ Fix some Javadoc issues in LineIterator and IOUtils
+ Simplify FileAlterationObserver internal processing
+ Avoid NullPointerException in RegexFileFilter
.RegexFileFilter(Pattern)
+ Avoid NullPointerException in RegexFileFilter
.accept(Path, BasicFileAttributes)
+ Fix SpotBugs error: Class org.apache.commons.io.filefilter
.RegexFileFilter defines non-transient non-serializable
instance field pathToString [org.apache.commons.io.filefilter
.RegexFileFilter] In RegexFileFilter.java SE_BAD_FIELD
+ Fix SpotBugs error: Class org.apache.commons.io.filefilter
.DelegateFileFilter defines non-transient non-serializable
instance field fileFilter [org.apache.commons.io.filefilter
.DelegateFileFilter] In DelegateFileFilter.java SE_BAD_FIELD
+ Fix SpotBugs error: Class org.apache.commons.io.filefilter
.DelegateFileFilter defines non-transient non-serializable
instance field fileNameFilter [org.apache.commons.io
.filefilter.DelegateFileFilter] In DelegateFileFilter.java
SE_BAD_FIELD
+ Fix SpotBugs error: org.apache.commons.io.function.IOStream$1
.next() cannot throw NoSuchElementException [org.apache
.commons.io.function.IOStream$1] At IOStream.java:[line 98]
IT_NO_SUCH_ELEMENT
+ Fix SpotBugs error: org.apache.commons.io.monitor
.FileAlterationMonitor.getObservers() may expose internal
representation by returning FileAlterationMonitor.observers
[org.apache.commons.io.monitor.FileAlterationMonitor] At
FileAlterationMonitor.java:[line 124] EI_EXPOSE_REP
+ Fix SpotBugs error: Class org.apache.commons.io.monitor
.FileAlterationObserver defines non-transient non-serializable
instance field fileFilter [org.apache.commons.io.monitor
.FileAlterationObserver] In FileAlterationObserver.java
SE_BAD_FIELD
+ Fix SpotBugs error: Class org.apache.commons.io.monitor
.FileAlterationObserver defines non-transient non-serializable
instance field listeners [org.apache.commons.io.monitor
.FileAlterationObserver] In FileAlterationObserver.java
SE_BAD_FIELD
+ Fix SpotBugs error: org.apache.commons.io.FileCleaningTracker
.getDeleteFailures() may expose internal representation by
returning FileCleaningTracker.deleteFailures [org.apache
.commons.io.FileCleaningTracker] At
FileCleaningTracker.java:[line 218] EI_EXPOSE_REP
+ Fix SpotBugs error: org.apache.commons.io.IOExceptionList
.getCauseList() may expose internal representation by
returning IOExceptionList.causeList [org.apache.commons.io
.IOExceptionList] At IOExceptionList.java:[line 118]
EI_EXPOSE_REP
+ Fix SpotBugs error: org.apache.commons.io.IOExceptionList
.getCauseList(Class) may expose internal representation by
returning IOExceptionList.causeList [org.apache.commons.io
.IOExceptionList] At IOExceptionList.java:[line 129]
EI_EXPOSE_REP
+ Fix SpotBugs error: org.apache.commons.io.file
.AccumulatorPathVisitor.getDirList() may expose internal
representation by returning AccumulatorPathVisitor.dirList
[org.apache.commons.io.file.AccumulatorPathVisitor] At
AccumulatorPathVisitor.java:[line 179] EI_EXPOSE_REP
+ Fix SpotBugs error: org.apache.commons.io.file
.AccumulatorPathVisitor.getFileList() may expose internal
representation by returning AccumulatorPathVisitor.fileList
[org.apache.commons.io.file.AccumulatorPathVisitor] At
AccumulatorPathVisitor.java:[line 188] EI_EXPOSE_REP
+ Fix SpotBugs error: org.apache.commons.io.input
.ObservableInputStream.getObservers() may expose internal
representation by returning ObservableInputStream.observers
[org.apache.commons.io.input.ObservableInputStream] At
ObservableInputStream.java:[line 187] EI_EXPOSE_REP
+ Fix SpotBugs error: Exception thrown in class org.apache
.commons.io.input.UnsynchronizedByteArrayInputStream at new
org.apache.commons.io.input
.UnsynchronizedByteArrayInputStream(byte[], int) will leave
the constructor. The object under construction remains
partially initialized and may be vulnerable to Finalizer
attacks. [org.apache.commons.io.input
.UnsynchronizedByteArrayInputStream, org.apache.commons.io
.input.UnsynchronizedByteArrayInputStream] At
UnsynchronizedByteArrayInputStream.java:[line 202]
CT_CONSTRUCTOR_THROW
+ Fix SpotBugs error: Exception thrown in class org.apache
.commons.io.input.UnsynchronizedByteArrayInputStream at new
org.apache.commons.io.input
.UnsynchronizedByteArrayInputStream(byte[], int, int) will
leave the constructor. The object under construction remains
partially initialized and may be vulnerable to Finalizer
attacks. [org.apache.commons.io.input
.UnsynchronizedByteArrayInputStream, org.apache.commons.io
.input.UnsynchronizedByteArrayInputStream] At
UnsynchronizedByteArrayInputStream.java:[line 223]
CT_CONSTRUCTOR_THROW
- Upgrade to 2.15.0
* New features:
+ Add org.apache.commons.io.channels.FileChannels
+ Add RandomAccessFiles#contentEquals(RandomAccessFile,
RandomAccessFile)
+ Add RandomAccessFiles#reset(RandomAccessFile)
+ Add PathUtilsContentEqualsBenchmark
+ Add org.apache.commons.io.StreamIterator
+ Add MessageDigestInputStream and deprecate
MessageDigestCalculatingInputStream
* Fixed Bugs:
+ IO-815: XmlStreamReader encoding match RE is too strict
+ IO-810: Javadoc in FileUtils does not reflect code for thrown
exceptions
+ IO-812: Javadoc should mention closing Streams based on file
resources
+ IO-811: In tests, Files.walk() direct and indirect callers
fail to close the returned Stream
+ IO-811: FileUtils.listFiles(File, String[], boolean) fails to
close its internal Stream
+ IO-811: FileUtils.iterateFiles(File, String[], boolean) fails
to close its internal Stream
+ IO-811: StreamIterator fails to close its internal Stream
+ IO-814: Don't throw UncheckedIOException
+ IO-414: Don't write a BOM on every (or any) line
+ IO-814: RandomAccessFileMode.create(Path) provides a better
NullPointerException message
+ Improve performance of PathUtils.fileContentEquals(Path, Path,
LinkOption[], OpenOption[]) by about 60%, see
PathUtilsContentEqualsBenchmark
+ Improve performance of PathUtils.fileContentEquals(Path, Path)
by about 60%, see PathUtilsContentEqualsBenchmark
+ Improve performance of FileUtils.contentEquals(File, File) by
about 60%, see PathUtilsContentEqualsBenchmark
+ Remove unused test code
+ [Javadoc] IOUtils#contentEquals does not throw
NullPointerException
+ Fix CodeQL warnings in UnsynchronizedBufferedInputStream:
Implicit narrowing conversion in compound assignment
+ MessageDigestCalculatingInputStream
.MessageDigestMaintainingObserver
.MessageDigestMaintainingObserver(MessageDigest) now throws a
NullPointerException if the MessageDigest is null
+ MessageDigestCalculatingInputStream
.MessageDigestCalculatingInputStream(InputStream,
MessageDigest) now throws a NullPointerException if the
MessageDigest is null
+ IO-816: UnsynchronizedBufferedInputStream.read(byte[], int,
int) does not use buffer
-------------------------------------------------------------------
Wed Oct 25 16:53:57 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Build with source and target levels 8
-------------------------------------------------------------------
Wed Oct 18 12:52:58 UTC 2023 - David Anes <david.anes@suse.com>
- Update to 2.14.0:
* Lots of new features, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.14.0
-------------------------------------------------------------------
Tue Apr 19 15:34:30 UTC 2022 - David Anes <david.anes@suse.com>
- Update to 2.11.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.11.0
- Update to 2.10.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.10.0
-------------------------------------------------------------------
Thu Jun 3 16:51:10 UTC 2021 - Pedro Monreal <pmonreal@suse.com>
- Update to 2.9.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.9.0
-------------------------------------------------------------------
Tue Oct 27 11:49:20 UTC 2020 - Pedro Monreal <pmonreal@suse.com>
- Update to 2.8.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.8.0
-------------------------------------------------------------------
Wed Jun 3 11:12:22 UTC 2020 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Update to upstream version 2.7 (bsc#1184755, CVE-2021-29425)
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.7
* Lots of bugfixes, updates and enhancements
* Java 8 or later is required
-------------------------------------------------------------------
Wed Mar 27 10:17:25 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Remove pom parent, since we don't use it when not building with
maven
-------------------------------------------------------------------
Tue Feb 26 17:34:25 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Update to upstream version 2.6
* many bugfixes, features and enhancenments, like
Automatic-Module-Name entry in manifest
* requires jdk7 or later
* see RELEASE-NOTES.txt for details
- Generated a build.xml to be able to build with ant
- Build with tests is now optional
- Removed patch:
* commons-io-version-property.patch
+ not needed anymore in this version
-------------------------------------------------------------------
Tue May 15 10:41:03 UTC 2018 - fstrba@suse.com
- Build with source and target 8 to prepare for a possible removal
of 1.6 compatibility
- Run fdupes on documentation
-------------------------------------------------------------------
Thu Sep 14 11:39:40 UTC 2017 - fstrba@suse.com
- Fix build with jdk9 by specifying source and target level 1.6
-------------------------------------------------------------------
Sun May 21 07:52:44 UTC 2017 - tchvatal@suse.com
- Remove unused depedencies
-------------------------------------------------------------------
Fri May 19 09:52:13 UTC 2017 - pcervinka@suse.com
- New build dependency: javapackages-local
-------------------------------------------------------------------
Wed Mar 18 09:45:59 UTC 2015 - tchvatal@suse.com
- Fix build with new javapackages-tools
-------------------------------------------------------------------
Mon Jul 7 14:53:05 UTC 2014 - tchvatal@suse.com
- Use junit not junit4
-------------------------------------------------------------------
Mon Sep 9 11:05:28 UTC 2013 - tchvatal@suse.com
- Move from jpackage-utils to javapackage-tools
-------------------------------------------------------------------
Wed Mar 20 12:45:16 UTC 2013 - mmeister@suse.com
- Added url as source.
Please see http://en.opensuse.org/SourceUrls
-------------------------------------------------------------------
Thu Oct 25 08:21:33 UTC 2012 - mvyskocil@suse.com
- update to the latest upstream version 2.4 (needed by fop 1.1)
* many bugfixes, features and enhancenments, like
* XmlStreamReader support for UTF-32
* requires jdk6 or later
* see RELEASE-NOTES.txt for details
- rename to apache-commons-io to stay compatible with upstream and fedora
- add commons-io-version-property.patch to fix the version in build.xml
-------------------------------------------------------------------
Mon Aug 25 10:26:55 CEST 2008 - mvyskocil@suse.cz
- target=1.5
- removed a build gcj support
- removed a javadoc %post/postun
- fixed a wrong end of line encoding
-------------------------------------------------------------------
Thu Mar 13 11:37:36 CET 2008 - mvyskocil@suse.cz
- Initial package created with version 1.3.2 (JPackage 1.7)

84
apache-commons-io.spec Normal file
View File

@ -0,0 +1,84 @@
#
# spec file for package apache-commons-io
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define base_name io
%define short_name commons-%{base_name}
Name: apache-%{short_name}
Version: 2.15.1
Release: 0
Summary: Utilities to assist with developing IO functionality
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://commons.apache.org/%{base_name}
Source0: https://archive.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz
Source1: https://archive.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz.asc
Source2: %{name}-build.xml
BuildRequires: ant >= 1.6
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local >= 6
Provides: %{short_name} = %{version}-%{release}
Provides: jakarta-%{short_name} = %{version}-%{release}
Obsoletes: jakarta-%{short_name} < %{version}-%{release}
BuildArch: noarch
%description
Commons-IO contains utility classes, stream implementations,
file filters, and endian classes. It is a library of utilities
to assist with developing IO functionality.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
This package provides %{summary}.
%prep
%setup -q -n %{short_name}-%{version}-src
cp %{SOURCE2} build.xml
%build
%{ant} \
-Dcompiler.source=1.8 \
jar javadoc
%install
# jars
install -d -m 0755 %{buildroot}%{_javadir}
install -p -m 0644 target/%{short_name}-%{version}.jar \
%{buildroot}%{_javadir}/%{short_name}.jar
ln -sf %{short_name}.jar %{buildroot}%{_javadir}/%{name}.jar
# pom
install -d -m 755 %{buildroot}%{_mavenpomdir}
%{mvn_install_pom} pom.xml %{buildroot}%{_mavenpomdir}/%{short_name}.pom
%add_maven_depmap %{short_name}.pom %{short_name}.jar -a "org.apache.commons:commons-io"
# javadoc
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%license LICENSE.txt NOTICE.txt
%doc RELEASE-NOTES.txt
%{_javadir}/%{name}.jar
%files javadoc
%doc %{_javadocdir}/%{name}
%changelog

BIN
commons-io-2.15.1-src.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEELbTx7w+nYezE6pNchv3H4qESYssFAmVgzyQACgkQhv3H4qES
YsurQQf+LS4VRitxNgUt7nFxUSHD46hHy3MAkBYNIu6eTXHTKJ/NqIwVxq2f6iZI
hq6AKwg5GiOge/2ujqtU3wcKduKPcEC431my0JiGHOrI0F7AGvU4+WIBYQz1Flv3
ZjPLk8kXd/WblB8lAByE0/c4nQC1iwV+w/nh0e78KaV9FhsNu0qV9BF+xWiDwFwN
sr5W+PeXLqmFy07kvQCaqkbX57bRV4oByttv5hJaLVdkAwksKEUMoij7TM2t54yP
6SFQwt3GIu/MuU669fWPvj7D6FdfpU38QChIuj/50L0cAUermMJ3EqS/MatHdf7D
lprG1l6RoMMOA/ByoZ4UvtRTrXUzpg==
=/4eI
-----END PGP SIGNATURE-----