Sync from SUSE:ALP:Source:Standard:1.0 guava revision 2949bdcc5db40a2ec1add39db5ffbd19

This commit is contained in:
Adrian Schröter 2024-10-14 14:25:48 +02:00
commit c02835027f
5 changed files with 320 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

BIN
guava-build.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

162
guava.changes Normal file
View File

@ -0,0 +1,162 @@
-------------------------------------------------------------------
Thu Jun 15 13:20:35 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Upgrade to guava 32.0.1
* Security fixes:
+ Reimplemented Files.createTempDir and FileBackedOutputStream
to further address CVE-2020-8908 (#4011, bsc#1179926) and
CVE-2023-2976 (#2575, bsc#1212401)
* Fixes:
+ io: Fixed Files.createTempDir and FileBackedOutputStream under
Windows, which broke as part of the security fix in release
32.0.0
+ Removed @Beta from almost all APIs. Most of the remaining
@Beta APIs are in graph and hash.
+ Enhanced the Guava jar to include Proguard configurations that
are picked up automatically by the Android Gradle Plugin. This
should help with warnings that were promoted to errors in
Android Gradle Plugin 8.x.
+ Enhanced the Guava jar to include information about method
parameters in its class files. If you use static analyzers
that look at method-parameter names, you may see new warnings
or errors if they are now able to detect mismatches. But
mostly, you may see better tooltips and autocompletion in
DEs.
+ Improved nullness annotations on a few classes.
+ Modified classes with "serial proxies" to declare
exception-throwing readObject methods, in accordance with best
practice.
+ collect: Fixed Maps.newHashMapWithExpectedSize to stop
allocating maps that were larger than they needed to be.
+ collect: Made various APIs work J2CL:
Maps.immutableEnumMap+toImmutableEnumMap, EnumMultiset,
CollectorTester. Previously, the APIs were present but failed
at runtime.
+ collect: Optimized memory usage for Interner and MapMaker.
+ graph: Changed directed graphs to reject attempts to add
undirected edges.
+ io: Added BaseEncoding.ignoreCase() to support
case-insensitive decoding.
+ net: Added HttpHeaders constants:
~ No-Vary-Search
~ Sec-CH-DPR
~ Sec-CH-UA-Wow64
~ Sec-CH-Viewport-Width and Sec-CH-Viewport-Height
~ Supports-Loading-Mode
+ net: Added the MediaType constant for JWT.
+ primitives: Added rotate() for arrays of all primitive types.
+ util.concurrent: Changed AbstractFuture to run
interruptTask() just before afterDone(). Until this change, it
ran slightly earlier than that: We used to run it before
unblocking any pending get() calls, and now we run it after.
+ util.concurrent: Fixed some cases in which we could catch
InterruptedException but fail to restore the interrupt bit.
-------------------------------------------------------------------
Wed May 18 17:26:01 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Upgrade to guava 31.1
* Fixes:
+ base: Deprecated the Throwables methods lazyStackTrace and
lazyStackTraceIsLazy. They are no longer useful on any current
platform.
+ collect: Added a new method
ImmutableMap.Builder.buildKeepingLast(), which keeps the last
value for any given key rather than throwing an exception when
a key appears more than once.
+ collect: As a side-effect of the buildKeepingLast() change,
the idiom
ImmutableList.copyOf(Maps.transformValues(map, function))
may produce different results if function has side-effects.
+ hash: Added Hashing.fingerprint2011().
+ io: Changed ByteStreams.nullOutputStream() to follow the
contract of OutputStream.write by throwing an exception if
the range of bytes is out of bounds.
+ net: Added @CheckReturnValue to the package (with a few
exceptions).
+ net: Added HttpHeaders constant for
Access-Control-Allow-Private-Network.
+ util.concurrent: Added accumulate/update methods for
AtomicDouble and AtomicDoubleArray.
* APIs promoted from @Beta:
+ base: Throwables methods getCausalChain and getCauseAs
+ collect: Streams methods mapWithIndex and findLast
+ collect: the remaining methods in Comparators: min, max,
lexicographical, emptiesFirst, emptiesLast, isInOrder,
isInStrictOrder
+ escape: various APIs
+ io: various APIs in Files
+ net: various APIs
+ reflect: various APIs
+ testlib: various APIs
+ util.concurrent: AsyncCallable, ListenableScheduledFuture,
and ClosingFuture
+ util.concurrent: ExecutionSequencer,
MoreExecutors.newSequentialExecutor, and Monitor
+ util.concurrent: Futures methods: submit, submitAsync,
scheduleAsync, nonCancellationPropagating, inCompletionOrder
+ util.concurrent: Uninterruptibles:
awaitTerminationUninterruptibly and the Duration overloads in
the class
+ util.concurrent: the FluentFuture type, its factory methods,
and addCallback
* Remove the hack of removing annotations, since we have now
all the required dependencies packaged
- Removed patch:
* donotmock.patch
+ hack not needed any more
-------------------------------------------------------------------
Fri Mar 11 12:13:02 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Remove parent reference from ALL distributed pom files
-------------------------------------------------------------------
Mon May 10 14:59:41 UTC 2021 - Fridrich Strba <fstrba@suse.com>
- Upgrade to guava 30.1.1
* Fixes:
+ cache: Fixed compatibility between asMap().compute(...)
and a load.
+ cache: Added @CheckReturnValue to some APIs.
+ collect: Added @DoNotCall to the mutator methods on immutable
types
+ hash: Removed @Beta from HashCode.
+ io: Removed @Beta from CountingOutputStream.
* fixes bsc#1179926, CVE-2020-8908: temp directory creation
vulnerability in Guava versions prior to 30.0
- Removed patch:
* guava-25.0-java8compat.patch
+ the compatibility is handled in the upstream code
- Added patch:
* donotmock.patch
+ patch @DoNotMock annotation occurrences in order to put them
in a format that our regex is able to identify and kill
-------------------------------------------------------------------
Wed Dec 4 17:32:18 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Avoid version-less dependencies that can cause problems with
some tools
-------------------------------------------------------------------
Fri Nov 22 04:52:39 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Build the package with ant in order to prevent build cycles
* using a generated and customized ant build system
-------------------------------------------------------------------
Thu Oct 10 21:00:22 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* guava-25.0-java8compat.patch
+ Avoid callingoverridden methods with covariant return types
for java.nio.ByteBuffer and java.nio.CharBuffer, which were
introduced in Java 9
+ This allows us to produce with Java >= 9 binaries that are
compatible with Java 8
-------------------------------------------------------------------
Fri Apr 12 10:05:01 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of guava 25.0

129
guava.spec Normal file
View File

@ -0,0 +1,129 @@
#
# spec file for package guava
#
# Copyright (c) 2023 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/
#
Name: guava
Version: 32.0.1
Release: 0
Summary: Google Core Libraries for Java
License: Apache-2.0 AND CC0-1.0
Group: Development/Libraries/Java
URL: https://github.com/google/guava
Source0: https://github.com/google/guava/archive/v%{version}.tar.gz
Source1: %{name}-build.tar.xz
BuildRequires: ant
BuildRequires: checker-qual
BuildRequires: fdupes
BuildRequires: google-errorprone-annotations
BuildRequires: j2objc-annotations
BuildRequires: javapackages-local
BuildRequires: jsr-305
BuildRequires: junit
Requires: mvn(com.google.code.findbugs:jsr305)
BuildArch: noarch
%description
Guava is a suite of core and expanded libraries that include
utility classes, Google's collections, io classes, and much
much more.
This project is a complete packaging of all the Guava libraries
into a single jar. Individual portions of Guava can be used
by downloading the appropriate module and its dependencies.
%package javadoc
Summary: Javadoc for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%package testlib
Summary: The guava-testlib artifact
Group: Development/Libraries/Java
Requires: mvn(junit:junit)
%description testlib
guava-testlib provides additional functionality for conveninent unit testing
%prep
%setup -q -a1
find . -name '*.jar' -delete
%pom_disable_module guava-gwt
%pom_disable_module guava-tests
%pom_remove_plugin -r :animal-sniffer-maven-plugin
# Downloads JDK source for doc generation
%pom_remove_plugin :maven-dependency-plugin guava
%pom_xpath_inject /pom:project/pom:build/pom:plugins/pom:plugin/pom:configuration/pom:instructions "<_nouses>true</_nouses>" guava/pom.xml
%pom_remove_dep -r :listenablefuture
%pom_remove_dep -r :failureaccess
for mod in guava guava-testlib futures/failureaccess; do
%pom_remove_parent ${mod}
%pom_xpath_inject pom:project '
<groupId>com.google.guava</groupId>
<version>%{version}</version>' ${mod}
done
%pom_change_dep -r :error_prone_annotations :::provided
%pom_change_dep -r :j2objc-annotations :::provided
%pom_change_dep -r org.checkerframework: :::provided
%pom_change_dep -r -f :::: ::::
%build
mkdir -p lib
build-jar-repository -s lib junit jsr-305 google-errorprone/annotations checker-qual j2objc-annotations
%{ant} -Dtest.skip=true package javadoc
%install
# jars
install -dm 0755 %{buildroot}%{_javadir}/%{name}
install -pm 0644 %{name}/target/%{name}-%{version}*.jar %{buildroot}%{_javadir}/%{name}/%{name}.jar
install -pm 0644 %{name}-testlib/target/%{name}-testlib-%{version}*.jar %{buildroot}%{_javadir}/%{name}/%{name}-testlib.jar
# poms
install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
install -pm 0644 %{name}/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}.pom
%add_maven_depmap %{name}/%{name}.pom %{name}/%{name}.jar
# We integrated this artifact in our main package
install -pm 0644 futures/failureaccess/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/failureaccess.pom
%add_maven_depmap %{name}/failureaccess.pom %{name}/%{name}.jar
install -pm 0644 %{name}-testlib/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{name}-testlib.pom
%add_maven_depmap %{name}/%{name}-testlib.pom %{name}/%{name}-testlib.jar -f %{name}-testlib
# javadoc
install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
cp -r %{name}/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/%{name}
cp -r %{name}-testlib/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/%{name}-testlib
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%doc CONTRIBUTORS README*
%license LICENSE
%files javadoc
%{_javadocdir}/%{name}
%license LICENSE
%files testlib -f .mfiles-guava-testlib
%changelog

BIN
v32.0.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.