Architecture specific change in rpms/rust-askalono-cli.git
by githook-noreply@fedoraproject.org
The package rpms/rust-askalono-cli.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-askalono-cli.git/commit/?id=....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 655b1a569c1f1c97235d0c90719ffd91c9861d92
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Fri Nov 24 14:22:01 2023 +0100
Update included SPDX license-list-data to version 3.22
diff --git a/.gitignore b/.gitignore
index be7aecc..96baf05 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
/askalono-cli-0.4.3.crate
/askalono-cli-0.4.4.crate
/askalono-cli-0.4.6.crate
+/askalono-cache-3.22.bin.zstd
diff --git a/LICENSE.dependencies b/LICENSE.dependencies
deleted file mode 100644
index 591b339..0000000
--- a/LICENSE.dependencies
+++ /dev/null
@@ -1,56 +0,0 @@
-Apache-2.0 OR BSL-1.0: ryu v1.0.11
-Apache-2.0 OR MIT: fnv v1.0.7
-Apache-2.0 OR MIT: structopt v0.2.18
-Apache-2.0 OR MIT: thread_local v1.1.4
-Apache-2.0: askalono v0.4.6
-Apache-2.0: askalono-cli v0.4.6
-MIT OR Apache-2.0 OR Zlib: tinyvec_macros v0.1.0
-MIT OR Apache-2.0: anyhow v1.0.59
-MIT OR Apache-2.0: bitflags v1.3.2
-MIT OR Apache-2.0: bstr v0.2.17
-MIT OR Apache-2.0: cfg-if v1.0.0
-MIT OR Apache-2.0: crossbeam-channel v0.5.6
-MIT OR Apache-2.0: crossbeam-deque v0.8.2
-MIT OR Apache-2.0: crossbeam-epoch v0.9.10
-MIT OR Apache-2.0: crossbeam-utils v0.8.11
-MIT OR Apache-2.0: either v1.7.0
-MIT OR Apache-2.0: env_logger v0.7.1
-MIT OR Apache-2.0: humantime v1.3.0
-MIT OR Apache-2.0: itoa v1.0.3
-MIT OR Apache-2.0: lazy_static v1.4.0
-MIT OR Apache-2.0: libc v0.2.127
-MIT OR Apache-2.0: log v0.4.17
-MIT OR Apache-2.0: num-traits v0.2.15
-MIT OR Apache-2.0: num_cpus v1.13.1
-MIT OR Apache-2.0: once_cell v1.13.0
-MIT OR Apache-2.0: quick-error v1.2.3
-MIT OR Apache-2.0: rayon v1.5.3
-MIT OR Apache-2.0: rayon-core v1.9.3
-MIT OR Apache-2.0: regex v1.6.0
-MIT OR Apache-2.0: regex-syntax v0.6.27
-MIT OR Apache-2.0: scopeguard v1.1.0
-MIT OR Apache-2.0: serde v1.0.141
-MIT OR Apache-2.0: serde_json v1.0.83
-MIT OR Apache-2.0: unicode-normalization v0.1.21
-MIT OR Apache-2.0: unicode-width v0.1.9
-MIT OR Apache-2.0: vec_map v0.8.2
-MIT OR Apache-2.0: zstd-safe v5.0.2
-MIT OR Apache-2.0: zstd-sys v2.0.1
-MIT: ansi_term v0.12.1
-MIT: atty v0.2.14
-MIT: clap v2.34.0
-MIT: memoffset v0.6.5
-MIT: rmp v0.8.11
-MIT: rmp-serde v0.14.3
-MIT: strsim v0.10.0
-MIT: textwrap v0.11.0
-MIT: zstd v0.11.2
-Unlicense OR MIT: aho-corasick v0.7.18
-Unlicense OR MIT: byteorder v1.4.3
-Unlicense OR MIT: globset v0.4.8
-Unlicense OR MIT: ignore v0.4.18
-Unlicense OR MIT: memchr v2.5.0
-Unlicense OR MIT: same-file v1.0.6
-Unlicense OR MIT: termcolor v1.1.3
-Unlicense OR MIT: walkdir v2.3.2
-Zlib OR Apache-2.0 OR MIT: tinyvec v1.6.0
diff --git a/README.md b/README.md
deleted file mode 100644
index 4dab879..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-askalono-cli
-
-The rust-askalono-cli package
\ No newline at end of file
diff --git a/rust-askalono-cli.spec b/rust-askalono-cli.spec
index 1b23149..e95dcae 100644
--- a/rust-askalono-cli.spec
+++ b/rust-askalono-cli.spec
@@ -1,4 +1,4 @@
-# Generated by rust2rpm 22
+# Generated by rust2rpm 25
%bcond_without check
%global crate askalono-cli
@@ -8,22 +8,27 @@ Version: 0.4.6
Release: %autorelease
Summary: Tool to detect the contents of license files
-License: Apache-2.0
+# * askalono-cli: Apache-2.0
+# * spdx/license-list-data: CC0-1.0
+License: Apache-2.0 AND CC0-1.0
URL: https://crates.io/crates/askalono-cli
-Source0: %{crates_source}
-Source1: LICENSE.dependencies
+Source: %{crates_source}
+# updated SPDX license list data; generated with:
+# $ git clone https://github.com/spdx/license-list-data.git spdx-license-list -b v3.22 --depth 1
+# $ askalono cache load-spdx spdx-license-list/json/details
+# $ mv askalono-cache.bin.zstd askalono-cache-3.22.bin.zstd
+Source: askalono-cache-3.22.bin.zstd
-ExclusiveArch: %{rust_arches}
-
-BuildRequires: rust-packaging >= 21
+BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
-Tool to detect the contents of license files.}
+A tool to detect the contents of license files.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
# Apache-2.0
# Apache-2.0 OR BSL-1.0
# Apache-2.0 OR MIT
@@ -32,28 +37,33 @@ Summary: %{summary}
# MIT OR Apache-2.0 OR Zlib
# Unlicense OR MIT
# Zlib OR Apache-2.0 OR MIT
-License: Apache-2.0 AND MIT
+License: Apache-2.0 AND CC0-1.0 MIT AND Unicode-DFS-2016 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
# LICENSE.dependencies contains a full license breakdown
+Provides: bundled(spdx-license-list-data) = 3.22
+
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE
-%license LICENSE.dependencies
%license NOTICE
+%license LICENSE.dependencies
%doc README.md
%{_bindir}/askalono
%prep
-%autosetup -n %{crate}-%{version_no_tilde} -p1
-cp %{SOURCE1} .
+%autosetup -n %{crate}-%{version} -p1
%cargo_prep
+# update bundled SPDX license list data
+cp -pav %{SOURCE1} embedded-cache.bin.zstd
%generate_buildrequires
%cargo_generate_buildrequires -f diagnostics
%build
%cargo_build -f diagnostics
+%{cargo_license_summary -f diagnostics}
+%{cargo_license -f diagnostics} > LICENSE.dependencies
%install
%cargo_install -f diagnostics
diff --git a/rust2rpm.toml b/rust2rpm.toml
new file mode 100644
index 0000000..9e3294d
--- /dev/null
+++ b/rust2rpm.toml
@@ -0,0 +1,4 @@
+[features]
+enable = ["diagnostics"]
+
+
diff --git a/sources b/sources
index e58164c..3e0260d 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
SHA512 (askalono-cli-0.4.6.crate) = da19ce0e445798aa41d49eda709ea62a00805da1db5baaf47c02df07994cd88e821d996609853bfaf48c95268876b2c98e3b69be1953b306f8537d3a6bea72eb
+SHA512 (askalono-cache-3.22.bin.zstd) = 2dfcc0de285e5e43a531f79f08a5386049a9d4084b9c27df43ca5619fe357b4a9d6cf66c3ae33b2694e9d57b46c32e7e663aa73ddcb13b08c33e75ab732ec1cb
commit 8ad6af8198486dcc8604b8eba384ecd917e71b62
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jul 21 18:55:56 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
6 months, 1 week
Architecture specific change in rpms/rust-askalono-cli.git
by githook-noreply@fedoraproject.org
The package rpms/rust-askalono-cli.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-askalono-cli.git/commit/?id=....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 655b1a569c1f1c97235d0c90719ffd91c9861d92
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Fri Nov 24 14:22:01 2023 +0100
Update included SPDX license-list-data to version 3.22
diff --git a/.gitignore b/.gitignore
index be7aecc..96baf05 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
/askalono-cli-0.4.3.crate
/askalono-cli-0.4.4.crate
/askalono-cli-0.4.6.crate
+/askalono-cache-3.22.bin.zstd
diff --git a/LICENSE.dependencies b/LICENSE.dependencies
deleted file mode 100644
index 591b339..0000000
--- a/LICENSE.dependencies
+++ /dev/null
@@ -1,56 +0,0 @@
-Apache-2.0 OR BSL-1.0: ryu v1.0.11
-Apache-2.0 OR MIT: fnv v1.0.7
-Apache-2.0 OR MIT: structopt v0.2.18
-Apache-2.0 OR MIT: thread_local v1.1.4
-Apache-2.0: askalono v0.4.6
-Apache-2.0: askalono-cli v0.4.6
-MIT OR Apache-2.0 OR Zlib: tinyvec_macros v0.1.0
-MIT OR Apache-2.0: anyhow v1.0.59
-MIT OR Apache-2.0: bitflags v1.3.2
-MIT OR Apache-2.0: bstr v0.2.17
-MIT OR Apache-2.0: cfg-if v1.0.0
-MIT OR Apache-2.0: crossbeam-channel v0.5.6
-MIT OR Apache-2.0: crossbeam-deque v0.8.2
-MIT OR Apache-2.0: crossbeam-epoch v0.9.10
-MIT OR Apache-2.0: crossbeam-utils v0.8.11
-MIT OR Apache-2.0: either v1.7.0
-MIT OR Apache-2.0: env_logger v0.7.1
-MIT OR Apache-2.0: humantime v1.3.0
-MIT OR Apache-2.0: itoa v1.0.3
-MIT OR Apache-2.0: lazy_static v1.4.0
-MIT OR Apache-2.0: libc v0.2.127
-MIT OR Apache-2.0: log v0.4.17
-MIT OR Apache-2.0: num-traits v0.2.15
-MIT OR Apache-2.0: num_cpus v1.13.1
-MIT OR Apache-2.0: once_cell v1.13.0
-MIT OR Apache-2.0: quick-error v1.2.3
-MIT OR Apache-2.0: rayon v1.5.3
-MIT OR Apache-2.0: rayon-core v1.9.3
-MIT OR Apache-2.0: regex v1.6.0
-MIT OR Apache-2.0: regex-syntax v0.6.27
-MIT OR Apache-2.0: scopeguard v1.1.0
-MIT OR Apache-2.0: serde v1.0.141
-MIT OR Apache-2.0: serde_json v1.0.83
-MIT OR Apache-2.0: unicode-normalization v0.1.21
-MIT OR Apache-2.0: unicode-width v0.1.9
-MIT OR Apache-2.0: vec_map v0.8.2
-MIT OR Apache-2.0: zstd-safe v5.0.2
-MIT OR Apache-2.0: zstd-sys v2.0.1
-MIT: ansi_term v0.12.1
-MIT: atty v0.2.14
-MIT: clap v2.34.0
-MIT: memoffset v0.6.5
-MIT: rmp v0.8.11
-MIT: rmp-serde v0.14.3
-MIT: strsim v0.10.0
-MIT: textwrap v0.11.0
-MIT: zstd v0.11.2
-Unlicense OR MIT: aho-corasick v0.7.18
-Unlicense OR MIT: byteorder v1.4.3
-Unlicense OR MIT: globset v0.4.8
-Unlicense OR MIT: ignore v0.4.18
-Unlicense OR MIT: memchr v2.5.0
-Unlicense OR MIT: same-file v1.0.6
-Unlicense OR MIT: termcolor v1.1.3
-Unlicense OR MIT: walkdir v2.3.2
-Zlib OR Apache-2.0 OR MIT: tinyvec v1.6.0
diff --git a/README.md b/README.md
deleted file mode 100644
index 4dab879..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-askalono-cli
-
-The rust-askalono-cli package
\ No newline at end of file
diff --git a/rust-askalono-cli.spec b/rust-askalono-cli.spec
index 1b23149..e95dcae 100644
--- a/rust-askalono-cli.spec
+++ b/rust-askalono-cli.spec
@@ -1,4 +1,4 @@
-# Generated by rust2rpm 22
+# Generated by rust2rpm 25
%bcond_without check
%global crate askalono-cli
@@ -8,22 +8,27 @@ Version: 0.4.6
Release: %autorelease
Summary: Tool to detect the contents of license files
-License: Apache-2.0
+# * askalono-cli: Apache-2.0
+# * spdx/license-list-data: CC0-1.0
+License: Apache-2.0 AND CC0-1.0
URL: https://crates.io/crates/askalono-cli
-Source0: %{crates_source}
-Source1: LICENSE.dependencies
+Source: %{crates_source}
+# updated SPDX license list data; generated with:
+# $ git clone https://github.com/spdx/license-list-data.git spdx-license-list -b v3.22 --depth 1
+# $ askalono cache load-spdx spdx-license-list/json/details
+# $ mv askalono-cache.bin.zstd askalono-cache-3.22.bin.zstd
+Source: askalono-cache-3.22.bin.zstd
-ExclusiveArch: %{rust_arches}
-
-BuildRequires: rust-packaging >= 21
+BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
-Tool to detect the contents of license files.}
+A tool to detect the contents of license files.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
# Apache-2.0
# Apache-2.0 OR BSL-1.0
# Apache-2.0 OR MIT
@@ -32,28 +37,33 @@ Summary: %{summary}
# MIT OR Apache-2.0 OR Zlib
# Unlicense OR MIT
# Zlib OR Apache-2.0 OR MIT
-License: Apache-2.0 AND MIT
+License: Apache-2.0 AND CC0-1.0 MIT AND Unicode-DFS-2016 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
# LICENSE.dependencies contains a full license breakdown
+Provides: bundled(spdx-license-list-data) = 3.22
+
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE
-%license LICENSE.dependencies
%license NOTICE
+%license LICENSE.dependencies
%doc README.md
%{_bindir}/askalono
%prep
-%autosetup -n %{crate}-%{version_no_tilde} -p1
-cp %{SOURCE1} .
+%autosetup -n %{crate}-%{version} -p1
%cargo_prep
+# update bundled SPDX license list data
+cp -pav %{SOURCE1} embedded-cache.bin.zstd
%generate_buildrequires
%cargo_generate_buildrequires -f diagnostics
%build
%cargo_build -f diagnostics
+%{cargo_license_summary -f diagnostics}
+%{cargo_license -f diagnostics} > LICENSE.dependencies
%install
%cargo_install -f diagnostics
diff --git a/rust2rpm.toml b/rust2rpm.toml
new file mode 100644
index 0000000..9e3294d
--- /dev/null
+++ b/rust2rpm.toml
@@ -0,0 +1,4 @@
+[features]
+enable = ["diagnostics"]
+
+
diff --git a/sources b/sources
index e58164c..3e0260d 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
SHA512 (askalono-cli-0.4.6.crate) = da19ce0e445798aa41d49eda709ea62a00805da1db5baaf47c02df07994cd88e821d996609853bfaf48c95268876b2c98e3b69be1953b306f8537d3a6bea72eb
+SHA512 (askalono-cache-3.22.bin.zstd) = 2dfcc0de285e5e43a531f79f08a5386049a9d4084b9c27df43ca5619fe357b4a9d6cf66c3ae33b2694e9d57b46c32e7e663aa73ddcb13b08c33e75ab732ec1cb
6 months, 1 week
Architecture specific change in rpms/golang-github-apache-arrow.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-apache-arrow.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-apache-arrow.git/co...
https://src.fedoraproject.org/cgit/rpms/golang-github-apache-arrow.git/co...
https://src.fedoraproject.org/cgit/rpms/golang-github-apache-arrow.git/co....
Change:
-ExcludeArch: i686 ppc64le s390x
+ExcludeArch: i686 ppc64le s390x
+ExcludeArch: i686
Thanks.
Full change:
============
commit 4cbfa3274c05d42d94c2119861a68d8828507541
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Nov 8 12:21:12 2023 -0600
Bump release and update changelog
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index 3ac82a4..e230770 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -32,7 +32,7 @@ in-memory processing.}
go/parquet/cmd/parquet_reader/README.md
Name: %{goname}
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Cross-language development platform for in-memory data
License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause BSD-3-Clause-Clear and BSL-1.0
@@ -74,6 +74,9 @@ done
%gopkgfiles
%changelog
+* Wed Nov 08 2023 W. Michael Petullo <mike(a)flyn.org> - 12.0.1-4
+- Follow lead of golang-github-aead-chacha20 to handle arch-specific deps
+
* Wed Nov 08 2023 W. Michael Petullo <mike(a)flyn.org> - 12.0.1-3
- Revise list of skipped checks
commit 57299056bffd9ab0d251649fda9077e054503742
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Nov 8 12:19:20 2023 -0600
Follow lead of golang-github-aead-chacha20 to handle arch-specific deps
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index a2a5085..3ac82a4 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -3,11 +3,9 @@
%bcond_without check
%endif
%global debug_package %{nil}
-
-# The i686 variant does not automatically pull in a dependency on
-# golang(golang.org/x/sys/cpu), and that leaves that noarch package different
-# than the others, which is not allowed. Just drop it.
-ExcludeArch: i686 ppc64le s390x
+# Avoid noarch package built differently on different architectures (see also
+# .../sys/cpu elsewhere):
+%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(golang.org/x/sys/cpu\\)$
# https://github.com/apache/arrow
%global goipath github.com/apache/arrow/go
@@ -20,6 +18,9 @@ Version: 12.0.1
%global goaltipaths github.com/apache/arrow/go/v12
+%global godevelheader %{expand:
+Requires: golang(golang.org/x/sys/cpu)}
+
%global common_description %{expand:
Apache Arrow is a multi-language toolbox for accelerated data interchange and
in-memory processing.}
@@ -38,6 +39,8 @@ License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause BSD-3-Clause-Clear
URL: %{gourl}
Source: %{gosource}
+BuildRequires: golang(golang.org/x/sys/cpu)
+
%description %{common_description}
%gopkg
commit bfd2ea68ecb712c7226744f8cdccebe8c3d6a4c3
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Nov 8 11:44:12 2023 -0600
ExcludeArch ppc64le and s390x too
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index 8caa12a..a2a5085 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -7,7 +7,7 @@
# The i686 variant does not automatically pull in a dependency on
# golang(golang.org/x/sys/cpu), and that leaves that noarch package different
# than the others, which is not allowed. Just drop it.
-ExcludeArch: i686
+ExcludeArch: i686 ppc64le s390x
# https://github.com/apache/arrow
%global goipath github.com/apache/arrow/go
commit c5ad0d5a1c83027fb8c9ccaa905c2e9716e48b5d
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Nov 8 10:46:59 2023 -0600
ExcludeArch i686, which is the only to require golang(golang.org/x/sys/cpu)
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index f696733..8caa12a 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -4,6 +4,11 @@
%endif
%global debug_package %{nil}
+# The i686 variant does not automatically pull in a dependency on
+# golang(golang.org/x/sys/cpu), and that leaves that noarch package different
+# than the others, which is not allowed. Just drop it.
+ExcludeArch: i686
+
# https://github.com/apache/arrow
%global goipath github.com/apache/arrow/go
Version: 12.0.1
commit d9683951398485b6c03bf923d1a4a85fe495cfea
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Nov 8 10:15:58 2023 -0600
Remove requires, as it did not fix problem
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index 4600289..f696733 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -4,8 +4,6 @@
%endif
%global debug_package %{nil}
-Requires: golang(golang.org/x/sys/cpu)
-
# https://github.com/apache/arrow
%global goipath github.com/apache/arrow/go
Version: 12.0.1
commit cb4a856eddd16a82e15a24bc77acc01a707a281a
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Nov 8 09:53:11 2023 -0600
Explicitly require golang(golang.org/x/sys/cpu)
Building without this resulted in:
BuildError: The following noarch package built differently on different
architectures: golang-github-apache-arrow-devel-12.0.1-3.fc40.noarch.rpm
rpmdiff output was:
added REQUIRES golang(golang.org/x/sys/cpu)
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index f696733..4600289 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -4,6 +4,8 @@
%endif
%global debug_package %{nil}
+Requires: golang(golang.org/x/sys/cpu)
+
# https://github.com/apache/arrow
%global goipath github.com/apache/arrow/go
Version: 12.0.1
commit ba0478ee67fdfadb05b3d7e30f51f49ff060d55b
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Nov 8 09:12:31 2023 -0600
Revise list of skipped checks
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index cb1fd64..f696733 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -26,7 +26,7 @@ in-memory processing.}
go/parquet/cmd/parquet_reader/README.md
Name: %{goname}
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Cross-language development platform for in-memory data
License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause BSD-3-Clause-Clear and BSL-1.0
@@ -57,12 +57,18 @@ for test in "TestFileEncryptionDecryption" "TestArrowReaderAdHocReadDecimals" \
; do
awk -i inplace '/^func.*'"$test"'\(/ { print; print "\tt.Skip(\"disabled failing test\")"; next}1' $(grep -rl $test)
done
-%gocheck -d github.com/apache/arrow/go/arrow/compute
+%gocheck \
+ -d github.com/apache/arrow/go/arrow/compute \
+ -d github.com/apache/arrow/go/parquet \
+ -d github.com/apache/arrow/go/parquet/pqarrow
%endif
%gopkgfiles
%changelog
+* Wed Nov 08 2023 W. Michael Petullo <mike(a)flyn.org> - 12.0.1-3
+- Revise list of skipped checks
+
* Mon Nov 06 2023 Mikel Olasagasti Uranga <mikel(a)olasagasti.info> - 12.0.1-2
- Use latest go2rpm template
- License SPDX migration and expand licenses
commit 0ea2f70ee0824ac0aefba7129ae631802abe5bcd
Author: Mikel Olasagasti Uranga <mikel(a)olasagasti.info>
Date: Mon Nov 6 18:39:21 2023 +0100
Update spec
- Use latest go2rpm template
- License SPDX migration and expand licenses
- Add goaltipath to arrow/v12
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index 0253751..cb1fd64 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -1,43 +1,49 @@
-# Generated by go2rpm
+# Generated by go2rpm 1.10.0
%ifarch x86_64
%bcond_without check
%endif
+%global debug_package %{nil}
-# https://github.com/apache/arrow/go/arrow
-%global goipath github.com/apache/arrow
+# https://github.com/apache/arrow
+%global goipath github.com/apache/arrow/go
Version: 12.0.1
%global tag apache-arrow-12.0.1
%global distprefix %{nil}
%gometa
+
+%global goaltipaths github.com/apache/arrow/go/v12
+
%global common_description %{expand:
-Apache Arrow is a cross-language development platform for in-memory data. It
-specifies a standardized language-independent columnar memory format for flat
-and hierarchical data, organized for efficient analytic operations on modern
-hardware. It also provides computational libraries and zero-copy streaming
-messaging and inter-process communication.}
+Apache Arrow is a multi-language toolbox for accelerated data interchange and
+in-memory processing.}
%global golicenses LICENSE.txt NOTICE.txt
-%global godocs _examples go/README.md
+%global godocs docs CHANGELOG.md README.md\\\
+ go/README.md _examples \\\
+ go/arrow/flight/flightsql/driver/README.md\\\
+ go/parquet/cmd/parquet_reader/README.md
Name: %{goname}
-Release: 9%{?dist}
+Release: 2%{?dist}
Summary: Cross-language development platform for in-memory data
-License: ASL 2.0
+License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause BSD-3-Clause-Clear and BSL-1.0
URL: %{gourl}
-Source0: %{gosource}
+Source: %{gosource}
-%description
-%{common_description}
+%description %{common_description}
%gopkg
%prep
%goprep
+%autopatch -p1
+
# Remove files unrelated to the Go Library
find ./* -maxdepth 0 -type d -not -name "go" -and -not -name "_build" -exec rm -rf "{}" \;
+mv go/* .
%generate_buildrequires
%go_generate_buildrequires
@@ -47,12 +53,24 @@ find ./* -maxdepth 0 -type d -not -name "go" -and -not -name "_build" -exec rm -
%if %{with check}
%check
+for test in "TestFileEncryptionDecryption" "TestArrowReaderAdHocReadDecimals" \
+; do
+awk -i inplace '/^func.*'"$test"'\(/ { print; print "\tt.Skip(\"disabled failing test\")"; next}1' $(grep -rl $test)
+done
%gocheck -d github.com/apache/arrow/go/arrow/compute
%endif
%gopkgfiles
%changelog
+* Mon Nov 06 2023 Mikel Olasagasti Uranga <mikel(a)olasagasti.info> - 12.0.1-2
+- Use latest go2rpm template
+- License SPDX migration and expand licenses
+- Add goaltipath to arrow/v12
+
+* Wed Oct 04 2023 W. Michael Petullo <mike(a)flyn.org> - 12.0.1-1
+- Update to 12.0.1
+
* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.0.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
commit e259958fa53772ef952744a85115902532c8a4d9
Author: W. Michael Petullo <mike(a)flyn.org>
Date: Wed Oct 4 17:06:55 2023 -0500
Update to 12.0.1
Signed-off-by: W. Michael Petullo <mike(a)flyn.org>
diff --git a/.gitignore b/.gitignore
index 7b1e4c0..6ecb8ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
/arrow-apache-arrow-0.16.0.tar.gz
/arrow-apache-arrow-1.0.0.tar.gz
/arrow-apache-arrow-2.0.0.tar.gz
+/arrow-apache-arrow-12.0.1.tar.gz
diff --git a/golang-github-apache-arrow.spec b/golang-github-apache-arrow.spec
index 20f3687..0253751 100644
--- a/golang-github-apache-arrow.spec
+++ b/golang-github-apache-arrow.spec
@@ -5,8 +5,8 @@
# https://github.com/apache/arrow/go/arrow
%global goipath github.com/apache/arrow
-Version: 2.0.0
-%global tag apache-arrow-2.0.0
+Version: 12.0.1
+%global tag apache-arrow-12.0.1
%global distprefix %{nil}
%gometa
@@ -29,21 +29,6 @@ License: ASL 2.0
URL: %{gourl}
Source0: %{gosource}
-BuildRequires: golang(github.com/golang/protobuf/proto)
-BuildRequires: golang(github.com/google/flatbuffers/go)
-BuildRequires: golang(golang.org/x/xerrors)
-BuildRequires: golang(google.golang.org/grpc)
-BuildRequires: golang(google.golang.org/grpc/codes)
-BuildRequires: golang(google.golang.org/grpc/metadata)
-BuildRequires: golang(google.golang.org/grpc/status)
-BuildRequires: golang(google.golang.org/protobuf/reflect/protoreflect)
-BuildRequires: golang(google.golang.org/protobuf/runtime/protoimpl)
-
-%if %{with check}
-# Tests
-BuildRequires: golang(github.com/stretchr/testify/assert)
-%endif
-
%description
%{common_description}
@@ -54,12 +39,15 @@ BuildRequires: golang(github.com/stretchr/testify/assert)
# Remove files unrelated to the Go Library
find ./* -maxdepth 0 -type d -not -name "go" -and -not -name "_build" -exec rm -rf "{}" \;
+%generate_buildrequires
+%go_generate_buildrequires
+
%install
%gopkginstall
%if %{with check}
%check
-%gocheck
+%gocheck -d github.com/apache/arrow/go/arrow/compute
%endif
%gopkgfiles
diff --git a/sources b/sources
index 6b6d3cf..6385fcc 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (arrow-apache-arrow-2.0.0.tar.gz) = 296c47896134878b0bb8f64c8f6d8e3eef99499097fe6239b6e3b9075620b21687600075b52dc7e1d5e4a5151ab5cf609c6443725b97a46112c2a7070f2a28f8
+SHA512 (arrow-apache-arrow-12.0.1.tar.gz) = 98b1fd68d85e3052e1c3d68b7bbb3920086126a6896c40390fb02388e45af3bbaeab56ca36ec58dad0693a4cacab8465af3bf018f684de93053f9769a8229874
6 months, 1 week
[Report] Packages Restricting Arches
by root
New package excluding arches (1)
============================
- msv
ExclusiveArch: %{java_arches} noarch
Package that edited their arches constraints (1)
=============================================
- arianna
was ExclusiveArch: %{qt5_qtwebengine_arches}
is ExclusiveArch: %{qt6_qtwebengine_arches}
List of packages currently excluding arches (1134)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CFR
ExclusiveArch: %{java_arches} noarch
- CardManager
ExclusiveArch: %{java_arches} noarch
- GAPDoc
ExclusiveArch: %{gap_arches} noarch
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- Mars
ExclusiveArch: %{java_arches} noarch
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-rJava
ExclusiveArch: %{java_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- ant-contrib
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr3
ExclusiveArch: %{java_arches}
- antlr4-project
ExclusiveArch: %{java_arches}
- antlrworks
ExclusiveArch: %{java_arches} noarch
- aopalliance
ExclusiveArch: %{java_arches} noarch
- apache-commons-beanutils
ExclusiveArch: %{java_arches} noarch
- apache-commons-cli
ExclusiveArch: %{java_arches} noarch
- apache-commons-codec
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections4
ExclusiveArch: %{java_arches} noarch
- apache-commons-compress
ExclusiveArch: %{java_arches} noarch
- apache-commons-configuration
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jexl
ExclusiveArch: %{java_arches} noarch
- apache-commons-jxpath
ExclusiveArch: %{java_arches} noarch
- apache-commons-lang3
ExclusiveArch: %{java_arches} noarch
- apache-commons-logging
ExclusiveArch: %{java_arches} noarch
- apache-commons-math
ExclusiveArch: %{java_arches} noarch
- apache-commons-modeler
ExclusiveArch: %{java_arches} noarch
- apache-commons-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-commons-pool
ExclusiveArch: %{java_arches} noarch
- apache-commons-vfs
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apache-sshd
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- args4j
ExclusiveArch: %{java_arches} noarch
- arianna
ExclusiveArch: %{qt6_qtwebengine_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- asmjit
ExclusiveArch: aarch64 x86_64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- auto
ExclusiveArch: %{java_arches} noarch
- autolink-java
ExclusiveArch: noarch %{java_arches}
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcel
ExclusiveArch: %{java_arches} noarch
- bcm283x-firmware
ExclusiveArch: aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- bibletime
ExclusiveArch: %{java_arches}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- bodhi-server
ExclusiveArch: %{golang_arches_future}
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- box64
ExclusiveArch: aarch64 ppc64le x86_64
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- build-helper-maven-plugin
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- byebyebios
ExclusiveArch: x86_64
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- caddy
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: %{golang_arches}
- caffe
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: aarch64 x86_64
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- catatonit
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: %{golang_arches_future}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- cglib
ExclusiveArch: %{java_arches} noarch
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- clojure
ExclusiveArch: %{java_arches} noarch
- clojure-core-specs-alpha
ExclusiveArch: %{java_arches} noarch
- clojure-maven-plugin
ExclusiveArch: %{java_arches} noarch
- clojure-spec-alpha
ExclusiveArch: %{java_arches} noarch
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- conmon
ExclusiveArch: %{golang_arches_future}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- coq
ExclusiveArch: %{ocaml_native_compiler}
- cortado
ExclusiveArch: %{java_arches} noarch
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cpuinfo
ExclusiveArch: x86_64 aarch64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- credentials-fetcher
ExclusiveArch: x86_64 aarch64 s390x
- cri-o
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- crun
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le riscv64 s390x x86_64
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- daq
ExclusiveArch: x86_64 aarch64
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- decentxml
ExclusiveArch: %{java_arches} noarch
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dogtag-pki
ExclusiveArch: %{java_arches}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet7.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dub
ExclusiveArch: %{ldc_arches}
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- ecj
ExclusiveArch: %{java_arches} noarch
- eclipse-swt
ExclusiveArch: %{java_arches}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edk2
ExclusiveArch: x86_64 aarch64 riscv64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- embree
ExclusiveArch: aarch64 x86_64
- embree3
ExclusiveArch: aarch64 x86_64
- enjarify
ExclusiveArch: %{java_arches} noarch
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt6_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- esmi_ib_library
ExclusiveArch: x86_64
- eth-tools
ExclusiveArch: x86_64
- exec-maven-plugin
ExclusiveArch: %{java_arches} noarch
- external-editor-revived
ExclusiveArch: %{rust_arches}
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- filedrop
ExclusiveArch: %{java_arches} noarch
- firecracker
ExclusiveArch: aarch64 x86_64
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le
- flexmark-java
ExclusiveArch: noarch %{java_arches}
- flocq
ExclusiveArch: %{ocaml_native_compiler}
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- folly
ExclusiveArch: x86_64 aarch64 ppc64le
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frama-c
ExclusiveArch: %{ocaml_native_compiler}
- freecol
ExclusiveArch: %{java_arches} noarch
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fuse-overlayfs
ExclusiveArch: %{arm64} ppc64le s390x x86_64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gap
ExclusiveArch: %{gap_arches}
- gap-pkg-ace
ExclusiveArch: %{gap_arches}
- gap-pkg-aclib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-alnuth
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-atlasrep
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autodoc
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-automata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autpgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-browse
ExclusiveArch: %{gap_arches}
- gap-pkg-caratinterface
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-circle
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-cohomolo
ExclusiveArch: %{gap_arches}
- gap-pkg-congruence
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-corelg
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crime
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crisp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crypting
ExclusiveArch: %{gap_arches}
- gap-pkg-cryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crystcat
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ctbllib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-curlinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-cvec
ExclusiveArch: %{gap_arches}
- gap-pkg-datastructures
ExclusiveArch: %{gap_arches}
- gap-pkg-design
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-digraphs
ExclusiveArch: %{gap_arches}
- gap-pkg-edim
ExclusiveArch: %{gap_arches}
- gap-pkg-factint
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ferret
ExclusiveArch: %{gap_arches}
- gap-pkg-fga
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fining
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-float
ExclusiveArch: %{gap_arches}
- gap-pkg-format
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-forms
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fr
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-francy
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-gbnp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-genss
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grape
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-groupoids
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grpconst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-guava
ExclusiveArch: %{gap_arches}
- gap-pkg-hap
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hapcryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hecke
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-images
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-io
ExclusiveArch: %{gap_arches}
- gap-pkg-irredsol
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-json
ExclusiveArch: %{gap_arches}
- gap-pkg-jupyterkernel
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-jupyterviz
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-laguna
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liealgdb
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liepring
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liering
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-loops
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-lpres
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-mapclass
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-nautytracesinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-nq
ExclusiveArch: %{gap_arches}
- gap-pkg-openmath
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-orb
ExclusiveArch: %{gap_arches}
- gap-pkg-polenta
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polycyclic
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polymaking
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-primgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-profiling
ExclusiveArch: %{gap_arches}
- gap-pkg-qpa
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-quagroup
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-radiroot
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-recog
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-repsn
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-resclasses
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-scscp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-semigroups
ExclusiveArch: %{gap_arches}
- gap-pkg-singular
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sla
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallsemi
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sonata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sophus
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-spinsym
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-standardff
ExclusiveArch: %{gap_arches}
- gap-pkg-tomlib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-toric
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-transgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-utils
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-uuid
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-xmod
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-zeromqinterface
ExclusiveArch: %{gap_arches}
- gappalib-coq
ExclusiveArch: %{ocaml_native_compiler}
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_arches}
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guice
ExclusiveArch: %{java_arches} noarch
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- gvisor-tap-vsock
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64
- hawtjni
ExclusiveArch: %{java_arches} noarch
- hedgewars
ExclusiveArch: %{fpc_arches}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- hipblas
ExclusiveArch: x86_64
- hipcub
ExclusiveArch: x86_64
- hipify
ExclusiveArch: x86_64
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- icedtea-web
ExclusiveArch: %{java_arches}
- icu4j
ExclusiveArch: %{java_arches} noarch
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cm-compiler
ExclusiveArch: i686 x86_64
- intel-cmt-cat
ExclusiveArch: x86_64
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jackson-annotations
ExclusiveArch: %{java_arches} noarch
- jackson-bom
ExclusiveArch: %{java_arches} noarch
- jackson-core
ExclusiveArch: %{java_arches} noarch
- jackson-databind
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-binary
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-text
ExclusiveArch: %{java_arches} noarch
- jackson-jaxrs-providers
ExclusiveArch: %{java_arches} noarch
- jackson-modules-base
ExclusiveArch: %{java_arches} noarch
- jackson-parent
ExclusiveArch: %{java_arches} noarch
- jacoco
ExclusiveArch: %{java_arches} noarch
- jacop
ExclusiveArch: %{java_arches} noarch
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-activation1
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-el
ExclusiveArch: %{java_arches} noarch
- jakarta-interceptors
ExclusiveArch: %{java_arches} noarch
- jakarta-json
ExclusiveArch: %{java_arches} noarch
- jakarta-mail
ExclusiveArch: %{java_arches} noarch
- jakarta-mail1
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-saaj
ExclusiveArch: %{java_arches} noarch
- jakarta-server-pages
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- jakarta-xml-ws
ExclusiveArch: %{java_arches} noarch
- janino
ExclusiveArch: %{java_arches} noarch
- jansi
ExclusiveArch: %{java_arches}
- jansi-native
ExclusiveArch: %{java_arches}
- jansi1
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk
ExclusiveArch: %{java_arches}
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java-1.8.0-openjdk-portable
ExclusiveArch: %{java_arches}
- java-11-openjdk
ExclusiveArch: %{java_arches}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
- java-17-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
- java-diff-utils
ExclusiveArch: %{java_arches} noarch
- java-dirq
ExclusiveArch: %{java_arches} noarch
- java-jd-decompiler
ExclusiveArch: %{java_arches} noarch
- java-latest-openjdk
ExclusiveArch: %{java_arches}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
- java-runtime-decompiler
ExclusiveArch: %{java_arches} noarch
- java-scrypt
ExclusiveArch: %{java_arches} noarch
- java_cup
ExclusiveArch: %{java_arches} noarch
- javacc
ExclusiveArch: %{java_arches} noarch
- javacc-maven-plugin
ExclusiveArch: %{java_arches} noarch
- javaewah
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches}
- javaparser
ExclusiveArch: %{java_arches} noarch
- javapoet
ExclusiveArch: %{java_arches} noarch
- javassist
ExclusiveArch: %{java_arches} noarch
- jaxb
ExclusiveArch: %{java_arches} noarch
- jaxb-api
ExclusiveArch: %{java_arches} noarch
- jaxb-api2
ExclusiveArch: %{java_arches} noarch
- jaxb-dtd-parser
ExclusiveArch: %{java_arches} noarch
- jaxb-fi
ExclusiveArch: %{java_arches} noarch
- jaxb-istack-commons
ExclusiveArch: %{java_arches} noarch
- jaxb-stax-ex
ExclusiveArch: %{java_arches} noarch
- jaxen
ExclusiveArch: %{java_arches} noarch
- jboss-jaxrs-2.0-api
ExclusiveArch: %{java_arches} noarch
- jboss-logging
ExclusiveArch: %{java_arches} noarch
- jboss-logging-tools
ExclusiveArch: %{java_arches} noarch
- jboss-parent
ExclusiveArch: %{java_arches} noarch
- jchardet
ExclusiveArch: %{java_arches} noarch
- jcip-annotations
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jcuber
ExclusiveArch: %{java_arches} noarch
- jdeparser
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdependency
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jedit
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetbrains-annotations
ExclusiveArch: noarch %{java_arches}
- jetty
ExclusiveArch: %{java_arches} noarch
- jflex
ExclusiveArch: %{java_arches} noarch
- jfreechart
ExclusiveArch: %{java_arches} noarch
- jgit
ExclusiveArch: %{java_arches} noarch
- jglobus
ExclusiveArch: %{java_arches} noarch
- jgoodies-common
ExclusiveArch: %{java_arches} noarch
- jgoodies-forms
ExclusiveArch: %{java_arches} noarch
- jgoodies-looks
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jline
ExclusiveArch: %{java_arches}
- jline2
ExclusiveArch: %{java_arches} noarch
- jmock
ExclusiveArch: %{java_arches} noarch
- jmol
ExclusiveArch: %{java_arches} noarch
- jna
ExclusiveArch: %{java_arches}
- jneuroml-core
ExclusiveArch: %{java_arches} noarch
- jni-inchi
ExclusiveArch: %{java_arches}
- jol
ExclusiveArch: %{java_arches} noarch
- jolokia-jvm-agent
ExclusiveArch: %{java_arches} noarch
- jopt-simple
ExclusiveArch: %{java_arches} noarch
- jorbis
ExclusiveArch: %{java_arches} noarch
- jowl
ExclusiveArch: %{nodejs_arches} noarch
- jpanoramamaker
ExclusiveArch: %{java_arches} noarch
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsoup
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jss
ExclusiveArch: %{java_arches}
- jssc
ExclusiveArch: %{java_arches}
- jtidy
ExclusiveArch: %{java_arches} noarch
- julia
ExclusiveArch: x86_64
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
ExclusiveArch: %{java_arches} noarch
- juniversalchardet
ExclusiveArch: %{java_arches} noarch
- jzlib
ExclusiveArch: %{java_arches} noarch
- kaidan
ExclusiveArch: %{qt5_qtwebengine_arches}
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kernel
ExclusiveArch: noarch x86_64 s390x aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: x86_64 aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- ldc1.32
ExclusiveArch: %{ldc_arches} ppc64le
- libbase
ExclusiveArch: %{java_arches} noarch
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64 ppc64le
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libloader
ExclusiveArch: %{java_arches} noarch
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunicode
ExclusiveArch: x86_64 aarch64
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-nvidia-driver
ExclusiveArch: %{x86_64} %{ix86} %{arm64} ppc64le
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- lucene
ExclusiveArch: %{java_arches} noarch
- lujavrite
ExclusiveArch: %{java_arches}
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- magicmirror
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-airnow
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-onthisday
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-singlestock
ExclusiveArch: %{nodejs_arches} noarch
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matrix-synapse
ExclusiveArch: %{rust_arches}
- maui-mauikit
ExclusiveArch: %{ix86} s390x aarch64 x86_64
- maven
ExclusiveArch: %{java_arches} noarch
- maven-antrun-plugin
ExclusiveArch: %{java_arches} noarch
- maven-archetype
ExclusiveArch: %{java_arches} noarch
- maven-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-plugin
ExclusiveArch: %{java_arches} noarch
- maven-bundle-plugin
ExclusiveArch: %{java_arches} noarch
- maven-clean-plugin
ExclusiveArch: %{java_arches} noarch
- maven-common-artifact-filters
ExclusiveArch: %{java_arches} noarch
- maven-compiler-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-analyzer
ExclusiveArch: %{java_arches} noarch
- maven-dependency-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-tree
ExclusiveArch: %{java_arches} noarch
- maven-doxia
ExclusiveArch: %{java_arches} noarch
- maven-doxia-sitetools
ExclusiveArch: %{java_arches} noarch
- maven-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-invoker
ExclusiveArch: %{java_arches} noarch
- maven-invoker-plugin
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-mapping
ExclusiveArch: %{java_arches} noarch
- maven-native
ExclusiveArch: %{java_arches} noarch
- maven-parent
ExclusiveArch: %{java_arches} noarch
- maven-patch-plugin
ExclusiveArch: %{java_arches} noarch
- maven-plugin-testing
ExclusiveArch: %{java_arches} noarch
- maven-plugin-tools
ExclusiveArch: %{java_arches} noarch
- maven-remote-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-reporting-api
ExclusiveArch: %{java_arches} noarch
- maven-reporting-impl
ExclusiveArch: %{java_arches} noarch
- maven-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-script-interpreter
ExclusiveArch: %{java_arches} noarch
- maven-shade-plugin
ExclusiveArch: %{java_arches} noarch
- maven-shared-incremental
ExclusiveArch: %{java_arches} noarch
- maven-shared-io
ExclusiveArch: %{java_arches} noarch
- maven-shared-utils
ExclusiveArch: %{java_arches} noarch
- maven-source-plugin
ExclusiveArch: %{java_arches} noarch
- maven-surefire
ExclusiveArch: %{java_arches} noarch
- maven-verifier
ExclusiveArch: %{java_arches} noarch
- maven-verifier-plugin
ExclusiveArch: %{java_arches} noarch
- maven-wagon
ExclusiveArch: %{java_arches} noarch
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcrouter
ExclusiveArch: x86_64 aarch64 ppc64le
- mecab-java
ExclusiveArch: %java_arches
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: x86_64 %{ix86}
- merkuro
ExclusiveArch: %{qt5_qtwebengine_arches}
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64 riscv64
- miglayout
ExclusiveArch: %{java_arches} noarch
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- moditect
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- modulemaker-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mojo-executor
ExclusiveArch: %{java_arches} noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- msv
ExclusiveArch: %{java_arches} noarch
- mvfst
ExclusiveArch: x86_64 aarch64 ppc64le
- mxparser
ExclusiveArch: %{java_arches} noarch
- mysql-connector-java
ExclusiveArch: %{java_arches} noarch
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- naga
ExclusiveArch: %{java_arches} noarch
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- netavark
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cjs-module-lexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-undici
ExclusiveArch: %{nodejs_arches} noarch
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nodejs20
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
ExclusiveArch: %{golang_arches_future}
- oidn
ExclusiveArch: x86_64
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- oneapi-level-zero
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- ongres-scram
ExclusiveArch: %{java_arches} noarch
- ongres-stringprep
ExclusiveArch: %{java_arches} noarch
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjdk-asmtools
ExclusiveArch: %{java_arches} noarch
- openjdk-asmtools7
ExclusiveArch: %{java_arches} noarch
- openjfx
ExclusiveArch: %{java_arches}
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
- openni
ExclusiveArch: x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openoffice.org-diafilter
ExclusiveArch: %{java_arches}
- openpgl
ExclusiveArch: aarch64 x86_64
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- openvkl
ExclusiveArch: aarch64 x86_64
- optee_client
ExclusiveArch: aarch64
- optee_os
ExclusiveArch: aarch64
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- picocli
ExclusiveArch: %{java_arches} noarch
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-build-api0
ExclusiveArch: %{java_arches} noarch
- plexus-cipher
ExclusiveArch: %{java_arches} noarch
- plexus-classworlds
ExclusiveArch: %{java_arches} noarch
- plexus-compiler
ExclusiveArch: %{java_arches} noarch
- plexus-component-api
ExclusiveArch: %{java_arches} noarch
- plexus-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
ExclusiveArch: %{java_arches} noarch
- plexus-i18n
ExclusiveArch: %{java_arches} noarch
- plexus-interpolation
ExclusiveArch: %{java_arches} noarch
- plexus-io
ExclusiveArch: %{java_arches} noarch
- plexus-languages
ExclusiveArch: %{java_arches} noarch
- plexus-pom
ExclusiveArch: %{java_arches} noarch
- plexus-resources
ExclusiveArch: %{java_arches} noarch
- plexus-sec-dispatcher
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- podman
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- powerpc-utils
ExclusiveArch: ppc %{power64}
- powerstat
ExclusiveArch: %{ix86} x86_64
- ppc64-diag
ExclusiveArch: ppc %{power64}
- procyon
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- proguard
ExclusiveArch: %{java_arches} noarch
- prometheus-jmx-exporter
ExclusiveArch: %{java_arches} noarch
- prometheus-simpleclient-java
ExclusiveArch: %{java_arches} noarch
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- pveclib
ExclusiveArch: ppc %{power64}
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ast-monitor
ExclusiveArch: %{qt6_qtwebengine_arches} noarch
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-damo
ExclusiveArch: x86_64 aarch64 ppc64le s390x noarch
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jnius
ExclusiveArch: %{java_arches}
- python-jupyter-polymake
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pyahocorasick
ExclusiveArch: x86_64 %{arm64} ppc64le
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-pyqt6-webengine
ExclusiveArch: aarch64 x86_64
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatengine
ExclusiveArch: x86_64
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdox
ExclusiveArch: %{java_arches} noarch
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt6-qtwebengine
ExclusiveArch: aarch64 x86_64
- qt6-qtwebview
ExclusiveArch: aarch64 x86_64
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
- rachota
ExclusiveArch: %{java_arches} noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- relaxng-datatype-java
ExclusiveArch: %{java_arches} noarch
- replacer
ExclusiveArch: %{java_arches} noarch
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- resteasy
ExclusiveArch: %{java_arches} noarch
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- retsnoop
ExclusiveArch: %{rust_arches}
- rhino
ExclusiveArch: %{java_arches} noarch
- river
ExclusiveArch: %{zig_arches}
- rkcommon
ExclusiveArch: x86_64 aarch64
- rocalution
ExclusiveArch: x86_64
- rocblas
ExclusiveArch: x86_64
- rocclr
ExclusiveArch: x86_64
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-rpm-macros
ExclusiveArch: x86_64
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-smi
ExclusiveArch: x86_64 aarch64 ppc64le
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rocprim
ExclusiveArch: x86_64
- rocrand
ExclusiveArch: x86_64
- rocsparse
ExclusiveArch: x86_64
- rocthrust
ExclusiveArch: x86_64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt6_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{golang_arches_future}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-epoll
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-image0.23
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder0.1
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-msru
ExclusiveArch: x86_64
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-snphost
ExclusiveArch: x86_64
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-tiff0.6
ExclusiveArch: %{rust_arches}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-uucore
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- rutabaga-gfx-ffi
ExclusiveArch: x86_64 aarch64
- sac
ExclusiveArch: %{java_arches} noarch
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sat4j
ExclusiveArch: %{java_arches} noarch
- sbcl
ExclusiveArch: %{ix86} x86_64 aarch64 %{power64}
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sblim-cim-client
ExclusiveArch: %{java_arches} noarch
- sblim-cim-client2
ExclusiveArch: %{java_arches} noarch
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- scala
ExclusiveArch: %{java_arches} noarch
- scannotation
ExclusiveArch: %{java_arches} noarch
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- sdubby
ExclusiveArch: %{efi}
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- sequence-library
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- shaman
ExclusiveArch: %{java_arches} noarch
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigil
ExclusiveArch: %{qt5_qtwebengine_arches}
- sigul
ExclusiveArch: x86_64
- singularity-ce
ExclusiveArch: %{go_arches}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slirp4netns
ExclusiveArch: %{golang_arches_future}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soup-sharp
ExclusiveArch: %{mono_arches}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- spyder
ExclusiveArch: %{qt5_qtwebengine_arches}
- sqljet
ExclusiveArch: %{java_arches} noarch
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- stats-collect
ExclusiveArch: %{ix86} x86_64 noarch
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
- string-template-maven-plugin
ExclusiveArch: %{java_arches} noarch
- stringtemplate
ExclusiveArch: %{java_arches} noarch
- stringtemplate4
ExclusiveArch: %{java_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- subscription-manager-cockpit
ExclusiveArch: %{nodejs_arches} noarch
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svnkit
ExclusiveArch: %{java_arches} noarch
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swiftlint
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- system-rules
ExclusiveArch: %{java_arches} noarch
- systemd-boot
ExclusiveArch: %efi
- t-digest
ExclusiveArch: %{java_arches} noarch
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tagsoup
ExclusiveArch: %{java_arches} noarch
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- tomcatjss
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- truth
ExclusiveArch: %{java_arches} noarch
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- umr
ExclusiveArch: x86_64 aarch64 ppc64le
- unetbootin
ExclusiveArch: %{ix86} x86_64
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: aarch64 x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- vakzination
ExclusiveArch: %{java_arches}
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- why3
ExclusiveArch: %{ocaml_native_compiler}
- widevine-installer
ExclusiveArch: aarch64
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- ws-commons-util
ExclusiveArch: %{java_arches} noarch
- wsdl4j
ExclusiveArch: %{java_arches} noarch
- wult
ExclusiveArch: x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- x86-simd-sort
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: x86_64 aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xgap
ExclusiveArch: %{gap_arches}
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xml-maven-plugin
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlgraphics-commons
ExclusiveArch: %{java_arches} noarch
- xmlpull
ExclusiveArch: %{java_arches} noarch
- xmlstreambuffer
ExclusiveArch: %{java_arches} noarch
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xmvn-generator
ExclusiveArch: %{java_arches}
- xnnpack
ExclusiveArch: x86_64 aarch64
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- xstream
ExclusiveArch: %{java_arches} noarch
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: aarch64 x86_64
- zenon
ExclusiveArch: %{ocaml_native_compiler}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
6 months, 1 week
Architecture specific change in rpms/phd2.git
by githook-noreply@fedoraproject.org
The package rpms/phd2.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/phd2.git/commit/?id=e04b7fe386f77....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 1a2a1d93c3c68ac1ca9aa88b7a3851ed056838d2
Author: Mattia Verga <mattia.verga(a)proton.me>
Date: Thu Nov 23 19:10:43 2023 +0100
Update to stable 2.6.12 (fedora#2250966)
diff --git a/.gitignore b/.gitignore
index ab81096..f1a8b19 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/phd2-2.6.10-purged.tar.xz
/phd2-2.6.11-purged.tar.xz
/phd2-a205f63238c8505cf641057d8d82734e51f9ab15-purged.tar.xz
+/phd2-2.6.12-purged.tar.xz
diff --git a/phd2.spec b/phd2.spec
index 6c842a8..bf04914 100644
--- a/phd2.spec
+++ b/phd2.spec
@@ -1,11 +1,11 @@
-#%%global gittag v2.6.11
-%global commit a205f63238c8505cf641057d8d82734e51f9ab15
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20230212
+%global gittag v2.6.12
+#%%global commit a205f63238c8505cf641057d8d82734e51f9ab15
+#%%global shortcommit %%(c=%%{commit}; echo ${c:0:7})
+#%%global date 20230212
Name: phd2
%if "%{?gittag}"
-Version: 2.6.11
+Version: 2.6.12
%else
Version: 2.6.11^dev4^%{date}%{shortcommit}
%endif
diff --git a/sources b/sources
index 7861c66..961442d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (phd2-a205f63238c8505cf641057d8d82734e51f9ab15-purged.tar.xz) = 383fbed8f7770693e27b98210ad83baced7a24328f965bb3c4c2dd7a8eb0742496a086c418d2b38ea54e9b1882abd9e667978ff6ddddacd8c853e99337ea5d13
+SHA512 (phd2-2.6.12-purged.tar.xz) = c9855abcedec4522b9f259338f6c60f3d28264e2f5b0ca152e6669b2aa374a1d200b65ae97f8d62bbf71bb96c54e40cffeabbe73210617994a06baef54828699
commit bdc618a26e315506cbcaf2990feac56bac0e7721
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jul 21 03:59:31 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit e04b7fe386f77bcff3e3bc796558d4d2a19098b9
Author: Mattia Verga <mattia.verga(a)proton.me>
Date: Wed Feb 15 10:18:42 2023 +0100
Stop building on ix86
diff --git a/phd2.spec b/phd2.spec
index 92bf91b..6c842a8 100644
--- a/phd2.spec
+++ b/phd2.spec
@@ -30,6 +30,9 @@ Source1: generate-tarball.sh
# Do not force c++ std
Patch99: phd2_2.9.10_std_cflags.patch
+# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+ExcludeArch: %{ix86}
+
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: dos2unix
6 months, 1 week
Architecture specific change in rpms/libreoffice.git
by githook-noreply@fedoraproject.org
The package rpms/libreoffice.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/libreoffice.git/commit/?id=f6147e....
Change:
+%ifarch aarch64 s390x ppc64le
Thanks.
Full change:
============
commit 4d5b9e4cdd148cf6532c0856391fafd4b41184ef
Author: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Wed Nov 15 12:15:49 2023 -0600
libcmis rebuild.
commit fcd0061f35ce420a8aaf05dc9d4b8718d5453132
Author: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Tue Nov 14 08:12:38 2023 -0600
libcmis rebuild
diff --git a/0001-Revert-tdf-101630-gdrive-support-w-oAuth-and-Drive-A.patch b/0001-Revert-tdf-101630-gdrive-support-w-oAuth-and-Drive-A.patch
deleted file mode 100644
index 6e8c641..0000000
--- a/0001-Revert-tdf-101630-gdrive-support-w-oAuth-and-Drive-A.patch
+++ /dev/null
@@ -1,1250 +0,0 @@
-From 2bf7bb98f7ed854ea382ab8340baad797787d984 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm(a)redhat.com>
-Date: Sat, 14 Aug 2021 21:43:19 +0100
-Subject: [PATCH] Revert "tdf#101630 - gdrive support w/oAuth and Drive API v3"
-
-This reverts commit b8b66a26f8f519a30b8e6b860a9247a8ffbb71cc.
----
- config_host/config_oauth2.h.in | 8 +-
- external/libcmis/UnpackedTarball_libcmis.mk | 2 -
- external/libcmis/libcmis_gdrive.patch.1 | 702 ------------------
- .../libcmis_oauth_pw_as_refreshtoken.patch.1 | 185 -----
- .../data/org/openoffice/Office/Common.xcu | 2 +-
- ucb/source/ucp/cmis/auth_provider.cxx | 130 +---
- ucb/source/ucp/cmis/auth_provider.hxx | 8 +-
- ucb/source/ucp/cmis/cmis_content.cxx | 23 +-
- ucb/source/ucp/cmis/cmis_repo_content.cxx | 4 +-
- 9 files changed, 55 insertions(+), 1009 deletions(-)
- delete mode 100644 external/libcmis/libcmis_gdrive.patch.1
- delete mode 100644 external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1
-
-diff --git a/config_host/config_oauth2.h.in b/config_host/config_oauth2.h.in
-index 9945dda3dda5..a95015b41f3e 100644
---- a/config_host/config_oauth2.h.in
-+++ b/config_host/config_oauth2.h.in
-@@ -15,13 +15,13 @@
-
-
- /* Google Drive settings */
--#define GDRIVE_BASE_URL "https://www.googleapis.com/drive/v3"
-+#define GDRIVE_BASE_URL "https://www.googleapis.com/drive/v2"
- #define GDRIVE_CLIENT_ID ""
- #define GDRIVE_CLIENT_SECRET ""
--#define GDRIVE_AUTH_URL "https://accounts.google.com/o/oauth2/v2/auth"
--#define GDRIVE_TOKEN_URL "https://oauth2.googleapis.com/token"
-+#define GDRIVE_AUTH_URL "https://accounts.google.com/o/oauth2/auth"
-+#define GDRIVE_TOKEN_URL "https://accounts.google.com/o/oauth2/token"
- #define GDRIVE_REDIRECT_URI "urn:ietf:wg:oauth:2.0:oob"
--#define GDRIVE_SCOPE "https://www.googleapis.com/auth/drive.file"
-+#define GDRIVE_SCOPE "https://www.googleapis.com/auth/drive"
-
-
- /* Alfresco Cloud */
-diff --git a/external/libcmis/UnpackedTarball_libcmis.mk b/external/libcmis/UnpackedTarball_libcmis.mk
-index f48201d319d0..64d4af395f44 100644
---- a/external/libcmis/UnpackedTarball_libcmis.mk
-+++ b/external/libcmis/UnpackedTarball_libcmis.mk
-@@ -17,8 +17,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libcmis, \
- external/libcmis/libcmis-libxml2_compatibility.patch \
- external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch \
- external/libcmis/libcmis_onedrive.patch \
-- external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1 \
-- external/libcmis/libcmis_gdrive.patch.1 \
- external/libcmis/libcmis-boost-string.patch \
- ))
-
-diff --git a/external/libcmis/libcmis_gdrive.patch.1 b/external/libcmis/libcmis_gdrive.patch.1
-deleted file mode 100644
-index 24ff65d1ef15..000000000000
---- a/external/libcmis/libcmis_gdrive.patch.1
-+++ /dev/null
-@@ -1,702 +0,0 @@
--diff -ur libcmis.org/src/libcmis/gdrive-document.cxx libcmis/src/libcmis/gdrive-document.cxx
----- libcmis.org/src/libcmis/gdrive-document.cxx 2021-07-27 19:11:02.679247008 +0200
--+++ libcmis/src/libcmis/gdrive-document.cxx 2021-07-27 19:11:18.873246420 +0200
--@@ -145,23 +145,17 @@
-- {
-- if ( !os.get( ) )
-- throw libcmis::Exception( "Missing stream" );
--- if ( !isImmutable( ) )
--- throw libcmis::Exception( string ( "Document " + getId( )+
--- " is not editable" ) );
--- string putUrl = getUploadUrl( ) + getId( );
--- putUrl += "?uploadType=media";
---
--- // If it's a Google document, convert it
--- if ( isGoogleDoc( ) )
--- putUrl += "&convert=true";
--+
--+ string putUrl = GDRIVE_UPLOAD_LINK + getId( ) + "?uploadType=media";
--
-- // Upload stream
-- boost::shared_ptr< istream> is ( new istream ( os->rdbuf( ) ) );
-- vector <string> headers;
-- headers.push_back( string( "Content-Type: " ) + contentType );
--+ string res;
-- try
-- {
--- getSession()->httpPutRequest( putUrl, *is, headers );
--+ res = getSession()->httpPatchRequest( putUrl, *is, headers )->getStream()->str();
-- }
-- catch ( const CurlException& e )
-- {
--@@ -181,35 +175,10 @@
-- {
-- if ( !os.get( ) )
-- throw libcmis::Exception( "Missing stream" );
---
--- if ( !isImmutable( ) )
--- throw libcmis::Exception( string ( "Document " + getId( )+
--- " is not editable" ) );
--- string metaUrl = getUrl( );
---
--- // If it's a Google document, convert it
--- if ( isGoogleDoc( ) )
--- metaUrl += "?convert=true";
---
--- // Update file name meta information
--- if ( !fileName.empty( ) && fileName != getContentFilename( ) )
--- {
--- Json metaJson;
--- Json fileJson( fileName.c_str( ) );
--- metaJson.add("title", fileJson );
---
--- std::istringstream is( metaJson.toString( ) );
--- vector<string> headers;
--- headers.push_back( "Content-Type: application/json" );
--- try
--- {
--- getSession()->httpPutRequest( metaUrl, is, headers );
--- }
--- catch ( const CurlException& e )
--- {
--- throw e.getCmisException( );
--- }
--- }
--+
--+ // TODO: when would the filename need an update?
--+ if (!fileName.empty() && fileName != getContentFilename())
--+ std::cout << "filename change is not implemented in setContentStream" << std::endl;
--
-- // Upload stream
-- uploadStream( os, contentType );
--@@ -251,7 +220,7 @@
-- vector< libcmis::DocumentPtr > GDriveDocument::getAllVersions( )
-- {
-- vector< libcmis::DocumentPtr > revisions;
--- string versionUrl = getUrl( ) + "/revisions";
--+ string versionUrl = GDRIVE_METADATA_LINK + getId( ) + "/revisions";
-- // Run the http request to get the properties definition
-- string res;
-- try
--@@ -263,7 +232,7 @@
-- throw e.getCmisException( );
-- }
-- Json jsonRes = Json::parse( res );
--- Json::JsonVector objs = jsonRes["items"].getList( );
--+ Json::JsonVector objs = jsonRes["revisions"].getList( );
--
-- string parentId = getStringProperty( "cmis:parentId" );
--
--diff -ur libcmis.org/src/libcmis/gdrive-folder.cxx libcmis/src/libcmis/gdrive-folder.cxx
----- libcmis.org/src/libcmis/gdrive-folder.cxx 2021-07-27 19:11:02.678247008 +0200
--+++ libcmis/src/libcmis/gdrive-folder.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -62,8 +62,8 @@
-- // Instead of sending multiple queries for children,
-- // we send a single query to search for objects where parents
-- // include the folderID.
--- string query = getSession( )->getBindingUrl( ) +
--- "/files?q=\"" + getId( ) + "\"+in+parents+and+trashed+=+false";
--+ string query = GDRIVE_METADATA_LINK + "?q=\"" + getId( ) + "\"+in+parents+and+trashed+=+false" +
--+ "&fields=files(kind,id,name,parents,mimeType,createdTime,modifiedTime,thumbnailLink,size)";
--
-- string res;
-- try
--@@ -76,7 +76,7 @@
-- }
--
-- Json jsonRes = Json::parse( res );
--- Json::JsonVector objs = jsonRes["items"].getList( );
--+ Json::JsonVector objs = jsonRes["files"].getList( );
--
-- // Create children objects from Json objects
-- for(unsigned int i = 0; i < objs.size(); i++)
--@@ -95,7 +95,7 @@
-- string GDriveFolder::uploadProperties( Json properties )
-- {
-- // URL for uploading meta data
--- string metaUrl = getSession()->getBindingUrl() + "/files/";
--+ string metaUrl = GDRIVE_METADATA_LINK + "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime";
--
-- // add parents to the properties
-- properties.add( "parents", GdriveUtils::createJsonFromParentId( getId( ) ) );
--@@ -147,9 +147,15 @@
--
-- Json propsJson = GdriveUtils::toGdriveJson( properties );
--
--- // Add filename to properties
--- Json jsonFilename( fileName.c_str( ) );
--- propsJson.add( "title", jsonFilename );
--+ if(!fileName.empty()) {
--+ // use provided filename
--+ Json jsonFilename( fileName.c_str( ) );
--+
--+ propsJson.add( "name", jsonFilename );
--+ }
--+ if(!contentType.empty()) {
--+ propsJson.add( "mimeType", Json(contentType.c_str()));
--+ }
--
-- // Upload meta-datas
-- string res = uploadProperties( propsJson);
--@@ -171,12 +177,9 @@
-- libcmis::UnfileObjects::Type /*unfile*/,
-- bool /*continueOnError*/ )
-- {
--- // Object remove doesn't work with folder
--- // Using trash instead
-- try
-- {
--- istringstream is( "" );
--- getSession( )->httpPostRequest( getUrl( ) + "/trash", is, "" );
--+ getSession( )->httpDeleteRequest( GDRIVE_METADATA_LINK + getId( ) );
-- }
-- catch ( const CurlException& e )
-- {
--diff -ur libcmis.org/src/libcmis/gdrive-object.cxx libcmis/src/libcmis/gdrive-object.cxx
----- libcmis.org/src/libcmis/gdrive-object.cxx 2021-07-27 19:11:02.675247009 +0200
--+++ libcmis/src/libcmis/gdrive-object.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -89,8 +89,8 @@
-- property.reset( new GDriveProperty( it->first, it->second ) );
-- m_properties[ property->getPropertyType( )->getId()] = property;
--
--- // we map "title" to both "cmis:name" and "cmis:getContentStreamFileName"
--- if ( it->first == "title" )
--+ // we map "name" to both "cmis:name" and "cmis:getContentStreamFileName"
--+ if ( it->first == "name" )
-- {
-- property.reset( new GDriveProperty( "cmis:name", it->second) );
-- m_properties[ property->getPropertyType( )->getId()] = property;
--@@ -142,16 +142,13 @@
-- {
-- if ( m_renditions.empty( ) )
-- {
--- string downloadUrl = getStringProperty( "downloadUrl" );
--- if ( !downloadUrl.empty( ) )
--- {
--- string mimeType = getStringProperty( "cmis:contentStreamMimeType" );
--- if ( !mimeType.empty( ) )
--- {
--- RenditionPtr rendition(
--- new Rendition( mimeType, mimeType, mimeType, downloadUrl ));
--- m_renditions.push_back( rendition );
--- }
--+ string downloadUrl = GDRIVE_METADATA_LINK + getId( ) + "?alt=media";
--+ string mimeType = getStringProperty( "cmis:contentStreamMimeType" );
--+ if ( !mimeType.empty( ) )
--+ {
--+ RenditionPtr rendition(
--+ new Rendition( mimeType, mimeType, mimeType, downloadUrl ));
--+ m_renditions.push_back( rendition );
-- }
--
-- vector< string > exportLinks = getMultiStringProperty( "exportLinks" );
--@@ -192,7 +189,7 @@
-- {
-- vector< string > headers;
-- headers.push_back( "Content-Type: application/json" );
--- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
--+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
-- }
-- catch ( const CurlException& e )
-- {
--@@ -228,7 +225,7 @@
-- {
-- try
-- {
--- getSession( )->httpDeleteRequest( getUrl( ) );
--+ getSession( )->httpDeleteRequest( GDRIVE_METADATA_LINK + getId( ) );
-- }
-- catch ( const CurlException& e )
-- {
--@@ -239,8 +236,8 @@
-- void GDriveObject::move( FolderPtr /*source*/, FolderPtr destination )
-- {
-- Json parentsJson;
--- Json parentsValue = GdriveUtils::createJsonFromParentId( destination->getId( ) );
--- parentsJson.add( "parents", parentsValue );
--+ parentsJson.add( "addParents", Json(destination->getId( ).c_str()) );
--+ parentsJson.add( "removeParents", Json(getStringProperty( "cmis:parentId" ).c_str()) );
--
-- istringstream is( parentsJson.toString( ) );
-- libcmis::HttpResponsePtr response;
--@@ -248,7 +245,7 @@
-- {
-- vector< string > headers;
-- headers.push_back( "Content-Type: application/json" );
--- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
--+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
-- }
-- catch ( const CurlException& e )
-- {
--@@ -262,12 +259,10 @@
--
-- string GDriveObject::getUrl( )
-- {
--- return getSession( )->getBindingUrl( ) + "/files/" + getId( );
---}
---
---string GDriveObject::getUploadUrl( )
---{
--- return GDRIVE_UPLOAD_LINKS;
--+ // thumbnailLink causes some operations to fail with internal server error,
--+ // see https://issuetracker.google.com/issues/36760667
--+ return GDRIVE_METADATA_LINK + getId( ) +
--+ "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime,size";
-- }
--
-- vector< string> GDriveObject::getMultiStringProperty( const string& propertyName )
--diff -ur libcmis.org/src/libcmis/gdrive-repository.cxx libcmis/src/libcmis/gdrive-repository.cxx
----- libcmis.org/src/libcmis/gdrive-repository.cxx 2021-07-27 19:11:02.676247009 +0200
--+++ libcmis/src/libcmis/gdrive-repository.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -35,7 +35,7 @@
-- m_name = "Google Drive";
-- m_description = "Google Drive repository";
-- m_productName = "Google Drive";
--- m_productVersion = "v2";
--+ m_productVersion = "v3";
-- m_rootId = "root";
--
-- m_capabilities[ ACL ] = "discover";
--diff -ur libcmis.org/src/libcmis/gdrive-session.cxx libcmis/src/libcmis/gdrive-session.cxx
----- libcmis.org/src/libcmis/gdrive-session.cxx 2021-07-27 19:11:02.675247009 +0200
--+++ libcmis/src/libcmis/gdrive-session.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -124,9 +124,13 @@
--
-- libcmis::ObjectPtr GDriveSession::getObject( string objectId )
-- {
--+ if(objectId == "root") {
--+ return getRootFolder();
--+ }
-- // Run the http request to get the properties definition
-- string res;
--- string objectLink = m_bindingUrl + "/files/" + objectId;
--+ string objectLink = GDRIVE_METADATA_LINK + objectId +
--+ "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime,thumbnailLink,size";
-- try
-- {
-- res = httpGetRequest( objectLink )->getStream()->str();
--@@ -188,9 +192,10 @@
-- {
-- // Normal child case
-- // Ask for the ID of the child if there is any
--- string childIdUrl = m_bindingUrl + "/files/" + objectId +
--- "/children/?q=title+=+'" + segment +
--- "'&fields=items:id";
--+ // somewhat flawed as names are not necessarily unique in GDrive...
--+ string query = libcmis::escape("'" + objectId + "' in parents and trashed = false and name='" + segment + "'");
--+
--+ string childIdUrl = m_bindingUrl + "/files/?q=" + query + "&fields=files(id)";
--
-- string res;
-- try
--@@ -204,7 +209,7 @@
-- Json jsonRes = Json::parse( res );
--
-- // Did we get an id?
--- Json::JsonVector items = jsonRes["items"].getList();
--+ Json::JsonVector items = jsonRes["files"].getList();
-- if ( items.empty( ) )
-- throw libcmis::Exception( "Object not found: " + path, "objectNotFound" );
--
--@@ -219,6 +224,27 @@
-- return getObject( objectId );
-- }
--
--+libcmis::FolderPtr GDriveSession::getRootFolder()
--+{
--+ // permissions/scope with just drive.file don't allow to get it with the "root" alias/by its actual object-ID
--+ Json propsJson;
--+
--+ // GDrive folder is a file with a different mime type.
--+ string mimeType = GDRIVE_FOLDER_MIME_TYPE;
--+
--+ // Add mimetype to the propsJson
--+ Json jsonMimeType( mimeType.c_str( ) );
--+ propsJson.add( "mimeType", jsonMimeType );
--+ propsJson.add( "id", "root" );
--+
--+ // Upload meta-datas
--+ propsJson.add("cmis:name", "VirtualRoot");
--+
--+ libcmis::FolderPtr folderPtr( new GDriveFolder( this, propsJson ) );
--+
--+ return folderPtr;
--+}
--+
-- libcmis::ObjectTypePtr GDriveSession::getType( string id )
-- {
-- libcmis::ObjectTypePtr type( new GdriveObjectType( id ) );
--diff -ur libcmis.org/src/libcmis/gdrive-session.hxx libcmis/src/libcmis/gdrive-session.hxx
----- libcmis.org/src/libcmis/gdrive-session.hxx 2021-07-27 19:11:02.675247009 +0200
--+++ libcmis/src/libcmis/gdrive-session.hxx 2021-07-27 19:11:18.875246420 +0200
--@@ -57,6 +57,8 @@
--
-- virtual std::vector< libcmis::ObjectTypePtr > getBaseTypes( );
--
--+ virtual libcmis::FolderPtr getRootFolder();
--+
-- virtual std::string getRefreshToken();
--
-- private:
--diff -ur libcmis.org/src/libcmis/gdrive-utils.cxx libcmis/src/libcmis/gdrive-utils.cxx
----- libcmis.org/src/libcmis/gdrive-utils.cxx 2021-07-27 19:11:02.677247008 +0200
--+++ libcmis/src/libcmis/gdrive-utils.cxx 2021-07-27 19:11:18.875246420 +0200
--@@ -44,17 +44,17 @@
-- convertedKey = "cmis:createdBy";
-- else if ( key == "description" )
-- convertedKey = "cmis:description";
--- else if ( key == "createdDate" )
--+ else if ( key == "createdTime" )
-- convertedKey = "cmis:creationDate";
-- else if ( key == "lastModifyingUserName" )
-- convertedKey = "cmis:lastModifiedBy";
--- else if ( key == "modifiedDate" )
--+ else if ( key == "modifiedTime" )
-- convertedKey = "cmis:lastModificationDate";
--- else if ( key == "title" )
--+ else if ( key == "name" )
-- convertedKey = "cmis:contentStreamFileName";
-- else if ( key == "mimeType" )
-- convertedKey = "cmis:contentStreamMimeType";
--- else if ( key == "fileSize" )
--+ else if ( key == "size" )
-- convertedKey = "cmis:contentStreamLength";
-- else if ( key == "editable" )
-- convertedKey = "cmis:isImmutable";
--@@ -72,21 +72,21 @@
-- else if ( key == "cmis:createdBy" )
-- convertedKey = "ownerNames";
-- else if ( key == "cmis:creationDate" )
--- convertedKey = "createdDate";
--+ convertedKey = "createdTime";
-- else if ( key == "cmis:description" )
-- convertedKey = "description";
-- else if ( key == "cmis:lastModifiedBy" )
-- convertedKey = "lastModifyingUserName";
-- else if ( key == "cmis:lastModificationDate" )
--- convertedKey = "modifiedDate";
--+ convertedKey = "modifiedTime";
-- else if ( key == "cmis:contentStreamFileName" )
--- convertedKey = "title";
--+ convertedKey = "name";
-- else if ( key == "cmis:name" )
--- convertedKey = "title";
--+ convertedKey = "name";
-- else if ( key == "cmis:contentStreamMimeType" )
-- convertedKey = "mimeType";
-- else if ( key == "cmis:contentStreamLength" )
--- convertedKey = "fileSize";
--+ convertedKey = "size";
-- else if ( key == "cmis:isImmutable" )
-- convertedKey = "editable";
-- else if ( key == "cmis:parentId" )
--@@ -124,9 +124,9 @@
-- bool GdriveUtils::checkUpdatable( const string& key )
-- {
-- // taken from https://developers.google.com/drive/v2/reference/files
--- bool updatable = ( key == "title" ||
--+ bool updatable = ( key == "name" ||
-- key == "description" ||
--- key == "modifiedDate" ||
--+ key == "modifiedTime" ||
-- key == "lastViewedByMeDate" );
-- return updatable;
-- }
--@@ -143,18 +143,11 @@
--
-- Json GdriveUtils::createJsonFromParentId( const string& parentId )
-- {
--- Json parentValue( parentId.c_str( ) );
---
-- // parents is a Json array
-- Json firstParent;
--- firstParent.add( "id", parentValue );
---
--- Json::JsonVector parents;
--- parents.insert( parents.begin( ), firstParent );
--+ firstParent.add( Json( parentId.c_str() ) );
--
--- Json parentsValue( parents );
---
--- return parentsValue;
--+ return firstParent;
-- }
--
-- vector< string > GdriveUtils::parseGdriveProperty( string key, Json json )
--diff -ur libcmis.org/src/libcmis/gdrive-utils.hxx libcmis/src/libcmis/gdrive-utils.hxx
----- libcmis.org/src/libcmis/gdrive-utils.hxx 2021-07-27 19:11:02.677247008 +0200
--+++ libcmis/src/libcmis/gdrive-utils.hxx 2021-07-27 19:11:18.875246420 +0200
--@@ -35,7 +35,8 @@
-- #include "json-utils.hxx"
--
-- static const std::string GDRIVE_FOLDER_MIME_TYPE = "application/vnd.google-apps.folder" ;
---static const std::string GDRIVE_UPLOAD_LINKS = "https://www.googleapis.com/upload/drive/v2/files/";
--+static const std::string GDRIVE_UPLOAD_LINK = "https://www.googleapis.com/upload/drive/v3/files/";
--+static const std::string GDRIVE_METADATA_LINK = "https://www.googleapis.com/drive/v3/files/";
--
-- class GdriveUtils
-- {
--diff -ur libcmis.org/src/libcmis/oauth2-handler.cxx libcmis/src/libcmis/oauth2-handler.cxx
----- libcmis.org/src/libcmis/oauth2-handler.cxx 2021-07-27 19:11:02.676247009 +0200
--+++ libcmis/src/libcmis/oauth2-handler.cxx 2021-07-27 19:11:18.875246420 +0200
--@@ -92,8 +92,11 @@
-- "code=" + authCode +
-- "&client_id=" + m_data->getClientId() +
-- "&redirect_uri=" + m_data->getRedirectUri() +
--- "&scope=" + libcmis::escape( m_data->getScope() ) +
-- "&grant_type=authorization_code" ;
--+ if(boost::starts_with(m_data->getTokenUrl(), "https://oauth2.googleapis.com/"))
--+ post += "&client_secret=" + m_data->getClientSecret();
--+ else
--+ post += "&scope=" + libcmis::escape( m_data->getScope() );
--
-- istringstream is( post );
--
--@@ -104,7 +107,7 @@
-- resp = m_session->httpPostRequest ( m_data->getTokenUrl(), is,
-- "application/x-www-form-urlencoded" );
-- }
--- catch ( const CurlException& )
--+ catch ( const CurlException& e)
-- {
-- throw libcmis::Exception(
-- "Couldn't get tokens from the authorization code ");
--@@ -122,6 +125,8 @@
-- "refresh_token=" + m_refresh +
-- "&client_id=" + m_data->getClientId() +
-- "&grant_type=refresh_token" ;
--+ if(boost::starts_with(m_data->getTokenUrl(), "https://oauth2.googleapis.com/"))
--+ post += "&client_secret=" + m_data->getClientSecret();
--
-- istringstream is( post );
-- libcmis::HttpResponsePtr resp;
--@@ -130,7 +135,7 @@
-- resp = m_session->httpPostRequest( m_data->getTokenUrl( ), is,
-- "application/x-www-form-urlencoded" );
-- }
--- catch (const CurlException& )
--+ catch (const CurlException& e )
-- {
-- throw libcmis::Exception( "Couldn't refresh token ");
-- }
--diff -ur libcmis.org/src/libcmis/oauth2-providers.cxx libcmis/src/libcmis/oauth2-providers.cxx
----- libcmis.org/src/libcmis/oauth2-providers.cxx 2021-07-27 19:11:02.679247008 +0200
--+++ libcmis/src/libcmis/oauth2-providers.cxx 2021-07-27 19:11:18.886246420 +0200
--@@ -80,172 +80,8 @@
--
-- }
--
---string OAuth2Providers::OAuth2Gdrive( HttpSession* session, const string& authUrl,
--- const string& username, const string& password )
---{
--- /* This member function implements 'Google OAuth 2.0'
--- *
--- * The interaction is carried out by libcmis, with no web browser involved.
--- *
--- * Normal sequence (without 2FA) is:
--- * 1) a get to activate login page
--- * receive first login page, html format
--- * 2) subsequent post to sent email
--- * receive html page for password input
--- * 3) subsequent post to send password
--- * receive html page for application consent
--- * 4) subsequent post to send a consent for the application
--- * receive a single-use authorization code
--- * this code is returned as a string
--- *
--- * Sequence with 2FA is:
--- * 1) a get to activate login page
--- * receive first login page, html format
--- * 2) subsequent post to sent email
--- * receive html page for password input
--- * 3) subsequent post to send password
--- * receive html page for pin input
--- * 3b) subsequent post to send pin number
--- * receive html page for application consent
--- * 4) subsequent post to send a consent for the application
--- * receive a single-use authorization code
--- * this code is returned as a string
--- */
---
--- static const string CONTENT_TYPE( "application/x-www-form-urlencoded" );
--- // STEP 1: get login page
--- string res;
--- try
--- {
--- // send the first get, receive the html login page
--- res = session->httpGetRequest( authUrl )->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- // STEP 2: send email
---
--- string loginEmailPost, loginEmailLink;
--- if ( !parseResponse( res.c_str( ), loginEmailPost, loginEmailLink ) )
--- return string( );
---
--- loginEmailPost += "Email=";
--- loginEmailPost += escapeForm( username );
---
--- istringstream loginEmailIs( loginEmailPost );
--- string loginEmailRes;
--- try
--- {
--- // send a post with user email, receive the html page for password input
--- loginEmailRes = session->httpPostRequest ( loginEmailLink, loginEmailIs, CONTENT_TYPE )
--- ->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- // STEP 3: password page
---
--- string loginPasswdPost, loginPasswdLink;
--- if ( !parseResponse( loginEmailRes.c_str( ), loginPasswdPost, loginPasswdLink ) )
--- return string( );
---
--- loginPasswdPost += "Passwd=";
--- loginPasswdPost += escapeForm( password );
---
--- istringstream loginPasswdIs( loginPasswdPost );
--- string loginPasswdRes;
--- try
--- {
--- // send a post with user password, receive the application consent page
--- loginPasswdRes = session->httpPostRequest ( loginPasswdLink, loginPasswdIs, CONTENT_TYPE )
--- ->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- string approvalPost, approvalLink;
--- if ( !parseResponse( loginPasswdRes. c_str( ), approvalPost, approvalLink) )
--- return string( );
---
--- // when 2FA is enabled, link doesn't start with 'http'
--- if ( approvalLink.compare(0, 4, "http") != 0 )
--- {
--- // STEP 3b: 2 Factor Authentication, pin code request
---
--- string loginChallengePost( approvalPost );
--- string loginChallengeLink( approvalLink );
---
--- libcmis::OAuth2AuthCodeProvider fallbackProvider = libcmis::SessionFactory::getOAuth2AuthCodeProvider( );
--- unique_ptr< char, void (*)( void * ) > pin{ fallbackProvider( "", "", "" ), free };
---
--- if( !pin )
--- {
--- // unset OAuth2AuthCode Provider to avoid showing pin request again in the HttpSession::oauth2Authenticate
--- libcmis::SessionFactory::setOAuth2AuthCodeProvider( NULL );
--- return string( );
--- }
---
--- loginChallengeLink = "https://accounts.google.com" + loginChallengeLink;
--- loginChallengePost += string( PIN_INPUT_NAME ) + "=";
--- loginChallengePost += string( pin.get() );
---
--- istringstream loginChallengeIs( loginChallengePost );
--- string loginChallengeRes;
--- try
--- {
--- // send a post with pin, receive the application consent page
--- loginChallengeRes = session->httpPostRequest ( loginChallengeLink, loginChallengeIs, CONTENT_TYPE )
--- ->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- approvalPost = string();
--- approvalLink = string();
---
--- if ( !parseResponse( loginChallengeRes. c_str( ), approvalPost, approvalLink) )
--- return string( );
--- }
--- else if( approvalLink.compare( "https://accounts.google.com/ServiceLoginAuth" ) == 0 )
--- {
--- // wrong password,
--- // unset OAuth2AuthCode Provider to avoid showing pin request again in the HttpSession::oauth2Authenticate
--- libcmis::SessionFactory::setOAuth2AuthCodeProvider( NULL );
--- return string( );
--- }
---
--- // STEP 4: allow libcmis to access google drive
--- approvalPost += "submit_access=true";
---
--- istringstream approvalIs( approvalPost );
--- string approvalRes;
--- try
--- {
--- // send a post with application consent
--- approvalRes = session->httpPostRequest ( approvalLink, approvalIs,
--- CONTENT_TYPE) ->getStream( )->str( );
--- }
--- catch ( const CurlException& e )
--- {
--- throw e.getCmisException( );
--- }
---
--- // Take the authentication code from the text bar
--- string code = parseCode( approvalRes.c_str( ) );
---
--- return code;
---}
---
---string OAuth2Providers::OAuth2Onedrive( HttpSession* /*session*/, const string& /*authUrl*/,
--- const string& /*username*/, const string& /*password*/ )
--+string OAuth2Providers::OAuth2Dummy( HttpSession* /*session*/, const string& /*authUrl*/,
--+ const string& /*username*/, const string& /*password*/ )
-- {
-- return string( );
-- }
--@@ -314,12 +150,8 @@
-- // For Alfresco in the cloud, only match the hostname as there can be several
-- // binding URLs created with it.
-- return OAuth2Alfresco;
--- else if ( boost::starts_with( url, "https://www.googleapis.com/drive/v2" ) )
--- return OAuth2Gdrive;
--- else if ( boost::starts_with( url, "https://graph.microsoft.com/v1.0" ) )
--- return OAuth2Onedrive;
--
--- return OAuth2Gdrive;
--+ return OAuth2Dummy;
-- }
--
-- int OAuth2Providers::parseResponse ( const char* response, string& post, string& link )
--diff -ur libcmis.org/src/libcmis/oauth2-providers.hxx libcmis/src/libcmis/oauth2-providers.hxx
----- libcmis.org/src/libcmis/oauth2-providers.hxx 2021-07-27 19:11:02.678247008 +0200
--+++ libcmis/src/libcmis/oauth2-providers.hxx 2021-07-27 19:11:18.886246420 +0200
--@@ -39,12 +39,8 @@
-- class OAuth2Providers
-- {
-- public :
--- static std::string OAuth2Gdrive( HttpSession* session, const std::string& authUrl,
--+ static std::string OAuth2Dummy( HttpSession* session, const std::string& authUrl,
-- const std::string& username, const std::string& password );
---
--- static std::string OAuth2Onedrive( HttpSession* session, const std::string& authUrl,
--- const std::string& username, const std::string& password );
---
-- static std::string OAuth2Alfresco( HttpSession* session, const std::string& authUrl,
-- const std::string& username, const std::string& password );
--
--diff -ur libcmis.org/src/libcmis/session-factory.cxx libcmis/src/libcmis/session-factory.cxx
----- libcmis.org/src/libcmis/session-factory.cxx 2021-07-27 19:11:02.679247008 +0200
--+++ libcmis/src/libcmis/session-factory.cxx 2021-07-27 19:11:18.886246420 +0200
--@@ -66,7 +66,7 @@
-- if ( !bindingUrl.empty( ) )
-- {
-- // Try the special cases based on the binding URL
--- if ( bindingUrl == "https://www.googleapis.com/drive/v2" )
--+ if ( bindingUrl == "https://www.googleapis.com/drive/v3" )
-- {
-- session = new GDriveSession( bindingUrl, username, password,
-- oauth2, verbose );
-diff --git a/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1 b/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1
-deleted file mode 100644
-index a8cb06509421..000000000000
---- a/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1
-+++ /dev/null
-@@ -1,185 +0,0 @@
--diff -ur libcmis.org/inc/libcmis/session.hxx libcmis/inc/libcmis/session.hxx
----- libcmis.org/inc/libcmis/session.hxx 2021-07-27 19:09:42.580249917 +0200
--+++ libcmis/inc/libcmis/session.hxx 2021-07-27 19:10:02.368249199 +0200
--@@ -95,6 +95,8 @@
-- certificate exception feature available on common web browser.
-- */
-- virtual void setNoSSLCertificateCheck( bool noCheck ) = 0;
--+
--+ virtual std::string getRefreshToken() { return ""; };
-- };
-- }
--
--diff -ur libcmis.org/src/libcmis/gdrive-session.cxx libcmis/src/libcmis/gdrive-session.cxx
----- libcmis.org/src/libcmis/gdrive-session.cxx 2021-07-27 19:09:42.581249917 +0200
--+++ libcmis/src/libcmis/gdrive-session.cxx 2021-07-27 19:10:02.369249198 +0200
--@@ -70,6 +70,46 @@
-- {
-- }
--
--+
--+void GDriveSession::setOAuth2Data( libcmis::OAuth2DataPtr oauth2 )
--+{
--+ m_oauth2Handler = new OAuth2Handler( this, oauth2 );
--+ m_oauth2Handler->setOAuth2Parser( OAuth2Providers::getOAuth2Parser( getBindingUrl( ) ) );
--+
--+ oauth2Authenticate( );
--+}
--+
--+void GDriveSession::oauth2Authenticate()
--+{
--+ // treat the supplied password as refresh token
--+ if (!m_password.empty())
--+ {
--+ try
--+ {
--+ m_inOAuth2Authentication = true;
--+
--+ m_oauth2Handler->setRefreshToken(m_password);
--+ // Try to get new access tokens using the stored refreshtoken
--+ m_oauth2Handler->refresh();
--+ m_inOAuth2Authentication = false;
--+ }
--+ catch (const CurlException &e)
--+ {
--+ m_inOAuth2Authentication = false;
--+ // refresh token expired or invalid, trigger initial auth (that in turn will hit the fallback with copy'n'paste method)
--+ BaseSession::oauth2Authenticate();
--+ }
--+ }
--+ else
--+ {
--+ BaseSession::oauth2Authenticate();
--+ }
--+}
--+
--+string GDriveSession::getRefreshToken() {
--+ return HttpSession::getRefreshToken();
--+}
--+
-- libcmis::RepositoryPtr GDriveSession::getRepository( )
-- {
-- // Return a dummy repository since GDrive doesn't have that notion
--diff -ur libcmis.org/src/libcmis/gdrive-session.hxx libcmis/src/libcmis/gdrive-session.hxx
----- libcmis.org/src/libcmis/gdrive-session.hxx 2021-07-27 19:09:42.583249917 +0200
--+++ libcmis/src/libcmis/gdrive-session.hxx 2021-07-27 19:10:02.369249198 +0200
--@@ -57,8 +57,14 @@
--
-- virtual std::vector< libcmis::ObjectTypePtr > getBaseTypes( );
--
--+ virtual std::string getRefreshToken();
--+
-- private:
-- GDriveSession( );
--+
--+ virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
--+
--+ void oauth2Authenticate( );
-- };
--
-- #endif /* _GDRIVE_SESSION_HXX_ */
--diff -ur libcmis.org/src/libcmis/http-session.hxx libcmis/src/libcmis/http-session.hxx
----- libcmis.org/src/libcmis/http-session.hxx 2021-07-27 19:09:42.582249917 +0200
--+++ libcmis/src/libcmis/http-session.hxx 2021-07-27 19:10:02.369249198 +0200
--@@ -148,7 +148,7 @@
--
-- void setNoSSLCertificateCheck( bool noCheck );
--
--- std::string getRefreshToken( );
--+ virtual std::string getRefreshToken( );
--
-- protected:
-- HttpSession( );
--diff -ur libcmis.org/src/libcmis/oauth2-handler.cxx libcmis/src/libcmis/oauth2-handler.cxx
----- libcmis.org/src/libcmis/oauth2-handler.cxx 2021-07-27 19:09:42.582249917 +0200
--+++ libcmis/src/libcmis/oauth2-handler.cxx 2021-07-27 19:10:02.369249198 +0200
--@@ -158,6 +158,11 @@
-- return m_refresh;
-- }
--
--+void OAuth2Handler::setRefreshToken( string refreshToken )
--+{
--+ m_refresh = refreshToken;
--+}
--+
-- string OAuth2Handler::getHttpHeader( )
-- {
-- string header;
--diff -ur libcmis.org/src/libcmis/oauth2-handler.hxx libcmis/src/libcmis/oauth2-handler.hxx
----- libcmis.org/src/libcmis/oauth2-handler.hxx 2021-07-27 19:09:42.582249917 +0200
--+++ libcmis/src/libcmis/oauth2-handler.hxx 2021-07-27 19:10:02.370249198 +0200
--@@ -61,6 +61,7 @@
--
-- std::string getAccessToken( ) ;
-- std::string getRefreshToken( ) ;
--+ void setRefreshToken( std::string refreshToken ) ;
--
-- // adding HTTP auth header
-- std::string getHttpHeader( ) ;
--diff -ur libcmis.org/src/libcmis/onedrive-session.cxx libcmis/src/libcmis/onedrive-session.cxx
----- libcmis.org/src/libcmis/onedrive-session.cxx 2021-07-27 19:09:42.583249917 +0200
--+++ libcmis/src/libcmis/onedrive-session.cxx 2021-07-27 19:10:02.370249198 +0200
--@@ -68,6 +68,45 @@
-- {
-- }
--
--+void OneDriveSession::setOAuth2Data( libcmis::OAuth2DataPtr oauth2 )
--+{
--+ m_oauth2Handler = new OAuth2Handler( this, oauth2 );
--+ m_oauth2Handler->setOAuth2Parser( OAuth2Providers::getOAuth2Parser( getBindingUrl( ) ) );
--+
--+ oauth2Authenticate( );
--+}
--+
--+void OneDriveSession::oauth2Authenticate()
--+{
--+ // treat the supplied password as refresh token
--+ if (!m_password.empty())
--+ {
--+ try
--+ {
--+ m_inOAuth2Authentication = true;
--+
--+ m_oauth2Handler->setRefreshToken(m_password);
--+ // Try to get new access tokens using the stored refreshtoken
--+ m_oauth2Handler->refresh();
--+ m_inOAuth2Authentication = false;
--+ }
--+ catch (const CurlException &e)
--+ {
--+ m_inOAuth2Authentication = false;
--+ // refresh token expired or invalid, trigger initial auth (that in turn will hit the fallback with copy'n'paste method)
--+ BaseSession::oauth2Authenticate();
--+ }
--+ }
--+ else
--+ {
--+ BaseSession::oauth2Authenticate();
--+ }
--+}
--+
--+string OneDriveSession::getRefreshToken() {
--+ return HttpSession::getRefreshToken();
--+}
--+
-- libcmis::RepositoryPtr OneDriveSession::getRepository( )
-- {
-- // Return a dummy repository since OneDrive doesn't have that notion
--diff -ur libcmis.org/src/libcmis/onedrive-session.hxx libcmis/src/libcmis/onedrive-session.hxx
----- libcmis.org/src/libcmis/onedrive-session.hxx 2021-07-27 19:09:42.583249917 +0200
--+++ libcmis/src/libcmis/onedrive-session.hxx 2021-07-27 19:10:02.370249198 +0200
--@@ -62,8 +62,14 @@
--
-- bool isAPathMatch( Json objectJson, std::string path );
--
--+ virtual std::string getRefreshToken();
--+
-- private:
-- OneDriveSession( );
--+
--+ virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
--+
--+ void oauth2Authenticate( );
-- };
--
-- #endif /* _ONEDRIVE_SESSION_HXX_ */
-diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu
-index f543b6ebb3c9..24be0a7f2830 100644
---- a/officecfg/registry/data/org/openoffice/Office/Common.xcu
-+++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu
-@@ -434,7 +434,7 @@
- </prop>
- <prop oor:name="CmisServersUrls">
- <value>
-- <it>https://www.googleapis.com/drive/v3</it>
-+ <it>https://www.googleapis.com/drive/v2</it>
- <it>https://graph.microsoft.com/v1.0</it>
- <it>https://api.alfresco.com/cmis/versions/1.0/atom/</it>
- <it></it>
-diff --git a/ucb/source/ucp/cmis/auth_provider.cxx b/ucb/source/ucp/cmis/auth_provider.cxx
-index c3f99f5f3de5..0f5f45596adc 100644
---- a/ucb/source/ucp/cmis/auth_provider.cxx
-+++ b/ucb/source/ucp/cmis/auth_provider.cxx
-@@ -11,10 +11,7 @@
- #define STD_TO_OUSTR( str ) OUString( str.c_str(), str.length( ), RTL_TEXTENCODING_UTF8 )
-
- #include <com/sun/star/task/XInteractionHandler.hpp>
--#include <com/sun/star/task/PasswordContainer.hpp>
--#include <com/sun/star/task/XPasswordContainer2.hpp>
-
--#include <comphelper/processfactory.hxx>
- #include <ucbhelper/simpleauthenticationrequest.hxx>
- #include <ucbhelper/authenticationfallback.hxx>
-
-@@ -66,91 +63,6 @@ namespace cmis
- return false;
- }
-
-- std::string AuthProvider::getRefreshToken(std::string& rUsername)
-- {
-- std::string refreshToken;
-- const css::uno::Reference<css::ucb::XCommandEnvironment> xEnv = getXEnv();
-- if (xEnv.is())
-- {
-- uno::Reference<task::XInteractionHandler> xIH = xEnv->getInteractionHandler();
--
-- if (rUsername.empty())
-- {
-- rtl::Reference<ucbhelper::SimpleAuthenticationRequest> xRequest
-- = new ucbhelper::SimpleAuthenticationRequest(
-- m_sUrl, m_sBindingUrl,
-- ucbhelper::SimpleAuthenticationRequest::EntityType::ENTITY_NA, OUString(),
-- ucbhelper::SimpleAuthenticationRequest::EntityType::ENTITY_MODIFY,
-- STD_TO_OUSTR(rUsername),
-- ucbhelper::SimpleAuthenticationRequest::EntityType::ENTITY_NA, OUString());
-- xIH->handle(xRequest);
--
-- rtl::Reference<ucbhelper::InteractionContinuation> xSelection
-- = xRequest->getSelection();
--
-- if (xSelection.is())
-- {
-- // Handler handled the request.
-- uno::Reference<task::XInteractionAbort> xAbort(xSelection.get(),
-- uno::UNO_QUERY);
-- if (!xAbort.is())
-- {
-- const rtl::Reference<ucbhelper::InteractionSupplyAuthentication>& xSupp
-- = xRequest->getAuthenticationSupplier();
--
-- rUsername = OUSTR_TO_STDSTR(xSupp->getUserName());
-- }
-- }
-- }
--
-- uno::Reference<uno::XComponentContext> xContext
-- = ::comphelper::getProcessComponentContext();
-- uno::Reference<task::XPasswordContainer2> xMasterPasswd
-- = task::PasswordContainer::create(xContext);
-- if (xMasterPasswd->hasMasterPassword())
-- {
-- xMasterPasswd->authorizateWithMasterPassword(xIH);
-- }
-- if (xMasterPasswd->isPersistentStoringAllowed())
-- {
-- task::UrlRecord aRec
-- = xMasterPasswd->findForName(m_sBindingUrl, STD_TO_OUSTR(rUsername), xIH);
-- if (aRec.UserList.hasElements() && aRec.UserList[0].Passwords.hasElements())
-- refreshToken = OUSTR_TO_STDSTR(aRec.UserList[0].Passwords[0]);
-- }
-- }
-- return refreshToken;
-- }
--
-- bool AuthProvider::storeRefreshToken(const std::string& username, const std::string& password,
-- const std::string& refreshToken)
-- {
-- if (refreshToken.empty())
-- return false;
-- if (password == refreshToken)
-- return true;
-- const css::uno::Reference<css::ucb::XCommandEnvironment> xEnv = getXEnv();
-- if (xEnv.is())
-- {
-- uno::Reference<task::XInteractionHandler> xIH = xEnv->getInteractionHandler();
-- uno::Reference<uno::XComponentContext> xContext
-- = ::comphelper::getProcessComponentContext();
-- uno::Reference<task::XPasswordContainer2> xMasterPasswd
-- = task::PasswordContainer::create(xContext);
-- uno::Sequence<OUString> aPasswd{ STD_TO_OUSTR(refreshToken) };
-- if (xMasterPasswd->isPersistentStoringAllowed())
-- {
-- if (xMasterPasswd->hasMasterPassword())
-- {
-- xMasterPasswd->authorizateWithMasterPassword(xIH);
-- }
-- xMasterPasswd->addPersistent(m_sBindingUrl, STD_TO_OUSTR(username), aPasswd, xIH);
-- return true;
-- }
-- }
-- return false;
-- }
--
- css::uno::WeakReference< css::ucb::XCommandEnvironment> AuthProvider::sm_xEnv;
-
- void AuthProvider::setXEnv(const css::uno::Reference< css::ucb::XCommandEnvironment>& xEnv )
-@@ -163,7 +75,7 @@ namespace cmis
- return sm_xEnv;
- }
-
-- char* AuthProvider::copyWebAuthCodeFallback( const char* url,
-+ char* AuthProvider::onedriveAuthCodeFallback( const char* url,
- const char* /*username*/,
- const char* /*password*/ )
- {
-@@ -207,6 +119,46 @@ namespace cmis
-
- return strdup( "" );
- }
-+
-+ char* AuthProvider::gdriveAuthCodeFallback( const char* /*url*/,
-+ const char* /*username*/,
-+ const char* /*password*/ )
-+ {
-+ const css::uno::Reference<
-+ css::ucb::XCommandEnvironment> xEnv = getXEnv( );
-+
-+ if ( xEnv.is() )
-+ {
-+ uno::Reference< task::XInteractionHandler > xIH
-+ = xEnv->getInteractionHandler();
-+
-+ if ( xIH.is() )
-+ {
-+ rtl::Reference< ucbhelper::AuthenticationFallbackRequest > xRequest
-+ = new ucbhelper::AuthenticationFallbackRequest (
-+ "PIN:", "" );
-+
-+ xIH->handle( xRequest );
-+
-+ rtl::Reference< ucbhelper::InteractionContinuation > xSelection
-+ = xRequest->getSelection();
-+
-+ if ( xSelection.is() )
-+ {
-+ // Handler handled the request.
-+ const rtl::Reference< ucbhelper::InteractionAuthFallback >&
-+ xAuthFallback = xRequest->getAuthFallbackInter( );
-+ if ( xAuthFallback.is() )
-+ {
-+ OUString code = xAuthFallback->getCode( );
-+ return strdup( OUSTR_TO_STDSTR( code ).c_str( ) );
-+ }
-+ }
-+ }
-+ }
-+
-+ return strdup( "" );
-+ }
- }
-
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git a/ucb/source/ucp/cmis/auth_provider.hxx b/ucb/source/ucp/cmis/auth_provider.hxx
-index 9092f3c6bd25..d9864c45b230 100644
---- a/ucb/source/ucp/cmis/auth_provider.hxx
-+++ b/ucb/source/ucp/cmis/auth_provider.hxx
-@@ -38,11 +38,11 @@ namespace cmis
-
- bool authenticationQuery( std::string& username, std::string& password ) override;
-
-- std::string getRefreshToken( std::string& username );
-- bool storeRefreshToken(const std::string& username, const std::string& password,
-- const std::string& refreshToken);
-+ static char* onedriveAuthCodeFallback( const char* url,
-+ const char* /*username*/,
-+ const char* /*password*/ );
-
-- static char* copyWebAuthCodeFallback( const char* url,
-+ static char* gdriveAuthCodeFallback( const char* /*url*/,
- const char* /*username*/,
- const char* /*password*/ );
-
-diff --git a/ucb/source/ucp/cmis/cmis_content.cxx b/ucb/source/ucp/cmis/cmis_content.cxx
-index 7980a1821bba..93f43f4540a6 100644
---- a/ucb/source/ucp/cmis/cmis_content.cxx
-+++ b/ucb/source/ucp/cmis/cmis_content.cxx
-@@ -343,15 +343,12 @@ namespace cmis
- auto rPassword = OUSTR_TO_STDSTR( m_aURL.getPassword( ) );
-
- bool bSkipInitialPWAuth = false;
-- if (m_aURL.getBindingUrl() == ONEDRIVE_BASE_URL
-- || m_aURL.getBindingUrl() == GDRIVE_BASE_URL)
-- {
-+ if ( m_aURL.getBindingUrl( ) == ONEDRIVE_BASE_URL ) {
- // skip the initial username and pw-auth prompt, the only supported method is the
- // auth-code-fallback one (login with your browser, copy code into the dialog)
- // TODO: if LO were to listen on localhost for the request, it would be much nicer
- // user experience
- bSkipInitialPWAuth = true;
-- rPassword = aAuthProvider.getRefreshToken(rUsername);
- }
-
- bool bIsDone = false;
-@@ -364,9 +361,7 @@ namespace cmis
- libcmis::OAuth2DataPtr oauth2Data;
- if ( m_aURL.getBindingUrl( ) == GDRIVE_BASE_URL )
- {
-- // reset the skip, so user gets a chance to cancel
-- bSkipInitialPWAuth = false;
-- libcmis::SessionFactory::setOAuth2AuthCodeProvider(AuthProvider::copyWebAuthCodeFallback);
-+ libcmis::SessionFactory::setOAuth2AuthCodeProvider(AuthProvider::gdriveAuthCodeFallback);
- oauth2Data = boost::make_shared<libcmis::OAuth2Data>(
- GDRIVE_AUTH_URL, GDRIVE_TOKEN_URL,
- GDRIVE_SCOPE, GDRIVE_REDIRECT_URI,
-@@ -379,9 +374,7 @@ namespace cmis
- ALFRESCO_CLOUD_CLIENT_ID, ALFRESCO_CLOUD_CLIENT_SECRET );
- if ( m_aURL.getBindingUrl( ) == ONEDRIVE_BASE_URL )
- {
-- // reset the skip, so user gets a chance to cancel
-- bSkipInitialPWAuth = false;
-- libcmis::SessionFactory::setOAuth2AuthCodeProvider(AuthProvider::copyWebAuthCodeFallback);
-+ libcmis::SessionFactory::setOAuth2AuthCodeProvider(AuthProvider::onedriveAuthCodeFallback);
- oauth2Data = boost::make_shared<libcmis::OAuth2Data>(
- ONEDRIVE_AUTH_URL, ONEDRIVE_TOKEN_URL,
- ONEDRIVE_SCOPE, ONEDRIVE_REDIRECT_URI,
-@@ -413,12 +406,6 @@ namespace cmis
- else
- {
- m_pProvider->registerSession(sSessionId, m_aURL.getUsername( ), m_pSession);
-- if (m_aURL.getBindingUrl() == ONEDRIVE_BASE_URL
-- || m_aURL.getBindingUrl() == GDRIVE_BASE_URL)
-- {
-- aAuthProvider.storeRefreshToken(rUsername, rPassword,
-- m_pSession->getRefreshToken());
-- }
- }
-
- bIsDone = true;
-@@ -426,10 +413,7 @@ namespace cmis
- catch( const libcmis::Exception & e )
- {
- if ( e.getType() != "permissionDenied" )
-- {
-- SAL_INFO("ucb.ucp.cmis", "Unexpected libcmis exception: " << e.what());
- throw;
-- }
- }
- }
- else
-@@ -521,7 +505,6 @@ namespace cmis
- }
- catch ( const libcmis::Exception& )
- {
-- SAL_INFO( "ucb.ucp.cmis", "object: " << OUSTR_TO_STDSTR(m_sObjectId));
- throw libcmis::Exception( "Object not found" );
- }
- }
-diff --git a/ucb/source/ucp/cmis/cmis_repo_content.cxx b/ucb/source/ucp/cmis/cmis_repo_content.cxx
-index c55b670526b8..d2945ddeb8f5 100644
---- a/ucb/source/ucp/cmis/cmis_repo_content.cxx
-+++ b/ucb/source/ucp/cmis/cmis_repo_content.cxx
-@@ -168,7 +168,7 @@ namespace cmis
- libcmis::OAuth2DataPtr oauth2Data;
- if ( m_aURL.getBindingUrl( ) == GDRIVE_BASE_URL )
- {
-- libcmis::SessionFactory::setOAuth2AuthCodeProvider( AuthProvider::copyWebAuthCodeFallback );
-+ libcmis::SessionFactory::setOAuth2AuthCodeProvider( AuthProvider::gdriveAuthCodeFallback );
- oauth2Data = boost::make_shared<libcmis::OAuth2Data>(
- GDRIVE_AUTH_URL, GDRIVE_TOKEN_URL,
- GDRIVE_SCOPE, GDRIVE_REDIRECT_URI,
-@@ -181,7 +181,7 @@ namespace cmis
- ALFRESCO_CLOUD_CLIENT_ID, ALFRESCO_CLOUD_CLIENT_SECRET );
- if ( m_aURL.getBindingUrl( ) == ONEDRIVE_BASE_URL )
- {
-- libcmis::SessionFactory::setOAuth2AuthCodeProvider( AuthProvider::copyWebAuthCodeFallback );
-+ libcmis::SessionFactory::setOAuth2AuthCodeProvider( AuthProvider::onedriveAuthCodeFallback );
- oauth2Data = boost::make_shared<libcmis::OAuth2Data>(
- ONEDRIVE_AUTH_URL, ONEDRIVE_TOKEN_URL,
- ONEDRIVE_SCOPE, ONEDRIVE_REDIRECT_URI,
---
-2.33.1
-
commit 34c16421fd9459e73d33f4f21d0636dc1b67871c
Author: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Tue Nov 7 21:29:52 2023 -0600
7.6.3.1
diff --git a/.gitignore b/.gitignore
index b923ebb..026e8fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,3 +47,9 @@
/libreoffice-help-7.6.2.1.tar.xz.asc
/libreoffice-translations-7.6.2.1.tar.xz
/libreoffice-translations-7.6.2.1.tar.xz.asc
+/libreoffice-7.6.3.1.tar.xz
+/libreoffice-7.6.3.1.tar.xz.asc
+/libreoffice-help-7.6.3.1.tar.xz
+/libreoffice-help-7.6.3.1.tar.xz.asc
+/libreoffice-translations-7.6.3.1.tar.xz
+/libreoffice-translations-7.6.3.1.tar.xz.asc
diff --git a/717d27a.patch b/717d27a.patch
deleted file mode 100644
index 6a2b117..0000000
--- a/717d27a.patch
+++ /dev/null
@@ -1,1569 +0,0 @@
-From 717d27ae7bc42016aa3110dcbaf7c4c223bfe6c8 Mon Sep 17 00:00:00 2001
-From: Caolán McNamara <caolan.mcnamara(a)collabora.com>
-Date: Mon, 09 Oct 2023 13:46:38 +0100
-Subject: [PATCH] upgrade to libcmis 0.6.0
-
-Change-Id: Ia22d2efca14b1f55f45a4ecb9c487591c3117e17
-Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157704
-Tested-by: Caolán McNamara <caolan.mcnamara(a)collabora.com>
-Reviewed-by: Caolán McNamara <caolan.mcnamara(a)collabora.com>
-(cherry picked from commit 4e1a5d693e408db170ccf4c84b49017056f289fa)
----
-
-diff --git a/configure.ac b/configure.ac
-index 90cf027..5942829 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -7537,7 +7537,7 @@
- dnl ===================================================================
- dnl Check for system libcmis
- dnl ===================================================================
--libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.5 >= 0.5.2],enabled)
-+libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.6 >= 0.6.0],enabled)
-
- dnl ===================================================================
- dnl C++11
-@@ -7563,28 +7563,12 @@
- fi
- save_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$CXXFLAGS $flag -Werror"
-- if test "$SYSTEM_LIBCMIS" = TRUE; then
-- CXXFLAGS="$CXXFLAGS -DSYSTEM_LIBCMIS $LIBCMIS_CFLAGS"
-- fi
- AC_LANG_PUSH([C++])
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #include <algorithm>
- #include <functional>
- #include <vector>
-
-- #if defined SYSTEM_LIBCMIS
-- // See ucb/source/ucp/cmis/auth_provider.hxx:
-- #if !defined __clang__
-- #pragma GCC diagnostic push
-- #pragma GCC diagnostic ignored "-Wdeprecated"
-- #pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
-- #endif
-- #include <libcmis/libcmis.hxx>
-- #if !defined __clang__
-- #pragma GCC diagnostic pop
-- #endif
-- #endif
--
- void f(std::vector<int> & v, std::function<bool(int, int)> fn) {
- std::sort(v.begin(), v.end(), fn);
- }
-diff --git a/download.lst b/download.lst
-index 823d535..ec214cb 100644
---- a/download.lst
-+++ b/download.lst
-@@ -60,8 +60,8 @@
- # three static lines
- # so that git cherry-pick
- # will not run into conflicts
--LIBCMIS_SHA256SUM := d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2
--LIBCMIS_TARBALL := libcmis-0.5.2.tar.xz
-+LIBCMIS_SHA256SUM := 56df575f78dacc21b4cec7cec73d671fd235f7c2010a8bb7940ef1413dc899fd
-+LIBCMIS_TARBALL := libcmis-0.6.0.tar.xz
- # three static lines
- # so that git cherry-pick
- # will not run into conflicts
-diff --git a/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch b/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch
-deleted file mode 100644
-index f82c82f..0000000
---- a/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch
-+++ /dev/null
-@@ -1,69 +0,0 @@
--From 219e6d6586c8280dfd9c4851cee0d14d68b6ad65 Mon Sep 17 00:00:00 2001
--From: David Tardon <dtardon(a)redhat.com>
--Date: Fri, 28 Dec 2018 15:26:28 +0100
--Subject: [PATCH] rename class GetObject to avoid name clash on Windows
--
-----
-- src/libcmis/ws-objectservice.cxx | 2 +-
-- src/libcmis/ws-requests.cxx | 2 +-
-- src/libcmis/ws-requests.hxx | 7 +++----
-- 3 files changed, 5 insertions(+), 6 deletions(-)
--
--diff --git a/src/libcmis/ws-objectservice.cxx b/src/libcmis/ws-objectservice.cxx
--index 9e40085..d57f3cc 100644
----- a/src/libcmis/ws-objectservice.cxx
--+++ b/src/libcmis/ws-objectservice.cxx
--@@ -71,7 +71,7 @@ libcmis::ObjectPtr ObjectService::getObject( string repoId, string id )
-- {
-- libcmis::ObjectPtr object;
--
--- class GetObject request( repoId, id );
--+ GetObjectRequest request( repoId, id );
-- vector< SoapResponsePtr > responses = m_session->soapRequest( m_url, request );
-- if ( responses.size( ) == 1 )
-- {
--diff --git a/src/libcmis/ws-requests.cxx b/src/libcmis/ws-requests.cxx
--index f8bc245..408d053 100644
----- a/src/libcmis/ws-requests.cxx
--+++ b/src/libcmis/ws-requests.cxx
--@@ -269,7 +269,7 @@ SoapResponsePtr GetTypeChildrenResponse::create( xmlNodePtr node, RelatedMultipa
-- return SoapResponsePtr( response );
-- }
--
---void GetObject::toXml( xmlTextWriterPtr writer )
--+void GetObjectRequest::toXml( xmlTextWriterPtr writer )
-- {
-- xmlTextWriterStartElement( writer, BAD_CAST( "cmism:getObject" ) );
-- xmlTextWriterWriteAttribute( writer, BAD_CAST( "xmlns:cmis" ), BAD_CAST( NS_CMIS_URL ) );
--diff --git a/src/libcmis/ws-requests.hxx b/src/libcmis/ws-requests.hxx
--index 2c4ae92..534d9a4 100644
----- a/src/libcmis/ws-requests.hxx
--+++ b/src/libcmis/ws-requests.hxx
--@@ -203,21 +203,20 @@ class GetTypeChildrenResponse : public SoapResponse
-- std::vector< libcmis::ObjectTypePtr > getChildren( ) { return m_children; }
-- };
--
---#undef GetObject
---class GetObject : public SoapRequest
--+class GetObjectRequest : public SoapRequest
-- {
-- private:
-- std::string m_repositoryId;
-- std::string m_id;
--
-- public:
--- GetObject( std::string repoId, std::string id ) :
--+ GetObjectRequest( std::string repoId, std::string id ) :
-- m_repositoryId( repoId ),
-- m_id( id )
-- {
-- }
--
--- ~GetObject( ) { }
--+ ~GetObjectRequest( ) { }
--
-- void toXml( xmlTextWriterPtr writer );
-- };
----
--2.19.2
--
-diff --git a/external/libcmis/UnpackedTarball_libcmis.mk b/external/libcmis/UnpackedTarball_libcmis.mk
-index f48201d..1c014d9 100644
---- a/external/libcmis/UnpackedTarball_libcmis.mk
-+++ b/external/libcmis/UnpackedTarball_libcmis.mk
-@@ -13,13 +13,4 @@
-
- $(eval $(call gb_UnpackedTarball_set_patchlevel,libcmis,1))
-
--$(eval $(call gb_UnpackedTarball_add_patches,libcmis, \
-- external/libcmis/libcmis-libxml2_compatibility.patch \
-- external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch \
-- external/libcmis/libcmis_onedrive.patch \
-- external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1 \
-- external/libcmis/libcmis_gdrive.patch.1 \
-- external/libcmis/libcmis-boost-string.patch \
--))
--
- # vim: set noet sw=4 ts=4:
-diff --git a/external/libcmis/libcmis-boost-string.patch b/external/libcmis/libcmis-boost-string.patch
-deleted file mode 100644
-index 247d38a..0000000
---- a/external/libcmis/libcmis-boost-string.patch
-+++ /dev/null
-@@ -1,11 +0,0 @@
----- a/src/libcmis/oauth2-handler.cxx
--+++ b/src/libcmis/oauth2-handler.cxx
--@@ -26,6 +26,8 @@
-- * instead of those above.
-- */
--
--+#include <boost/algorithm/string.hpp>
--+
-- #include "oauth2-handler.hxx"
--
-- #include <libcmis/session-factory.hxx>
-diff --git a/external/libcmis/libcmis-libxml2_compatibility.patch b/external/libcmis/libcmis-libxml2_compatibility.patch
-deleted file mode 100644
-index 240b85b..0000000
---- a/external/libcmis/libcmis-libxml2_compatibility.patch
-+++ /dev/null
-@@ -1,14 +0,0 @@
--# -*- Mode: Diff -*-
----- a/src/libcmis/oauth2-providers.cxx
--+++ b/src/libcmis/oauth2-providers.cxx
--@@ -34,6 +34,10 @@
--
-- using namespace std;
--
--+#if LIBXML_VERSION < 20621
--+#define HTML_PARSE_RECOVER 0
--+#endif
--+
-- namespace {
--
-- // Encodes the given data according to the application/x-www-form-urlencoded format, see
-diff --git a/external/libcmis/libcmis_gdrive.patch.1 b/external/libcmis/libcmis_gdrive.patch.1
-deleted file mode 100644
-index 24ff65d..0000000
---- a/external/libcmis/libcmis_gdrive.patch.1
-+++ /dev/null
-@@ -1,702 +0,0 @@
--diff -ur libcmis.org/src/libcmis/gdrive-document.cxx libcmis/src/libcmis/gdrive-document.cxx
----- libcmis.org/src/libcmis/gdrive-document.cxx 2021-07-27 19:11:02.679247008 +0200
--+++ libcmis/src/libcmis/gdrive-document.cxx 2021-07-27 19:11:18.873246420 +0200
--@@ -145,23 +145,17 @@
-- {
-- if ( !os.get( ) )
-- throw libcmis::Exception( "Missing stream" );
--- if ( !isImmutable( ) )
--- throw libcmis::Exception( string ( "Document " + getId( )+
--- " is not editable" ) );
--- string putUrl = getUploadUrl( ) + getId( );
--- putUrl += "?uploadType=media";
---
--- // If it's a Google document, convert it
--- if ( isGoogleDoc( ) )
--- putUrl += "&convert=true";
--+
--+ string putUrl = GDRIVE_UPLOAD_LINK + getId( ) + "?uploadType=media";
--
-- // Upload stream
-- boost::shared_ptr< istream> is ( new istream ( os->rdbuf( ) ) );
-- vector <string> headers;
-- headers.push_back( string( "Content-Type: " ) + contentType );
--+ string res;
-- try
-- {
--- getSession()->httpPutRequest( putUrl, *is, headers );
--+ res = getSession()->httpPatchRequest( putUrl, *is, headers )->getStream()->str();
-- }
-- catch ( const CurlException& e )
-- {
--@@ -181,35 +175,10 @@
-- {
-- if ( !os.get( ) )
-- throw libcmis::Exception( "Missing stream" );
---
--- if ( !isImmutable( ) )
--- throw libcmis::Exception( string ( "Document " + getId( )+
--- " is not editable" ) );
--- string metaUrl = getUrl( );
---
--- // If it's a Google document, convert it
--- if ( isGoogleDoc( ) )
--- metaUrl += "?convert=true";
---
--- // Update file name meta information
--- if ( !fileName.empty( ) && fileName != getContentFilename( ) )
--- {
--- Json metaJson;
--- Json fileJson( fileName.c_str( ) );
--- metaJson.add("title", fileJson );
---
--- std::istringstream is( metaJson.toString( ) );
--- vector<string> headers;
--- headers.push_back( "Content-Type: application/json" );
--- try
--- {
--- getSession()->httpPutRequest( metaUrl, is, headers );
--- }
--- catch ( const CurlException& e )
--- {
--- throw e.getCmisException( );
--- }
--- }
--+
--+ // TODO: when would the filename need an update?
--+ if (!fileName.empty() && fileName != getContentFilename())
--+ std::cout << "filename change is not implemented in setContentStream" << std::endl;
--
-- // Upload stream
-- uploadStream( os, contentType );
--@@ -251,7 +220,7 @@
-- vector< libcmis::DocumentPtr > GDriveDocument::getAllVersions( )
-- {
-- vector< libcmis::DocumentPtr > revisions;
--- string versionUrl = getUrl( ) + "/revisions";
--+ string versionUrl = GDRIVE_METADATA_LINK + getId( ) + "/revisions";
-- // Run the http request to get the properties definition
-- string res;
-- try
--@@ -263,7 +232,7 @@
-- throw e.getCmisException( );
-- }
-- Json jsonRes = Json::parse( res );
--- Json::JsonVector objs = jsonRes["items"].getList( );
--+ Json::JsonVector objs = jsonRes["revisions"].getList( );
--
-- string parentId = getStringProperty( "cmis:parentId" );
--
--diff -ur libcmis.org/src/libcmis/gdrive-folder.cxx libcmis/src/libcmis/gdrive-folder.cxx
----- libcmis.org/src/libcmis/gdrive-folder.cxx 2021-07-27 19:11:02.678247008 +0200
--+++ libcmis/src/libcmis/gdrive-folder.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -62,8 +62,8 @@
-- // Instead of sending multiple queries for children,
-- // we send a single query to search for objects where parents
-- // include the folderID.
--- string query = getSession( )->getBindingUrl( ) +
--- "/files?q=\"" + getId( ) + "\"+in+parents+and+trashed+=+false";
--+ string query = GDRIVE_METADATA_LINK + "?q=\"" + getId( ) + "\"+in+parents+and+trashed+=+false" +
--+ "&fields=files(kind,id,name,parents,mimeType,createdTime,modifiedTime,thumbnailLink,size)";
--
-- string res;
-- try
--@@ -76,7 +76,7 @@
-- }
--
-- Json jsonRes = Json::parse( res );
--- Json::JsonVector objs = jsonRes["items"].getList( );
--+ Json::JsonVector objs = jsonRes["files"].getList( );
--
-- // Create children objects from Json objects
-- for(unsigned int i = 0; i < objs.size(); i++)
--@@ -95,7 +95,7 @@
-- string GDriveFolder::uploadProperties( Json properties )
-- {
-- // URL for uploading meta data
--- string metaUrl = getSession()->getBindingUrl() + "/files/";
--+ string metaUrl = GDRIVE_METADATA_LINK + "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime";
--
-- // add parents to the properties
-- properties.add( "parents", GdriveUtils::createJsonFromParentId( getId( ) ) );
--@@ -147,9 +147,15 @@
--
-- Json propsJson = GdriveUtils::toGdriveJson( properties );
--
--- // Add filename to properties
--- Json jsonFilename( fileName.c_str( ) );
--- propsJson.add( "title", jsonFilename );
--+ if(!fileName.empty()) {
--+ // use provided filename
--+ Json jsonFilename( fileName.c_str( ) );
--+
--+ propsJson.add( "name", jsonFilename );
--+ }
--+ if(!contentType.empty()) {
--+ propsJson.add( "mimeType", Json(contentType.c_str()));
--+ }
--
-- // Upload meta-datas
-- string res = uploadProperties( propsJson);
--@@ -171,12 +177,9 @@
-- libcmis::UnfileObjects::Type /*unfile*/,
-- bool /*continueOnError*/ )
-- {
--- // Object remove doesn't work with folder
--- // Using trash instead
-- try
-- {
--- istringstream is( "" );
--- getSession( )->httpPostRequest( getUrl( ) + "/trash", is, "" );
--+ getSession( )->httpDeleteRequest( GDRIVE_METADATA_LINK + getId( ) );
-- }
-- catch ( const CurlException& e )
-- {
--diff -ur libcmis.org/src/libcmis/gdrive-object.cxx libcmis/src/libcmis/gdrive-object.cxx
----- libcmis.org/src/libcmis/gdrive-object.cxx 2021-07-27 19:11:02.675247009 +0200
--+++ libcmis/src/libcmis/gdrive-object.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -89,8 +89,8 @@
-- property.reset( new GDriveProperty( it->first, it->second ) );
-- m_properties[ property->getPropertyType( )->getId()] = property;
--
--- // we map "title" to both "cmis:name" and "cmis:getContentStreamFileName"
--- if ( it->first == "title" )
--+ // we map "name" to both "cmis:name" and "cmis:getContentStreamFileName"
--+ if ( it->first == "name" )
-- {
-- property.reset( new GDriveProperty( "cmis:name", it->second) );
-- m_properties[ property->getPropertyType( )->getId()] = property;
--@@ -142,16 +142,13 @@
-- {
-- if ( m_renditions.empty( ) )
-- {
--- string downloadUrl = getStringProperty( "downloadUrl" );
--- if ( !downloadUrl.empty( ) )
--- {
--- string mimeType = getStringProperty( "cmis:contentStreamMimeType" );
--- if ( !mimeType.empty( ) )
--- {
--- RenditionPtr rendition(
--- new Rendition( mimeType, mimeType, mimeType, downloadUrl ));
--- m_renditions.push_back( rendition );
--- }
--+ string downloadUrl = GDRIVE_METADATA_LINK + getId( ) + "?alt=media";
--+ string mimeType = getStringProperty( "cmis:contentStreamMimeType" );
--+ if ( !mimeType.empty( ) )
--+ {
--+ RenditionPtr rendition(
--+ new Rendition( mimeType, mimeType, mimeType, downloadUrl ));
--+ m_renditions.push_back( rendition );
-- }
--
-- vector< string > exportLinks = getMultiStringProperty( "exportLinks" );
--@@ -192,7 +189,7 @@
-- {
-- vector< string > headers;
-- headers.push_back( "Content-Type: application/json" );
--- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
--+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
-- }
-- catch ( const CurlException& e )
-- {
--@@ -228,7 +225,7 @@
-- {
-- try
-- {
--- getSession( )->httpDeleteRequest( getUrl( ) );
--+ getSession( )->httpDeleteRequest( GDRIVE_METADATA_LINK + getId( ) );
-- }
-- catch ( const CurlException& e )
-- {
--@@ -239,8 +236,8 @@
-- void GDriveObject::move( FolderPtr /*source*/, FolderPtr destination )
-- {
-- Json parentsJson;
--- Json parentsValue = GdriveUtils::createJsonFromParentId( destination->getId( ) );
--- parentsJson.add( "parents", parentsValue );
--+ parentsJson.add( "addParents", Json(destination->getId( ).c_str()) );
--+ parentsJson.add( "removeParents", Json(getStringProperty( "cmis:parentId" ).c_str()) );
--
-- istringstream is( parentsJson.toString( ) );
-- libcmis::HttpResponsePtr response;
--@@ -248,7 +245,7 @@
-- {
-- vector< string > headers;
-- headers.push_back( "Content-Type: application/json" );
--- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
--+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
-- }
-- catch ( const CurlException& e )
-- {
--@@ -262,12 +259,10 @@
--
-- string GDriveObject::getUrl( )
-- {
--- return getSession( )->getBindingUrl( ) + "/files/" + getId( );
---}
---
---string GDriveObject::getUploadUrl( )
---{
--- return GDRIVE_UPLOAD_LINKS;
--+ // thumbnailLink causes some operations to fail with internal server error,
--+ // see https://issuetracker.google.com/issues/36760667
--+ return GDRIVE_METADATA_LINK + getId( ) +
--+ "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime,size";
-- }
--
-- vector< string> GDriveObject::getMultiStringProperty( const string& propertyName )
--diff -ur libcmis.org/src/libcmis/gdrive-repository.cxx libcmis/src/libcmis/gdrive-repository.cxx
----- libcmis.org/src/libcmis/gdrive-repository.cxx 2021-07-27 19:11:02.676247009 +0200
--+++ libcmis/src/libcmis/gdrive-repository.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -35,7 +35,7 @@
-- m_name = "Google Drive";
-- m_description = "Google Drive repository";
-- m_productName = "Google Drive";
--- m_productVersion = "v2";
--+ m_productVersion = "v3";
-- m_rootId = "root";
--
-- m_capabilities[ ACL ] = "discover";
--diff -ur libcmis.org/src/libcmis/gdrive-session.cxx libcmis/src/libcmis/gdrive-session.cxx
----- libcmis.org/src/libcmis/gdrive-session.cxx 2021-07-27 19:11:02.675247009 +0200
--+++ libcmis/src/libcmis/gdrive-session.cxx 2021-07-27 19:11:18.874246420 +0200
--@@ -124,9 +124,13 @@
--
-- libcmis::ObjectPtr GDriveSession::getObject( string objectId )
-- {
--+ if(objectId == "root") {
--+ return getRootFolder();
--+ }
-- // Run the http request to get the properties definition
-- string res;
--- string objectLink = m_bindingUrl + "/files/" + objectId;
--+ string objectLink = GDRIVE_METADATA_LINK + objectId +
--+ "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime,thumbnailLink,size";
-- try
-- {
-- res = httpGetRequest( objectLink )->getStream()->str();
--@@ -188,9 +192,10 @@
-- {
-- // Normal child case
-- // Ask for the ID of the child if there is any
--- string childIdUrl = m_bindingUrl + "/files/" + objectId +
--- "/children/?q=title+=+'" + segment +
--- "'&fields=items:id";
--+ // somewhat flawed as names are not necessarily unique in GDrive...
--+ string query = libcmis::escape("'" + objectId + "' in parents and trashed = false and name='" + segment + "'");
--+
--+ string childIdUrl = m_bindingUrl + "/files/?q=" + query + "&fields=files(id)";
--
-- string res;
-- try
--@@ -204,7 +209,7 @@
-- Json jsonRes = Json::parse( res );
--
-- // Did we get an id?
--- Json::JsonVector items = jsonRes["items"].getList();
--+ Json::JsonVector items = jsonRes["files"].getList();
-- if ( items.empty( ) )
-- throw libcmis::Exception( "Object not found: " + path, "objectNotFound" );
--
--@@ -219,6 +224,27 @@
-- return getObject( objectId );
-- }
--
--+libcmis::FolderPtr GDriveSession::getRootFolder()
--+{
--+ // permissions/scope with just drive.file don't allow to get it with the "root" alias/by its actual object-ID
--+ Json propsJson;
--+
--+ // GDrive folder is a file with a different mime type.
--+ string mimeType = GDRIVE_FOLDER_MIME_TYPE;
--+
--+ // Add mimetype to the propsJson
--+ Json jsonMimeType( mimeType.c_str( ) );
--+ propsJson.add( "mimeType", jsonMimeType );
--+ propsJson.add( "id", "root" );
--+
--+ // Upload meta-datas
--+ propsJson.add("cmis:name", "VirtualRoot");
--+
--+ libcmis::FolderPtr folderPtr( new GDriveFolder( this, propsJson ) );
--+
--+ return folderPtr;
--+}
--+
-- libcmis::ObjectTypePtr GDriveSession::getType( string id )
-- {
-- libcmis::ObjectTypePtr type( new GdriveObjectType( id ) );
--diff -ur libcmis.org/src/libcmis/gdrive-session.hxx libcmis/src/libcmis/gdrive-session.hxx
----- libcmis.org/src/libcmis/gdrive-session.hxx 2021-07-27 19:11:02.675247009 +0200
--+++ libcmis/src/libcmis/gdrive-session.hxx 2021-07-27 19:11:18.875246420 +0200
--@@ -57,6 +57,8 @@
--
-- virtual std::vector< libcmis::ObjectTypePtr > getBaseTypes( );
--
--+ virtual libcmis::FolderPtr getRootFolder();
--+
-- virtual std::string getRefreshToken();
--
-- private:
--diff -ur libcmis.org/src/libcmis/gdrive-utils.cxx libcmis/src/libcmis/gdrive-utils.cxx
----- libcmis.org/src/libcmis/gdrive-utils.cxx 2021-07-27 19:11:02.677247008 +0200
--+++ libcmis/src/libcmis/gdrive-utils.cxx 2021-07-27 19:11:18.875246420 +0200
--@@ -44,17 +44,17 @@
-- convertedKey = "cmis:createdBy";
-- else if ( key == "description" )
-- convertedKey = "cmis:description";
--- else if ( key == "createdDate" )
--+ else if ( key == "createdTime" )
-- convertedKey = "cmis:creationDate";
-- else if ( key == "lastModifyingUserName" )
-- convertedKey = "cmis:lastModifiedBy";
--- else if ( key == "modifiedDate" )
--+ else if ( key == "modifiedTime" )
-- convertedKey = "cmis:lastModificationDate";
--- else if ( key == "title" )
--+ else if ( key == "name" )
-- convertedKey = "cmis:contentStreamFileName";
-- else if ( key == "mimeType" )
-- convertedKey = "cmis:contentStreamMimeType";
--- else if ( key == "fileSize" )
--+ else if ( key == "size" )
-- convertedKey = "cmis:contentStreamLength";
-- else if ( key == "editable" )
-- convertedKey = "cmis:isImmutable";
--@@ -72,21 +72,21 @@
-- else if ( key == "cmis:createdBy" )
-- convertedKey = "ownerNames";
-- else if ( key == "cmis:creationDate" )
--- convertedKey = "createdDate";
--+ convertedKey = "createdTime";
-- else if ( key == "cmis:description" )
-- convertedKey = "description";
-- else if ( key == "cmis:lastModifiedBy" )
-- convertedKey = "lastModifyingUserName";
-- else if ( key == "cmis:lastModificationDate" )
--- convertedKey = "modifiedDate";
--+ convertedKey = "modifiedTime";
-- else if ( key == "cmis:contentStreamFileName" )
--- convertedKey = "title";
--+ convertedKey = "name";
-- else if ( key == "cmis:name" )
--- convertedKey = "title";
--+ convertedKey = "name";
-- else if ( key == "cmis:contentStreamMimeType" )
-- convertedKey = "mimeType";
-- else if ( key == "cmis:contentStreamLength" )
--- convertedKey = "fileSize";
--+ convertedKey = "size";
-- else if ( key == "cmis:isImmutable" )
-- convertedKey = "editable";
-- else if ( key == "cmis:parentId" )
--@@ -124,9 +124,9 @@
-- bool GdriveUtils::checkUpdatable( const string& key )
-- {
-- // taken from https://developers.google.com/drive/v2/reference/files
--- bool updatable = ( key == "title" ||
--+ bool updatable = ( key == "name" ||
-- key == "description" ||
--- key == "modifiedDate" ||
--+ key == "modifiedTime" ||
-- key == "lastViewedByMeDate" );
-- return updatable;
-- }
--@@ -143,18 +143,11 @@
--
-- Json GdriveUtils::createJsonFromParentId( const string& parentId )
-- {
--- Json parentValue( parentId.c_str( ) );
---
-- // parents is a Json array
-- Json firstParent;
--- firstParent.add( "id", parentValue );
---
--- Json::JsonVector parents;
--- parents.insert( parents.begin( ), firstParent );
--+ firstParent.add( Json( parentId.c_str() ) );
--
--- Json parentsValue( parents );
---
--- return parentsValue;
--+ return firstParent;
-- }
--
-- vector< string > GdriveUtils::parseGdriveProperty( string key, Json json )
--diff -ur libcmis.org/src/libcmis/gdrive-utils.hxx libcmis/src/libcmis/gdrive-utils.hxx
----- libcmis.org/src/libcmis/gdrive-utils.hxx 2021-07-27 19:11:02.677247008 +0200
--+++ libcmis/src/libcmis/gdrive-utils.hxx 2021-07-27 19:11:18.875246420 +0200
--@@ -35,7 +35,8 @@
-- #include "json-utils.hxx"
--
-- static const std::string GDRIVE_FOLDER_MIME_TYPE = "application/vnd.google-apps.folder" ;
---static const std::string GDRIVE_UPLOAD_LINKS = "https://www.googleapis.com/upload/drive/v2/files/";
--+static const std::string GDRIVE_UPLOAD_LINK = "https://www.googleapis.com/upload/drive/v3/files/";
--+static const std::string GDRIVE_METADATA_LINK = "https://www.googleapis.com/drive/v3/files/";
--
-- class GdriveUtils
-- {
--diff -ur libcmis.org/src/libcmis/oauth2-handler.cxx libcmis/src/libcmis/oauth2-handler.cxx
----- libcmis.org/src/libcmis/oauth2-handler.cxx 2021-07-27 19:11:02.676247009 +0200
--+++ libcmis/src/libcmis/oauth2-handler.cxx 2021-07-27 19:11:18.875246420 +0200
--@@ -92,8 +92,11 @@
-- "code=" + authCode +
-- "&client_id=" + m_data->getClientId() +
-- "&redirect_uri=" + m_data->getRedirectUri() +
--- "&scope=" + libcmis::escape( m_data->getScope() ) +
-- "&grant_type=authorization_code" ;
--+ if(boost::starts_with(m_data->getTokenUrl(), "https://oauth2.googleapis.com/"))
--+ post += "&client_secret=" + m_data->getClientSecret();
--+ else
--+ post += "&scope=" + libcmis::escape( m_data->getScope() );
--
-- istringstream is( post );
--
--@@ -104,7 +107,7 @@
-- resp = m_session->httpPostRequest ( m_data->getTokenUrl(), is,
-- "application/x-www-form-urlencoded" );
-- }
--- catch ( const CurlException& )
--+ catch ( const CurlException& e)
-- {
-- throw libcmis::Exception(
-- "Couldn't get tokens from the authorization code ");
--@@ -122,6 +125,8 @@
-- "refresh_token=" + m_refresh +
-- "&client_id=" + m_data->getClientId() +
-- "&grant_type=refresh_token" ;
--+ if(boost::starts_with(m_data->getTokenUrl(), "https://oauth2.googleapis.com/"))
--+ post += "&client_secret=" + m_data->getClientSecret();
--
-- istringstream is( post );
-- libcmis::HttpResponsePtr resp;
--@@ -130,7 +135,7 @@
-- resp = m_session->httpPostRequest( m_data->getTokenUrl( ), is,
-- "application/x-www-form-urlencoded" );
-- }
--- catch (const CurlException& )
--+ catch (const CurlException& e )
-- {
-- throw libcmis::Exception( "Couldn't refresh token ");
-- }
--diff -ur libcmis.org/src/libcmis/oauth2-providers.cxx libcmis/src/libcmis/oauth2-providers.cxx
----- libcmis.org/src/libcmis/oauth2-providers.cxx 2021-07-27 19:11:02.679247008 +0200
--+++ libcmis/src/libcmis/oauth2-providers.cxx 2021-07-27 19:11:18.886246420 +0200
--@@ -80,172 +80,8 @@
--
-- }
--
---string OAuth2Providers::OAuth2Gdrive( HttpSession* session, const string& authUrl,
--- const string& username, const string& password )
---{
--- /* This member function implements 'Google OAuth 2.0'
--- *
--- * The interaction is carried out by libcmis, with no web browser involved.
--- *
--- * Normal sequence (without 2FA) is:
--- * 1) a get to activate login page
--- * receive first login page, html format
--- * 2) subsequent post to sent email
--- * receive html page for password input
--- * 3) subsequent post to send password
--- * receive html page for application consent
--- * 4) subsequent post to send a consent for the application
--- * receive a single-use authorization code
--- * this code is returned as a string
--- *
--- * Sequence with 2FA is:
--- * 1) a get to activate login page
--- * receive first login page, html format
--- * 2) subsequent post to sent email
--- * receive html page for password input
--- * 3) subsequent post to send password
--- * receive html page for pin input
--- * 3b) subsequent post to send pin number
--- * receive html page for application consent
--- * 4) subsequent post to send a consent for the application
--- * receive a single-use authorization code
--- * this code is returned as a string
--- */
---
--- static const string CONTENT_TYPE( "application/x-www-form-urlencoded" );
--- // STEP 1: get login page
--- string res;
--- try
--- {
--- // send the first get, receive the html login page
--- res = session->httpGetRequest( authUrl )->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- // STEP 2: send email
---
--- string loginEmailPost, loginEmailLink;
--- if ( !parseResponse( res.c_str( ), loginEmailPost, loginEmailLink ) )
--- return string( );
---
--- loginEmailPost += "Email=";
--- loginEmailPost += escapeForm( username );
---
--- istringstream loginEmailIs( loginEmailPost );
--- string loginEmailRes;
--- try
--- {
--- // send a post with user email, receive the html page for password input
--- loginEmailRes = session->httpPostRequest ( loginEmailLink, loginEmailIs, CONTENT_TYPE )
--- ->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- // STEP 3: password page
---
--- string loginPasswdPost, loginPasswdLink;
--- if ( !parseResponse( loginEmailRes.c_str( ), loginPasswdPost, loginPasswdLink ) )
--- return string( );
---
--- loginPasswdPost += "Passwd=";
--- loginPasswdPost += escapeForm( password );
---
--- istringstream loginPasswdIs( loginPasswdPost );
--- string loginPasswdRes;
--- try
--- {
--- // send a post with user password, receive the application consent page
--- loginPasswdRes = session->httpPostRequest ( loginPasswdLink, loginPasswdIs, CONTENT_TYPE )
--- ->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- string approvalPost, approvalLink;
--- if ( !parseResponse( loginPasswdRes. c_str( ), approvalPost, approvalLink) )
--- return string( );
---
--- // when 2FA is enabled, link doesn't start with 'http'
--- if ( approvalLink.compare(0, 4, "http") != 0 )
--- {
--- // STEP 3b: 2 Factor Authentication, pin code request
---
--- string loginChallengePost( approvalPost );
--- string loginChallengeLink( approvalLink );
---
--- libcmis::OAuth2AuthCodeProvider fallbackProvider = libcmis::SessionFactory::getOAuth2AuthCodeProvider( );
--- unique_ptr< char, void (*)( void * ) > pin{ fallbackProvider( "", "", "" ), free };
---
--- if( !pin )
--- {
--- // unset OAuth2AuthCode Provider to avoid showing pin request again in the HttpSession::oauth2Authenticate
--- libcmis::SessionFactory::setOAuth2AuthCodeProvider( NULL );
--- return string( );
--- }
---
--- loginChallengeLink = "https://accounts.google.com" + loginChallengeLink;
--- loginChallengePost += string( PIN_INPUT_NAME ) + "=";
--- loginChallengePost += string( pin.get() );
---
--- istringstream loginChallengeIs( loginChallengePost );
--- string loginChallengeRes;
--- try
--- {
--- // send a post with pin, receive the application consent page
--- loginChallengeRes = session->httpPostRequest ( loginChallengeLink, loginChallengeIs, CONTENT_TYPE )
--- ->getStream( )->str( );
--- }
--- catch ( const CurlException& )
--- {
--- return string( );
--- }
---
--- approvalPost = string();
--- approvalLink = string();
---
--- if ( !parseResponse( loginChallengeRes. c_str( ), approvalPost, approvalLink) )
--- return string( );
--- }
--- else if( approvalLink.compare( "https://accounts.google.com/ServiceLoginAuth" ) == 0 )
--- {
--- // wrong password,
--- // unset OAuth2AuthCode Provider to avoid showing pin request again in the HttpSession::oauth2Authenticate
--- libcmis::SessionFactory::setOAuth2AuthCodeProvider( NULL );
--- return string( );
--- }
---
--- // STEP 4: allow libcmis to access google drive
--- approvalPost += "submit_access=true";
---
--- istringstream approvalIs( approvalPost );
--- string approvalRes;
--- try
--- {
--- // send a post with application consent
--- approvalRes = session->httpPostRequest ( approvalLink, approvalIs,
--- CONTENT_TYPE) ->getStream( )->str( );
--- }
--- catch ( const CurlException& e )
--- {
--- throw e.getCmisException( );
--- }
---
--- // Take the authentication code from the text bar
--- string code = parseCode( approvalRes.c_str( ) );
---
--- return code;
---}
---
---string OAuth2Providers::OAuth2Onedrive( HttpSession* /*session*/, const string& /*authUrl*/,
--- const string& /*username*/, const string& /*password*/ )
--+string OAuth2Providers::OAuth2Dummy( HttpSession* /*session*/, const string& /*authUrl*/,
--+ const string& /*username*/, const string& /*password*/ )
-- {
-- return string( );
-- }
--@@ -314,12 +150,8 @@
-- // For Alfresco in the cloud, only match the hostname as there can be several
-- // binding URLs created with it.
-- return OAuth2Alfresco;
--- else if ( boost::starts_with( url, "https://www.googleapis.com/drive/v2" ) )
--- return OAuth2Gdrive;
--- else if ( boost::starts_with( url, "https://graph.microsoft.com/v1.0" ) )
--- return OAuth2Onedrive;
--
--- return OAuth2Gdrive;
--+ return OAuth2Dummy;
-- }
--
-- int OAuth2Providers::parseResponse ( const char* response, string& post, string& link )
--diff -ur libcmis.org/src/libcmis/oauth2-providers.hxx libcmis/src/libcmis/oauth2-providers.hxx
----- libcmis.org/src/libcmis/oauth2-providers.hxx 2021-07-27 19:11:02.678247008 +0200
--+++ libcmis/src/libcmis/oauth2-providers.hxx 2021-07-27 19:11:18.886246420 +0200
--@@ -39,12 +39,8 @@
-- class OAuth2Providers
-- {
-- public :
--- static std::string OAuth2Gdrive( HttpSession* session, const std::string& authUrl,
--+ static std::string OAuth2Dummy( HttpSession* session, const std::string& authUrl,
-- const std::string& username, const std::string& password );
---
--- static std::string OAuth2Onedrive( HttpSession* session, const std::string& authUrl,
--- const std::string& username, const std::string& password );
---
-- static std::string OAuth2Alfresco( HttpSession* session, const std::string& authUrl,
-- const std::string& username, const std::string& password );
--
--diff -ur libcmis.org/src/libcmis/session-factory.cxx libcmis/src/libcmis/session-factory.cxx
----- libcmis.org/src/libcmis/session-factory.cxx 2021-07-27 19:11:02.679247008 +0200
--+++ libcmis/src/libcmis/session-factory.cxx 2021-07-27 19:11:18.886246420 +0200
--@@ -66,7 +66,7 @@
-- if ( !bindingUrl.empty( ) )
-- {
-- // Try the special cases based on the binding URL
--- if ( bindingUrl == "https://www.googleapis.com/drive/v2" )
--+ if ( bindingUrl == "https://www.googleapis.com/drive/v3" )
-- {
-- session = new GDriveSession( bindingUrl, username, password,
-- oauth2, verbose );
-diff --git a/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1 b/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1
-deleted file mode 100644
-index a8cb065..0000000
---- a/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1
-+++ /dev/null
-@@ -1,185 +0,0 @@
--diff -ur libcmis.org/inc/libcmis/session.hxx libcmis/inc/libcmis/session.hxx
----- libcmis.org/inc/libcmis/session.hxx 2021-07-27 19:09:42.580249917 +0200
--+++ libcmis/inc/libcmis/session.hxx 2021-07-27 19:10:02.368249199 +0200
--@@ -95,6 +95,8 @@
-- certificate exception feature available on common web browser.
-- */
-- virtual void setNoSSLCertificateCheck( bool noCheck ) = 0;
--+
--+ virtual std::string getRefreshToken() { return ""; };
-- };
-- }
--
--diff -ur libcmis.org/src/libcmis/gdrive-session.cxx libcmis/src/libcmis/gdrive-session.cxx
----- libcmis.org/src/libcmis/gdrive-session.cxx 2021-07-27 19:09:42.581249917 +0200
--+++ libcmis/src/libcmis/gdrive-session.cxx 2021-07-27 19:10:02.369249198 +0200
--@@ -70,6 +70,46 @@
-- {
-- }
--
--+
--+void GDriveSession::setOAuth2Data( libcmis::OAuth2DataPtr oauth2 )
--+{
--+ m_oauth2Handler = new OAuth2Handler( this, oauth2 );
--+ m_oauth2Handler->setOAuth2Parser( OAuth2Providers::getOAuth2Parser( getBindingUrl( ) ) );
--+
--+ oauth2Authenticate( );
--+}
--+
--+void GDriveSession::oauth2Authenticate()
--+{
--+ // treat the supplied password as refresh token
--+ if (!m_password.empty())
--+ {
--+ try
--+ {
--+ m_inOAuth2Authentication = true;
--+
--+ m_oauth2Handler->setRefreshToken(m_password);
--+ // Try to get new access tokens using the stored refreshtoken
--+ m_oauth2Handler->refresh();
--+ m_inOAuth2Authentication = false;
--+ }
--+ catch (const CurlException &e)
--+ {
--+ m_inOAuth2Authentication = false;
--+ // refresh token expired or invalid, trigger initial auth (that in turn will hit the fallback with copy'n'paste method)
--+ BaseSession::oauth2Authenticate();
--+ }
--+ }
--+ else
--+ {
--+ BaseSession::oauth2Authenticate();
--+ }
--+}
--+
--+string GDriveSession::getRefreshToken() {
--+ return HttpSession::getRefreshToken();
--+}
--+
-- libcmis::RepositoryPtr GDriveSession::getRepository( )
-- {
-- // Return a dummy repository since GDrive doesn't have that notion
--diff -ur libcmis.org/src/libcmis/gdrive-session.hxx libcmis/src/libcmis/gdrive-session.hxx
----- libcmis.org/src/libcmis/gdrive-session.hxx 2021-07-27 19:09:42.583249917 +0200
--+++ libcmis/src/libcmis/gdrive-session.hxx 2021-07-27 19:10:02.369249198 +0200
--@@ -57,8 +57,14 @@
--
-- virtual std::vector< libcmis::ObjectTypePtr > getBaseTypes( );
--
--+ virtual std::string getRefreshToken();
--+
-- private:
-- GDriveSession( );
--+
--+ virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
--+
--+ void oauth2Authenticate( );
-- };
--
-- #endif /* _GDRIVE_SESSION_HXX_ */
--diff -ur libcmis.org/src/libcmis/http-session.hxx libcmis/src/libcmis/http-session.hxx
----- libcmis.org/src/libcmis/http-session.hxx 2021-07-27 19:09:42.582249917 +0200
--+++ libcmis/src/libcmis/http-session.hxx 2021-07-27 19:10:02.369249198 +0200
--@@ -148,7 +148,7 @@
--
-- void setNoSSLCertificateCheck( bool noCheck );
--
--- std::string getRefreshToken( );
--+ virtual std::string getRefreshToken( );
--
-- protected:
-- HttpSession( );
--diff -ur libcmis.org/src/libcmis/oauth2-handler.cxx libcmis/src/libcmis/oauth2-handler.cxx
----- libcmis.org/src/libcmis/oauth2-handler.cxx 2021-07-27 19:09:42.582249917 +0200
--+++ libcmis/src/libcmis/oauth2-handler.cxx 2021-07-27 19:10:02.369249198 +0200
--@@ -158,6 +158,11 @@
-- return m_refresh;
-- }
--
--+void OAuth2Handler::setRefreshToken( string refreshToken )
--+{
--+ m_refresh = refreshToken;
--+}
--+
-- string OAuth2Handler::getHttpHeader( )
-- {
-- string header;
--diff -ur libcmis.org/src/libcmis/oauth2-handler.hxx libcmis/src/libcmis/oauth2-handler.hxx
----- libcmis.org/src/libcmis/oauth2-handler.hxx 2021-07-27 19:09:42.582249917 +0200
--+++ libcmis/src/libcmis/oauth2-handler.hxx 2021-07-27 19:10:02.370249198 +0200
--@@ -61,6 +61,7 @@
--
-- std::string getAccessToken( ) ;
-- std::string getRefreshToken( ) ;
--+ void setRefreshToken( std::string refreshToken ) ;
--
-- // adding HTTP auth header
-- std::string getHttpHeader( ) ;
--diff -ur libcmis.org/src/libcmis/onedrive-session.cxx libcmis/src/libcmis/onedrive-session.cxx
----- libcmis.org/src/libcmis/onedrive-session.cxx 2021-07-27 19:09:42.583249917 +0200
--+++ libcmis/src/libcmis/onedrive-session.cxx 2021-07-27 19:10:02.370249198 +0200
--@@ -68,6 +68,45 @@
-- {
-- }
--
--+void OneDriveSession::setOAuth2Data( libcmis::OAuth2DataPtr oauth2 )
--+{
--+ m_oauth2Handler = new OAuth2Handler( this, oauth2 );
--+ m_oauth2Handler->setOAuth2Parser( OAuth2Providers::getOAuth2Parser( getBindingUrl( ) ) );
--+
--+ oauth2Authenticate( );
--+}
--+
--+void OneDriveSession::oauth2Authenticate()
--+{
--+ // treat the supplied password as refresh token
--+ if (!m_password.empty())
--+ {
--+ try
--+ {
--+ m_inOAuth2Authentication = true;
--+
--+ m_oauth2Handler->setRefreshToken(m_password);
--+ // Try to get new access tokens using the stored refreshtoken
--+ m_oauth2Handler->refresh();
--+ m_inOAuth2Authentication = false;
--+ }
--+ catch (const CurlException &e)
--+ {
--+ m_inOAuth2Authentication = false;
--+ // refresh token expired or invalid, trigger initial auth (that in turn will hit the fallback with copy'n'paste method)
--+ BaseSession::oauth2Authenticate();
--+ }
--+ }
--+ else
--+ {
--+ BaseSession::oauth2Authenticate();
--+ }
--+}
--+
--+string OneDriveSession::getRefreshToken() {
--+ return HttpSession::getRefreshToken();
--+}
--+
-- libcmis::RepositoryPtr OneDriveSession::getRepository( )
-- {
-- // Return a dummy repository since OneDrive doesn't have that notion
--diff -ur libcmis.org/src/libcmis/onedrive-session.hxx libcmis/src/libcmis/onedrive-session.hxx
----- libcmis.org/src/libcmis/onedrive-session.hxx 2021-07-27 19:09:42.583249917 +0200
--+++ libcmis/src/libcmis/onedrive-session.hxx 2021-07-27 19:10:02.370249198 +0200
--@@ -62,8 +62,14 @@
--
-- bool isAPathMatch( Json objectJson, std::string path );
--
--+ virtual std::string getRefreshToken();
--+
-- private:
-- OneDriveSession( );
--+
--+ virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
--+
--+ void oauth2Authenticate( );
-- };
--
-- #endif /* _ONEDRIVE_SESSION_HXX_ */
-diff --git a/external/libcmis/libcmis_onedrive.patch b/external/libcmis/libcmis_onedrive.patch
-deleted file mode 100644
-index 60d7e7b..0000000
---- a/external/libcmis/libcmis_onedrive.patch
-+++ /dev/null
-@@ -1,445 +0,0 @@
--diff --git a/src/libcmis/http-session.cxx b/src/libcmis/http-session.cxx
--index 2638482..227667e 100644
----- a/src/libcmis/http-session.cxx
--+++ b/src/libcmis/http-session.cxx
--@@ -293,6 +293,94 @@ libcmis::HttpResponsePtr HttpSession::httpGetRequest( string url )
-- return response;
-- }
--
--+libcmis::HttpResponsePtr HttpSession::httpPatchRequest( string url, istream& is, vector< string > headers )
--+{
--+ checkOAuth2( url );
--+
--+ // Duplicate istream in case we need to retry
--+ string isStr( static_cast< stringstream const&>( stringstream( ) << is.rdbuf( ) ).str( ) );
--+
--+ istringstream isOriginal( isStr ), isBackup( isStr );
--+
--+ // Reset the handle for the request
--+ curl_easy_reset( m_curlHandle );
--+ initProtocols( );
--+
--+ libcmis::HttpResponsePtr response( new libcmis::HttpResponse( ) );
--+
--+ curl_easy_setopt( m_curlHandle, CURLOPT_WRITEFUNCTION, lcl_bufferData );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_WRITEDATA, response->getData( ).get( ) );
--+
--+ curl_easy_setopt( m_curlHandle, CURLOPT_HEADERFUNCTION, &lcl_getHeaders );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_WRITEHEADER, response.get() );
--+
--+ curl_easy_setopt( m_curlHandle, CURLOPT_MAXREDIRS, 20);
--+
--+ // Get the stream length
--+ is.seekg( 0, ios::end );
--+ long size = is.tellg( );
--+ is.seekg( 0, ios::beg );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_INFILESIZE, size );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_READDATA, &isOriginal );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_READFUNCTION, lcl_readStream );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_UPLOAD, 1 );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_CUSTOMREQUEST, "PATCH" );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_IOCTLFUNCTION, lcl_ioctlStream );
--+ curl_easy_setopt( m_curlHandle, CURLOPT_IOCTLDATA, &isOriginal );
--+
--+ // If we know for sure that 100-Continue won't be accepted,
--+ // don't even try with it to save one HTTP request.
--+ if ( m_no100Continue )
--+ headers.push_back( "Expect:" );
--+ try
--+ {
--+ httpRunRequest( url, headers );
--+ response->getData( )->finish();
--+ }
--+ catch ( const CurlException& )
--+ {
--+ long status = getHttpStatus( );
--+ /** If we had a HTTP 417 response, this is likely to be due to some
--+ HTTP 1.0 proxy / server not accepting the "Expect: 100-continue"
--+ header. Try to disable this header and try again.
--+ */
--+ if ( status == 417 && !m_no100Continue)
--+ {
--+ // Remember that we don't want 100-Continue for the future requests
--+ m_no100Continue = true;
--+ response = httpPutRequest( url, isBackup, headers );
--+ }
--+
--+ // If the access token is expired, we get 401 error,
--+ // Need to use the refresh token to get a new one.
--+ if ( status == 401 && !getRefreshToken( ).empty( ) && !m_refreshedToken )
--+ {
--+
--+ // Refresh the token
--+ oauth2Refresh();
--+
--+ // Resend the query
--+ try
--+ {
--+ // Avoid infinite recursive call
--+ m_refreshedToken = true;
--+ response = httpPutRequest( url, isBackup, headers );
--+ m_refreshedToken = false;
--+ }
--+ catch (const CurlException&)
--+ {
--+ m_refreshedToken = false;
--+ throw;
--+ }
--+ }
--+ // Has tried but failed
--+ if ( ( status != 417 || m_no100Continue ) &&
--+ ( status != 401 || getRefreshToken( ).empty( ) || m_refreshedToken ) ) throw;
--+ }
--+ m_refreshedToken = false;
--+ return response;
--+}
--+
-- libcmis::HttpResponsePtr HttpSession::httpPutRequest( string url, istream& is, vector< string > headers )
-- {
-- checkOAuth2( url );
--diff --git a/src/libcmis/http-session.hxx b/src/libcmis/http-session.hxx
--index 851d52d..29de64d 100644
----- a/src/libcmis/http-session.hxx
--+++ b/src/libcmis/http-session.hxx
--@@ -132,6 +132,9 @@ class HttpSession
-- virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
--
-- libcmis::HttpResponsePtr httpGetRequest( std::string url );
--+ libcmis::HttpResponsePtr httpPatchRequest( std::string url,
--+ std::istream& is,
--+ std::vector< std::string > headers );
-- libcmis::HttpResponsePtr httpPutRequest( std::string url,
-- std::istream& is,
-- std::vector< std::string > headers );
--diff --git a/src/libcmis/oauth2-handler.cxx b/src/libcmis/oauth2-handler.cxx
--index a3320e3..842769f 100644
----- a/src/libcmis/oauth2-handler.cxx
--+++ b/src/libcmis/oauth2-handler.cxx
--@@ -91,8 +91,8 @@ void OAuth2Handler::fetchTokens( string authCode )
-- string post =
-- "code=" + authCode +
-- "&client_id=" + m_data->getClientId() +
--- "&client_secret=" + m_data->getClientSecret() +
-- "&redirect_uri=" + m_data->getRedirectUri() +
--+ "&scope=" + libcmis::escape( m_data->getScope() ) +
-- "&grant_type=authorization_code" ;
--
-- istringstream is( post );
--@@ -121,7 +121,6 @@ void OAuth2Handler::refresh( )
-- string post =
-- "refresh_token=" + m_refresh +
-- "&client_id=" + m_data->getClientId() +
--- "&client_secret=" + m_data->getClientSecret() +
-- "&grant_type=refresh_token" ;
--
-- istringstream is( post );
--diff --git a/src/libcmis/oauth2-providers.cxx b/src/libcmis/oauth2-providers.cxx
--index 8cf9652..654021f 100644
----- a/src/libcmis/oauth2-providers.cxx
--+++ b/src/libcmis/oauth2-providers.cxx
--@@ -312,7 +312,7 @@ OAuth2Parser OAuth2Providers::getOAuth2Parser( const std::string& url )
-- return OAuth2Alfresco;
-- else if ( boost::starts_with( url, "https://www.googleapis.com/drive/v2" ) )
-- return OAuth2Gdrive;
--- else if ( boost::starts_with( url, "https://apis.live.net/v5.0" ) )
--+ else if ( boost::starts_with( url, "https://graph.microsoft.com/v1.0" ) )
-- return OAuth2Onedrive;
--
-- return OAuth2Gdrive;
--diff --git a/src/libcmis/onedrive-document.cxx b/src/libcmis/onedrive-document.cxx
--index f753b42..863a92f 100644
----- a/src/libcmis/onedrive-document.cxx
--+++ b/src/libcmis/onedrive-document.cxx
--@@ -73,7 +73,7 @@ boost::shared_ptr< istream > OneDriveDocument::getContentStream( string /*stream
-- boost::shared_ptr< istream > stream;
-- string streamUrl = getStringProperty( "source" );
-- if ( streamUrl.empty( ) )
--- throw libcmis::Exception( "can not found stream url" );
--+ throw libcmis::Exception( "could not find stream url" );
--
-- try
-- {
--@@ -89,15 +89,15 @@ boost::shared_ptr< istream > OneDriveDocument::getContentStream( string /*stream
-- void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
-- string /*contentType*/,
-- string fileName,
--- bool /*overwrite*/ )
--+ bool bReplaceExisting )
-- {
-- if ( !os.get( ) )
-- throw libcmis::Exception( "Missing stream" );
---
--+
-- string metaUrl = getUrl( );
--
-- // Update file name meta information
--- if ( !fileName.empty( ) && fileName != getContentFilename( ) )
--+ if ( bReplaceExisting && !fileName.empty( ) && fileName != getContentFilename( ) )
-- {
-- Json metaJson;
-- Json fileJson( fileName.c_str( ) );
--@@ -108,7 +108,7 @@ void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
-- headers.push_back( "Content-Type: application/json" );
-- try
-- {
--- getSession()->httpPutRequest( metaUrl, is, headers );
--+ getSession()->httpPatchRequest( metaUrl, is, headers );
-- }
-- catch ( const CurlException& e )
-- {
--@@ -117,9 +117,9 @@ void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
-- }
--
-- fileName = libcmis::escape( getStringProperty( "cmis:name" ) );
--- string putUrl = getSession( )->getBindingUrl( ) + "/" +
--- getStringProperty( "cmis:parentId" ) + "/files/" +
--- fileName + "?overwrite=true";
--+ string putUrl = getSession( )->getBindingUrl( ) + "/me/drive/items/" +
--+ getStringProperty( "cmis:parentId" ) + ":/" +
--+ fileName + ":/content";
--
-- // Upload stream
-- boost::shared_ptr< istream> is ( new istream ( os->rdbuf( ) ) );
--@@ -142,6 +142,7 @@ void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
-- libcmis::DocumentPtr OneDriveDocument::checkOut( )
-- {
-- // OneDrive doesn't have CheckOut, so just return the same document here
--+ // TODO: no longer true - onedrive now has checkout/checkin
-- libcmis::ObjectPtr obj = getSession( )->getObject( getId( ) );
-- libcmis::DocumentPtr checkout =
-- boost::dynamic_pointer_cast< libcmis::Document > ( obj );
--diff --git a/src/libcmis/onedrive-folder.cxx b/src/libcmis/onedrive-folder.cxx
--index a9ae694..c1980c8 100644
----- a/src/libcmis/onedrive-folder.cxx
--+++ b/src/libcmis/onedrive-folder.cxx
--@@ -57,7 +57,9 @@ OneDriveFolder::~OneDriveFolder( )
-- vector< libcmis::ObjectPtr > OneDriveFolder::getChildren( )
-- {
-- vector< libcmis::ObjectPtr > children;
--- string query = getSession( )->getBindingUrl( ) + "/" + getId( ) + "/files";
--+ // TODO: limited to 200 items by default - to get more one would have to
--+ // follow @odata.nextLink or change pagination size
--+ string query = getSession( )->getBindingUrl( ) + "/me/drive/items/" + getId( ) + "/children";
--
-- string res;
-- try
--@@ -70,7 +72,7 @@ vector< libcmis::ObjectPtr > OneDriveFolder::getChildren( )
-- }
--
-- Json jsonRes = Json::parse( res );
--- Json::JsonVector objs = jsonRes["data"].getList( );
--+ Json::JsonVector objs = jsonRes["value"].getList( );
--
-- // Create children objects from Json objects
-- for(unsigned int i = 0; i < objs.size(); i++)
--@@ -85,8 +87,7 @@ libcmis::FolderPtr OneDriveFolder::createFolder(
-- const PropertyPtrMap& properties )
-- {
-- Json propsJson = OneDriveUtils::toOneDriveJson( properties );
---
--- string uploadUrl = getSession( )->getBindingUrl( ) + "/" + getId( );
--+ string uploadUrl = getSession( )->getBindingUrl( ) + "/me/drive/items/" + getId( ) + "/children";
--
-- std::istringstream is( propsJson.toString( ) );
-- string response;
--@@ -126,9 +127,10 @@ libcmis::DocumentPtr OneDriveFolder::createDocument(
-- }
-- }
--
--+ // TODO: limited to 4MB, larger uploads need dedicated UploadSession
-- fileName = libcmis::escape( fileName );
--- string newDocUrl = getSession( )->getBindingUrl( ) + "/" +
--- getId( ) + "/files/" + fileName;
--+ string newDocUrl = getSession( )->getBindingUrl( ) + "/me/drive/items/" +
--+ getId( ) + ":/" + fileName + ":/content";
-- boost::shared_ptr< istream> is ( new istream ( os->rdbuf( ) ) );
-- vector< string > headers;
-- string res;
--diff --git a/src/libcmis/onedrive-object.cxx b/src/libcmis/onedrive-object.cxx
--index 976a97b..8deb591 100644
----- a/src/libcmis/onedrive-object.cxx
--+++ b/src/libcmis/onedrive-object.cxx
--@@ -65,7 +65,7 @@ void OneDriveObject::initializeFromJson ( Json json, string /*id*/, string /*nam
-- Json::JsonObject objs = json.getObjects( );
-- Json::JsonObject::iterator it;
-- PropertyPtr property;
--- bool isFolder = json["type"].toString( ) == "folder";
--+ bool isFolder = json["folder"].toString( ) != "";
-- for ( it = objs.begin( ); it != objs.end( ); ++it)
-- {
-- property.reset( new OneDriveProperty( it->first, it->second ) );
--@@ -74,7 +74,12 @@ void OneDriveObject::initializeFromJson ( Json json, string /*id*/, string /*nam
-- {
-- property.reset( new OneDriveProperty( "cmis:contentStreamFileName", it->second ) );
-- m_properties[ property->getPropertyType( )->getId()] = property;
--- }
--+ } else if ( it->first == "parentReference" ) {
--+ if (it->second["id"].toString() != "") {
--+ property.reset( new OneDriveProperty( "cmis:parentId", it->second["id"] ) );
--+ m_properties[ property->getPropertyType( )->getId()] = property;
--+ }
--+ }
-- }
--
-- m_refreshTimestamp = time( NULL );
--@@ -122,7 +127,7 @@ void OneDriveObject::remove( bool /*allVersions*/ )
--
-- string OneDriveObject::getUrl( )
-- {
--- return getSession( )->getBindingUrl( ) + "/" + getId( );
--+ return getSession( )->getBindingUrl( ) + "/me/drive/items/" + getId( );
-- }
--
-- string OneDriveObject::getUploadUrl( )
--@@ -152,7 +157,7 @@ libcmis::ObjectPtr OneDriveObject::updateProperties(
-- {
-- vector< string > headers;
-- headers.push_back( "Content-Type: application/json" );
--- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
--+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
-- }
-- catch ( const CurlException& e )
-- {
--diff --git a/src/libcmis/onedrive-repository.cxx b/src/libcmis/onedrive-repository.cxx
--index 3eaac9c..b01f5c2 100644
----- a/src/libcmis/onedrive-repository.cxx
--+++ b/src/libcmis/onedrive-repository.cxx
--@@ -35,7 +35,7 @@ OneDriveRepository::OneDriveRepository( ) :
-- m_description = "One Drive repository";
-- m_productName = "One Drive";
-- m_productVersion = "v5";
--- m_rootId = "me/skydrive";
--+ m_rootId = "/me/drive/root";
--
-- m_capabilities[ ACL ] = "discover";
-- m_capabilities[ AllVersionsSearchable ] = "true";
--diff --git a/src/libcmis/onedrive-session.cxx b/src/libcmis/onedrive-session.cxx
--index c6f4270..a603278 100644
----- a/src/libcmis/onedrive-session.cxx
--+++ b/src/libcmis/onedrive-session.cxx
--@@ -79,7 +79,9 @@ libcmis::ObjectPtr OneDriveSession::getObject( string objectId )
-- {
-- // Run the http request to get the properties definition
-- string res;
--- string objectLink = m_bindingUrl + "/" + objectId;
--+ string objectLink = m_bindingUrl + "/me/drive/items/" + objectId;
--+ if (objectId == getRootId())
--+ objectLink = m_bindingUrl + objectId;
-- try
-- {
-- res = httpGetRequest( objectLink )->getStream()->str();
--@@ -95,12 +97,11 @@ libcmis::ObjectPtr OneDriveSession::getObject( string objectId )
-- libcmis::ObjectPtr OneDriveSession::getObjectFromJson( Json& jsonRes )
-- {
-- libcmis::ObjectPtr object;
--- string kind = jsonRes["type"].toString( );
--- if ( kind == "folder" || kind == "album" )
--+ if ( jsonRes["folder"].toString() != "" )
-- {
-- object.reset( new OneDriveFolder( this, jsonRes ) );
-- }
--- else if ( kind == "file" )
--+ else if ( jsonRes["file"].toString() != "" )
-- {
-- object.reset( new OneDriveDocument( this, jsonRes ) );
-- }
--@@ -113,44 +114,18 @@ libcmis::ObjectPtr OneDriveSession::getObjectFromJson( Json& jsonRes )
--
-- libcmis::ObjectPtr OneDriveSession::getObjectByPath( string path )
-- {
--- string id;
--- if ( path == "/" )
--- {
--- id = "me/skydrive";
--- }
--- else
--+ string res;
--+ string objectQuery = m_bindingUrl + "/me/drive/root:" + libcmis::escape( path );
--+ try
-- {
--- path = "/SkyDrive" + path;
--- size_t pos = path.rfind("/");
--- string name = libcmis::escape( path.substr( pos + 1, path.size( ) ) );
--- string res;
--- string objectQuery = m_bindingUrl + "/me/skydrive/search?q=" + name;
--- try
--- {
--- res = httpGetRequest( objectQuery )->getStream( )->str( );
--- }
--- catch ( const CurlException& e )
--- {
--- throw e.getCmisException( );
--- }
--- Json jsonRes = Json::parse( res );
--- Json::JsonVector objs = jsonRes["data"].getList( );
---
--- // Searching for a match in the path to the object
--- for ( unsigned int i = 0; i < objs.size( ); i++ )
--- {
--- if ( isAPathMatch( objs[i], path ) )
--- {
--- id = objs[i]["id"].toString( );
--- break;
--- }
--- }
--+ res = httpGetRequest( objectQuery )->getStream( )->str( );
-- }
--- if ( id.empty( ) )
--+ catch ( const CurlException& e )
-- {
--- throw libcmis::Exception( "No file could be found" );
--+ throw libcmis::Exception( "No file could be found for path " + path + ": " + e.what() );
-- }
--- return getObject( id );
--+ Json jsonRes = Json::parse( res );
--+ return getObjectFromJson( jsonRes );
-- }
--
-- bool OneDriveSession::isAPathMatch( Json objectJson, string path )
--diff --git a/src/libcmis/onedrive-utils.cxx b/src/libcmis/onedrive-utils.cxx
--index dc6ec5d..17ed324 100644
----- a/src/libcmis/onedrive-utils.cxx
--+++ b/src/libcmis/onedrive-utils.cxx
--@@ -44,16 +44,16 @@ string OneDriveUtils::toCmisKey( const string& key )
-- convertedKey = "cmis:createdBy";
-- else if ( key == "description" )
-- convertedKey = "cmis:description";
--- else if ( key == "created_time" )
--+ else if ( key == "createdDateTime" )
-- convertedKey = "cmis:creationDate";
--- else if ( key == "updated_time" )
--+ else if ( key == "lastModifiedDateTime" )
-- convertedKey = "cmis:lastModificationDate";
-- else if ( key == "name" )
-- convertedKey = "cmis:name";
-- else if ( key == "size" )
-- convertedKey = "cmis:contentStreamLength";
--- else if ( key == "parent_id" )
--- convertedKey = "cmis:parentId";
--+ else if ( key == "@microsoft.graph.downloadUrl" )
--+ convertedKey = "source";
-- else convertedKey = key;
-- return convertedKey;
-- }
--@@ -75,8 +75,6 @@ string OneDriveUtils::toOneDriveKey( const string& key )
-- convertedKey = "name";
-- else if ( key == "cmis:contentStreamLength" )
-- convertedKey = "file_size";
--- else if ( key == "cmis:parentId" )
--- convertedKey = "parent_id";
-- else convertedKey = key;
-- return convertedKey;
-- }
--diff --git a/src/libcmis/session-factory.cxx b/src/libcmis/session-factory.cxx
--index ba55cd9..e740afb 100644
----- a/src/libcmis/session-factory.cxx
--+++ b/src/libcmis/session-factory.cxx
--@@ -71,7 +71,7 @@ namespace libcmis
-- session = new GDriveSession( bindingUrl, username, password,
-- oauth2, verbose );
-- }
--- else if ( bindingUrl == "https://apis.live.net/v5.0" )
--+ else if ( bindingUrl == "https://graph.microsoft.com/v1.0" )
-- {
-- session = new OneDriveSession( bindingUrl, username, password,
-- oauth2, verbose);
-diff --git a/ucb/source/ucp/cmis/auth_provider.hxx b/ucb/source/ucp/cmis/auth_provider.hxx
-index 1768c12..af1a420 100644
---- a/ucb/source/ucp/cmis/auth_provider.hxx
-+++ b/ucb/source/ucp/cmis/auth_provider.hxx
-@@ -8,15 +8,7 @@
- */
- #pragma once
-
--#if defined __GNUC__ && !defined __clang__
--#pragma GCC diagnostic push
--#pragma GCC diagnostic ignored "-Wdeprecated"
--#pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
--#endif
- #include <libcmis/libcmis.hxx>
--#if defined __GNUC__ && !defined __clang__
--#pragma GCC diagnostic pop
--#endif
-
- #include <com/sun/star/ucb/XCommandEnvironment.hpp>
- #include <cppuhelper/weakref.hxx>
diff --git a/libreoffice.spec b/libreoffice.spec
index 2b6597e..fa6dfd4 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -1,5 +1,5 @@
# download path contains version without the last (fourth) digit
-%global libo_version 7.6.2
+%global libo_version 7.6.3
# Should contain .alphaX / .betaX, if this is pre-release (actually
# pre-RC) version. The pre-release string is part of tarball file names,
# so we need a way to define it easily at one place.
@@ -280,7 +280,7 @@ Patch3: 0001-default-to-sifr-for-gnome-light-mode.patch
# backported
Patch4: 0001-Only-pass-I.-arguments-to-g-ir-scanner-by-using-pkg-.patch
Patch5: limit-tests-giving-dubious-results-to-x86_64.patch
-Patch6: 717d27a.patch
+Patch6: pdfdoc.patch
# not upstreamed
# fix FTB in ppc64le from sharkcz
# https://lists.freedesktop.org/archives/libreoffice/2023-August/090870.html
diff --git a/pdfdoc.patch b/pdfdoc.patch
new file mode 100644
index 0000000..43c814f
--- /dev/null
+++ b/pdfdoc.patch
@@ -0,0 +1,22 @@
+--- libreoffice-7.6.3.1/sw/qa/core/text/itrform2.cxx 2023-11-02 16:37:04.000000000 -0500
++++ core/sw/qa/core/text/itrform2.cxx 2023-11-07 10:31:14.018505043 -0600
+@@ -124,6 +124,10 @@
+
+ // Then make sure all the expected text is there on page 2:
+ std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = parsePDFExport();
++ if (!pPdfDocument)
++ {
++ return;
++ }
+ std::unique_ptr<vcl::pdf::PDFiumPage> pPage2 = pPdfDocument->openPage(1);
+ int nTextCount = 0;
+ for (int i = 0; i < pPage2->getObjectCount(); ++i)
+@@ -143,7 +147,7 @@
+
+ CPPUNIT_TEST_FIXTURE(Test, testSplitFlyAnchorLeftMargin)
+ {
+- // Given a document with a floating table, anchor para is followed by an other para with a left
++ // Given a document with a floating table, anchor para is followed by another para with a left
+ // margin:
+ createSwDoc("floattable-anchor-left-margin.docx");
+
diff --git a/sources b/sources
index 9a74a16..6a445fe 100644
--- a/sources
+++ b/sources
@@ -1,12 +1,12 @@
+SHA512 (libreoffice-7.6.3.1.tar.xz) = 3ce56e96889be565438e4646a662711899bfa1b65a3c80e478a283481594dbd4428bee4193c3034f2422f297c4e3bc45e7af87d4d54172b0d5a2dcb143189a0d
+SHA512 (libreoffice-7.6.3.1.tar.xz.asc) = 900dec2eaa586abfde851f968bd38444654b9ed33b4258ddc681b999e2755ca39df8dbc7350fafb11be0828811fc221fbf2cfefb0a207216506141d105655cd7
+SHA512 (libreoffice-help-7.6.3.1.tar.xz) = a364c458b2152fd0ebbfd607d11eb290dbbd9e4c6cb06f11a90d8563638c72365351404eac84c8d08626446cb4e11a6bd23876d94bca77c205b70c6564507c6d
+SHA512 (libreoffice-help-7.6.3.1.tar.xz.asc) = b659db1ef3ea2d3b26132230271923b4fe9b707fe066932d02e80c004ea8d3b51472dd0ce7a346af712d691eab122f3650e7f1950180d6dd0ed0e8ed28b03da3
+SHA512 (libreoffice-translations-7.6.3.1.tar.xz) = 5b309b3b6f69628cd2af21a00834281f1deb037b14d8acbc9e8e7933eea56c9488692f5ec283a5086d9ab1487bdb663185e268fd2aa8e310a4db717c7d367c57
+SHA512 (libreoffice-translations-7.6.3.1.tar.xz.asc) = 95722443ba2985a0b58bc29b18a4fa9227d8c33c2e21341444a148833ce4737c127385a8e05f124a0d3bfbbf160ba8863094c9980a8dc904004f743c8604280e
SHA512 (17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip) = a231eba4a1baca11766ef292ab45e302081115477fe23018652882923308856835cf8c9ecba61a5cf22543474ccef3136965d794a90c9e4e9e6dcc21f9af6e1a
SHA512 (185d60944ea767075d27247c3162b3bc-unowinreg.dll) = 854b8ae29b57b40ba6bb6ff66e723a0e8dad053fcc2849f0ad763cd8a31352f4aeba9636fd4e3f0f2a0cd985a6f49b4261b9ace68d6be821ed42cfa7a73eb13c
SHA512 (a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip) = 2d3835f7ac356805025cafedcad97faa48d0f5da386e6ac7b7451030059df8e2fdb0861ade07a576ebf9fb5b88a973585ab0437944b06aac9289d6898ba8586a
SHA512 (f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf) = 6a6d131dad5191614950a49323ae6d9385afe331983c1c85fde82ce6ee816051d95dde9ef90658b8f0a8a0a21754e72ff724bf41f6b96c046b7b4c2660f7095b
SHA512 (libreoffice-multiliblauncher.sh) = db532afdf5000bc66f9e02c7d0ab586468466f63f8f0bdb204832581e8277c5c59f688fa096548d642411cb8c46e8de4a744676b4e624c075262cfd6945138cd
SHA512 (dtoa-20180411.tgz) = 722aa814c33a34bfffe6c0201b0035cc3b65854a0ba9ae2f51620a89d68019353e2c306651b35bca337186b22b2e9865ef3c5e3df8e9328006f882e4577f8c85
-SHA512 (libreoffice-7.6.2.1.tar.xz) = 4b209c444437c067bbc08c5b7d0273fa32675a19afc15751a403e1ee024795fe87aecf64de193203ee4f84f5b7ae8d547cde4ed9aced4efd3d6743af65ac6896
-SHA512 (libreoffice-7.6.2.1.tar.xz.asc) = 0278e6e92971ce9d68f21056f0539c38a6a3def6269daf9263d3ed54bddd4761dea0cc2646b3dfff237a92d2bdb958339aee641651d67aa27d179f94ad26c480
-SHA512 (libreoffice-help-7.6.2.1.tar.xz) = 8fda9424a5ff5fbe0317e08d91504b75e3075d13d3f9b65aa21cdbc53578b1dda40b14168becc577b972eefb09a8255a5ce00322277714274c8adf6975f08a61
-SHA512 (libreoffice-help-7.6.2.1.tar.xz.asc) = 46a4546cbee7a7c66df3ebeda99674e5369aaae169c3ab8691d71a9ef5d59189df88084832991afd9d3928584ad83de8f060f452a1d78b2ef229e537eff5cd1d
-SHA512 (libreoffice-translations-7.6.2.1.tar.xz) = 4cecbc09d648ee751ca7bbcfa61b8ec174ac71aae7255c6359af5f6cbff019cc4ad5b6b4ca757329907175b13ce57e5afaa70355a9bfc48e86f6ccf8d0b7e80d
-SHA512 (libreoffice-translations-7.6.2.1.tar.xz.asc) = 936f34adf6648526db69efb968e66095430e8f5f7fbff241a64f44844dfb4eab2571e2813c39da52103054f72ebf08662b0f1c5d02a0876180dc138090ef6dfe
commit f6147e467a71d27384db0c1cedbb1e55be069455
Author: Mattia Verga <mattia.verga(a)tiscali.it>
Date: Fri Oct 6 09:02:13 2023 +0200
re-enable a bunch of tests that were previously failing
diff --git a/libreoffice.spec b/libreoffice.spec
index 1754bea..2b6597e 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -1025,25 +1025,19 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch500 -p1
%endif
-%ifarch aarch64 s390x
+%ifarch aarch64 s390x ppc64le
%patch501 -p1
%endif
# Temporarily disable failing tests
%ifarch ppc64le
-sed -i -e /CppunitTest_sc_array_functions_test/d sc/Module_sc.mk
-sed -i -e /CppunitTest_sc_addin_functions_test/d sc/Module_sc.mk
-sed -i -e /CppunitTest_sc_financial_functions_test/d sc/Module_sc.mk
-sed -i -e /CppunitTest_sc_statistical_functions_test/d sc/Module_sc.mk
-sed -i -e /CppunitTest_dbaccess_hsqldb_test/d dbaccess/Module_dbaccess.mk
sed -i -e s/CppunitTest_dbaccess_RowSetClones// dbaccess/Module_dbaccess.mk
%endif
%ifarch aarch64
# Nothing to do
%endif
%ifarch s390x
-sed -i -e /CppunitTest_sc_array_functions_test/d sc/Module_sc.mk
-sed -i -e /CppunitTest_sc_addin_functions_test/d sc/Module_sc.mk
+# SwMacrosTest::testVba fails
sed -i -e s/CppunitTest_sw_macros_test// sw/Module_sw.mk
# https://bugs.documentfoundation.org/show_bug.cgi?id=125978
sed -i -e s/CustomTarget_uno_test// testtools/Module_testtools.mk
commit bd3d35cb6f58ab827155efe806cf9b7067810466
Author: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Thu Oct 12 00:32:43 2023 -0500
libcmis rebuild
diff --git a/717d27a.patch b/717d27a.patch
new file mode 100644
index 0000000..6a2b117
--- /dev/null
+++ b/717d27a.patch
@@ -0,0 +1,1569 @@
+From 717d27ae7bc42016aa3110dcbaf7c4c223bfe6c8 Mon Sep 17 00:00:00 2001
+From: Caolán McNamara <caolan.mcnamara(a)collabora.com>
+Date: Mon, 09 Oct 2023 13:46:38 +0100
+Subject: [PATCH] upgrade to libcmis 0.6.0
+
+Change-Id: Ia22d2efca14b1f55f45a4ecb9c487591c3117e17
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157704
+Tested-by: Caolán McNamara <caolan.mcnamara(a)collabora.com>
+Reviewed-by: Caolán McNamara <caolan.mcnamara(a)collabora.com>
+(cherry picked from commit 4e1a5d693e408db170ccf4c84b49017056f289fa)
+---
+
+diff --git a/configure.ac b/configure.ac
+index 90cf027..5942829 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7537,7 +7537,7 @@
+ dnl ===================================================================
+ dnl Check for system libcmis
+ dnl ===================================================================
+-libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.5 >= 0.5.2],enabled)
++libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.6 >= 0.6.0],enabled)
+
+ dnl ===================================================================
+ dnl C++11
+@@ -7563,28 +7563,12 @@
+ fi
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $flag -Werror"
+- if test "$SYSTEM_LIBCMIS" = TRUE; then
+- CXXFLAGS="$CXXFLAGS -DSYSTEM_LIBCMIS $LIBCMIS_CFLAGS"
+- fi
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <algorithm>
+ #include <functional>
+ #include <vector>
+
+- #if defined SYSTEM_LIBCMIS
+- // See ucb/source/ucp/cmis/auth_provider.hxx:
+- #if !defined __clang__
+- #pragma GCC diagnostic push
+- #pragma GCC diagnostic ignored "-Wdeprecated"
+- #pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
+- #endif
+- #include <libcmis/libcmis.hxx>
+- #if !defined __clang__
+- #pragma GCC diagnostic pop
+- #endif
+- #endif
+-
+ void f(std::vector<int> & v, std::function<bool(int, int)> fn) {
+ std::sort(v.begin(), v.end(), fn);
+ }
+diff --git a/download.lst b/download.lst
+index 823d535..ec214cb 100644
+--- a/download.lst
++++ b/download.lst
+@@ -60,8 +60,8 @@
+ # three static lines
+ # so that git cherry-pick
+ # will not run into conflicts
+-LIBCMIS_SHA256SUM := d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2
+-LIBCMIS_TARBALL := libcmis-0.5.2.tar.xz
++LIBCMIS_SHA256SUM := 56df575f78dacc21b4cec7cec73d671fd235f7c2010a8bb7940ef1413dc899fd
++LIBCMIS_TARBALL := libcmis-0.6.0.tar.xz
+ # three static lines
+ # so that git cherry-pick
+ # will not run into conflicts
+diff --git a/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch b/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch
+deleted file mode 100644
+index f82c82f..0000000
+--- a/external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch
++++ /dev/null
+@@ -1,69 +0,0 @@
+-From 219e6d6586c8280dfd9c4851cee0d14d68b6ad65 Mon Sep 17 00:00:00 2001
+-From: David Tardon <dtardon(a)redhat.com>
+-Date: Fri, 28 Dec 2018 15:26:28 +0100
+-Subject: [PATCH] rename class GetObject to avoid name clash on Windows
+-
+----
+- src/libcmis/ws-objectservice.cxx | 2 +-
+- src/libcmis/ws-requests.cxx | 2 +-
+- src/libcmis/ws-requests.hxx | 7 +++----
+- 3 files changed, 5 insertions(+), 6 deletions(-)
+-
+-diff --git a/src/libcmis/ws-objectservice.cxx b/src/libcmis/ws-objectservice.cxx
+-index 9e40085..d57f3cc 100644
+---- a/src/libcmis/ws-objectservice.cxx
+-+++ b/src/libcmis/ws-objectservice.cxx
+-@@ -71,7 +71,7 @@ libcmis::ObjectPtr ObjectService::getObject( string repoId, string id )
+- {
+- libcmis::ObjectPtr object;
+-
+-- class GetObject request( repoId, id );
+-+ GetObjectRequest request( repoId, id );
+- vector< SoapResponsePtr > responses = m_session->soapRequest( m_url, request );
+- if ( responses.size( ) == 1 )
+- {
+-diff --git a/src/libcmis/ws-requests.cxx b/src/libcmis/ws-requests.cxx
+-index f8bc245..408d053 100644
+---- a/src/libcmis/ws-requests.cxx
+-+++ b/src/libcmis/ws-requests.cxx
+-@@ -269,7 +269,7 @@ SoapResponsePtr GetTypeChildrenResponse::create( xmlNodePtr node, RelatedMultipa
+- return SoapResponsePtr( response );
+- }
+-
+--void GetObject::toXml( xmlTextWriterPtr writer )
+-+void GetObjectRequest::toXml( xmlTextWriterPtr writer )
+- {
+- xmlTextWriterStartElement( writer, BAD_CAST( "cmism:getObject" ) );
+- xmlTextWriterWriteAttribute( writer, BAD_CAST( "xmlns:cmis" ), BAD_CAST( NS_CMIS_URL ) );
+-diff --git a/src/libcmis/ws-requests.hxx b/src/libcmis/ws-requests.hxx
+-index 2c4ae92..534d9a4 100644
+---- a/src/libcmis/ws-requests.hxx
+-+++ b/src/libcmis/ws-requests.hxx
+-@@ -203,21 +203,20 @@ class GetTypeChildrenResponse : public SoapResponse
+- std::vector< libcmis::ObjectTypePtr > getChildren( ) { return m_children; }
+- };
+-
+--#undef GetObject
+--class GetObject : public SoapRequest
+-+class GetObjectRequest : public SoapRequest
+- {
+- private:
+- std::string m_repositoryId;
+- std::string m_id;
+-
+- public:
+-- GetObject( std::string repoId, std::string id ) :
+-+ GetObjectRequest( std::string repoId, std::string id ) :
+- m_repositoryId( repoId ),
+- m_id( id )
+- {
+- }
+-
+-- ~GetObject( ) { }
+-+ ~GetObjectRequest( ) { }
+-
+- void toXml( xmlTextWriterPtr writer );
+- };
+---
+-2.19.2
+-
+diff --git a/external/libcmis/UnpackedTarball_libcmis.mk b/external/libcmis/UnpackedTarball_libcmis.mk
+index f48201d..1c014d9 100644
+--- a/external/libcmis/UnpackedTarball_libcmis.mk
++++ b/external/libcmis/UnpackedTarball_libcmis.mk
+@@ -13,13 +13,4 @@
+
+ $(eval $(call gb_UnpackedTarball_set_patchlevel,libcmis,1))
+
+-$(eval $(call gb_UnpackedTarball_add_patches,libcmis, \
+- external/libcmis/libcmis-libxml2_compatibility.patch \
+- external/libcmis/0001-rename-class-GetObject-to-avoid-name-clash-on-Window.patch \
+- external/libcmis/libcmis_onedrive.patch \
+- external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1 \
+- external/libcmis/libcmis_gdrive.patch.1 \
+- external/libcmis/libcmis-boost-string.patch \
+-))
+-
+ # vim: set noet sw=4 ts=4:
+diff --git a/external/libcmis/libcmis-boost-string.patch b/external/libcmis/libcmis-boost-string.patch
+deleted file mode 100644
+index 247d38a..0000000
+--- a/external/libcmis/libcmis-boost-string.patch
++++ /dev/null
+@@ -1,11 +0,0 @@
+---- a/src/libcmis/oauth2-handler.cxx
+-+++ b/src/libcmis/oauth2-handler.cxx
+-@@ -26,6 +26,8 @@
+- * instead of those above.
+- */
+-
+-+#include <boost/algorithm/string.hpp>
+-+
+- #include "oauth2-handler.hxx"
+-
+- #include <libcmis/session-factory.hxx>
+diff --git a/external/libcmis/libcmis-libxml2_compatibility.patch b/external/libcmis/libcmis-libxml2_compatibility.patch
+deleted file mode 100644
+index 240b85b..0000000
+--- a/external/libcmis/libcmis-libxml2_compatibility.patch
++++ /dev/null
+@@ -1,14 +0,0 @@
+-# -*- Mode: Diff -*-
+---- a/src/libcmis/oauth2-providers.cxx
+-+++ b/src/libcmis/oauth2-providers.cxx
+-@@ -34,6 +34,10 @@
+-
+- using namespace std;
+-
+-+#if LIBXML_VERSION < 20621
+-+#define HTML_PARSE_RECOVER 0
+-+#endif
+-+
+- namespace {
+-
+- // Encodes the given data according to the application/x-www-form-urlencoded format, see
+diff --git a/external/libcmis/libcmis_gdrive.patch.1 b/external/libcmis/libcmis_gdrive.patch.1
+deleted file mode 100644
+index 24ff65d..0000000
+--- a/external/libcmis/libcmis_gdrive.patch.1
++++ /dev/null
+@@ -1,702 +0,0 @@
+-diff -ur libcmis.org/src/libcmis/gdrive-document.cxx libcmis/src/libcmis/gdrive-document.cxx
+---- libcmis.org/src/libcmis/gdrive-document.cxx 2021-07-27 19:11:02.679247008 +0200
+-+++ libcmis/src/libcmis/gdrive-document.cxx 2021-07-27 19:11:18.873246420 +0200
+-@@ -145,23 +145,17 @@
+- {
+- if ( !os.get( ) )
+- throw libcmis::Exception( "Missing stream" );
+-- if ( !isImmutable( ) )
+-- throw libcmis::Exception( string ( "Document " + getId( )+
+-- " is not editable" ) );
+-- string putUrl = getUploadUrl( ) + getId( );
+-- putUrl += "?uploadType=media";
+--
+-- // If it's a Google document, convert it
+-- if ( isGoogleDoc( ) )
+-- putUrl += "&convert=true";
+-+
+-+ string putUrl = GDRIVE_UPLOAD_LINK + getId( ) + "?uploadType=media";
+-
+- // Upload stream
+- boost::shared_ptr< istream> is ( new istream ( os->rdbuf( ) ) );
+- vector <string> headers;
+- headers.push_back( string( "Content-Type: " ) + contentType );
+-+ string res;
+- try
+- {
+-- getSession()->httpPutRequest( putUrl, *is, headers );
+-+ res = getSession()->httpPatchRequest( putUrl, *is, headers )->getStream()->str();
+- }
+- catch ( const CurlException& e )
+- {
+-@@ -181,35 +175,10 @@
+- {
+- if ( !os.get( ) )
+- throw libcmis::Exception( "Missing stream" );
+--
+-- if ( !isImmutable( ) )
+-- throw libcmis::Exception( string ( "Document " + getId( )+
+-- " is not editable" ) );
+-- string metaUrl = getUrl( );
+--
+-- // If it's a Google document, convert it
+-- if ( isGoogleDoc( ) )
+-- metaUrl += "?convert=true";
+--
+-- // Update file name meta information
+-- if ( !fileName.empty( ) && fileName != getContentFilename( ) )
+-- {
+-- Json metaJson;
+-- Json fileJson( fileName.c_str( ) );
+-- metaJson.add("title", fileJson );
+--
+-- std::istringstream is( metaJson.toString( ) );
+-- vector<string> headers;
+-- headers.push_back( "Content-Type: application/json" );
+-- try
+-- {
+-- getSession()->httpPutRequest( metaUrl, is, headers );
+-- }
+-- catch ( const CurlException& e )
+-- {
+-- throw e.getCmisException( );
+-- }
+-- }
+-+
+-+ // TODO: when would the filename need an update?
+-+ if (!fileName.empty() && fileName != getContentFilename())
+-+ std::cout << "filename change is not implemented in setContentStream" << std::endl;
+-
+- // Upload stream
+- uploadStream( os, contentType );
+-@@ -251,7 +220,7 @@
+- vector< libcmis::DocumentPtr > GDriveDocument::getAllVersions( )
+- {
+- vector< libcmis::DocumentPtr > revisions;
+-- string versionUrl = getUrl( ) + "/revisions";
+-+ string versionUrl = GDRIVE_METADATA_LINK + getId( ) + "/revisions";
+- // Run the http request to get the properties definition
+- string res;
+- try
+-@@ -263,7 +232,7 @@
+- throw e.getCmisException( );
+- }
+- Json jsonRes = Json::parse( res );
+-- Json::JsonVector objs = jsonRes["items"].getList( );
+-+ Json::JsonVector objs = jsonRes["revisions"].getList( );
+-
+- string parentId = getStringProperty( "cmis:parentId" );
+-
+-diff -ur libcmis.org/src/libcmis/gdrive-folder.cxx libcmis/src/libcmis/gdrive-folder.cxx
+---- libcmis.org/src/libcmis/gdrive-folder.cxx 2021-07-27 19:11:02.678247008 +0200
+-+++ libcmis/src/libcmis/gdrive-folder.cxx 2021-07-27 19:11:18.874246420 +0200
+-@@ -62,8 +62,8 @@
+- // Instead of sending multiple queries for children,
+- // we send a single query to search for objects where parents
+- // include the folderID.
+-- string query = getSession( )->getBindingUrl( ) +
+-- "/files?q=\"" + getId( ) + "\"+in+parents+and+trashed+=+false";
+-+ string query = GDRIVE_METADATA_LINK + "?q=\"" + getId( ) + "\"+in+parents+and+trashed+=+false" +
+-+ "&fields=files(kind,id,name,parents,mimeType,createdTime,modifiedTime,thumbnailLink,size)";
+-
+- string res;
+- try
+-@@ -76,7 +76,7 @@
+- }
+-
+- Json jsonRes = Json::parse( res );
+-- Json::JsonVector objs = jsonRes["items"].getList( );
+-+ Json::JsonVector objs = jsonRes["files"].getList( );
+-
+- // Create children objects from Json objects
+- for(unsigned int i = 0; i < objs.size(); i++)
+-@@ -95,7 +95,7 @@
+- string GDriveFolder::uploadProperties( Json properties )
+- {
+- // URL for uploading meta data
+-- string metaUrl = getSession()->getBindingUrl() + "/files/";
+-+ string metaUrl = GDRIVE_METADATA_LINK + "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime";
+-
+- // add parents to the properties
+- properties.add( "parents", GdriveUtils::createJsonFromParentId( getId( ) ) );
+-@@ -147,9 +147,15 @@
+-
+- Json propsJson = GdriveUtils::toGdriveJson( properties );
+-
+-- // Add filename to properties
+-- Json jsonFilename( fileName.c_str( ) );
+-- propsJson.add( "title", jsonFilename );
+-+ if(!fileName.empty()) {
+-+ // use provided filename
+-+ Json jsonFilename( fileName.c_str( ) );
+-+
+-+ propsJson.add( "name", jsonFilename );
+-+ }
+-+ if(!contentType.empty()) {
+-+ propsJson.add( "mimeType", Json(contentType.c_str()));
+-+ }
+-
+- // Upload meta-datas
+- string res = uploadProperties( propsJson);
+-@@ -171,12 +177,9 @@
+- libcmis::UnfileObjects::Type /*unfile*/,
+- bool /*continueOnError*/ )
+- {
+-- // Object remove doesn't work with folder
+-- // Using trash instead
+- try
+- {
+-- istringstream is( "" );
+-- getSession( )->httpPostRequest( getUrl( ) + "/trash", is, "" );
+-+ getSession( )->httpDeleteRequest( GDRIVE_METADATA_LINK + getId( ) );
+- }
+- catch ( const CurlException& e )
+- {
+-diff -ur libcmis.org/src/libcmis/gdrive-object.cxx libcmis/src/libcmis/gdrive-object.cxx
+---- libcmis.org/src/libcmis/gdrive-object.cxx 2021-07-27 19:11:02.675247009 +0200
+-+++ libcmis/src/libcmis/gdrive-object.cxx 2021-07-27 19:11:18.874246420 +0200
+-@@ -89,8 +89,8 @@
+- property.reset( new GDriveProperty( it->first, it->second ) );
+- m_properties[ property->getPropertyType( )->getId()] = property;
+-
+-- // we map "title" to both "cmis:name" and "cmis:getContentStreamFileName"
+-- if ( it->first == "title" )
+-+ // we map "name" to both "cmis:name" and "cmis:getContentStreamFileName"
+-+ if ( it->first == "name" )
+- {
+- property.reset( new GDriveProperty( "cmis:name", it->second) );
+- m_properties[ property->getPropertyType( )->getId()] = property;
+-@@ -142,16 +142,13 @@
+- {
+- if ( m_renditions.empty( ) )
+- {
+-- string downloadUrl = getStringProperty( "downloadUrl" );
+-- if ( !downloadUrl.empty( ) )
+-- {
+-- string mimeType = getStringProperty( "cmis:contentStreamMimeType" );
+-- if ( !mimeType.empty( ) )
+-- {
+-- RenditionPtr rendition(
+-- new Rendition( mimeType, mimeType, mimeType, downloadUrl ));
+-- m_renditions.push_back( rendition );
+-- }
+-+ string downloadUrl = GDRIVE_METADATA_LINK + getId( ) + "?alt=media";
+-+ string mimeType = getStringProperty( "cmis:contentStreamMimeType" );
+-+ if ( !mimeType.empty( ) )
+-+ {
+-+ RenditionPtr rendition(
+-+ new Rendition( mimeType, mimeType, mimeType, downloadUrl ));
+-+ m_renditions.push_back( rendition );
+- }
+-
+- vector< string > exportLinks = getMultiStringProperty( "exportLinks" );
+-@@ -192,7 +189,7 @@
+- {
+- vector< string > headers;
+- headers.push_back( "Content-Type: application/json" );
+-- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
+-+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
+- }
+- catch ( const CurlException& e )
+- {
+-@@ -228,7 +225,7 @@
+- {
+- try
+- {
+-- getSession( )->httpDeleteRequest( getUrl( ) );
+-+ getSession( )->httpDeleteRequest( GDRIVE_METADATA_LINK + getId( ) );
+- }
+- catch ( const CurlException& e )
+- {
+-@@ -239,8 +236,8 @@
+- void GDriveObject::move( FolderPtr /*source*/, FolderPtr destination )
+- {
+- Json parentsJson;
+-- Json parentsValue = GdriveUtils::createJsonFromParentId( destination->getId( ) );
+-- parentsJson.add( "parents", parentsValue );
+-+ parentsJson.add( "addParents", Json(destination->getId( ).c_str()) );
+-+ parentsJson.add( "removeParents", Json(getStringProperty( "cmis:parentId" ).c_str()) );
+-
+- istringstream is( parentsJson.toString( ) );
+- libcmis::HttpResponsePtr response;
+-@@ -248,7 +245,7 @@
+- {
+- vector< string > headers;
+- headers.push_back( "Content-Type: application/json" );
+-- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
+-+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
+- }
+- catch ( const CurlException& e )
+- {
+-@@ -262,12 +259,10 @@
+-
+- string GDriveObject::getUrl( )
+- {
+-- return getSession( )->getBindingUrl( ) + "/files/" + getId( );
+--}
+--
+--string GDriveObject::getUploadUrl( )
+--{
+-- return GDRIVE_UPLOAD_LINKS;
+-+ // thumbnailLink causes some operations to fail with internal server error,
+-+ // see https://issuetracker.google.com/issues/36760667
+-+ return GDRIVE_METADATA_LINK + getId( ) +
+-+ "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime,size";
+- }
+-
+- vector< string> GDriveObject::getMultiStringProperty( const string& propertyName )
+-diff -ur libcmis.org/src/libcmis/gdrive-repository.cxx libcmis/src/libcmis/gdrive-repository.cxx
+---- libcmis.org/src/libcmis/gdrive-repository.cxx 2021-07-27 19:11:02.676247009 +0200
+-+++ libcmis/src/libcmis/gdrive-repository.cxx 2021-07-27 19:11:18.874246420 +0200
+-@@ -35,7 +35,7 @@
+- m_name = "Google Drive";
+- m_description = "Google Drive repository";
+- m_productName = "Google Drive";
+-- m_productVersion = "v2";
+-+ m_productVersion = "v3";
+- m_rootId = "root";
+-
+- m_capabilities[ ACL ] = "discover";
+-diff -ur libcmis.org/src/libcmis/gdrive-session.cxx libcmis/src/libcmis/gdrive-session.cxx
+---- libcmis.org/src/libcmis/gdrive-session.cxx 2021-07-27 19:11:02.675247009 +0200
+-+++ libcmis/src/libcmis/gdrive-session.cxx 2021-07-27 19:11:18.874246420 +0200
+-@@ -124,9 +124,13 @@
+-
+- libcmis::ObjectPtr GDriveSession::getObject( string objectId )
+- {
+-+ if(objectId == "root") {
+-+ return getRootFolder();
+-+ }
+- // Run the http request to get the properties definition
+- string res;
+-- string objectLink = m_bindingUrl + "/files/" + objectId;
+-+ string objectLink = GDRIVE_METADATA_LINK + objectId +
+-+ "?fields=kind,id,name,parents,mimeType,createdTime,modifiedTime,thumbnailLink,size";
+- try
+- {
+- res = httpGetRequest( objectLink )->getStream()->str();
+-@@ -188,9 +192,10 @@
+- {
+- // Normal child case
+- // Ask for the ID of the child if there is any
+-- string childIdUrl = m_bindingUrl + "/files/" + objectId +
+-- "/children/?q=title+=+'" + segment +
+-- "'&fields=items:id";
+-+ // somewhat flawed as names are not necessarily unique in GDrive...
+-+ string query = libcmis::escape("'" + objectId + "' in parents and trashed = false and name='" + segment + "'");
+-+
+-+ string childIdUrl = m_bindingUrl + "/files/?q=" + query + "&fields=files(id)";
+-
+- string res;
+- try
+-@@ -204,7 +209,7 @@
+- Json jsonRes = Json::parse( res );
+-
+- // Did we get an id?
+-- Json::JsonVector items = jsonRes["items"].getList();
+-+ Json::JsonVector items = jsonRes["files"].getList();
+- if ( items.empty( ) )
+- throw libcmis::Exception( "Object not found: " + path, "objectNotFound" );
+-
+-@@ -219,6 +224,27 @@
+- return getObject( objectId );
+- }
+-
+-+libcmis::FolderPtr GDriveSession::getRootFolder()
+-+{
+-+ // permissions/scope with just drive.file don't allow to get it with the "root" alias/by its actual object-ID
+-+ Json propsJson;
+-+
+-+ // GDrive folder is a file with a different mime type.
+-+ string mimeType = GDRIVE_FOLDER_MIME_TYPE;
+-+
+-+ // Add mimetype to the propsJson
+-+ Json jsonMimeType( mimeType.c_str( ) );
+-+ propsJson.add( "mimeType", jsonMimeType );
+-+ propsJson.add( "id", "root" );
+-+
+-+ // Upload meta-datas
+-+ propsJson.add("cmis:name", "VirtualRoot");
+-+
+-+ libcmis::FolderPtr folderPtr( new GDriveFolder( this, propsJson ) );
+-+
+-+ return folderPtr;
+-+}
+-+
+- libcmis::ObjectTypePtr GDriveSession::getType( string id )
+- {
+- libcmis::ObjectTypePtr type( new GdriveObjectType( id ) );
+-diff -ur libcmis.org/src/libcmis/gdrive-session.hxx libcmis/src/libcmis/gdrive-session.hxx
+---- libcmis.org/src/libcmis/gdrive-session.hxx 2021-07-27 19:11:02.675247009 +0200
+-+++ libcmis/src/libcmis/gdrive-session.hxx 2021-07-27 19:11:18.875246420 +0200
+-@@ -57,6 +57,8 @@
+-
+- virtual std::vector< libcmis::ObjectTypePtr > getBaseTypes( );
+-
+-+ virtual libcmis::FolderPtr getRootFolder();
+-+
+- virtual std::string getRefreshToken();
+-
+- private:
+-diff -ur libcmis.org/src/libcmis/gdrive-utils.cxx libcmis/src/libcmis/gdrive-utils.cxx
+---- libcmis.org/src/libcmis/gdrive-utils.cxx 2021-07-27 19:11:02.677247008 +0200
+-+++ libcmis/src/libcmis/gdrive-utils.cxx 2021-07-27 19:11:18.875246420 +0200
+-@@ -44,17 +44,17 @@
+- convertedKey = "cmis:createdBy";
+- else if ( key == "description" )
+- convertedKey = "cmis:description";
+-- else if ( key == "createdDate" )
+-+ else if ( key == "createdTime" )
+- convertedKey = "cmis:creationDate";
+- else if ( key == "lastModifyingUserName" )
+- convertedKey = "cmis:lastModifiedBy";
+-- else if ( key == "modifiedDate" )
+-+ else if ( key == "modifiedTime" )
+- convertedKey = "cmis:lastModificationDate";
+-- else if ( key == "title" )
+-+ else if ( key == "name" )
+- convertedKey = "cmis:contentStreamFileName";
+- else if ( key == "mimeType" )
+- convertedKey = "cmis:contentStreamMimeType";
+-- else if ( key == "fileSize" )
+-+ else if ( key == "size" )
+- convertedKey = "cmis:contentStreamLength";
+- else if ( key == "editable" )
+- convertedKey = "cmis:isImmutable";
+-@@ -72,21 +72,21 @@
+- else if ( key == "cmis:createdBy" )
+- convertedKey = "ownerNames";
+- else if ( key == "cmis:creationDate" )
+-- convertedKey = "createdDate";
+-+ convertedKey = "createdTime";
+- else if ( key == "cmis:description" )
+- convertedKey = "description";
+- else if ( key == "cmis:lastModifiedBy" )
+- convertedKey = "lastModifyingUserName";
+- else if ( key == "cmis:lastModificationDate" )
+-- convertedKey = "modifiedDate";
+-+ convertedKey = "modifiedTime";
+- else if ( key == "cmis:contentStreamFileName" )
+-- convertedKey = "title";
+-+ convertedKey = "name";
+- else if ( key == "cmis:name" )
+-- convertedKey = "title";
+-+ convertedKey = "name";
+- else if ( key == "cmis:contentStreamMimeType" )
+- convertedKey = "mimeType";
+- else if ( key == "cmis:contentStreamLength" )
+-- convertedKey = "fileSize";
+-+ convertedKey = "size";
+- else if ( key == "cmis:isImmutable" )
+- convertedKey = "editable";
+- else if ( key == "cmis:parentId" )
+-@@ -124,9 +124,9 @@
+- bool GdriveUtils::checkUpdatable( const string& key )
+- {
+- // taken from https://developers.google.com/drive/v2/reference/files
+-- bool updatable = ( key == "title" ||
+-+ bool updatable = ( key == "name" ||
+- key == "description" ||
+-- key == "modifiedDate" ||
+-+ key == "modifiedTime" ||
+- key == "lastViewedByMeDate" );
+- return updatable;
+- }
+-@@ -143,18 +143,11 @@
+-
+- Json GdriveUtils::createJsonFromParentId( const string& parentId )
+- {
+-- Json parentValue( parentId.c_str( ) );
+--
+- // parents is a Json array
+- Json firstParent;
+-- firstParent.add( "id", parentValue );
+--
+-- Json::JsonVector parents;
+-- parents.insert( parents.begin( ), firstParent );
+-+ firstParent.add( Json( parentId.c_str() ) );
+-
+-- Json parentsValue( parents );
+--
+-- return parentsValue;
+-+ return firstParent;
+- }
+-
+- vector< string > GdriveUtils::parseGdriveProperty( string key, Json json )
+-diff -ur libcmis.org/src/libcmis/gdrive-utils.hxx libcmis/src/libcmis/gdrive-utils.hxx
+---- libcmis.org/src/libcmis/gdrive-utils.hxx 2021-07-27 19:11:02.677247008 +0200
+-+++ libcmis/src/libcmis/gdrive-utils.hxx 2021-07-27 19:11:18.875246420 +0200
+-@@ -35,7 +35,8 @@
+- #include "json-utils.hxx"
+-
+- static const std::string GDRIVE_FOLDER_MIME_TYPE = "application/vnd.google-apps.folder" ;
+--static const std::string GDRIVE_UPLOAD_LINKS = "https://www.googleapis.com/upload/drive/v2/files/";
+-+static const std::string GDRIVE_UPLOAD_LINK = "https://www.googleapis.com/upload/drive/v3/files/";
+-+static const std::string GDRIVE_METADATA_LINK = "https://www.googleapis.com/drive/v3/files/";
+-
+- class GdriveUtils
+- {
+-diff -ur libcmis.org/src/libcmis/oauth2-handler.cxx libcmis/src/libcmis/oauth2-handler.cxx
+---- libcmis.org/src/libcmis/oauth2-handler.cxx 2021-07-27 19:11:02.676247009 +0200
+-+++ libcmis/src/libcmis/oauth2-handler.cxx 2021-07-27 19:11:18.875246420 +0200
+-@@ -92,8 +92,11 @@
+- "code=" + authCode +
+- "&client_id=" + m_data->getClientId() +
+- "&redirect_uri=" + m_data->getRedirectUri() +
+-- "&scope=" + libcmis::escape( m_data->getScope() ) +
+- "&grant_type=authorization_code" ;
+-+ if(boost::starts_with(m_data->getTokenUrl(), "https://oauth2.googleapis.com/"))
+-+ post += "&client_secret=" + m_data->getClientSecret();
+-+ else
+-+ post += "&scope=" + libcmis::escape( m_data->getScope() );
+-
+- istringstream is( post );
+-
+-@@ -104,7 +107,7 @@
+- resp = m_session->httpPostRequest ( m_data->getTokenUrl(), is,
+- "application/x-www-form-urlencoded" );
+- }
+-- catch ( const CurlException& )
+-+ catch ( const CurlException& e)
+- {
+- throw libcmis::Exception(
+- "Couldn't get tokens from the authorization code ");
+-@@ -122,6 +125,8 @@
+- "refresh_token=" + m_refresh +
+- "&client_id=" + m_data->getClientId() +
+- "&grant_type=refresh_token" ;
+-+ if(boost::starts_with(m_data->getTokenUrl(), "https://oauth2.googleapis.com/"))
+-+ post += "&client_secret=" + m_data->getClientSecret();
+-
+- istringstream is( post );
+- libcmis::HttpResponsePtr resp;
+-@@ -130,7 +135,7 @@
+- resp = m_session->httpPostRequest( m_data->getTokenUrl( ), is,
+- "application/x-www-form-urlencoded" );
+- }
+-- catch (const CurlException& )
+-+ catch (const CurlException& e )
+- {
+- throw libcmis::Exception( "Couldn't refresh token ");
+- }
+-diff -ur libcmis.org/src/libcmis/oauth2-providers.cxx libcmis/src/libcmis/oauth2-providers.cxx
+---- libcmis.org/src/libcmis/oauth2-providers.cxx 2021-07-27 19:11:02.679247008 +0200
+-+++ libcmis/src/libcmis/oauth2-providers.cxx 2021-07-27 19:11:18.886246420 +0200
+-@@ -80,172 +80,8 @@
+-
+- }
+-
+--string OAuth2Providers::OAuth2Gdrive( HttpSession* session, const string& authUrl,
+-- const string& username, const string& password )
+--{
+-- /* This member function implements 'Google OAuth 2.0'
+-- *
+-- * The interaction is carried out by libcmis, with no web browser involved.
+-- *
+-- * Normal sequence (without 2FA) is:
+-- * 1) a get to activate login page
+-- * receive first login page, html format
+-- * 2) subsequent post to sent email
+-- * receive html page for password input
+-- * 3) subsequent post to send password
+-- * receive html page for application consent
+-- * 4) subsequent post to send a consent for the application
+-- * receive a single-use authorization code
+-- * this code is returned as a string
+-- *
+-- * Sequence with 2FA is:
+-- * 1) a get to activate login page
+-- * receive first login page, html format
+-- * 2) subsequent post to sent email
+-- * receive html page for password input
+-- * 3) subsequent post to send password
+-- * receive html page for pin input
+-- * 3b) subsequent post to send pin number
+-- * receive html page for application consent
+-- * 4) subsequent post to send a consent for the application
+-- * receive a single-use authorization code
+-- * this code is returned as a string
+-- */
+--
+-- static const string CONTENT_TYPE( "application/x-www-form-urlencoded" );
+-- // STEP 1: get login page
+-- string res;
+-- try
+-- {
+-- // send the first get, receive the html login page
+-- res = session->httpGetRequest( authUrl )->getStream( )->str( );
+-- }
+-- catch ( const CurlException& )
+-- {
+-- return string( );
+-- }
+--
+-- // STEP 2: send email
+--
+-- string loginEmailPost, loginEmailLink;
+-- if ( !parseResponse( res.c_str( ), loginEmailPost, loginEmailLink ) )
+-- return string( );
+--
+-- loginEmailPost += "Email=";
+-- loginEmailPost += escapeForm( username );
+--
+-- istringstream loginEmailIs( loginEmailPost );
+-- string loginEmailRes;
+-- try
+-- {
+-- // send a post with user email, receive the html page for password input
+-- loginEmailRes = session->httpPostRequest ( loginEmailLink, loginEmailIs, CONTENT_TYPE )
+-- ->getStream( )->str( );
+-- }
+-- catch ( const CurlException& )
+-- {
+-- return string( );
+-- }
+--
+-- // STEP 3: password page
+--
+-- string loginPasswdPost, loginPasswdLink;
+-- if ( !parseResponse( loginEmailRes.c_str( ), loginPasswdPost, loginPasswdLink ) )
+-- return string( );
+--
+-- loginPasswdPost += "Passwd=";
+-- loginPasswdPost += escapeForm( password );
+--
+-- istringstream loginPasswdIs( loginPasswdPost );
+-- string loginPasswdRes;
+-- try
+-- {
+-- // send a post with user password, receive the application consent page
+-- loginPasswdRes = session->httpPostRequest ( loginPasswdLink, loginPasswdIs, CONTENT_TYPE )
+-- ->getStream( )->str( );
+-- }
+-- catch ( const CurlException& )
+-- {
+-- return string( );
+-- }
+--
+-- string approvalPost, approvalLink;
+-- if ( !parseResponse( loginPasswdRes. c_str( ), approvalPost, approvalLink) )
+-- return string( );
+--
+-- // when 2FA is enabled, link doesn't start with 'http'
+-- if ( approvalLink.compare(0, 4, "http") != 0 )
+-- {
+-- // STEP 3b: 2 Factor Authentication, pin code request
+--
+-- string loginChallengePost( approvalPost );
+-- string loginChallengeLink( approvalLink );
+--
+-- libcmis::OAuth2AuthCodeProvider fallbackProvider = libcmis::SessionFactory::getOAuth2AuthCodeProvider( );
+-- unique_ptr< char, void (*)( void * ) > pin{ fallbackProvider( "", "", "" ), free };
+--
+-- if( !pin )
+-- {
+-- // unset OAuth2AuthCode Provider to avoid showing pin request again in the HttpSession::oauth2Authenticate
+-- libcmis::SessionFactory::setOAuth2AuthCodeProvider( NULL );
+-- return string( );
+-- }
+--
+-- loginChallengeLink = "https://accounts.google.com" + loginChallengeLink;
+-- loginChallengePost += string( PIN_INPUT_NAME ) + "=";
+-- loginChallengePost += string( pin.get() );
+--
+-- istringstream loginChallengeIs( loginChallengePost );
+-- string loginChallengeRes;
+-- try
+-- {
+-- // send a post with pin, receive the application consent page
+-- loginChallengeRes = session->httpPostRequest ( loginChallengeLink, loginChallengeIs, CONTENT_TYPE )
+-- ->getStream( )->str( );
+-- }
+-- catch ( const CurlException& )
+-- {
+-- return string( );
+-- }
+--
+-- approvalPost = string();
+-- approvalLink = string();
+--
+-- if ( !parseResponse( loginChallengeRes. c_str( ), approvalPost, approvalLink) )
+-- return string( );
+-- }
+-- else if( approvalLink.compare( "https://accounts.google.com/ServiceLoginAuth" ) == 0 )
+-- {
+-- // wrong password,
+-- // unset OAuth2AuthCode Provider to avoid showing pin request again in the HttpSession::oauth2Authenticate
+-- libcmis::SessionFactory::setOAuth2AuthCodeProvider( NULL );
+-- return string( );
+-- }
+--
+-- // STEP 4: allow libcmis to access google drive
+-- approvalPost += "submit_access=true";
+--
+-- istringstream approvalIs( approvalPost );
+-- string approvalRes;
+-- try
+-- {
+-- // send a post with application consent
+-- approvalRes = session->httpPostRequest ( approvalLink, approvalIs,
+-- CONTENT_TYPE) ->getStream( )->str( );
+-- }
+-- catch ( const CurlException& e )
+-- {
+-- throw e.getCmisException( );
+-- }
+--
+-- // Take the authentication code from the text bar
+-- string code = parseCode( approvalRes.c_str( ) );
+--
+-- return code;
+--}
+--
+--string OAuth2Providers::OAuth2Onedrive( HttpSession* /*session*/, const string& /*authUrl*/,
+-- const string& /*username*/, const string& /*password*/ )
+-+string OAuth2Providers::OAuth2Dummy( HttpSession* /*session*/, const string& /*authUrl*/,
+-+ const string& /*username*/, const string& /*password*/ )
+- {
+- return string( );
+- }
+-@@ -314,12 +150,8 @@
+- // For Alfresco in the cloud, only match the hostname as there can be several
+- // binding URLs created with it.
+- return OAuth2Alfresco;
+-- else if ( boost::starts_with( url, "https://www.googleapis.com/drive/v2" ) )
+-- return OAuth2Gdrive;
+-- else if ( boost::starts_with( url, "https://graph.microsoft.com/v1.0" ) )
+-- return OAuth2Onedrive;
+-
+-- return OAuth2Gdrive;
+-+ return OAuth2Dummy;
+- }
+-
+- int OAuth2Providers::parseResponse ( const char* response, string& post, string& link )
+-diff -ur libcmis.org/src/libcmis/oauth2-providers.hxx libcmis/src/libcmis/oauth2-providers.hxx
+---- libcmis.org/src/libcmis/oauth2-providers.hxx 2021-07-27 19:11:02.678247008 +0200
+-+++ libcmis/src/libcmis/oauth2-providers.hxx 2021-07-27 19:11:18.886246420 +0200
+-@@ -39,12 +39,8 @@
+- class OAuth2Providers
+- {
+- public :
+-- static std::string OAuth2Gdrive( HttpSession* session, const std::string& authUrl,
+-+ static std::string OAuth2Dummy( HttpSession* session, const std::string& authUrl,
+- const std::string& username, const std::string& password );
+--
+-- static std::string OAuth2Onedrive( HttpSession* session, const std::string& authUrl,
+-- const std::string& username, const std::string& password );
+--
+- static std::string OAuth2Alfresco( HttpSession* session, const std::string& authUrl,
+- const std::string& username, const std::string& password );
+-
+-diff -ur libcmis.org/src/libcmis/session-factory.cxx libcmis/src/libcmis/session-factory.cxx
+---- libcmis.org/src/libcmis/session-factory.cxx 2021-07-27 19:11:02.679247008 +0200
+-+++ libcmis/src/libcmis/session-factory.cxx 2021-07-27 19:11:18.886246420 +0200
+-@@ -66,7 +66,7 @@
+- if ( !bindingUrl.empty( ) )
+- {
+- // Try the special cases based on the binding URL
+-- if ( bindingUrl == "https://www.googleapis.com/drive/v2" )
+-+ if ( bindingUrl == "https://www.googleapis.com/drive/v3" )
+- {
+- session = new GDriveSession( bindingUrl, username, password,
+- oauth2, verbose );
+diff --git a/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1 b/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1
+deleted file mode 100644
+index a8cb065..0000000
+--- a/external/libcmis/libcmis_oauth_pw_as_refreshtoken.patch.1
++++ /dev/null
+@@ -1,185 +0,0 @@
+-diff -ur libcmis.org/inc/libcmis/session.hxx libcmis/inc/libcmis/session.hxx
+---- libcmis.org/inc/libcmis/session.hxx 2021-07-27 19:09:42.580249917 +0200
+-+++ libcmis/inc/libcmis/session.hxx 2021-07-27 19:10:02.368249199 +0200
+-@@ -95,6 +95,8 @@
+- certificate exception feature available on common web browser.
+- */
+- virtual void setNoSSLCertificateCheck( bool noCheck ) = 0;
+-+
+-+ virtual std::string getRefreshToken() { return ""; };
+- };
+- }
+-
+-diff -ur libcmis.org/src/libcmis/gdrive-session.cxx libcmis/src/libcmis/gdrive-session.cxx
+---- libcmis.org/src/libcmis/gdrive-session.cxx 2021-07-27 19:09:42.581249917 +0200
+-+++ libcmis/src/libcmis/gdrive-session.cxx 2021-07-27 19:10:02.369249198 +0200
+-@@ -70,6 +70,46 @@
+- {
+- }
+-
+-+
+-+void GDriveSession::setOAuth2Data( libcmis::OAuth2DataPtr oauth2 )
+-+{
+-+ m_oauth2Handler = new OAuth2Handler( this, oauth2 );
+-+ m_oauth2Handler->setOAuth2Parser( OAuth2Providers::getOAuth2Parser( getBindingUrl( ) ) );
+-+
+-+ oauth2Authenticate( );
+-+}
+-+
+-+void GDriveSession::oauth2Authenticate()
+-+{
+-+ // treat the supplied password as refresh token
+-+ if (!m_password.empty())
+-+ {
+-+ try
+-+ {
+-+ m_inOAuth2Authentication = true;
+-+
+-+ m_oauth2Handler->setRefreshToken(m_password);
+-+ // Try to get new access tokens using the stored refreshtoken
+-+ m_oauth2Handler->refresh();
+-+ m_inOAuth2Authentication = false;
+-+ }
+-+ catch (const CurlException &e)
+-+ {
+-+ m_inOAuth2Authentication = false;
+-+ // refresh token expired or invalid, trigger initial auth (that in turn will hit the fallback with copy'n'paste method)
+-+ BaseSession::oauth2Authenticate();
+-+ }
+-+ }
+-+ else
+-+ {
+-+ BaseSession::oauth2Authenticate();
+-+ }
+-+}
+-+
+-+string GDriveSession::getRefreshToken() {
+-+ return HttpSession::getRefreshToken();
+-+}
+-+
+- libcmis::RepositoryPtr GDriveSession::getRepository( )
+- {
+- // Return a dummy repository since GDrive doesn't have that notion
+-diff -ur libcmis.org/src/libcmis/gdrive-session.hxx libcmis/src/libcmis/gdrive-session.hxx
+---- libcmis.org/src/libcmis/gdrive-session.hxx 2021-07-27 19:09:42.583249917 +0200
+-+++ libcmis/src/libcmis/gdrive-session.hxx 2021-07-27 19:10:02.369249198 +0200
+-@@ -57,8 +57,14 @@
+-
+- virtual std::vector< libcmis::ObjectTypePtr > getBaseTypes( );
+-
+-+ virtual std::string getRefreshToken();
+-+
+- private:
+- GDriveSession( );
+-+
+-+ virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
+-+
+-+ void oauth2Authenticate( );
+- };
+-
+- #endif /* _GDRIVE_SESSION_HXX_ */
+-diff -ur libcmis.org/src/libcmis/http-session.hxx libcmis/src/libcmis/http-session.hxx
+---- libcmis.org/src/libcmis/http-session.hxx 2021-07-27 19:09:42.582249917 +0200
+-+++ libcmis/src/libcmis/http-session.hxx 2021-07-27 19:10:02.369249198 +0200
+-@@ -148,7 +148,7 @@
+-
+- void setNoSSLCertificateCheck( bool noCheck );
+-
+-- std::string getRefreshToken( );
+-+ virtual std::string getRefreshToken( );
+-
+- protected:
+- HttpSession( );
+-diff -ur libcmis.org/src/libcmis/oauth2-handler.cxx libcmis/src/libcmis/oauth2-handler.cxx
+---- libcmis.org/src/libcmis/oauth2-handler.cxx 2021-07-27 19:09:42.582249917 +0200
+-+++ libcmis/src/libcmis/oauth2-handler.cxx 2021-07-27 19:10:02.369249198 +0200
+-@@ -158,6 +158,11 @@
+- return m_refresh;
+- }
+-
+-+void OAuth2Handler::setRefreshToken( string refreshToken )
+-+{
+-+ m_refresh = refreshToken;
+-+}
+-+
+- string OAuth2Handler::getHttpHeader( )
+- {
+- string header;
+-diff -ur libcmis.org/src/libcmis/oauth2-handler.hxx libcmis/src/libcmis/oauth2-handler.hxx
+---- libcmis.org/src/libcmis/oauth2-handler.hxx 2021-07-27 19:09:42.582249917 +0200
+-+++ libcmis/src/libcmis/oauth2-handler.hxx 2021-07-27 19:10:02.370249198 +0200
+-@@ -61,6 +61,7 @@
+-
+- std::string getAccessToken( ) ;
+- std::string getRefreshToken( ) ;
+-+ void setRefreshToken( std::string refreshToken ) ;
+-
+- // adding HTTP auth header
+- std::string getHttpHeader( ) ;
+-diff -ur libcmis.org/src/libcmis/onedrive-session.cxx libcmis/src/libcmis/onedrive-session.cxx
+---- libcmis.org/src/libcmis/onedrive-session.cxx 2021-07-27 19:09:42.583249917 +0200
+-+++ libcmis/src/libcmis/onedrive-session.cxx 2021-07-27 19:10:02.370249198 +0200
+-@@ -68,6 +68,45 @@
+- {
+- }
+-
+-+void OneDriveSession::setOAuth2Data( libcmis::OAuth2DataPtr oauth2 )
+-+{
+-+ m_oauth2Handler = new OAuth2Handler( this, oauth2 );
+-+ m_oauth2Handler->setOAuth2Parser( OAuth2Providers::getOAuth2Parser( getBindingUrl( ) ) );
+-+
+-+ oauth2Authenticate( );
+-+}
+-+
+-+void OneDriveSession::oauth2Authenticate()
+-+{
+-+ // treat the supplied password as refresh token
+-+ if (!m_password.empty())
+-+ {
+-+ try
+-+ {
+-+ m_inOAuth2Authentication = true;
+-+
+-+ m_oauth2Handler->setRefreshToken(m_password);
+-+ // Try to get new access tokens using the stored refreshtoken
+-+ m_oauth2Handler->refresh();
+-+ m_inOAuth2Authentication = false;
+-+ }
+-+ catch (const CurlException &e)
+-+ {
+-+ m_inOAuth2Authentication = false;
+-+ // refresh token expired or invalid, trigger initial auth (that in turn will hit the fallback with copy'n'paste method)
+-+ BaseSession::oauth2Authenticate();
+-+ }
+-+ }
+-+ else
+-+ {
+-+ BaseSession::oauth2Authenticate();
+-+ }
+-+}
+-+
+-+string OneDriveSession::getRefreshToken() {
+-+ return HttpSession::getRefreshToken();
+-+}
+-+
+- libcmis::RepositoryPtr OneDriveSession::getRepository( )
+- {
+- // Return a dummy repository since OneDrive doesn't have that notion
+-diff -ur libcmis.org/src/libcmis/onedrive-session.hxx libcmis/src/libcmis/onedrive-session.hxx
+---- libcmis.org/src/libcmis/onedrive-session.hxx 2021-07-27 19:09:42.583249917 +0200
+-+++ libcmis/src/libcmis/onedrive-session.hxx 2021-07-27 19:10:02.370249198 +0200
+-@@ -62,8 +62,14 @@
+-
+- bool isAPathMatch( Json objectJson, std::string path );
+-
+-+ virtual std::string getRefreshToken();
+-+
+- private:
+- OneDriveSession( );
+-+
+-+ virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
+-+
+-+ void oauth2Authenticate( );
+- };
+-
+- #endif /* _ONEDRIVE_SESSION_HXX_ */
+diff --git a/external/libcmis/libcmis_onedrive.patch b/external/libcmis/libcmis_onedrive.patch
+deleted file mode 100644
+index 60d7e7b..0000000
+--- a/external/libcmis/libcmis_onedrive.patch
++++ /dev/null
+@@ -1,445 +0,0 @@
+-diff --git a/src/libcmis/http-session.cxx b/src/libcmis/http-session.cxx
+-index 2638482..227667e 100644
+---- a/src/libcmis/http-session.cxx
+-+++ b/src/libcmis/http-session.cxx
+-@@ -293,6 +293,94 @@ libcmis::HttpResponsePtr HttpSession::httpGetRequest( string url )
+- return response;
+- }
+-
+-+libcmis::HttpResponsePtr HttpSession::httpPatchRequest( string url, istream& is, vector< string > headers )
+-+{
+-+ checkOAuth2( url );
+-+
+-+ // Duplicate istream in case we need to retry
+-+ string isStr( static_cast< stringstream const&>( stringstream( ) << is.rdbuf( ) ).str( ) );
+-+
+-+ istringstream isOriginal( isStr ), isBackup( isStr );
+-+
+-+ // Reset the handle for the request
+-+ curl_easy_reset( m_curlHandle );
+-+ initProtocols( );
+-+
+-+ libcmis::HttpResponsePtr response( new libcmis::HttpResponse( ) );
+-+
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_WRITEFUNCTION, lcl_bufferData );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_WRITEDATA, response->getData( ).get( ) );
+-+
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_HEADERFUNCTION, &lcl_getHeaders );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_WRITEHEADER, response.get() );
+-+
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_MAXREDIRS, 20);
+-+
+-+ // Get the stream length
+-+ is.seekg( 0, ios::end );
+-+ long size = is.tellg( );
+-+ is.seekg( 0, ios::beg );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_INFILESIZE, size );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_READDATA, &isOriginal );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_READFUNCTION, lcl_readStream );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_UPLOAD, 1 );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_CUSTOMREQUEST, "PATCH" );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_IOCTLFUNCTION, lcl_ioctlStream );
+-+ curl_easy_setopt( m_curlHandle, CURLOPT_IOCTLDATA, &isOriginal );
+-+
+-+ // If we know for sure that 100-Continue won't be accepted,
+-+ // don't even try with it to save one HTTP request.
+-+ if ( m_no100Continue )
+-+ headers.push_back( "Expect:" );
+-+ try
+-+ {
+-+ httpRunRequest( url, headers );
+-+ response->getData( )->finish();
+-+ }
+-+ catch ( const CurlException& )
+-+ {
+-+ long status = getHttpStatus( );
+-+ /** If we had a HTTP 417 response, this is likely to be due to some
+-+ HTTP 1.0 proxy / server not accepting the "Expect: 100-continue"
+-+ header. Try to disable this header and try again.
+-+ */
+-+ if ( status == 417 && !m_no100Continue)
+-+ {
+-+ // Remember that we don't want 100-Continue for the future requests
+-+ m_no100Continue = true;
+-+ response = httpPutRequest( url, isBackup, headers );
+-+ }
+-+
+-+ // If the access token is expired, we get 401 error,
+-+ // Need to use the refresh token to get a new one.
+-+ if ( status == 401 && !getRefreshToken( ).empty( ) && !m_refreshedToken )
+-+ {
+-+
+-+ // Refresh the token
+-+ oauth2Refresh();
+-+
+-+ // Resend the query
+-+ try
+-+ {
+-+ // Avoid infinite recursive call
+-+ m_refreshedToken = true;
+-+ response = httpPutRequest( url, isBackup, headers );
+-+ m_refreshedToken = false;
+-+ }
+-+ catch (const CurlException&)
+-+ {
+-+ m_refreshedToken = false;
+-+ throw;
+-+ }
+-+ }
+-+ // Has tried but failed
+-+ if ( ( status != 417 || m_no100Continue ) &&
+-+ ( status != 401 || getRefreshToken( ).empty( ) || m_refreshedToken ) ) throw;
+-+ }
+-+ m_refreshedToken = false;
+-+ return response;
+-+}
+-+
+- libcmis::HttpResponsePtr HttpSession::httpPutRequest( string url, istream& is, vector< string > headers )
+- {
+- checkOAuth2( url );
+-diff --git a/src/libcmis/http-session.hxx b/src/libcmis/http-session.hxx
+-index 851d52d..29de64d 100644
+---- a/src/libcmis/http-session.hxx
+-+++ b/src/libcmis/http-session.hxx
+-@@ -132,6 +132,9 @@ class HttpSession
+- virtual void setOAuth2Data( libcmis::OAuth2DataPtr oauth2 );
+-
+- libcmis::HttpResponsePtr httpGetRequest( std::string url );
+-+ libcmis::HttpResponsePtr httpPatchRequest( std::string url,
+-+ std::istream& is,
+-+ std::vector< std::string > headers );
+- libcmis::HttpResponsePtr httpPutRequest( std::string url,
+- std::istream& is,
+- std::vector< std::string > headers );
+-diff --git a/src/libcmis/oauth2-handler.cxx b/src/libcmis/oauth2-handler.cxx
+-index a3320e3..842769f 100644
+---- a/src/libcmis/oauth2-handler.cxx
+-+++ b/src/libcmis/oauth2-handler.cxx
+-@@ -91,8 +91,8 @@ void OAuth2Handler::fetchTokens( string authCode )
+- string post =
+- "code=" + authCode +
+- "&client_id=" + m_data->getClientId() +
+-- "&client_secret=" + m_data->getClientSecret() +
+- "&redirect_uri=" + m_data->getRedirectUri() +
+-+ "&scope=" + libcmis::escape( m_data->getScope() ) +
+- "&grant_type=authorization_code" ;
+-
+- istringstream is( post );
+-@@ -121,7 +121,6 @@ void OAuth2Handler::refresh( )
+- string post =
+- "refresh_token=" + m_refresh +
+- "&client_id=" + m_data->getClientId() +
+-- "&client_secret=" + m_data->getClientSecret() +
+- "&grant_type=refresh_token" ;
+-
+- istringstream is( post );
+-diff --git a/src/libcmis/oauth2-providers.cxx b/src/libcmis/oauth2-providers.cxx
+-index 8cf9652..654021f 100644
+---- a/src/libcmis/oauth2-providers.cxx
+-+++ b/src/libcmis/oauth2-providers.cxx
+-@@ -312,7 +312,7 @@ OAuth2Parser OAuth2Providers::getOAuth2Parser( const std::string& url )
+- return OAuth2Alfresco;
+- else if ( boost::starts_with( url, "https://www.googleapis.com/drive/v2" ) )
+- return OAuth2Gdrive;
+-- else if ( boost::starts_with( url, "https://apis.live.net/v5.0" ) )
+-+ else if ( boost::starts_with( url, "https://graph.microsoft.com/v1.0" ) )
+- return OAuth2Onedrive;
+-
+- return OAuth2Gdrive;
+-diff --git a/src/libcmis/onedrive-document.cxx b/src/libcmis/onedrive-document.cxx
+-index f753b42..863a92f 100644
+---- a/src/libcmis/onedrive-document.cxx
+-+++ b/src/libcmis/onedrive-document.cxx
+-@@ -73,7 +73,7 @@ boost::shared_ptr< istream > OneDriveDocument::getContentStream( string /*stream
+- boost::shared_ptr< istream > stream;
+- string streamUrl = getStringProperty( "source" );
+- if ( streamUrl.empty( ) )
+-- throw libcmis::Exception( "can not found stream url" );
+-+ throw libcmis::Exception( "could not find stream url" );
+-
+- try
+- {
+-@@ -89,15 +89,15 @@ boost::shared_ptr< istream > OneDriveDocument::getContentStream( string /*stream
+- void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
+- string /*contentType*/,
+- string fileName,
+-- bool /*overwrite*/ )
+-+ bool bReplaceExisting )
+- {
+- if ( !os.get( ) )
+- throw libcmis::Exception( "Missing stream" );
+--
+-+
+- string metaUrl = getUrl( );
+-
+- // Update file name meta information
+-- if ( !fileName.empty( ) && fileName != getContentFilename( ) )
+-+ if ( bReplaceExisting && !fileName.empty( ) && fileName != getContentFilename( ) )
+- {
+- Json metaJson;
+- Json fileJson( fileName.c_str( ) );
+-@@ -108,7 +108,7 @@ void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
+- headers.push_back( "Content-Type: application/json" );
+- try
+- {
+-- getSession()->httpPutRequest( metaUrl, is, headers );
+-+ getSession()->httpPatchRequest( metaUrl, is, headers );
+- }
+- catch ( const CurlException& e )
+- {
+-@@ -117,9 +117,9 @@ void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
+- }
+-
+- fileName = libcmis::escape( getStringProperty( "cmis:name" ) );
+-- string putUrl = getSession( )->getBindingUrl( ) + "/" +
+-- getStringProperty( "cmis:parentId" ) + "/files/" +
+-- fileName + "?overwrite=true";
+-+ string putUrl = getSession( )->getBindingUrl( ) + "/me/drive/items/" +
+-+ getStringProperty( "cmis:parentId" ) + ":/" +
+-+ fileName + ":/content";
+-
+- // Upload stream
+- boost::shared_ptr< istream> is ( new istream ( os->rdbuf( ) ) );
+-@@ -142,6 +142,7 @@ void OneDriveDocument::setContentStream( boost::shared_ptr< ostream > os,
+- libcmis::DocumentPtr OneDriveDocument::checkOut( )
+- {
+- // OneDrive doesn't have CheckOut, so just return the same document here
+-+ // TODO: no longer true - onedrive now has checkout/checkin
+- libcmis::ObjectPtr obj = getSession( )->getObject( getId( ) );
+- libcmis::DocumentPtr checkout =
+- boost::dynamic_pointer_cast< libcmis::Document > ( obj );
+-diff --git a/src/libcmis/onedrive-folder.cxx b/src/libcmis/onedrive-folder.cxx
+-index a9ae694..c1980c8 100644
+---- a/src/libcmis/onedrive-folder.cxx
+-+++ b/src/libcmis/onedrive-folder.cxx
+-@@ -57,7 +57,9 @@ OneDriveFolder::~OneDriveFolder( )
+- vector< libcmis::ObjectPtr > OneDriveFolder::getChildren( )
+- {
+- vector< libcmis::ObjectPtr > children;
+-- string query = getSession( )->getBindingUrl( ) + "/" + getId( ) + "/files";
+-+ // TODO: limited to 200 items by default - to get more one would have to
+-+ // follow @odata.nextLink or change pagination size
+-+ string query = getSession( )->getBindingUrl( ) + "/me/drive/items/" + getId( ) + "/children";
+-
+- string res;
+- try
+-@@ -70,7 +72,7 @@ vector< libcmis::ObjectPtr > OneDriveFolder::getChildren( )
+- }
+-
+- Json jsonRes = Json::parse( res );
+-- Json::JsonVector objs = jsonRes["data"].getList( );
+-+ Json::JsonVector objs = jsonRes["value"].getList( );
+-
+- // Create children objects from Json objects
+- for(unsigned int i = 0; i < objs.size(); i++)
+-@@ -85,8 +87,7 @@ libcmis::FolderPtr OneDriveFolder::createFolder(
+- const PropertyPtrMap& properties )
+- {
+- Json propsJson = OneDriveUtils::toOneDriveJson( properties );
+--
+-- string uploadUrl = getSession( )->getBindingUrl( ) + "/" + getId( );
+-+ string uploadUrl = getSession( )->getBindingUrl( ) + "/me/drive/items/" + getId( ) + "/children";
+-
+- std::istringstream is( propsJson.toString( ) );
+- string response;
+-@@ -126,9 +127,10 @@ libcmis::DocumentPtr OneDriveFolder::createDocument(
+- }
+- }
+-
+-+ // TODO: limited to 4MB, larger uploads need dedicated UploadSession
+- fileName = libcmis::escape( fileName );
+-- string newDocUrl = getSession( )->getBindingUrl( ) + "/" +
+-- getId( ) + "/files/" + fileName;
+-+ string newDocUrl = getSession( )->getBindingUrl( ) + "/me/drive/items/" +
+-+ getId( ) + ":/" + fileName + ":/content";
+- boost::shared_ptr< istream> is ( new istream ( os->rdbuf( ) ) );
+- vector< string > headers;
+- string res;
+-diff --git a/src/libcmis/onedrive-object.cxx b/src/libcmis/onedrive-object.cxx
+-index 976a97b..8deb591 100644
+---- a/src/libcmis/onedrive-object.cxx
+-+++ b/src/libcmis/onedrive-object.cxx
+-@@ -65,7 +65,7 @@ void OneDriveObject::initializeFromJson ( Json json, string /*id*/, string /*nam
+- Json::JsonObject objs = json.getObjects( );
+- Json::JsonObject::iterator it;
+- PropertyPtr property;
+-- bool isFolder = json["type"].toString( ) == "folder";
+-+ bool isFolder = json["folder"].toString( ) != "";
+- for ( it = objs.begin( ); it != objs.end( ); ++it)
+- {
+- property.reset( new OneDriveProperty( it->first, it->second ) );
+-@@ -74,7 +74,12 @@ void OneDriveObject::initializeFromJson ( Json json, string /*id*/, string /*nam
+- {
+- property.reset( new OneDriveProperty( "cmis:contentStreamFileName", it->second ) );
+- m_properties[ property->getPropertyType( )->getId()] = property;
+-- }
+-+ } else if ( it->first == "parentReference" ) {
+-+ if (it->second["id"].toString() != "") {
+-+ property.reset( new OneDriveProperty( "cmis:parentId", it->second["id"] ) );
+-+ m_properties[ property->getPropertyType( )->getId()] = property;
+-+ }
+-+ }
+- }
+-
+- m_refreshTimestamp = time( NULL );
+-@@ -122,7 +127,7 @@ void OneDriveObject::remove( bool /*allVersions*/ )
+-
+- string OneDriveObject::getUrl( )
+- {
+-- return getSession( )->getBindingUrl( ) + "/" + getId( );
+-+ return getSession( )->getBindingUrl( ) + "/me/drive/items/" + getId( );
+- }
+-
+- string OneDriveObject::getUploadUrl( )
+-@@ -152,7 +157,7 @@ libcmis::ObjectPtr OneDriveObject::updateProperties(
+- {
+- vector< string > headers;
+- headers.push_back( "Content-Type: application/json" );
+-- response = getSession( )->httpPutRequest( getUrl( ), is, headers );
+-+ response = getSession( )->httpPatchRequest( getUrl( ), is, headers );
+- }
+- catch ( const CurlException& e )
+- {
+-diff --git a/src/libcmis/onedrive-repository.cxx b/src/libcmis/onedrive-repository.cxx
+-index 3eaac9c..b01f5c2 100644
+---- a/src/libcmis/onedrive-repository.cxx
+-+++ b/src/libcmis/onedrive-repository.cxx
+-@@ -35,7 +35,7 @@ OneDriveRepository::OneDriveRepository( ) :
+- m_description = "One Drive repository";
+- m_productName = "One Drive";
+- m_productVersion = "v5";
+-- m_rootId = "me/skydrive";
+-+ m_rootId = "/me/drive/root";
+-
+- m_capabilities[ ACL ] = "discover";
+- m_capabilities[ AllVersionsSearchable ] = "true";
+-diff --git a/src/libcmis/onedrive-session.cxx b/src/libcmis/onedrive-session.cxx
+-index c6f4270..a603278 100644
+---- a/src/libcmis/onedrive-session.cxx
+-+++ b/src/libcmis/onedrive-session.cxx
+-@@ -79,7 +79,9 @@ libcmis::ObjectPtr OneDriveSession::getObject( string objectId )
+- {
+- // Run the http request to get the properties definition
+- string res;
+-- string objectLink = m_bindingUrl + "/" + objectId;
+-+ string objectLink = m_bindingUrl + "/me/drive/items/" + objectId;
+-+ if (objectId == getRootId())
+-+ objectLink = m_bindingUrl + objectId;
+- try
+- {
+- res = httpGetRequest( objectLink )->getStream()->str();
+-@@ -95,12 +97,11 @@ libcmis::ObjectPtr OneDriveSession::getObject( string objectId )
+- libcmis::ObjectPtr OneDriveSession::getObjectFromJson( Json& jsonRes )
+- {
+- libcmis::ObjectPtr object;
+-- string kind = jsonRes["type"].toString( );
+-- if ( kind == "folder" || kind == "album" )
+-+ if ( jsonRes["folder"].toString() != "" )
+- {
+- object.reset( new OneDriveFolder( this, jsonRes ) );
+- }
+-- else if ( kind == "file" )
+-+ else if ( jsonRes["file"].toString() != "" )
+- {
+- object.reset( new OneDriveDocument( this, jsonRes ) );
+- }
+-@@ -113,44 +114,18 @@ libcmis::ObjectPtr OneDriveSession::getObjectFromJson( Json& jsonRes )
+-
+- libcmis::ObjectPtr OneDriveSession::getObjectByPath( string path )
+- {
+-- string id;
+-- if ( path == "/" )
+-- {
+-- id = "me/skydrive";
+-- }
+-- else
+-+ string res;
+-+ string objectQuery = m_bindingUrl + "/me/drive/root:" + libcmis::escape( path );
+-+ try
+- {
+-- path = "/SkyDrive" + path;
+-- size_t pos = path.rfind("/");
+-- string name = libcmis::escape( path.substr( pos + 1, path.size( ) ) );
+-- string res;
+-- string objectQuery = m_bindingUrl + "/me/skydrive/search?q=" + name;
+-- try
+-- {
+-- res = httpGetRequest( objectQuery )->getStream( )->str( );
+-- }
+-- catch ( const CurlException& e )
+-- {
+-- throw e.getCmisException( );
+-- }
+-- Json jsonRes = Json::parse( res );
+-- Json::JsonVector objs = jsonRes["data"].getList( );
+--
+-- // Searching for a match in the path to the object
+-- for ( unsigned int i = 0; i < objs.size( ); i++ )
+-- {
+-- if ( isAPathMatch( objs[i], path ) )
+-- {
+-- id = objs[i]["id"].toString( );
+-- break;
+-- }
+-- }
+-+ res = httpGetRequest( objectQuery )->getStream( )->str( );
+- }
+-- if ( id.empty( ) )
+-+ catch ( const CurlException& e )
+- {
+-- throw libcmis::Exception( "No file could be found" );
+-+ throw libcmis::Exception( "No file could be found for path " + path + ": " + e.what() );
+- }
+-- return getObject( id );
+-+ Json jsonRes = Json::parse( res );
+-+ return getObjectFromJson( jsonRes );
+- }
+-
+- bool OneDriveSession::isAPathMatch( Json objectJson, string path )
+-diff --git a/src/libcmis/onedrive-utils.cxx b/src/libcmis/onedrive-utils.cxx
+-index dc6ec5d..17ed324 100644
+---- a/src/libcmis/onedrive-utils.cxx
+-+++ b/src/libcmis/onedrive-utils.cxx
+-@@ -44,16 +44,16 @@ string OneDriveUtils::toCmisKey( const string& key )
+- convertedKey = "cmis:createdBy";
+- else if ( key == "description" )
+- convertedKey = "cmis:description";
+-- else if ( key == "created_time" )
+-+ else if ( key == "createdDateTime" )
+- convertedKey = "cmis:creationDate";
+-- else if ( key == "updated_time" )
+-+ else if ( key == "lastModifiedDateTime" )
+- convertedKey = "cmis:lastModificationDate";
+- else if ( key == "name" )
+- convertedKey = "cmis:name";
+- else if ( key == "size" )
+- convertedKey = "cmis:contentStreamLength";
+-- else if ( key == "parent_id" )
+-- convertedKey = "cmis:parentId";
+-+ else if ( key == "@microsoft.graph.downloadUrl" )
+-+ convertedKey = "source";
+- else convertedKey = key;
+- return convertedKey;
+- }
+-@@ -75,8 +75,6 @@ string OneDriveUtils::toOneDriveKey( const string& key )
+- convertedKey = "name";
+- else if ( key == "cmis:contentStreamLength" )
+- convertedKey = "file_size";
+-- else if ( key == "cmis:parentId" )
+-- convertedKey = "parent_id";
+- else convertedKey = key;
+- return convertedKey;
+- }
+-diff --git a/src/libcmis/session-factory.cxx b/src/libcmis/session-factory.cxx
+-index ba55cd9..e740afb 100644
+---- a/src/libcmis/session-factory.cxx
+-+++ b/src/libcmis/session-factory.cxx
+-@@ -71,7 +71,7 @@ namespace libcmis
+- session = new GDriveSession( bindingUrl, username, password,
+- oauth2, verbose );
+- }
+-- else if ( bindingUrl == "https://apis.live.net/v5.0" )
+-+ else if ( bindingUrl == "https://graph.microsoft.com/v1.0" )
+- {
+- session = new OneDriveSession( bindingUrl, username, password,
+- oauth2, verbose);
+diff --git a/ucb/source/ucp/cmis/auth_provider.hxx b/ucb/source/ucp/cmis/auth_provider.hxx
+index 1768c12..af1a420 100644
+--- a/ucb/source/ucp/cmis/auth_provider.hxx
++++ b/ucb/source/ucp/cmis/auth_provider.hxx
+@@ -8,15 +8,7 @@
+ */
+ #pragma once
+
+-#if defined __GNUC__ && !defined __clang__
+-#pragma GCC diagnostic push
+-#pragma GCC diagnostic ignored "-Wdeprecated"
+-#pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
+-#endif
+ #include <libcmis/libcmis.hxx>
+-#if defined __GNUC__ && !defined __clang__
+-#pragma GCC diagnostic pop
+-#endif
+
+ #include <com/sun/star/ucb/XCommandEnvironment.hpp>
+ #include <cppuhelper/weakref.hxx>
diff --git a/libreoffice.spec b/libreoffice.spec
index 3e0e796..1754bea 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -174,7 +174,7 @@ BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libabw-0.1)
BuildRequires: pkgconfig(libcdr-0.1)
BuildRequires: pkgconfig(libclucene-core)
-BuildRequires: pkgconfig(libcmis-0.5)
+BuildRequires: pkgconfig(libcmis-0.6)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libetonyek-0.1)
BuildRequires: pkgconfig(libexttextcat)
@@ -276,11 +276,11 @@ Patch1: 0001-disble-tip-of-the-day-dialog-by-default.patch
# rhbz#1736810 disable opencl by default again
Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch
# backported
-Patch3: 0001-Revert-tdf-101630-gdrive-support-w-oAuth-and-Drive-A.patch
-Patch4: 0001-default-to-sifr-for-gnome-light-mode.patch
+Patch3: 0001-default-to-sifr-for-gnome-light-mode.patch
# backported
-Patch5: 0001-Only-pass-I.-arguments-to-g-ir-scanner-by-using-pkg-.patch
-Patch6: limit-tests-giving-dubious-results-to-x86_64.patch
+Patch4: 0001-Only-pass-I.-arguments-to-g-ir-scanner-by-using-pkg-.patch
+Patch5: limit-tests-giving-dubious-results-to-x86_64.patch
+Patch6: 717d27a.patch
# not upstreamed
# fix FTB in ppc64le from sharkcz
# https://lists.freedesktop.org/archives/libreoffice/2023-August/090870.html
@@ -1132,8 +1132,6 @@ touch autogen.lastrun
--without-fonts \
--without-lxml \
--without-system-libfixmath \
- --with-gdrive-client-secret="GYWrDtzyZQZ0_g5YoBCC6F0I" \
- --with-gdrive-client-id="457862564325.apps.googleusercontent.com" \
--enable-python=system \
--with-idlc-cpp=cpp \
--disable-scripting-beanshell --disable-scripting-javascript \
commit 39e6203641e8fdfbe19c86e287a33c5132ced328
Author: Mattia Verga <mattia.verga(a)tiscali.it>
Date: Thu Oct 5 08:45:21 2023 +0200
Convert to %autorelease and %autochangelog
[skip changelog]
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..c2b9088
--- /dev/null
+++ b/changelog
@@ -0,0 +1,2757 @@
+* Sun Oct 01 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.2.1-2
+- Add patch 501 for failing tests on aarc64 and s390x
+
+* Sat Sep 30 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.2.1-1
+- 7.6.2.1
+
+* Fri Sep 08 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.6.1.2-1
+- 7.6.1.2
+
+* Mon Sep 04 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.1.1-2
+- Unbundle dragonbox
+
+* Mon Aug 28 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.6.1.1-1
+- 7.6.1.1
+
+* Sun Aug 27 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-4
+- Remove test exclusions from aarch64
+- Link aarch64 executable with standard -g level
+
+* Wed Aug 23 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-3
+- Disable other failing tests under s390x
+- Add patch to fix FTB under ppc64le
+
+* Tue Aug 15 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-2
+- Disable unreliable test under s390x
+- Try verbose make if first build attempt fails
+
+* Sun Aug 13 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-1
+- 7.6.0.3
+
+* Wed Aug 02 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.5.2-2
+- Poppler rebuild.
+
+* Mon Jul 31 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.5.2-1
+- 7.5.5.2
+
+* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.5.4.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Tue Jul 11 2023 František Zatloukal <fzatlouk(a)redhat.com> - 1:7.5.4.2-4
+- Rebuilt for ICU 73.2
+
+* Fri Jun 30 2023 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1:7.5.4.2-3
+- Make Java optional. Fixes rhbz#2084071.
+
+* Mon Jun 19 2023 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1:7.5.4.2-2
+- Backport upstream fix for testSignDocument_PEM_PDF test failure
+- Enable test again
+
+* Fri Jun 16 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.4.2-1
+- 7.5.4.2
+- Drop 0001-tdf-155161-Always-embed-fonts-with-CFF2-table-as-PDF.patch, upstreamed.
+
+* Thu Jun 15 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.3.2-4
+- Disable tests temporarily to resolve FTBFS.
+
+* Thu Jun 15 2023 Python Maint <python-maint(a)redhat.com> - 1:7.5.3.2-3
+- Rebuilt for Python 3.12
+
+* Tue May 09 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.3.2-2
+- rhbz#2192915 Japanese font not printed
+
+* Thu May 04 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.3.2-1
+- latest version
+
+* Fri Mar 31 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.2.2-1
+- latest version
+
+* Wed Mar 22 2023 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.5.1.2-4
+- Resolves: rhbz#2171265 Failure to start with junk in program/services/
+
+* Fri Mar 10 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.1.2-3
+- Use sifr/sifr_dark for gnome,
+ https://pagure.io/fedora-workstation/issue/361
+
+* Thu Mar 09 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.1.2-2
+- fix gray background in kf5 print preview
+
+* Thu Mar 02 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.1.2-1
+- latest version
+
+* Fri Feb 24 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.0.3-4
+- Rebuild for zxing-cpp 2.0.0
+
+* Mon Feb 20 2023 Jonathan Wakely <jwakely(a)redhat.com> - 1:7.5.0.3-3
+- Rebuilt for Boost 1.81
+
+* Mon Feb 06 2023 Marek Kasik <mkasik(a)redhat.com> - 1:7.5.0.3-2
+- Rebuild for poppler-23.02.0
+
+* Thu Feb 02 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.0.3-1
+- 7.5.0 release
+
+* Fri Jan 20 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.0.2-1
+- 7.5.0 beta
+
+* Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.4.4.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Thu Jan 12 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.4.2-1
+- 7.4.4 release
+
+* Sat Dec 31 2022 Pete Walter <pwalter(a)fedoraproject.org> - 1:7.4.3.2-4
+- Rebuild for ICU 72
+
+* Fri Dec 16 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.3.2-3
+- fix License syntax "and/or" -> "AND/OR"
+
+* Tue Dec 06 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.3.2-2
+- add BuildRequires on hunspell-en-US for testTdf124603
+
+* Thu Nov 17 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.3.2-1
+- 7.4.3 release
+
+* Thu Nov 17 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.2.3-2
+- Resolves: rhbz#2143431 fix autofilter missing search entry
+
+* Thu Oct 13 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.2.3-1
+- 7.4.2 release
+
+* Fri Sep 16 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.1.2-1
+- 7.4.1 release
+
+* Thu Aug 18 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.0.3-1
+- 7.4.0 release
+
+* Tue Aug 09 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.0.2-1
+- 7.4rc2
+
+* Wed Aug 03 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.5.2-3
+- Rebuilt for poppler 22.08.0
+
+* Tue Aug 02 2022 Frantisek Zatloukal <fzatlouk(a)redhat.com> - 1:7.3.5.2-2
+- Rebuilt for ICU 71.1
+
+* Thu Jul 21 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.5.2-1
+- latest version
+
+* Tue Jul 19 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.4.2-5
+- rhbz#2104072 build on i686 without java support
+
+* Mon Jul 11 2022 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.3.4.2-4
+- Resolves: rhbz#2104545 Avoid call to utl::IsYounger if possible
+
+* Thu Jun 23 2022 Parag Nemade <pnemade AT redhat DOT com> - 1:7.3.4.2-3
+- Fix Requires: hunspell-pt-BR and hyphen-pt-BR for libreoffice-langpack-pt-BR
+
+* Mon Jun 13 2022 Python Maint <python-maint(a)redhat.com> - 1:7.3.4.2-2
+- Rebuilt for Python 3.11
+
+* Thu Jun 09 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.4.2-1
+- 7.3.4 release
+
+* Wed May 04 2022 Thomas Rodgers <trodgers(a)redhat.com> - 1:7.3.3.2-2
+- Rebuilt for Boost 1.78
+
+* Mon May 02 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.3.2-1
+- 7.3.3 release
+
+* Tue Apr 05 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.2.2-1
+- 7.3.2 release
+
+* Mon Mar 14 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-4
+- tdf#144862 use resolution independent text rendering
+
+* Tue Mar 08 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-3
+- rhbz#2061598 No Icons Launcher of LibreOffice Apps in Raspberry Pi
+
+* Mon Mar 07 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-2
+- rhbz#2061268 finally drop the dependency on the dejavu fonts
+
+* Sat Mar 05 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-1
+- 7.3.1 release
+
+* Sat Feb 05 2022 Jiri Vanek <jvanek(a)redhat.com> - 1:7.3.0.3-3
+- Rebuilt for java-17-openjdk as system jdk
+
+* Sat Feb 05 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.0.3-2
+- reenable tests
+
+* Wed Feb 02 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.0.3-1
+- 7.3.0 release
+- drop conditionals for rhel < 9
+- drop conditionals for fedora < 36
+
+* Tue Feb 01 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.5.2-5
+- Related: rhbz#2029810 set NoDisplay=true for .desktop on s390x/aarch64
+- Related: rhbz#2029810 don't Require any vclplug for s390x/aarch64
+
+* Mon Jan 24 2022 Parag Nemade <pnemade AT redhat DOT com> - 1:7.2.5.2-4
+- Update hunspell dictionary directory path
+ https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change
+
+* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.2.5.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Thu Jan 13 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.5.2-2
+- rebuild for rebase of poppler to 22.01.0
+
+* Thu Jan 06 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.5.2-1
+- upgrade to 7.2.5
+
+* Mon Dec 13 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.4.1-2
+- Resolves: rhbz#2028991 fix insert, object, QR code
+
+* Mon Dec 06 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.4.1-1
+- upgrade to 7.2.4
+
+* Fri Nov 19 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.3.2-1
+- upgrade to 7.2.3 (likely will fix rhbz#2022410)
+
+* Tue Oct 12 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.2.2-3
+- Icon=document-new shouldn't get prefixed to become
+ Icon=libreoffice-document-new
+
+* Fri Oct 08 2021 Kalev Lember <klember(a)redhat.com> - 1:7.2.2.2-2
+- Use -g1 on arm builders as well
+
+* Thu Oct 07 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.2.2-1
+- upgrade to 7.2.2 (likely will fix rhbz#2011384)
+
+* Tue Oct 05 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-4
+- rhbz#2010520 move libroffice.jar to noarch java location
+
+* Wed Sep 22 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-3
+- reenable make check for s390x
+
+* Fri Sep 10 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-2
+- remove obscure rhino and bsh scripting for fedora >= 36 like in rhel
+
+* Thu Sep 09 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-1
+- upgrade to 7.2.1
+
+* Sat Aug 21 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.4-3
+- fix arm32 uno bridge
+
+* Fri Aug 20 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.4-2
+- s390x firebird is available again
+
+* Mon Aug 16 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.4-1
+- upgrade to 7.2.0
+
+* Sat Aug 14 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.3-1
+- prep upgrade to 7.2.0
+
+* Thu Aug 12 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.5.2-5
+- replace use of ucpp with gcc cpp
+- Resolves: tdf#132739 two html style tags where there should be just one
+
+* Sat Aug 07 2021 Jonathan Wakely <jwakely(a)redhat.com> - 1:7.1.5.2-4
+- Rebuilt for Boost 1.76
+
+* Wed Aug 04 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.5.2-3
+- rebuild for poppler rebase to 21.07.0
+
+* Thu Jul 22 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.1.5.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Sun Jul 18 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.5.2-1
+- latest version
+- drop merged patches
+
+* Wed Jul 14 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.4.2-3
+- Related: rhbz#1980800 allow convert to csv to write each sheet to
+ a separate file
+
+* Wed Jun 30 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.4.2-2
+- Remove unused DOCTYPE from odk/examples xcu file
+- drop bsh buildrequires in rhel
+
+* Wed Jun 09 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.4.2-1
+- latest version
+- replace 'badfuncs' of inet_addr and inet_ntoa
+- allow system firebird-4
+
+* Fri Jun 04 2021 Python Maint <python-maint(a)redhat.com> - 1:7.1.3.2-5
+- Rebuilt for Python 3.10
+
+* Wed Jun 02 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.3.2-4
+- gtk3: workaround missing gdk_threads_enter calls in gio errordialog callback
+
+* Mon May 31 2021 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.1.3.2-3
+- Resolves: rhbz#1965975 Adapt to "libstdc++: Implement LWG 1203 for rvalue iostreams"
+- Resolves: rhbz#1965975 Adapt to hamcrest-2.2-3.fc35.noarch.rpm
+
+* Thu May 20 2021 Pete Walter <pwalter(a)fedoraproject.org> - 1:7.1.3.2-2
+- Rebuild for ICU 69
+
+* Thu May 06 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.3.2-1
+- latest version
+
+* Wed May 05 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.2.2-4
+- Resolves: rhbz#1956977 Impress crashes on switch from commenting to slide sorter
+- Resolves: rhbz#1957034 fix assertion on avmedia volumne control
+
+* Thu Apr 29 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.2.2-3
+- Resolves: rhbz#1955013 build libreoffice-langpack-fy for libreoffice
+
+* Mon Apr 12 2021 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.1.2.2-2
+- Related: rhbz#1895921 Get rid of apache-commons-logging
+
+* Thu Apr 01 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.2.2-1
+- latest version
+
+* Wed Mar 24 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.1.2-2
+- tdf#141197 expose gtk-widgets inside vcl-containers to atk hierarchy
+
+* Thu Mar 04 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.1.2-1
+- latest version
+
+* Mon Feb 08 2021 Pavel Raiskup <praiskup(a)redhat.com> - 1:7.1.0.3-3
+- rebuild for libpq ABI fix rhbz#1908268
+
+* Fri Feb 05 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.0.3-2
+- use classic brand
+
+* Wed Feb 03 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.0.3-1
+- bump to 7.1.0 series
+- drop integrated 0001-rhbz-1870501-crash-on-reexport-of-odg.patch
+- drop integrated 0001-rhbz-1882616-move-cursor-one-step-at-a-time-in-the-d.patch
+- drop integrated 0001-export-HYPERLINK-target-in-html-clipboard-export.patch
+- drop integrated 0001-gcc11.patch
+- drop integrated 0001-disable-tests-that-don-t-work-without-pdfium.patch
+- drop integrated 0001-rhbz-1913828-SfxViewFrame-Current-can-return-null.patch
+- drop integrated 0001-Upgrade-liborcus-to-0.16.0.patch
+
+* Thu Jan 28 2021 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.0.4.2-9
+- Make libreoffice-bsh, libreoffice-rhino depend on full java
+
+* Wed Jan 27 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-8
+- drop unneeded BuildRequires: gdb
+
+* Wed Jan 27 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-7
+- Resolves: rhbz#1916539 text not wrapping in right hand help brower pane
+
+* Mon Jan 25 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-6
+- really rebuild for Boost 1.75
+
+* Fri Jan 22 2021 Jonathan Wakely <jwakely(a)redhat.com> - 1:7.0.4.2-5
+- Rebuilt for Boost 1.75
+
+* Fri Jan 15 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-4
+- rebuild for poppler
+
+* Mon Jan 11 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-3
+- Resolves: rhbz#1913828 SfxViewFrame::Current() can return null
+
+* Sun Dec 20 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-2
+- workaround for make check failure
+
+* Wed Dec 09 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-1
+- latest version
+
+* Wed Dec 02 2020 Thierry Vignaud <tv(a)mageia.org> 1:7.0.4.1-1
+- Update to 7.0.4 RC1
+
+* Tue Nov 24 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.3.1-4
+- Resolves: rhbz#1900937 fix null deref in non-pdfium build
+
+* Mon Nov 23 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.3.1-3
+- Resolves: rhbz#1900428 don't crash on invalid index used in StarBasic macro
+
+* Tue Nov 03 2020 Jeff Law <law(a)redhat.com> - 1:7.0.3.1-2
+- Fix missing #include for gcc-11
+
+* Thu Oct 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.3.1-1
+- latest version
+
+* Sun Oct 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.2.2-3
+- Resolves: rhbz#1891326 suggest package install of the best pt-* langpack
+
+* Sat Oct 24 18:45:56 CEST 2020 David Tardon <dtardon(a)redhat.com> - 1:7.0.2.2-2
+- fix upgrade from Fedora 32
+
+* Sat Oct 10 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.2.2-1
+- latest version
+
+* Tue Oct 06 2020 Rex Dieter <rdieter(a)fedoraproject.org> - 1:7.0.1.2-7
+- -kf5: enable Supplements: (%%name-core and plasma-workspace)
+
+* Tue Sep 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-6
+- export HYPERLINK target in html clipboard export
+
+* Fri Sep 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-5
+- Resolves: rhbz#1882616 IM cursor pos problem with emojis in writer
+
+* Thu Sep 24 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-4
+- upgrade liborcus
+
+* Fri Sep 04 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-3
+- rhbz#1875377 prefer Cantarell-Regular to Cantarell-VF
+
+* Thu Sep 03 2020 Merlin Mathesius <mmathesi(a)redhat.com> - 1:7.0.1.2-2
+- Rebase RHEL patch to disable libe-book support to libreoffice-7.0
+- Add BR perl(base)
+
+* Tue Sep 01 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-1
+- 7.0.1 RC2
+
+* Fri Aug 21 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.1-3
+- rhbz#1870501 crash on reexport of odg
+
+* Fri Aug 21 2020 Stephan Bergmann <sbergman(a)redhat.com> 1:7.0.1.1-2
+- Build the binary UNO bridge with -fno-lto
+
+* Thu Aug 20 2020 Thierry Vignaud <tvignaud(a)redhat.com> 1:7.0.1.1-1
+- 7.0.1 RC1
+
+* Thu Aug 06 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.0.3-1
+- 7.0.0
+
+* Wed Aug 05 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-6
+- Resolves: rhbz#1745771
+ + drop the GTK3-KF5 VCL plugin (formerly subpackage kf5)
+ + rename the current -kde5 subpackage (the Qt5/KF5 VCL plugin) to -kf5
+
+* Wed Jul 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-5
+- Resolves: rhbz#1861794 missing csv fixed width handles
+
+* Tue Jul 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.4.5.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Sat Jul 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-3
+- Related: rhbz#1859588 workaround vcldemo ICE
+- add py_byte_compile call for
+ https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
+
+* Tue Jul 14 2020 Jiri Vanek <jvanek(a)redhat.com> - 1:6.4.5.2-2
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Sat Jul 11 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-1
+- latest stable
+
+* Sat Jul 11 2020 Jiri Vanek <jvanek(a)redhat.com> - 1:6.4.4.2-4
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* Sat May 30 2020 Jonathan Wakely <jwakely(a)redhat.com> - 1:6.4.4.2-3
+- Rebuilt for Boost 1.73
+
+* Tue May 26 2020 Miro Hrončok <mhroncok(a)redhat.com> - 1:6.4.4.2-2
+- Rebuilt for Python 3.9
+
+* Thu May 21 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.4.2-1
+- latest stable
+
+* Sun May 17 2020 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.4.3.2-2
+- Rebuild for ICU 67
+
+* Thu Apr 16 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.3.2-1
+- latest stable
+
+* Mon Mar 30 2020 Thierry Vignaud <tvgnaud(a)mredhat.com> 1:6.4.2.2-1
+- 6.4.2.2
+
+* Mon Mar 23 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-4
+- help->license->license doesn't do anything
+
+* Fri Mar 20 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-3
+- disable tip-of-the-day dialog by default
+
+* Wed Mar 18 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-2
+- rhbz#1776774 make math subpackage just a superficial package for
+ math launcher
+
+* Tue Feb 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-1
+- 6.4.1 beta 2
+
+* Mon Feb 10 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.0.3-2
+- rhbz#1793632 make draw subpackage just a superficial package for
+ draw launcher
+
+* Wed Jan 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.0.3-1
+- latest release
+
+* Wed Jan 22 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.4.2-1
+- latest stable release
+
+* Fri Jan 17 2020 Marek Kasik <mkasik(a)redhat.com> - 1:6.3.3.2-6
+- Rebuild for poppler-0.84.0
+
+* Fri Jan 17 2020 Marek Kasik <mkasik(a)redhat.com> - 1:6.3.3.2-5
+- Rebuild for poppler-0.84.0
+
+* Wed Nov 27 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.3.2-4
+- rhbz#1776774 undo rhbz#156677 and stop customizing math.desktop
+
+* Mon Nov 18 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.3.2-3
+- rhbz#1773525 fix find&replace search save limit
+
+* Sat Nov 02 2019 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.3.3.2-2
+- Rebuild for ICU 65
+
+* Thu Oct 24 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.3.2-1
+- latest stable release
+
+* Thu Sep 26 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.2.2-1
+- latest stable release
+
+* Thu Sep 05 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.1.2-1
+- latest stable release
+
+* Sat Aug 31 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-6
+- Related: rhbz#1747596 see if a depend on firebird from just base is
+ sufficient
+
+* Thu Aug 29 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-5
+- Resolves: rhbz#1736810 disable opencl by default again
+
+* Sun Aug 25 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-4
+- Resolves: rhbz#1744876 firebird not an automatically dependency
+
+* Wed Aug 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-3
+- Resolves: rhbz#1743894 make build with mdds-1.5
+
+* Mon Aug 19 2019 Miro Hrončok <mhroncok(a)redhat.com> - 1:6.3.0.4-2
+- Rebuilt for Python 3.8
+
+* Thu Aug 08 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-1
+- upgrade to RC4
+
+* Tue Aug 06 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.3-1
+- upgrade to RC3
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.3.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri Jul 19 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.1-2
+- missing ldap support
+- kde4 support is gone, replace with kde5
+
+* Tue Jul 16 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.1-1
+- move rawhide to 6.3.0
+
+* Tue Jul 16 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.5.2-1
+- latest stable
+
+* Fri Jun 14 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-5
+- Resolves: rhbz#1720483 make all app rpms depend on pdfimport
+
+* Tue Jun 11 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-4
+- Resolves: rhbz#1667039 drop Requires: font(:lang=XX) requires in
+ favor of langpacks
+
+* Mon Jun 10 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-3
+- Related: rhbz#1718063 look for pkg-config python-version-embed
+
+* Fri Jun 07 2019 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.2.4.2-2
+- Resolves: rhbz#1718063 adapt to upcoming Python 3.8
+
+* Thu May 30 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-1
+- latest stable version
+
+* Sun May 26 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-5
+- Resolves: rhbz#1713827 protect against null ViewShell
+- Resolves: rhbz#1713908 stop disabling firebird-sdbc
+
+* Thu May 23 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-4
+- Resolves: rhbz#1712823 crash in extended tooltips over pattern editor
+- Resolves: rhbz#1711143 calc not rounding time calculation correctly
+
+* Tue May 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-3
+- rebuild for e-d-s
+
+* Thu May 02 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-2
+- add Esperanto
+
+* Tue Apr 30 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-1
+- latest stable release
+
+* Fri Apr 26 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-6
+- Related: rhbz#1703375 disable bsh and rhino for rhel
+
+* Thu Apr 25 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-5
+- Resolves: rhbz#1702810 Prepare for upcoming libebook
+
+* Sat Apr 13 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-4
+- tdf#119890 followup Forbid HOME to be the default dir for templates
+
+* Fri Apr 12 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-3
+- Resolves: rhbz#1699347 __glibcxx_requires_subscript-enabled enabled
+
+* Thu Apr 04 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-2
+- Related: rhbz#1692584 mythes-de is available again
+
+* Tue Apr 02 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-1
+- latest stable release
+
+* Wed Mar 27 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-6
+- Resolves: rhbz#1693388 mythes-de got retired so is unavailable
+
+* Thu Mar 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-5
+- Resolves: rhbz#1690732 basic font variation support
+
+* Wed Mar 20 2019 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.2.1.2-4
+- Resolves: rhbz#1687589 KDE4 gpoll_wrapper can be called with SolarMutex locked
+
+* Tue Mar 12 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-3
+- currency menu too narrow
+
+* Thu Mar 07 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-2
+- bump n-v-r
+
+* Sat Mar 02 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-1
+- latest stable
+
+* Mon Feb 25 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-4
+- Related: rhbz#1678319 workaround weird compilation result
+
+* Thu Feb 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-3
+- menu of currency combobox is too wide
+
+* Thu Feb 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-2
+- Resolves: tdf#122623 theme unwanted tab into invisibilty
+
+* Thu Feb 07 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-1
+- latest version
+
+* Fri Feb 01 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.4.2-5
+- Resolves: rhbz#1671340 extended tooltips not working in impress navigator
+
+* Thu Jan 31 2019 Kalev Lember <klember(a)redhat.com> - 1:6.1.4.2-4
+- Rebuilt for Boost 1.69
+
+* Sat Jan 26 2019 Marek Kasik <mkasik(a)redhat.com> - 1:6.1.4.2-3
+- Additional fixes needed for rebuild
+
+* Fri Jan 25 2019 Marek Kasik <mkasik(a)redhat.com> - 1:6.1.4.2-2
+- Rebuild for poppler-0.73.0
+
+* Mon Jan 07 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.4.2-1
+- latest version
+- Resolves: rhbz#1662616 crash in macro dialog editor
+- Resolves: rhbz#1662512 a11y freeze in calc
+
+* Tue Dec 04 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-8
+- Resolves: rhbz#1639174 desire to block en-help install
+
+* Tue Nov 20 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-7
+- Resolves: rhbz#1651469 improve obsoletes
+
+* Wed Nov 14 2018 Rex Dieter <rdieter(a)fedoraproject.org> - 1:6.1.2-6
+- -kf5 subpackage: include support for --enable-gtk3-kde5 (#1647233)
+- -kde4: adjust summary/description s/KDE/KDE4/
+
+* Tue Nov 13 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-5
+- Rebuild for hunspell 1.7.0
+
+* Thu Nov 08 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-4
+- drop gtk2 support and obsolete it
+
+* Wed Nov 07 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-3
+- drop rhel 7 conditionals
+
+* Tue Oct 30 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-2
+- Related: rhbz#1644128 gtk tooltip problems
+
+* Wed Oct 10 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-1
+- latest version
+- rhbz#1637848 keep Supplements but not Recommends
+
+* Fri Sep 14 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.1.2-1
+- latest version
+
+* Sun Sep 02 2018 David Tardon <dtardon(a)redhat.com> - 1:6.1.0.3-2
+- rebuild for liborcus 0.14.0
+
+* Thu Aug 16 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.0.3-1
+- 6.1.X series
+
+* Tue Aug 14 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.2-1
+- latest version
+
+* Tue Jul 31 2018 Florian Weimer <fweimer(a)redhat.com> - 1:6.0.6.1-7
+- Rebuild with fixed binutils
+
+* Thu Jul 26 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-6
+- Related: rhbz#1602589 fix/silence more covscan warnings
+
+* Fri Jul 20 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-5
+- implement export of underline in outlined font for simple case
+
+* Wed Jul 18 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-4
+- Resolves: rhbz#1602589 fix covscan issues
+
+* Tue Jul 17 2018 Eike Rathke <erack(a)redhat.com> - 1:6.0.6.1-3
+- Upgrade to ICU 61.1
+- Upgrade to ICU 62.1
+
+* Tue Jul 17 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-2
+- Resolves: rhbz#1601882 fails to build with --nocheck
+
+* Tue Jul 17 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-1
+- latest 6.0 release
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.0.5.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Jul 10 2018 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.0.5.2-2
+- Rebuild for ICU 62
+
+* Fri Jun 22 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.5.2-1
+- latest 6.0 release
+- fix for ICU 61
+- fix for Python 3.7
+
+* Tue Jun 19 2018 Miro Hrončok <mhroncok(a)redhat.com> - 1:6.0.4.2-5
+- Rebuilt for Python 3.7
+
+* Tue Jun 05 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-4
+- Resolves: rhbz#1581028 endless font widget update
+
+* Tue Jun 05 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-3
+- use weak deps for fedora only
+
+* Mon May 28 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-2
+- Resolves: rhbz#1582324 crash after merging writer table cells
+
+* Fri May 25 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-1
+- latest 6.0 release
+
+* Wed May 9 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.3.2-10
+- Fix a potential crash when using the dconf configuration backend
+
+* Sat May 5 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-9
+- tdf#117413 char doubling in calc under X
+
+* Fri May 4 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-8
+- rhbz#1575000 CVE-2018-10583 allow embedded links to smb resources
+ to be blocked
+
+* Thu May 3 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-7
+- rhbz#1573845 won't start without at least Langpack-en-US.xcd
+
+* Mon Apr 30 2018 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.0.3.2-6
+- Rebuild for ICU 61.1
+
+* Tue Apr 24 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-5
+- Resolves: tdf#116951 rhbz#1569331 start is G_MAXINT
+
+* Thu Apr 19 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.3.2-4
+- Resolves: rhbz#1568579 LibreOffice --headless zombie process
+- Related: rhbz#1569331 end should be in terms of unicode chars, not bytes
+
+* Tue Apr 17 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-3
+- Related: rhbz#1396729 use cairo_surface_create_similar
+
+* Tue Apr 10 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-2
+- finally drop bundled xmlsec1
+
+* Thu Mar 29 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-1
+- latest version
+
+* Thu Mar 29 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.1-3
+- Related: rhbz#1066844 drop libreofficekit requires
+
+* Fri Mar 23 2018 Marek Kasik <mkasik(a)redhat.com> - 1:6.0.3.1-2
+- Rebuild for poppler-0.63.0
+
+* Thu Mar 22 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.3.1-1
+- update to 6.0.3 rc1
+
+* Fri Mar 16 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.2.1-3
+- Resolves: rhbz#1392145 ensure titlebar close button matches 'outside' direction
+
+* Fri Mar 16 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.2.1-2
+- lib dir missing from libreoffice-sdk
+
+* Fri Feb 23 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.2.1-1
+- update to 6.0.2 rc1
+
+* Wed Feb 14 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.1.1-2
+- rebuild for poppler 0.62.0
+
+* Fri Feb 09 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.1.1-1
+- latest stable
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.0.0.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Tue Feb 06 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.0.3-2-UNBUILT
+- Resolves: rhbz#1541486 Base table dialog title shown in wrong language
+
+* Sun Feb 04 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.3-1
+- update to 6.0.0 rc3
+
+* Wed Jan 31 2018 Michael Stahl <mstahl(a)fedoraproject.org> - 1:6.0.0.2-3
+- add lots of .abignore files to restrict abipkgdiff to shared objects
+ that actually have a stable ABI
+
+* Tue Jan 30 2018 Björn Esser <besser82(a)fedoraproject.org> - 1:6.0.0.2-2
+- Rebuilt for Boost 1.66.0
+
+* Fri Jan 12 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.2-1
+- update to 6.0.0 rc2
+
+* Tue Jan 09 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.0.1-3
+- bump to Modify2 for app_id so install hint says 'LibreOffice wants to install'
+
+* Thu Dec 21 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.0.1-2
+- request langpack for autodetected desired ui locale via packagekit
+
+* Wed Dec 20 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.1-1
+- update to 6.0.0 rc1
+
+* Thu Dec 14 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-8.beta2
+- update to 6.0.0 beta2
+
+* Mon Dec 04 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.0.0-7.beta1
+- Rebuild for hunspell 1.6.2
+
+* Thu Nov 30 2017 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.0.0.0-6.beta1
+- Rebuild for ICU 60.1
+
+* Sat Nov 25 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-5.beta1
+- update to 6.0.0 beta1
+
+* Wed Nov 22 2017 Eike Rathke <erack(a)redhat.com> - 1:6.0.0.0-4.alpha1
+- prepare for build with ICU 60.1
+
+* Mon Nov 20 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-3.alpha1
+- rebuild for liborcus 0.13.1
+
+* Wed Nov 08 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-2.alpha1
+- rebuild for poppler 0.61.0
+
+* Thu Nov 02 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-1.alpha1
+- update to 6.0.0 alpha1
+- update location of appdata files
+- use weak dependencies
+- mark bundled packages
+
+* Tue Oct 17 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.3.1-1
+- update to 5.4.3 rc1
+
+* Fri Oct 06 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.2.2-3
+- rebuild for poppler 0.60.1
+
+* Sun Oct 01 2017 Thierry Vignaud <tvignaud(a)redhat.com> - 1:5.4.2.2-2
+- fix libreoffice wrapper
+
+* Wed Sep 27 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.2.2-1
+- update to 5.4.2 rc2
+
+* Mon Sep 18 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.2.1-1
+- update to 5.4.2 rc1
+
+* Tue Sep 12 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.1.2-3
+- Resolves: rhbz#1490318 do not use versioned Supplements
+
+* Fri Sep 08 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.1.2-2
+- rebuild for poppler 0.59.0
+
+* Sun Aug 27 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.1.2-1
+- update to 5.4.1 rc2
+
+* Fri Aug 11 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.4.0.3-5
+- implement char highlighting ui for graphics styles
+
+* Thu Aug 03 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.3-4
+- rebuild for poppler 0.57.0
+
+* Mon Jul 31 2017 Kalev Lember <klember(a)redhat.com> - 1:5.4.0.3-3
+- Enable the s390x build again
+
+* Mon Jul 31 2017 Kalev Lember <klember(a)redhat.com> - 1:5.4.0.3-2
+- Temporarily disable the build on s390x
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:5.4.0.3-1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Jul 21 2017 Kalev Lember <klember(a)redhat.com> - 1:5.4.0.2-2
+- Rebuilt for Boost 1.64
+
+* Fri Jul 07 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.2-1
+- update to 5.4.0 rc2
+
+* Fri Jun 23 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.1-1
+- update to 5.4.0 rc1
+
+* Wed Jun 07 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.0-3.beta2
+- update to 5.4.0 beta2
+
+* Sun May 21 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.0-2.beta1
+- update to 5.4.0 beta1
+
+* Tue May 02 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.0-1.alpha1
+- update to 5.4.0 alpha1
+
+* Wed Apr 19 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.3.1-1
+- update to 5.3.3 rc1
+
+* Wed Mar 29 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.2.2-1
+- update to 5.3.2 rc2
+
+* Tue Mar 28 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.2.1-3
+- rebuild for poppler 0.53.0
+
+* Mon Mar 27 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.2.1-2
+- Resolves: rhbz#1432468 disable opencl by default
+
+* Sun Mar 19 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.2.1-1
+- update to 5.3.2 rc1
+
+* Mon Mar 13 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.1.2-2
+- Resolves: rhbz#1431189 add Indonesian langpack
+
+* Thu Mar 09 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.1.2-1
+- update to 5.3.1 rc2
+
+* Thu Feb 23 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.1.1-1
+- update to 5.3.1 rc1
+
+* Tue Feb 07 2017 Björn Esser <besser82(a)fedoraproject.org> - 1:5.3.0.3-3
+- Rebuilt for Boost 1.63
+
+* Thu Feb 02 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.0.3-2
+- Resolves: rhbz#1409401 add depend on gtksink gstreamer1 element
+
+* Fri Jan 27 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.3-1
+- update to 5.3.0 rc3
+
+* Wed Jan 18 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.2-1
+- update to 5.3.0 rc2
+- temp. disable building of help on ARM to fix build
+
+* Tue Jan 10 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.1-1
+- update to 5.3.0 rc1
+
+* Tue Dec 27 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.0.0-8.beta1
+- try arm build
+
+* Thu Dec 22 2016 Miro Hrončok <mhroncok(a)redhat.com> - 1:5.3.0.0-7.beta2
+- Rebuild for Python 3.6
+
+* Mon Dec 19 2016 Miro Hrončok <mhroncok(a)redhat.com> - 1:5.3.0.0-6.beta2
+- Rebuild for Python 3.6
+
+* Thu Dec 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-5.beta2
+- update to 5.3.0 beta2
+
+* Tue Dec 13 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.0.0-4.beta1
+- rebuild for hunspell-1.5.4
+
+* Wed Nov 23 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-3.beta1
+- update to 5.3.0 beta1
+
+* Tue Nov 08 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-2.alpha1
+- allow abrt to work again
+
+* Sat Oct 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-1.alpha1
+- update to 5.3.0 alpha1
+
+* Fri Oct 21 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.2.3.1-2
+- Rebuild for poppler-0.48.0
+
+* Sat Oct 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.3.1-1
+- update to 5.2.3 rc1
+
+* Fri Oct 07 2016 Stephan Bergmann <sbergman(a)redhat.com> - 1:5.2.2.2-3
+- Resolves: rhbz#1382401 broken export of emojis to HTML
+
+* Thu Sep 29 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.2.2-2
+- rebuild for liborcus 0.12
+
+* Wed Sep 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.2.2-1
+- update to 5.2.2 rc2
+
+* Wed Sep 21 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-5
+- Related: rhbz#1362451 apply patch
+
+* Tue Sep 20 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-4
+- Related: rhbz#1362451 avoid recursive ownerchanged signal during ownerchange
+
+* Mon Sep 19 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-3
+- Related: rhbz#1373933 do less on style-updated
+- Related: rhbz#1353069 don't clear XATTR_FILL from in use styles
+
+* Fri Sep 16 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-2
+- Resolves: rhbz#1373933 gtk 3.21 emits way too many "style-set" signals
+
+* Wed Sep 14 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.2.1-1
+- update to 5.2.2 rc1
+
+* Tue Sep 13 2016 Stephan Bergmann <sbergman(a)redhat.com> - 1:5.2.1.2-3
+- enable dconf support for Fleet Commander
+
+* Mon Sep 05 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.1.2-2
+- Resolves: rhbz#1247399 install public jars according to packaging guidelines
+- Resolves: rhbz#1363874 install LibreOfficeKit headers
+
+* Fri Aug 26 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.1.2-1
+- update to 5.2.1 rc2
+
+* Thu Aug 11 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.1.1-1
+- update to 5.2.1 rc1
+
+* Fri Jul 29 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.4-1
+- update to 5.2.0 rc4
+
+* Thu Jul 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.3-1
+- update to 5.2.0 rc3
+
+* Tue Jul 19 2016 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.2.0.2-4
+- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_...
+
+* Mon Jul 18 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.2.0.2-3
+- Rebuild for poppler-0.45.0
+
+* Thu Jul 07 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.2-2
+- remove obsolete wiki-publisher requires apache-commons-*
+
+* Thu Jul 07 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.2-1
+- update to 5.2.0 rc2
+- Resolves: rhbz#1351292 fix switching of modes in Impress
+
+* Tue Jun 28 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.1-2
+- Resolves: rhbz#1341064 fix test on big endian systems
+
+* Wed Jun 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.1-1
+- update to 5.1.0 rc1
+- Resolves: rhbz#1343752 wrong radiobutton and checkbutton behavior in
+ "view" menu
+- Resolves: rhbz#1349261 do not pull in all variants of english dicts
+
+* Thu Jun 09 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-8.beta2
+- update to 5.2.0 beta2
+
+* Thu May 26 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-7.beta1
+- update to 5.2.0 beta1
+
+* Mon May 16 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-6.alpha1
+- Resolves: rhbz#1327847 remove multilib conflicts in .desktop files
+
+* Fri May 13 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-5.alpha1
+- rebuild for mdds 1.2.0
+- Resolves: rhbz#1325858 fix build on 64-bit secondary arches
+
+* Tue May 10 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-4.alpha1
+- Resolves: rhbz#1333899 recommended pkgs are omitted from default
+ installation
+
+* Tue May 3 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.2.0.0-3.alpha1
+- Rebuild for poppler-0.43.0
+
+* Mon May 02 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-2.alpha1
+- Resolves: rhbz#1326602 leakage of removed background image set in master slide
+
+* Fri Apr 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-1.alpha1
+- update to 5.2.0 alpha1
+
+* Thu Apr 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.3.1-1
+- update to 5.1.3 rc1
+- Resolves: tdf#91778 drawing the background over an active cursor
+
+* Mon Apr 18 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.2.1-6
+- rebuild for hunspell 1.4.0
+
+* Fri Apr 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-5
+- rebuild for ICU 57.1
+
+* Thu Apr 07 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.2.1-4
+- gtk3: fix combobox and listbox
+
+* Wed Mar 30 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-3
+- support both glade and glade3
+
+* Mon Mar 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-2
+- Resolves: rhbz#1319458 avoid rich deps in Requires
+
+* Wed Mar 16 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-1
+- update to 5.1.2 rc1
+- split VCL plugins into subpackages
+- rename libreoffice-kde to libreoffice-kde4
+- only recommend fonts
+- remove hard dependency on English spell checker and auto-correction
+ rules
+- disable quickstarter
+- move icons and other system-integration stuff to a noarch subpackage
+- disable browser plugin in preparation for its removal in 5.2
+
+* Wed Mar 09 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.3-2
+- update for liborcus 0.11.0
+
+* Thu Mar 03 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.3-1
+- update to 5.1.1 rc3
+
+* Fri Feb 26 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.2-1
+- update to 5.1.1 rc2
+
+* Mon Feb 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-5
+- Resolves: rhbz#1310527 add langpack deps
+
+* Tue Feb 16 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.1.1-4
+- video playback under wayland with gstreamer gtksink
+
+* Mon Feb 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-3
+- rebuild for openCOLLADA soname change
+
+* Sun Feb 14 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-2
+- switch to mdds 1.x
+
+* Thu Feb 11 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-1
+- update to 5.1.1 rc1
+- Resolves: rhbz#1303007 add noarch Provides too
+
+* Thu Feb 11 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.0.3-3
+- rework gtk3 themeing to work with latest gtk
+
+* Tue Feb 02 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.0.3-2
+- Resolves: rhbz#1303619 nothing provides java-devel(x86_64)
+
+* Wed Jan 27 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.3-1
+- update to 5.1.0 rc3
+- Resolves: rhbz#1168757 Selecting multiple slides is not reflected in Print
+ dialog
+
+* Fri Jan 22 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.1.0.2-5
+- Rebuild for poppler-0.40.0
+
+* Mon Jan 18 2016 Jonathan Wakely <jwakely(a)redhat.com> - 1:5.1.0.2-4
+- Rebuilt for Boost 1.60
+
+* Sat Jan 16 2016 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1:5.1.0.2-3
+- Remove arch-specific dependency for font subpackage as it is noarch
+
+* Thu Jan 14 2016 Adam Jackson <ajax(a)redhat.com> - 1:5.1.0.2-2
+- Rebuild for glew 1.13
+
+* Thu Jan 14 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.2-1
+- update to 5.1.0 rc2
+
+* Thu Dec 17 2015 Bastien Nocera <bnocera(a)redhat.com> 1:5.1.0.1-2
+- Add GLSL files missing from the package
+- Split up inclusion of latin Serbian files to avoid duplicate listing
+
+* Wed Dec 16 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.1-1
+- update to 5.1.0 rc1
+
+* Mon Dec 14 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-11.beta2
+- backport more upstream fixes for libreofficekit
+- fix unit test on i686
+
+* Wed Dec 09 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-10.beta2
+- backport upstream fixes for libreofficekit
+
+* Fri Dec 04 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-9.beta2
+- update to 5.1.0 beta2
+
+* Thu Dec 03 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.0.0-8.beta1
+- enable and bundle libreofficekit introspection
+
+* Thu Nov 26 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-7.beta1
+- update to 5.1.0 beta1
+
+* Tue Nov 10 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.1.0.0-6.alpha1
+- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
+
+* Thu Nov 05 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-5.alpha1
+- Related: rhbz#1276061 build failure on ppc64
+
+* Tue Nov 03 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-4.alpha1
+- Resolves: rhbz#1276061 build failure on ppc64
+
+* Wed Oct 28 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-3.alpha1
+- rebuild for ICU 56.1
+
+* Tue Oct 27 2015 Eike Rathke <erack(a)redhat.com> - 1:5.1.0.0-2.alpha1
+- prepare to enable build with ICU 56
+
+* Mon Oct 19 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-1.alpha1
+- update to 5.1.0 alpha1
+
+* Mon Oct 12 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.3.1-1
+- update to 5.0.3 rc1
+
+* Thu Oct 08 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.0.2.2-4
+- Resolves: rhbz#1269593 declare support for vnd.libreoffice.cmis:// URLs
+
+* Wed Sep 30 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.0.2.2-3
+- implement save slide background for impress
+
+* Mon Sep 28 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.0.2.2-2
+- Resolves: tdf#93461 captions laid out behind images
+
+* Thu Sep 17 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.2.2-1
+- update to 5.0.2 rc2
+
+* Sat Sep 05 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.2.1-1
+- update to 5.0.2 rc1
+
+* Sat Aug 22 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.1.2-1
+- update to 5.0.1 rc2
+
+* Tue Aug 11 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.1.1-1
+- update to 5.0.1 rc1
+
+* Wed Aug 05 2015 Jonathan Wakely <jwakely(a)redhat.com> 5.0.0.5-2
+- Rebuilt for Boost 1.58
+
+* Mon Aug 03 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.5-1
+- update to 5.0.0 rc5
+
+* Wed Jul 29 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.0.0.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
+
+* Sat Jul 25 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.4-1
+- update to 5.0.0 rc4
+
+* Fri Jul 24 2015 Adam Williamson <awilliam(a)redhat.com> - 1:5.0.0.3-3
+- rebuild for Boost 1.58 (for real this time)
+
+* Wed Jul 22 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.3-2
+- rebuild for Boost 1.58
+
+* Fri Jul 10 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.3-1
+- update to 5.0.0 rc3
+
+* Sun Jun 28 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.2-1
+- update to 5.0.0 rc2
+
+* Sun Jun 21 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.1-1
+- update to 5.0.0 rc1
+
+* Fri Jun 19 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-8.beta3
+- Resolves: rhbz#1233420 crash on auto-fill
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.0.0.0-7.beta3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Wed Jun 10 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-6.beta3
+- update to 5.0.0 beta3
+
+* Tue Jun 09 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-5.beta2
+- update to 5.0.0 beta2
+
+* Mon Jun 08 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-4.beta1
+- rebuild for poppler 0.33
+
+* Wed May 20 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-3.beta1
+- update to 5.0.0 beta1
+
+* Sat May 16 2015 Kalev Lember <kalevlember(a)gmail.com> - 1:5.0.0.0-2.alpha1
+- Resolves: rhbz#1215800 install symbolic icons
+
+* Sun Apr 19 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-1.alpha1
+- update to 5.0.0 alpha1
+
+* Tue Apr 14 2015 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.4.2.2-3
+- Resolves: rhbz#1197614 crash when updating extension
+- Resolves: rhbz#1134285 redundant user/password request for WebDAV access
+
+* Mon Mar 30 2015 Richard Hughes <rhughes(a)redhat.com> - 1:4.4.2.2-2
+- Use better AppData screenshots
+
+* Thu Mar 26 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.2.2-1
+- update to 4.4.2 rc2
+
+* Thu Mar 12 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.2.1-1
+- update to 4.2.2 rc1
+
+* Mon Feb 23 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.1.2-1
+- update to 4.4.1 rc2
+
+* Tue Feb 10 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.1.1-1
+- update to 4.4.1 rc1
+
+* Thu Jan 29 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.3-5
+- fix build on s390
+
+* Wed Jan 28 2015 Petr Machata <pmachata(a)redhat.com> - 1:4.4.0.3-4
+- Rebuild for boost 1.57.0
+
+* Wed Jan 28 2015 Petr Machata <pmachata(a)redhat.com> - 1:4.4.0.3-3
+- Rebuild for boost 1.57.0
+
+* Fri Jan 23 2015 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.4.0.3-2
+- Related: rhbz#1185307 get search for Hamcrest unstuck
+
+* Fri Jan 23 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.3-1
+- update to 4.4.0 rc3
+
+* Fri Jan 23 2015 Marek Kasik <mkasik(a)redhat.com> - 1:4.4.0.2-4
+- Rebuild (poppler-0.30.0)
+
+* Thu Jan 22 2015 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.4.0.2-3
+- Resolves: rhbz#1184582 crash in grammar checking thread
+
+* Mon Jan 19 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.2-2
+- Resolves: rhbz#1180114 writerfilter: don't crash on w:customXmlDelRangeStart
+ etc.
+- Resolves: rhbz#1175027 fix life cycle of SwConnectionDisposedListener_Impl
+
+* Fri Jan 09 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.2-1
+- update to 4.4.0 rc2
+
+* Wed Jan 07 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:4.4.0.1-2
+- Resolves: rhbz#1177547 system autocorr files not detected
+
+* Sun Dec 21 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.1-1
+- update to 4.4.0 rc1
+
+* Fri Dec 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-6.beta2
+- Resolves: rhbz#1116534 crash when pasting over a formula
+
+* Sat Dec 06 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-5.beta2
+- update to 4.4.0 beta2
+- move officehelper.py to pyuno package so it can be imported from python
+
+* Tue Dec 02 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-4.beta1
+- add Provides: libreoffice-headless; packages are depending on it
+
+* Thu Nov 27 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.4.0.0-3.beta1
+- Resolves: rhbz#1165444 abrt crash with NULL pView
+
+* Thu Nov 27 2014 Marek Kasik <mkasik(a)redhat.com> - 1:4.4.0.0-2.beta1
+- Rebuild (poppler-0.28.1)
+
+* Sat Nov 22 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-1.beta1
+- update to 4.4.0 beta1
+
+* Fri Nov 21 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-6
+- Resolves: fdo#86466 Wrong background color shown in impress table
+
+* Thu Nov 20 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-5
+- Resolves: rhbz#1164551 we want to ensure that a libjvm.so is available
+ but we have no firm interest in which one that is
+
+* Wed Nov 19 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-4
+- Resolves: rhbz#1165740 arbitrarily backport some rtf crash fixes
+
+* Mon Nov 17 2014 Michael Stahl <mstahl(a)redhat.com>- 1:4.3.4.1-3
+- set VCL.WM.ShouldSwitchWorkspace to false to avoid virtual desktop switching
+
+* Thu Nov 13 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-2
+- fix impress table layout cache wrt wrong table selection border
+
+* Tue Nov 11 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.4.1-1
+- update to 4.3.4 rc1
+
+* Tue Nov 11 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-6
+- strip hard coded numbering off outline master previews
+
+* Mon Nov 10 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-5
+- Resolves: rhbz#1161238 sync PRESOBJ_OUTLINE para depth on load
+
+* Thu Nov 06 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-4
+- Resolves: fdo#60712 Inherits cell styles in inserting rows/columns
+- implement toggling off removeable master elements with delete
+- Resolves: fdo#78151 change underlying style on toggling bullets on/off in master view
+
+* Thu Nov 06 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-3
+- Resolves: fdo#76581 copy-and-paste -> slideshow crash in presenter console
+
+* Wed Nov 05 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-2
+- Resolves: fdo#37559 revert adding extra dummy polygons
+
+* Tue Oct 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.3.2-1
+- update to 4.3.3 rc2
+
+* Sun Oct 19 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.3.1-2
+- enable support for 3-D models
+
+* Thu Oct 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.3.1-1
+- update to 4.3.3 rc1
+
+* Wed Oct 08 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.3.2.2-5
+- Resolves: rhbz#1054952 bad access of smb URLs on KDE
+
+* Tue Sep 23 2014 Richard Hughes <richard(a)hughsie.com> - 1:4.3.2.2-4
+- move appdata files to desktop files, where the belong
+
+* Tue Sep 23 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.2-3
+- Resolves: rhbz#1054952 cannot access smb URLs on KDE
+
+* Tue Sep 23 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.2-2
+- make brochure printing of impress/draw work out of the box
+- Resolves: rhbz#1133863 fix looping layout
+
+* Mon Sep 22 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.2.2-1
+- update to 4.3.2 rc2
+
+* Wed Sep 17 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.1-3
+- make n-up printing of impress notes work out of the box
+
+* Wed Sep 17 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.1-2
+- Resolves: fdo#80911 don't swap notes page width height
+
+* Fri Sep 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.2.1-1
+- update to 4.3.2 rc1
+
+* Wed Sep 10 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.2-5
+- create a master document template type
+
+* Tue Sep 09 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.2-4
+- Resolves: fdo#82496 Change picture option with right click in writer
+
+* Fri Sep 05 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.2-3
+- build for aarch64
+
+* Fri Aug 29 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.3.1.2-2
+- Resolves: rhbz#1098693 AArch64 port
+
+* Wed Aug 27 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.2-1
+- update to 4.3.1 rc2
+
+* Tue Aug 26 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-8
+- Related: rhbz#1131425 ure only needs jre-headless
+
+* Tue Aug 26 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.1-7
+- rebuild for ICU 53.1
+
+* Fri Aug 22 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-6
+- Resolves: rhbz#1131425 move libjawt-using office bean into a subpackage
+- Resolves: rhbz#1125588 port LibreOffice to ppc64le
+
+* Tue Aug 19 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-5
+- Resolves: rhbz#1131425 try java-headless instead of java
+
+* Sun Aug 17 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:4.3.1.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sat Aug 16 2014 Rex Dieter <rdieter(a)fedoraproject.org> 1:4.3.1.1-3
+- update mime scriptlets
+
+* Fri Aug 15 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-2
+- Related: rhbz#1130264 crash in media playback on s390x
+
+* Sun Aug 10 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.1-1
+- update to 4.3.1 rc1
+
+* Mon Jul 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.4-1
+- update to 4.3.0 rc4
+
+* Fri Jul 25 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.3-4
+- Resolves: rhbz#1121254 crash when using font selector after adding new font
+
+* Fri Jul 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.0.3-3
+- Resolves: rhbz#1122868 landscape printing is broken
+
+* Thu Jul 24 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.3-2
+- avoid image loss in Impress after auto-save
+
+* Wed Jul 16 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.1-1
+- update to 4.3.0 rc3
+
+* Tue Jul 08 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.2-2
+- avoid problems detecting HTML files with xls extension
+
+* Wed Jul 02 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.2-1
+- update to 4.3.0 rc2
+
+* Tue Jun 17 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.1-1
+- update to 4.3.0 rc1
+
+* Mon Jun 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-9.beta2
+- Resolves: rhbz#1105376 FlatODF import/export does not work unless
+ libreoffice-xsltfilter is installed
+
+* Wed Jun 04 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-8.beta2
+- update to 4.3.0 beta2
+
+* Thu May 29 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-7.beta1
+- fix some fallout from the import libs rebase
+
+* Wed May 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-6.beta1
+- switch to librevenge-based import libs
+
+* Tue May 27 2014 Kalev Lember <kalevlember(a)gmail.com> - 1:4.3.0.0-5.beta1
+- Rebuild for boost 1.55.0
+
+* Mon May 26 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-4.beta1
+- unblock build on ARM
+
+* Fri May 23 2014 Petr Machata <pmachata(a)redhat.com> - 1:4.3.0.0-3.beta1
+- Rebuild for boost 1.55.0
+
+* Fri May 23 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-2.beta1
+- rebuild for boost 1.55.0
+
+* Wed May 21 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-1.beta1
+- update to 4.3.0 beta1
+
+* Fri May 16 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-14
+- render smart-art with a vector format so it can be scaled nicely
+- fix leak on pasting metafiles into office
+- fix leak on pasting draw items into office
+- fix another leak on scaling metric items
+
+* Thu May 15 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-13
+- fix SDK doc generation with doxygen 1.8.7
+
+* Wed May 14 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-12
+- rebuild for new poppler
+
+* Mon May 12 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-11
+- Resolves: rhbz#1096747 format->page crash on html doc
+
+* Mon May 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-10
+- Resolves: fdo#78119 bad july (červenec) month name support in czech
+ localization
+
+* Mon May 12 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-9
+- Resolves: rhbz#1096486 avoid access to nonexisting parent
+- Resolves: rhbz#1096295 hard to distinguish slides in slide pane
+
+* Fri May 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-8
+- Resolves: rhbz#1071604 Draw depends on files from libreoffice-impress, crashes
+ without them
+
+* Fri May 09 2014 Eike Rathke <erack(a)redhat.com> - 1:4.2.4.2-7
+- Resolves: fdo#77509 memory corruption / crash in Consolidate
+
+* Thu May 08 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-6
+- center current slide after changing zoom
+- add a status bar icon to fit slide to window
+- Related: fdo#50697 reset the cache timeout on GetGraphic
+
+* Thu May 08 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.2.4.2-5
+- Resolves: rhbz#1092589 Thoroughly check whether JRE is still present
+
+* Tue May 06 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-4
+- clip over-long comments
+
+* Thu May 01 2014 Eike Rathke <erack(a)redhat.com> - 1:4.2.4.2-3
+- Resolves: fdo#78294 default null-date for document import is 1899-12-30
+
+* Thu May 01 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-2
+- better scaling of notes-using pages
+
+* Wed Apr 30 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-1
+- update to 4.2.4 rc2
+
+* Fri Apr 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-7
+- Related: rhbz#1032774 disable autoexit when switching monitors
+
+* Thu Apr 24 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-6
+- Resolves: fdo#37130 use 10pt Default style font for comments
+- Resolves: fdo#60040 crash after undoing master page
+- vertically center printout when including comments
+
+* Wed Apr 23 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-5
+- add a 'format all comments' feature
+
+* Tue Apr 22 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-4
+- Resolves: rhbz#1089377 crash on loading a specific rtf
+
+* Tue Apr 22 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-3
+- sometimes tables in impress don't resize when adding rows
+- Resolves: fdo#71423 crash while editing Impress tables
+
+* Fri Apr 18 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-2
+- every 2nd print job is incorrectly flagged as failed
+- Related: rhbz#1088625 PresenterPaintManager seen as NULL
+
+* Thu Apr 17 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.1-1
+- update to 4.2.4 rc1
+
+* Wed Apr 16 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.3-6
+- install man pages
+- Resolves: rhbz#1086714 overlarge pixmap
+
+* Wed Apr 16 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.3-5
+- Resolves: fdo#36815 enable printing WYSIWYG sidewindow comments
+
+* Sat Apr 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.3-4
+- drop filtering of provides again
+
+* Sat Apr 12 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.3-3
+- Related: rhbz#1081176 don't jump to cursor pos when we don't want to
+
+* Fri Apr 11 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.3-2
+- Resolves: rhbz#1081176 don't jump to cursor pos when we don't want to
+- Related: rhbz#1085916 kde startup woes
+
+* Sat Apr 05 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.3-1
+- update to 4.2.3 rc3
+
+* Tue Apr 01 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.2-3
+- Related: rhbz#1075951 abrt crash in MSWordExportBase
+
+* Mon Mar 31 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.2-2
+- Resolves: rhbz#1080196 mdds/multi_type_vector_itr.hpp update_node():
+ soffice.bin killed by SIGSEGV
+
+* Wed Mar 26 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.2-1
+- update to 4.2.3 rc2
+
+* Tue Mar 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.1-2
+- Resolves: rhbz#1077780 crash on loading a specific docx
+
+* Mon Mar 17 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.1-1
+- update to 4.2.3 rc1
+
+* Fri Mar 14 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-7
+- Related: rhbz#1076264 intermittent a11y crash in calc
+
+* Mon Mar 10 2014 Michael Stahl <mstahl(a)redhat.com> - 1:4.2.2.1-6
+- Resolves: rhbz#988516: DOCX import: fix context stack when importing header
+- Resolves: rhbz#1072553: Fix deselection problems of template view
+- Resolves: rhbz#1072607: fix crash in SvxRuler::MouseMove()
+- Resolves: rhbz#1043551: sw: avoid division-by-0 in Text Grid painting code
+- RTF import: import field parameters
+- RTF import: fix spurious page breaks at doc end
+
+* Tue Mar 04 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-5
+- Related: rhbz#1065807 wizards should find the right wizards subdir
+ of Template_internal, who knew this stuff was so fragile
+
+* Mon Mar 03 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-4
+- Related: rhbz#1065807 wizards should look in Template_internal
+
+* Fri Feb 28 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-3
+- Resolves: rhbz#1007697 Update on a Window deletes itself
+
+* Fri Feb 28 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-2
+- Related: rhbz#1065807 don't throw with no "Templates" dir under KDE
+
+* Thu Feb 27 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.2.1-1
+- update to 4.2.2 rc1
+
+* Thu Feb 27 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.2.1.1-4
+- Resolves: fdo#75540 spadmin does not start
+
+* Thu Feb 27 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.1.1-3
+- Resolves: rhbz#1057977 do not crash when fonts are updated
+
+* Tue Feb 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.1.1-2
+- Resolves: rhbz#1065807 search XDG defined "Templates" dir
+
+* Thu Feb 13 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.1.1-1
+- update to 4.2.1 rc1
+
+* Thu Feb 13 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-4
+- rebuild for new ICU
+
+* Thu Feb 06 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-3
+- Resolves: rhbz#1017379 libreoffice impress imports animated motion paths
+ incorrectly from powerpoint
+- Resolves: fdo#33852 Custom animation (Motionpath Left) isn't being
+ imported correctly from .ppt
+
+* Thu Jan 30 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-2
+- split LibreLogo into a separate subpackage
+- create a metapackage depending on all subpackages containing filters,
+ for use of packages like unoconv
+
+* Tue Jan 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-1
+- update to 4.2.0 rc4
+
+* Fri Jan 24 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.3-3
+- enable EOT support
+- fix PPC build
+
+* Thu Jan 23 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.3-2
+- stop showing math and startcenter in menu (again)
+
+* Wed Jan 22 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.3-1
+- update to 4.2.0 rc3
+
+* Mon Jan 13 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.0.2-2
+- Related: rhbz#1047871 conditional formatting doesn't fit on screen
+
+* Thu Jan 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.2-1
+- update to 4.2.0 rc2
+- Resolves: rhbz#1049543 Include AppData files in packages
+
+* Tue Jan 07 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.1-1
+- 4.2.0 rc1
+
+* Wed Dec 11 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.0.0-3.beta2
+- Resolves: rhbz#1040291 Change language name from "Oriya" to "Odia"
+
+* Wed Dec 04 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.0.0-2.beta2
+- update to 4.2.0 beta2
+- Related: rhbz#1032774 bodge around reported NULL
+- Resolves: rhbz#1035092 no shortcut key for Italian 'Tools' menu
+- Resolves: rhbz#912529 Kerkis SmallCaps shown instead of Kerkis Regular
+- Resolves: rhbz#1038189 refresh printer list when print dialog launched
+- openssl no longer required to build
+
+* Thu Nov 21 2013 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.0-1.beta1
+- switch to 4.2.0
+
+* Wed Nov 20 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.3.2-5
+- Resolves: rhbz#1031989 Accept --pt in addition to deprecated -pt
+- Related: rhbz#1014990 valgrind reports uninitialized variables
+
+* Sun Nov 03 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.2-4
+- adapt for libmwaw 0.2
+
+* Thu Oct 31 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.2-3
+- Resolves: fdo#56209 reviving FilterFormulaParser
+
+* Thu Oct 31 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.3.2-2
+- Resolves: fdo#67725 unoidl::AggregatingCursor must wrap modules for aggregation
+- Resolves: rhbz#1021915 force menubar menus to be up/down only
+- Resolves: rhbz#1025201 Incorrect rendering of Devanagari short i
+
+* Wed Oct 23 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.2-1
+- 4.1.3 rc2
+- Resolves: rhbz#1022094 libreoffice-4.1.3.1-1 was built without
+ langpacks
+
+* Mon Oct 21 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.3.1-2
+- Resolves: rhbz#1020712 wrong default CTL font shown in editengine
+- Resolves: rhbz#919070 display -1 means span all screens
+
+
+* Wed Oct 16 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.1-1
+- 4.1.3 rc1
+
+* Mon Oct 07 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.3-4
+- Resolves: rhbz#1001768: fix various a11y deadlocks and crashes
+- Resolves: rhbz#1016022 fix cut from impress and paste to writer
+- Resolves: rhbz#1003179 fix AUTOFMT related crashes in Writer Undo
+
+* Mon Oct 07 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.3-3
+- Resolves: rhbz#1015281 crash on clicking custom animation
+- Resolves: rhbz#996162 crash with no bullet font
+
+* Wed Oct 02 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.3-2
+- Resolves: rhbz#1013480 crash in EditLineList::operator[]
+- Resolves: rhbz#1014010 crash on start up
+- Resolves: rhbz#1013844 encrypted OOo 1.0 files don't reopen
+
+* Mon Sep 30 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.2.3-1
+- 4.1.2 rc3
+
+* Fri Sep 20 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.2.2-1
+- 4.1.2 rc2
+
+* Tue Sep 17 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.1-3
+- add select sheet menu to calc prev/next area
+- Resolves: rhbz#988104 crash on certain pptx
+
+* Thu Sep 12 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.1-2
+- Resolves: rhbz#1006850 crash in SwCommentRuler
+
+* Thu Sep 05 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.2.1-1
+- 4.1.2 rc1
+
+* Tue Sep 03 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.1.2-3
+- Resolves: rhbz#993963 NULL m_pWindow on firefox close plugin window
+
+* Fri Aug 23 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.1.2-2
+- Resolves: rhbz#1000150, Do not call exit upon XIOError
+
+* Thu Aug 22 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.1.2-1
+- 4.1.1 rc2
+- Related: rhbz#895690 Always try to do a mount when opening a file via GIO
+- Resolves: rhbz#998136 wrong index to gWidgetData
+- Resolves: rhbz#998046 store last size/position of the base windows
+
+* Mon Aug 19 2013 Marek Kasik <mkasik(a)redhat.com> - 1:4.1.1.1-2
+- Rebuild (poppler-0.24.0)
+
+* Fri Aug 09 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.1.1-1
+- 4.1.1 rc1
+
+* Fri Aug 09 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.4-6
+- Resolves: fdo#67743 user autocorr file not written
+
+* Tue Jul 30 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.0.4-5
+- Resolves: rhbz#989246 Honor user's JavaDriverClass override in mysql driver
+- Resolves: fdo#67045 fix several nasty screen selection issues
+
+* Tue Jul 30 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.4-4
+- Resolves: rhbz#989686 Fix crash with stripping whitespace from toc entries
+
+* Mon Jul 29 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.4-3
+- make libwpd-based filters work correctly with newest libwpd
+
+* Sun Jul 28 2013 Petr Machata <pmachata(a)redhat.com> - 1:4.1.0.4-2
+- Rebuild for boost 1.54.0
+
+* Wed Jul 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.4-1
+- 4.1.0 rc4
+
+* Mon Jul 22 2013 Eike Rathke <erack(a)redhat.com> - 1:4.1.0.3-2
+- force rebuild with icu-50.1.2-7
+
+* Thu Jul 18 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.3-1
+- 4.1.0 rc3
+- Resolves: fdo#48835 GNOME3 app menu
+
+* Thu Jul 18 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.2-5
+- silence scary gcc warning
+- fdo#66924 switching to master view is broken
+
+* Tue Jul 16 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-4
+- bump release
+
+* Fri Jul 12 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-3
+- Resolves: rhbz#983809 libreoffice-base misses deps on needed java packages
+
+* Thu Jul 11 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-2
+- Resolves: rhbz#980387 Exporting a odg to jpg or tiff generates error
+
+* Thu Jul 04 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-1
+- 4.1.0 rc2
+
+* Mon Jul 01 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.1-8
+- Resolves: rhbz#979758 crash on Diagrammen in LibreOffice help page
+
+* Thu Jun 27 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-7
+- bump revision
+
+* Mon Jun 24 2013 Marek Kasik <mkasik(a)redhat.com> - 1:4.1.0.1-6
+- Rebuild (poppler-0.22.5)
+
+* Mon Jun 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-5
+- fix build on big endian archs
+
+* Mon Jun 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-4
+- put glade catalog into an extra packgae
+
+* Sun Jun 23 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.1-3
+- Resolves: rhbz#976304 gallery elements may not insert
+
+* Wed Jun 19 2013 Dennis Gilmore <dennis(a)ausil.us> - 1:4.1.0.1-2
+- fix _smp_mflags macro useage
+
+* Wed Jun 19 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-1
+- 4.1.0 rc1
+- Related: rhbz#971321 failing tests on ppc and s390
+
+* Sun Jun 16 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-9.beta2
+- Resolves: rhbz#971321 failing tests on ppc and s390
+- Resolves: rhbz#974062 incorrect rendering of text in outline blocks in
+ Impress
+
+* Fri Jun 07 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-8.beta2
+- Related: rhbz#971795 go back to BR: harfbuzz-devel
+
+* Fri Jun 07 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-7.beta2
+- Resolves: rhbz#971230 Use BR: harfbuzz-icu-devel
+
+* Wed Jun 05 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-7.beta1
+- 4.1.0 beta2
+
+* Wed Jun 05 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.0-6.beta1
+- Related: rhbz#968892 discard impossible languages for Oriya script
+
+* Tue Jun 04 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.0-5.beta1
+- Resolves: rhbz#968892 block entire grapheme together for glyph fallback
+- Related: rhbz#968892 discard impossible languages for glyph fallback
+
+* Fri May 31 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.0-4.beta1
+- Resolves: rhbz#968976 fix dropdown list autosizing
+
+* Thu May 30 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-3.beta1
+- build fix for s390
+
+* Fri May 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-2.beta1
+- 4.1.0 beta1
+
+* Fri May 24 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.3.3-3
+- Resolves: rhbz#961460 can't save WebDAV (davs) files
+
+* Thu May 16 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.3.3-2
+- Resolves: rhbz#963276 font options cache crash
+
+* Fri May 03 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.3.3-1
+- 4.0.3 rc3
+
+* Tue Apr 30 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.3.2-1
+- 4.0.3 rc2
+
+* Mon Apr 22 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.3.1-2
+- Resolves: rhbz#954991 Avoid static data (causing trouble at exit)
+
+* Thu Apr 18 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.3.1-1
+- 4.0.3 rc1
+- Resolves: rhbz#867808 do not throw UNO exceptions by pointer in C++
+
+* Tue Apr 16 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.2.2-4
+- Resolves: rhbz#927223 syntax highlighting crash
+
+* Mon Apr 08 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.2.2-3
+- Resolves: rhbz#949238 div by zero on pagedown in 0 width panel
+
+* Fri Apr 05 2013 Kalev Lember <kalevlember(a)gmail.com> - 1:4.0.2.2-2
+- Resolves: rhbz#949106 libreoffice drags in both openjdk 1.7.0 and 1.8.0
+
+* Thu Mar 28 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.2.2-1
+- 4.0.2 rc2
+- Resolves: rhbz#876742 manipulation with larger tables in impress is
+ very slow
+
+* Fri Mar 15 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.2.1-2
+- Resolves: rhbz#906137 slide show inverts outputs
+
+* Fri Mar 15 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.2.1-1
+- 4.0.2 rc1
+- Resolves: rhbz#921716 Build Breton language pack
+
+* Wed Mar 13 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.1.2-4
+- Resolves: rhbz#895690 failure saving to gvfs mounts
+
+* Tue Mar 12 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.1.2-3
+- Resolves: rhbz#920697 presentation not always full-screen
+
+* Thu Mar 07 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.1.2-2
+- Related: rhbz#902884 check for NULL GetSelectedMasterPage
+- Resolves: fdo#61241 force area page to size itself
+- Resolves: fdo#61656 use order and orientation combobox
+- Resolves: fdo#56031 RSID attr changes drop content changes
+
+* Thu Feb 28 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.1.2-1
+- 4.0.1 rc2
+
+* Tue Feb 26 2013 Eike Rathke <erack(a)redhat.com> - 1:4.0.0.3-8
+- do not access vector elements beyond size, rhbz#847519 related
+- Resolves: rhbz#742780 let make OPT_FLAGS=... override SDK flags
+- Resolves: rhbz#907933 crash on removing second last para
+
+* Tue Feb 19 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.0.3-7
+- Resolves: rhbz#895196 sc filter float a11y parent of itself
+
+* Tue Feb 19 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.3-6
+- Resolves: rhbz#911896 add Kazakh localization
+
+* Fri Feb 15 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.0.3-5
+- make evolution 3.6 work with address book
+- Resolves: rhbz#910176 cannot select directory with gtk folder picker
+- fixes for building against Boost 1.53.0
+
+* Fri Feb 15 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.0.3-4
+- Resolves: fdo#60491 missing libemboleobj.so
+- Resolves: rhbz#908674 crash on start
+
+* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora(a)m4x.org> - 1:4.0.0.3-3
+- Rebuild for Boost-1.53.0
+
+* Wed Feb 06 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.3-2
+- fix parsing errors in translated help
+
+* Fri Feb 01 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.3-1
+- 4.0.0 rc3
+
+* Wed Jan 23 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.2-1
+- 4.0.0 rc2
+- use ucpp again
+
+* Tue Jan 22 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.1-3
+- Resolves: rhbz#760765 Impress doesn't copy custom styles from one file
+ to another
+
+* Mon Jan 21 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.1-2
+- Resolves: rhbz#901346 do not install 512x512 icons
+
+* Tue Jan 15 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.1-1
+- 4.0.0 rc1
+
+* Sat Dec 22 2012 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.0-4.beta2
+- use system cpp instead of ucpp
+
+* Wed Dec 19 2012 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.0-3.beta2
+- 4.0.0 beta2
+
+* Thu Dec 06 2012 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.0-2.beta1
+- 4.0.0 beta1
+
+* Thu Nov 29 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.4.3-1
+- 3.6.4 rc3
+
+* Wed Nov 28 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.4.1-2
+- fix docx import on big endian
+
+* Sun Nov 18 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.4.1-1
+- 3.6.4 rc1
+
+* Wed Nov 14 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-8
+- Resolves: rhbz#872815 ogltrans effects still suboptimal
+
+* Tue Nov 13 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-7
+- big endian test failure
+
+* Thu Nov 08 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-6
+- Resolves: fdo#56198/rhbz#868002 honour gtk-scrollbar-warp-preference
+
+* Tue Nov 06 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-5
+- bump for libexttextcat
+
+* Fri Nov 02 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.2-4
+- Resolves: rhbz#871929 add keywords to desktop files
+- fix debuginfo
+
+* Wed Oct 31 2012 Eike Rathke <erack(a)redhat.com> - 1:3.6.3.2-3
+- Resolves: rhbz#865058 increase number of user-defined format codes
+
+* Fri Oct 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.2-2
+- Resolves: rhbz#824035 do not bundle saxon
+
+* Wed Oct 24 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.2-1
+- 3.6.3 rc2
+- drop integrated 0001-Resolves-rhbz-868479-fdo-56281-doubled-in-German-ok-.patch
+
+* Mon Oct 22 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.1-3
+- Resolves: rhbz#868479 guard against duplicated ~ in OK/Cancel
+
+* Thu Oct 11 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.1-2
+- Resolves: rhbz#858641 backport gstreamer 1.0 support to F-18
+
+* Thu Oct 11 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.1-1
+- 3.6.3 rc1
+- drop integrated 0001-Resolves-rhbz-855972-crash-on-switching-to-outline-v.patch
+- drop integrated 0001-fdo-52022-Simple-LargeControlPoints-actually-can-hav.patch
+- drop integrated 0001-fdo-46071-Do-not-hide-windows-based-on-nil-Visible-p.patch
+
+* Fri Oct 05 2012 Stephan Bergmann <sbergman(a)redhat.com> - 1:3.6.2.2-3
+- Resolves: fdo#46071 Do not hide windows based on nil Visible property
+
+* Fri Oct 05 2012 Stephan Bergmann <sbergman(a)redhat.com> - 1:3.6.2.2-2
+- Resolves: fdo#52022 Part of data in userdir is lost on upgrade
+
+* Wed Sep 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.2.2-1
+- 3.6.2 rc2
+
+* Wed Sep 12 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.2.1-2
+- Resolves: rhbz#855541 XIOError handler multithread woes
+
+* Wed Sep 12 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.2.1-1
+- 3.6.2 rc1
+
+* Tue Sep 11 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.2-4
+- Resolves: rhbz#855507 large ole2 compound files fail to load
+
+* Mon Sep 10 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.2-3
+- Resolves: rhbz#855972 crash on switching to outline view
+
+* Wed Aug 29 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.2-2
+- Related: rhbz#850709 hunspell en-US available standalone so
+ make English langpack require hunspell-en and core just
+ bare bones hunspell-en-US
+
+* Sun Aug 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.1.2-1
+- 3.6.1 rc2
+
+* Wed Aug 22 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.1-2
+- Resolves: rhbz#846775 Clipboard must be disposed before selection
+- Resolves: rhbz#842292 crash in scrolling multiselection in draw
+
+* Wed Aug 15 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.1.1-1
+- 3.6.1 rc1
+
+* Sun Aug 12 2012 Kevin Fenzi <kevin(a)scrye.com> - 1:3.6.0.4-3
+- Rebuild for new boost
+
+* Sat Jul 28 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.4-2
+- rebuilt for boost 1.50
+
+* Fri Jul 27 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.4-1
+- 3.6.0 rc4
+
+* Thu Jul 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.3-2
+- Resolves: rhbz#842552 crash in pptx import
+
+* Wed Jul 25 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.3-1
+- 3.6.0 rc3
+
+* Tue Jul 17 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.2-1
+- 3.6.0 rc2
+
+* Mon Jul 16 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.0.1-3
+- Resolves: rhbz#836937 insanely slow with Zemberek
+
+* Mon Jul 16 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.1-2
+- rebuild for new libexttextcat
+
+* Thu Jul 12 2012 David Tardon <dtardon(a)redhat.com> - 3.6.0.1-1
+- 3.6.0 rc1
+
+* Mon Jul 09 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.6.0.0-4
+- Resolves: rhbz#838368 --view ignored while -view accepted
+
+* Thu Jul 05 2012 David Tardon <dtardon(a)redhat.com> - 3.6.0.0-3
+- 3.6.0 beta3
+
+* Mon Jul 2 2012 Marek Kasik <mkasik(a)redhat.com> - 3.6.0.0-2
+- Rebuild (poppler-0.20.1)
+
+* Wed Jun 27 2012 David Tardon <dtardon(a)redhat.com> - 3.6.0.0-1
+- 3.6.0 beta2
+- drop integrated 0001-move-binfilter-mime-types-into-extra-.desktop-file.patch
+- drop integrated 0001-Resolves-rhbz-788042-skip-splashscreen-with-quicksta.patch
+- drop integrated libreoffice-ensure-non-broken-xml-tree.patch
+- drop integrated 0001-preserve-timestamps-for-.py-files.patch
+- drop integrated 0001-Resolves-rhbz-788045-swriter-help-etc-doesn-t-show-h.patch
+- drop integrated 0001-Resolves-rhbz-799525-put-flat-odf-mimetypes-in-xsltf.patch
+- drop integrated 0001-Resolves-rhbz-800272-complain-about-unknown-command-.patch
+- drop integrated 0001-Resolves-rhbz-806663-SlideshowImpl-can-outlive-SdMod.patch
+- drop integrated 0001-desktop-do-not-complain-about-soffice-command-line-o.patch
+- drop integrated 0001-Resolves-fdo-48096-torn-off-popups-trigger-keyboard-.patch
+- drop integrated 0001-fdo-38088-better-CSV-import-default-separators.patch
+- drop integrated 0001-save-register-arguments-first.patch
+- drop integrated 0001-do-not-let-gcc-use-registers-we-are-setting-ourselve.patch
+- drop integrated 0001-wrong-types-used-here-breaks-64bit-bigendian.patch
+- drop integrated 0001-Resolves-rhbz-805743-a11y-call-doShow-after-we-have-.patch
+- drop integrated 0001-Resolves-fdo-49849-implement-Unicode-6.1-hebrew-line.patch
+- drop integrated 0001-use-ure-instead-of-ure-link.patch
+- drop broken 0001-fix-setting-of-paper-tray-from-print-dialog-fdo-4393.patch
+
+* Mon Jun 18 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.5.1-2
+- Resolves: rhbz#830810 missing dependency on lucene-contrib
+
+* Thu Jun 14 2012 David Tardon <dtardon(a)redhat.com> - 3.5.5.1-1
+- 3.5.5 rc1
+- drop integrated 0001-make-hsqldb-build-with-java-1.7.patch
+- drop integrated 0001-Related-rhbz-799628-crash-with-chewing-IM-with-g3g.patch
+- drop integrated 0001-silence-SolarMutex-not-locked-spew.patch
+- drop integrated 0001-gcc-trunk-fix-unable-to-find-string-literal-operator.patch
+- drop integrated 0001-ppc-yyinput-returns-a-int-truncating-to-unsigned-cha.patch
+- drop integrated 0001-Resolves-rhbz-826609-rhbz-820554-fix-smoketest-on-pp.patch
+
+* Mon Jun 11 2012 David Tardon <dtardon(a)redhat.com> - 3.5.4.2-3
+- make gdb pretty printers for URE libs usable again
+
+* Fri Jun 08 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.4.2-2
+- Resolves: rhbz#826609, rhbz#820554 fix smoketest on ppc[64] and s390[x]
+
+* Wed May 23 2012 David Tardon <dtardon(a)redhat.com> - 3.5.4.2-1
+- 3.5.4 rc2
+
+* Thu May 17 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.4.1-2
+- Resolves: rhbz#811226 ARM FTBFS
+
+* Wed May 16 2012 David Tardon <dtardon(a)redhat.com> - 3.5.4.1-1
+- 3.5.4 rc1
+- drop integrated 0001-do-not-prepend-n-twice-it-confuses-KFileDialog-rhbz-.patch
+- drop integrated 0001-incrementing-index-twice-in-one-run-seems-wrong.patch
+- drop integrated 0001-fdo-49365-correctly-map-monitor-index-back-to-screen.patch
+- drop integrated 0001-rhbz-809019-count-mirrored-monitors-as-one.patch
+
+* Sun May 13 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.3.2-5
+- Resolves: fdo#49849 line breaking fixes for Hebrew
+
+* Fri May 11 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.2-4
+- Resolves: rhbz#820439 KDE export dialog broken for most formats
+- Resolves: fdo#49365 Libreoffice fails to start on second screen with
+ gtk vcl plugin
+- Resolves: rhbz#809019 Impress thinks a machine with 2 monitors in
+ clone mode is multihead
+
+* Wed May 09 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.3.2-3
+- Resolves: rhbz#805743 a11y crash in impress/draw
+- Resolves: rhbz#813202 opengl slide transitions still a bit
+ problematic in Fedora 17
+
+* Thu May 03 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.2-2
+- rebuild for changed dependencies
+
+* Wed Apr 25 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.2-1
+- 3.5.3 rc2
+- fix broken test on 64bit big endian
+
+* Mon Apr 23 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.1-2
+- rebuild for icu
+- fix UNO bridges for ppc and ppc64
+
+* Thu Apr 19 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.1-1
+- 3.5.3 rc1
+- drop integrated 0001-Introduced-SystemShellExecuteFlags-URIS_ONLY.patch
+- drop integrated 0001-Simplify-code-and-use-proper-register-names-for-linu.patch
+- drop integrated 0001-resolved-rhbz-813280-the-current-document-is-not-alw.patch
+
+* Wed Apr 18 2012 Eike Rathke <erack(a)redhat.com> - 3.5.2.1-7
+- Resolves: rhbz#813280 sheets cannot be moved in Calc
+
+* Wed Apr 11 2012 Eike Rathke <erack(a)redhat.com> - 3.5.2.1-6
+- Resolves: fdo#38088 rhbz#810267 better CSV import default separators
+
+* Tue Apr 10 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.2.1-5
+- Resolves: rhbz#811226 FTBFS ARM
+
+* Thu Apr 05 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.2.1-4
+- Fix URIS_ONLY flag issue
+- rebuild for db4
+
+* Mon Apr 02 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.2.1-3
+- Resolves: rhbz#708041 focus problems with tearable menus
+
+* Mon Mar 26 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.2.1-2
+- Resolves: rhbz#806663 SlideshowImpl can outlive SdModule
+
+* Sun Mar 25 2012 David Tardon <dtardon(a)redhat.com> - 3.5.2.1-1
+- 3.5.2 rc1
+-drop integrated 0001-yet-another-clash-with-macro-name.patch
+
+* Wed Mar 14 2012 David Tardon <dtardon(a)redhat.com> - 3.5.1.2-2
+- Resolves: rhbz#770209 can't change paper tray setting while printing
+
+* Thu Mar 08 2012 David Tardon <dtardon(a)redhat.com> - 3.5.1.2-1
+- 3.5.1 rc2
+
+* Tue Mar 06 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.1.1-3
+- Resolves: rhbz#799628 crash with chewing IM with g3g
+- Resolves: rhbz#799525 put flat odf mimetypes into xsltfilter.desktop
+- Resolves: rhbz#800272 complain about unknown commandline options
+
+* Wed Feb 29 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.1.1-2
+- Resolves: rhbz#788045 swriter --help doesn't show help
+- Resolves: rhbz#798667 missing .desktop icons
+
+* Sun Feb 26 2012 David Tardon <dtardon(a)redhat.com> - 3.5.1.1-1
+- 3.5.1 rc1
+- drop 0001-Resolves-fdo-43644-survive-registered-but-unavailabl.patch
+- drop 0001-Resolves-rhbz-789622-Adapt-SDK-to-changed-paths-in-L.patch
+- drop 0001-Fix-fdo-45177-avoid-linked-undo-for-the-while.patch
+- drop 0001-Fix-some-apparent-misuses-of-RTL_CONSTASCII_USTRINGP.patch
+- drop binfilter-Fix-some-apparent-misuses-of-RTL_CONSTASCII_USTRINGP.patch
+- Resolves: fdo#45177 avoid linked undo crash
+- Fix some apparent misuses of RTL_CONSTASCII_USTRINGPARAM (cherry-picked from
+ upstream libreoffice-3-5 branch)
+
+* Tue Feb 14 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.0.3-5
+- Resolves rhbz#789622: Adapt SDK to changed paths in LO installation
+
+* Mon Feb 13 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.0.3-4
+- ensure gdb .py files have the same timstamps so that multilib
+ .pyc's and .pyo's have the same content (timestamp in binary cache)
+
+* Sat Feb 11 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.0.3-3
+- make sure .tree files don't get busted again
+
+* Tue Feb 07 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.0.3-2
+- junit4 -> junit
+- Resolves: rhbz#788042 skip splashscreen with quickstarter
+- with split binfilter we need fix for fdo#43644
+
+* Thu Feb 02 2012 David Tardon <dtardon(a)redhat.com> - 3.5.0.3-1
+- 3.5.0 rc3
+- Resolves: rhbz#786328 add nlpsolver subpackage
+- split legacy binary filters into subpackage
+
+* Thu Jan 26 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.0.2-2
+- add libreoffice-postgresql subpackage
+
+* Wed Jan 25 2012 David Tardon <dtardon(a)redhat.com> - 3.5.0.2-1
+- 3.5.0 rc2
+
+* Thu Jan 19 2012 David Tardon <dtardon(a)redhat.com> - 3.5.0.1-1
+- 3.5.0 rc1
+- drop integrated 0001-workaround-internal-compiler-error-with-gcc-4.7.patch
+- drop integrated 0001-fix-for-gcc-4.7-C-11-these-are-not-string-literal-op.patch
+- drop integrated 0001-fix-for-gcc-4.7-C-11-this-is-not-string-literal-oper.patch
+- drop integrated 0001-Revert-fast_merge-fix-mis-merge-of-first-module-s-st.patch
+- drop integrated 0001-fix-writing-of-strings-from-the-first-module.patch
+- drop integrated 0001-refactor-slightly-to-avoid-link-problems-with-gcc-4..patch
+
+* Fri Jan 13 2012 David Tardon <dtardon(a)redhat.com> - 3.4.99.3-1
+- 3.5.0 beta3
+- drop integrated 0001-fix-syntactic-error.patch
+- drop integrated 0001-gcc-trunk-fix-error-unable-to-find-string-literal-op.patch
+- drop integrated 0001-gcc-trunk-avoid-confusion.patch
+- drop integrated 0001-workaround-for-LO-namespace-pollution-breaking-KDE4-.patch
+- drop integrated 0001-smath-does-not-handle-accents-in-MathML.patch
+- Resolves: rhbz#533318 smath does not handle accents in MathML
+- Resolves: rhbz#771108 English menu in writer despite installation of
+ libreoffice-langpack-de
+
+* Fri Jan 06 2012 David Tardon <dtardon(a)redhat.com> - 3.4.99.2-2
+- rebuild with gcc 4.7
+
+* Wed Dec 21 2011 David Tardon <dtardon(a)redhat.com> - 3.4.99.2-1
+- 3.5.0 beta2
+- drop integrated 0001-Resolves-rhbz-761009-IFSD_Equal-is-asymmetrical.patch
+- drop integrated 0001-Resolves-rhbz-767708-avoid-SIGBUS-writing-to-overcom.patch
+- drop integrated 0001-force-gbuild-stage-for-CustomTargets.patch
+- drop integrated 0001-these-translations-do-already-exist-in-translations-.patch
+- drop integrated 0001-Fix-typo-and-clean-up.patch
+- use system mysql-connector-c++
+
+* Sun Dec 18 2011 David Tardon <dtardon(a)redhat.com> - 3.4.99.1-1
+- 3.5.0 beta1
+- drop integrated 0001-Related-fdo-37195-migrationoo3-not-registered.patch
+- drop integrated 0001-Related-i58612-don-t-crash-anyway.patch
+- drop integrated 0001-Related-rhbz-652604-better-survive-exceptions-thrown.patch
+- drop integrated 0001-Related-rhbz-702833-addEventListener-without-removeE.patch
+- drop integrated 0001-Related-rhbz-711087-band-aid.patch
+- drop integrated 0001-Related-rhbz-718976-crash-in-SwTxtSizeInfo-GetMultiC.patch
+- drop integrated 0001-Related-rhbz-730225-avoid-segv-in-ld-this-was-set-to.patch
+- drop integrated 0001-Related-rhbz-753201-fedora-ant-java-1.5.0-gcj-won-t-.patch
+- drop integrated 0001-Resolves-fdo-32665-handle-that-FreeSerif-lacks-some-.patch
+- drop integrated 0001-Resolves-rhbz-693265-fix-crash-from-unhandled-except.patch
+- drop integrated 0001-Resolves-rhbz-695509-crash-in-RefreshDocumentLB.patch
+- drop integrated 0001-Resolves-rhbz-713154-pdf-export-dialog-too-tall-to-f.patch
+- drop integrated 0001-Resolves-rhbz-715549-use-fontconfig-s-detected-forma.patch
+- drop integrated 0001-Resolves-rhbz-738255-avoid-crash-on-NULL-pointer.patch
+- drop integrated 0001-Resolves-rhbz-751290-KDE-black-on-dark-tooltips.patch
+- drop integrated 0001-add-Oracle-Java-1.7.0-recognition.patch
+- drop integrated 0001-avoid-using-com.sun.org-apis.patch
+- drop integrated 0001-bubble-down-configure-test-findings-on-visibility.patch
+- drop integrated 0001-fix-horizontal-scrollbars-with-KDE-oxygen-style-bnc-.patch
+- drop integrated 0001-gtk3-fix-cairo-canvas-crash-for-non-X-or-svp-backend.patch
+- drop integrated 0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch
+- drop integrated 0001-rhbz-667082-do-not-crash-importing-section-containin.patch
+- drop integrated 0001-rhbz-702635-set-correct-page-number-when-exporting-s.patch
+- drop integrated Backport-reading-AES-encrypted-ODF-1.2-documents.patch
+- drop integrated gdb-pretty-printers.patch
+- drop integrated kde4configure.patch
+- drop integrated libreoffice-ppc64.patch
+- drop integrated openoffice.org-3.3.0.ooo108637.sfx2.uisavedir.patch
+- drop integrated openoffice.org-3.3.0.ooo113273.desktop.resolvelinks.patch
+- drop integrated vbahelper.visibility.patch
+- drop libreoffice-testtools subpackage, because testtool has been
+ removed by upstream
+
+* Thu Dec 15 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.2-6
+- Resolves: rhbz#761009 IFSD_Equal is asymmetrical
+- Resolves: rhbz#767708 write to mmap'ed file w/o disk space: SIGBUS
+
+* Tue Nov 29 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.2-5
+- Resolves: rhbz#757653 fix headless crash with cairo canvas
+
+* Tue Nov 22 2011 Lukas Tinkl <ltinkl(a)redhat.com> - 3.4.4.2-4
+- Resolves: rhbz#751290 - [kde] LibreOffice has black on dark-grey tooltip-texts
+
+* Fri Nov 11 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.2-3
+- Related: fdo#42534 0001-Related-i58612-don-t-crash-anyway.patch
+- Resolves: fdo#42749 KDE oxygen theme and scrollbars
+
+* Thu Nov 10 2011 Stephan Bergmann <sbergman(a)redhat.com> - 3.4.4.2-2
+- Patch to backport reading AES-encrypted ODF 1.2 documents
+
+* Thu Nov 03 2011 David Tardon <dtardon(a)redhat.com> - 3.4.4.2-1
+- 3.4.4 rc2
+
+* Fri Oct 28 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1:3.4.4.1-4
+- rebuild(poppler)
+
+* Thu Oct 27 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.1-3
+- Resolves: rhbz#665800 missing glyph symbol shown when toggling bold/italic
+ for Sinhala text
+
+* Thu Oct 27 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.1-2
+- possible fix for java 1.7.0 detection
+
+
+* Wed Oct 26 2011 David Tardon <dtardon(a)redhat.com> - 3.4.4.1-1
+- 3.4.4 rc1
+
+* Tue Oct 25 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-16
+- allow building with gcj
+
+* Fri Oct 21 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-15
+- Resolves: rhbz#747356 let Qt call XInitThreads
+- fix .sdw import
+
+* Wed Oct 19 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-14
+- Related: rhbz#743750 addXineramaScreenUnique issue
+
+* Fri Oct 07 2011 Stephan Bergmann <sbergman(a)redhat.com> - 3.4.3.2-13
+- Patches to build with GCC 6.4.1
+
+* Fri Sep 30 2011 Marek Kasik <mkasik(a)redhat.com> - 3.4.3.2-12
+- Rebuild (poppler-0.18.0)
+
+* Tue Sep 20 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-11
+- Resolves: rhbz#738133 fix bn discard string
+- Resolves: fdo#35513 avoid crash while processing incorrect print range
+
+* Mon Sep 19 2011 Marek Kasik <mkasik(a)redhat.com> - 3.4.3.2-10
+- Rebuild (poppler-0.17.3)
+
+* Thu Sep 15 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-9
+- Resolves: rhbz#738255 avoid crash on sc inputhdl
+
+* Tue Sep 13 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-8
+- Resolves: rhbz#274631 remove NoDisplay from -math.desktop
+
+* Thu Sep 08 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-7
+- rebuild for new icu
+
+* Tue Sep 06 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-6
+- Resolves: rhbz#734976 libreoffice-langpack-*-* not pulled in by
+ yum install libreoffice
+
+* Fri Sep 02 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-5
+- Resolves: rhbz#735182 be able to rebuild against poppler 0.17.3
+
+* Tue Aug 30 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-4
+- Resolves: rhbz#734432 openoffice.org symlink broken
+
+* Mon Aug 29 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-3
+- add Latvian langpack
+
+* Fri Aug 26 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-2
+- Resolves: rhbz#733564 graphite2 now packaged into fedora
+- Related: fdo#37195 migrationoo3 not registered
+
+* Thu Aug 25 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-1
+- 3.4.3 rc2
+
+* Mon Aug 22 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.1-2
+- add gdb pretty printers
+
+* Tue Aug 16 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.1-1
+- 3.4.3 rc1
+- drop integrated 0001-Resolves-rhbz-725144-wrong-csh-syntax.patch
+
+* Fri Aug 12 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.3-3
+- Related: rhbz#730225 avoid segv in ld
+
+* Tue Aug 02 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.3-2
+- Resolves: rhbz#693265 fix crash from unhandled exception
+
+* Fri Jul 29 2011 David Tardon <dtardon(a)redhat.com> - 3.4.2.3-1
+- 3.4.2 rc3
+
+* Mon Jul 25 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.2-2
+- Resolves: rhbz#725144 wrong csh syntax
+
+* Wed Jul 20 2011 David Tardon <dtardon(a)redhat.com> - 3.4.2.2-1
+- 3.4.2 rc2
+- fix breakage in KDE4 plugin
+
+* Tue Jul 19 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.1-3
+- Resolves: rhbz#715549 use fontconfig's detected format
+
+* Mon Jul 18 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.1-2
+- Rebuild (poppler-0.17.0), add libreoffice-poppler-0.17.0.patch
+ seeing as the API changed for some reason or other
+
+* Wed Jul 13 2011 David Tardon <dtardon(a)redhat.com> - 3.4.2.1-1
+- 3.4.2 rc1
+- drop 0001-bad-merge-fix-to-enable-extensions-to-build-again.patch
+- drop 0001-fix-regression-in-SvGlobalName-operator.patch
+
+* Tue Jul 12 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.3-3
+- fix regression in SvGlobalName operator
+
+* Tue Jul 05 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.3-2
+- Related: rhbz#718976 crash in SwTxtSizeInfo::GetMultiCreator
+
+* Fri Jul 01 2011 David Tardon <dtardon(a)redhat.com> - 3.4.1.3-1
+- 3.4.1 rc3
+
+* Thu Jun 23 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.2-1
+- 3.4.1 rc2
+- drop integrated 0001-correctly-build-GTK-systray-icon.patch
+
+* Tue Jun 21 2011 David Tardon <dtardon(a)redhat.com> - 3.4.1.1-5
+- Resolves: rhbz#714781 add Persian langpack
+- Resolves: rhbz#667082 do not crash importing section containing just
+ an empty paragraph
+
+* Mon Jun 20 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.1-4
+- Related: rhbz#711087 band aid for crash in sc undo
+- Resolves: rhbz#714338 add a metapackage to install standard bits
+
+* Fri Jun 17 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.1-3
+- Related: rhbz#702833 addEventListener without removeEventListener
+
+* Thu Jun 16 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.1-2
+- Resolves: rhbz#713154 pdf export dialog too tall to fit
+
+* Wed Jun 15 2011 David Tardon <dtardon(a)redhat.com> - 3.4.1.1-1
+- 3.4.1 RC1
+- drop integrated 0001-Resolves-rhbz-707317-avoid-crash-in-getRowSpan.patch
+- drop integrated 0001-Resolves-rhbz-710004-band-aid-for-immediate-crash-in.patch
+- drop integrated 0001-Resolves-rhbz-710556-don-t-crash-on-missing-graphics.patch
+- drop integrated 0001-Resolves-rhbz-699909-crash-in-export-of-.doc-in-lcl_.patch
+- drop integrated 0001-fdo-37584-Make-a-real-copy-of-the-text-where-to-coun.patch
+- drop integrated 0001-Resolves-fdo-37668-bitwise-operations-on-signed-numb.patch
+
+* Thu Jun 09 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-5
+- Resolves: rhbz#699909 crash in export of .doc in lcl_getField
+- Resolves: fdo#37584 Make a real copy of the text
+- Resolves: rhbz#709503/fdo#37668 bitwise operations on signed values
+
+* Tue Jun 07 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-4
+- Resolves: rhbz#710556 't crash on missing graphics .pptx export
+- Resolves: rhbz#652604 better survive exceptions in autorecovery
+
+* Thu Jun 02 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-3
+- Resolves: rhbz#710004 band aid for crash
+
+* Mon May 30 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-2
+- Resolves: rhbz#707317 avoid crash in getRowSpan
+
+* Fri May 27 2011 David Tardon <dtardon(a)redhat.com> - 3.4.0.2-1
+- 3.4.0 RC2
+- drop integrated 0001-fix-build-with-system-bsh.patch
+
+* Wed May 25 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.1-3
+- rebuild for new hunspell
+
+* Tue May 24 2011 David Tardon <dtardon(a)redhat.com> - 3.4.0.1-2
+- Resolves: rhbz#706110 oosplash.bin segfault on every login
+
+* Fri May 20 2011 David Tardon <dtardon(a)redhat.com> - 3.4.0.1-1
+- 3.4 RC1
+- Resolves: rhbz#702635 set correct page number when exporting selected
+ pages
+
+* Sat May 07 2011 Christopher Aillon <caillon(a)redhat.com> - 3.3.99.4-2
+- Update icon cache scriptlet
+
+* Sat May 07 2011 David Tardon <dtardon(a)redhat.com> 3.3.99.4-1
+- 3.4 beta4
+- drop integrated 0001-Removed-duplicate-code-block-mis-merge-prolly.patch
+- drop integrated 7de0b88ce2dd932915894385b54be1897d5ee053.zip
+
+* Mon Apr 18 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.99.1-2
+- Resolves: rhbz#695509 crash in RefreshDocumentLB
+- bubble down configure test findings on visibility
+
+* Mon Apr 11 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.99.1-1
+- 3.4 beta1
+- drop openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch
+ in favour of ooosplash
+- drop openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch
+ because components are passively registered now
+- drop integrated openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch
+- drop integrated turn-script-providers-into-extensions.patch
+- drop integrated 0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch
+- drop integrated 0001-free-ctxt-after-taking-lastError-details.patch
+- drop integrated 0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch
+- drop integrated libreoffice-gcc4.6.0.patch
+- drop integrated 0001-fexceptions-fexceptions.patch
+- drop integrated 0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch
+- drop vbahelper.visibility.patch
+- drop integrated 0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch
+- drop integrated 0001-Resolves-rhbz-670020-crash-in-slidesorting.patch
+- drop integrated 0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch
+- drop integrated 0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch
+- drop integrated 0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch
+- drop integrated 0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch
+- drop integrated 0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch
+- drop integrated 0001-Resolves-rhbz-681159-bandaid-for-crash.patch
+- drop integrated 0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch
+- drop integrated 0001-install-high-resolution-icons.patch
+- drop integrated 0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch
+- drop integrated 0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch
+- drop integrated 0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch
+- drop integrated 0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch
+- drop integrated libreoffice-fdo33947.sd.print.crash.patch
+- drop integrated 0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch
+- drop integrated 0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch
+- drop integrated 0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch
+- drop integrated 0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch
+- drop integrated 0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch
+- drop integrated 0001-beware-of-invalidated-iterator.patch
+- drop integrated rhbz680766.fix-mdds-crash.patch
+- drop integrated 0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch
+- drop integrated 0001-set-mime-types-on-flat-xml-filters.patch
+- drop integrated 0001-add-flat-xml-types-to-.desktop-files-etc.patch
+- drop integrated libreoffice-fdo31271.icu.patch
+
+* Tue Apr 05 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-6
+- Resolves: rhbz#655686 get order of shutdown correct
+
+* Wed Mar 30 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-5
+- Add application/vnd.oasis.opendocument.text-flat-xml, etc. to
+ .desktop files for mcepl
+
+* Tue Mar 29 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-4
+- Resolves: rhbz#684580 improve X and / strike-through
+
+* Thu Mar 24 2011 David Tardon <dtardon(a)redhat.com> 3.3.2.2-3
+- Resolves: rhbz#680766 crash in mdds
+
+* Wed Mar 23 2011 David Tardon <dtardon(a)redhat.com> 3.3.2.2-2
+- Related: rhbz#689268 versioned deps need to contain epoch
+
+* Tue Mar 22 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-1
+- latest version
+- drop integrated 0001-Resolves-fdo-33701-ensure-node-outlives-path.patch
+- drop integrated 0001-valgrind-don-t-leave-an-evil-thread-running-after-ma.patch
+
+* Tue Mar 22 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-12
+- Fix fontoptions cache
+- avoid crash in calc on changing size of rows (dtardon)
+
+* Mon Mar 21 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-11
+- Resolves: rhbz#689268 autocorrs from OOo F14 not upgraded
+
+* Wed Mar 16 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-10
+- Resolves: rhbz#680460 honour lcdfilter and subpixeling
+
+* Tue Mar 15 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-9
+- Resolves: fdo#33947 sd print crash
+
+* Mon Mar 14 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-8
+- Related: rhbz#684477 make sure this is thread safe
+- Resolves: rhbz#684620 crash with NULL pTableBox
+
+* Sun Mar 13 2011 Marek Kasik <mkasik(a)redhat.com> 3.3.1.2-7
+- Rebuild (poppler-0.16.3)
+
+* Wed Mar 09 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-6
+- Resolves: rhbz#682621 better resizing of overtall glyphsubs
+
+* Tue Mar 08 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-5
+- Resolves: rhbz#682716 pa-IN isn't handled well by fontconfig
+
+* Tue Mar 08 2011 David Tardon <dtardon(a)redhat.com> 3.3.1.2-4
+- install 128x128 px icons
+
+* Wed Mar 02 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-3
+- Resolves: rhbz#681159 crash in writer
+- Resolves: rhbz#672818 crash in writer
+- Resolves: fdo#33701 ensure node outlives path
+- Resolves: rhbz#681738 crash on writing config post-main
+
+* Thu Feb 17 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-2
+- Resolves: rhbz#678284 Calc crashes during cell select with keys
+ (dtardon)
+
+* Thu Feb 17 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-1
+- RC2
+
+* Wed Feb 16 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.1-2
+- Resolves: rhbz#674330 dereference of NULL mpBase
+
+* Fri Feb 11 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.1-1
+- 3.3.1 rc1
+- drop integrated 0001-don-t-pushback-and-process-a-corrupt-extension.patch
+- drop integrated libreoffice-fdo32561.comphelper.patch
+- drop integrated 0001-Related-rhbz-610103-more-woes-on-rpm-upgrade-vs-rpm-.patch
+- drop integrated 0001-Resolves-rhbz-673819-crash-on-changing-position-of-d.patch
+- drop integrated 0001-rhbz-666440-don-t-pushback-and-process-a-corrupt-extension.patch
+
+* Thu Feb 10 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.4-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+- Related: rhbz#610103 make this even more robust
+- Related: rhbz#672872 cancel gtk file dialog on terminate
+- Resolves: fdo#33509/ooo#62414 fix CTL spelling popup
+- Resolves: rhbz#673819 crash on changing position of header/footer object
+- Resolves: rhbz#670020 crash in slidesorting
+- Resolves: rhbz#676539 handle missing pWindows from xWindows
+- Resolves: rhbz#649310 don't crash deregistering diff. platform ext.
+ (dtardon)
+- Resolves: rhbz#666440 don't pushback and process a corrupt extension
+
+* Mon Jan 24 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.4-2
+- Resolves: rhbz#671540 fix lonely )
+
+* Thu Jan 20 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.4-1
+- next release candidate
+- drop integrated 0001-fix-presenter-screens-description.xml-build.patch
+
+* Tue Jan 18 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.3-2
+- backport fix to get presenter screen working
+- make handling busted extensions more robust
+
+* Wed Jan 12 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.3-1
+- latest version
+- drop integrated 0001-Resoves-rhbz-663857-font-color-missing-C-FAQ-10.3-do.patch
+- drop integrated 0001-Avoid-double-paste-when-pasting-text-into-cell-comme.patch
+- drop integrated 0001-Resolves-rhbz-660342-Undo-Redo-crash-with-postits.patch
+- drop integrated 0001-Resolves-rhbz-666088-clean-up-search-cache-singleton.patch
+
+* Thu Jan 06 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.2-5
+- Resolves: rhbz#666088 don't crash on clean up of search cache
+
+* Wed Jan 05 2011 Lukas Tinkl <ltinkl(a)redhat.com> 3.3.0.2-4
+- create a KDE integration subpackage
+
+* Mon Jan 03 2011 David Tardon <dtardon(a)redhat.com> 3.3.0.2-3
+- rebuild with new poppler
+
+* Wed Dec 22 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.2-2
+- Resolves: rhbz#663724 fdo32572-sc-dont-double-paste.patch
+- Resolves: rhbz#660342 Undo/Redo crash with postits
+
+* Tue Dec 21 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.2-1
+- latest version
+
+* Sat Dec 18 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.1-4
+- Resolves: rhbz#663857 font color missing in transitions
+
+* Wed Dec 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 3.3.0.1-3
+- rebuild (poppler)
+
+* Wed Dec 15 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.1-2
+- Fix up some doc imports
+
+* Sun Dec 05 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.1-1
+- release candidate 1
+- drop integrated qstart.dont-forceenabled-on-post-reg-restart.patch
+- drop integrated exit.quickstarter.when.deleted.patch
+- drop integrated 0001-destroydesktop.in.timeout.patch
+- drop integrated openoffice.org-3.3.0.rhbz657541.join-paragraphs.patch
+
+* Sat Nov 27 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.3-2
+- Resolves: rhbz#610103 exit quickstarter when libs deleted
+- Resolves: rhbz#652695 release desktop in timeout
+- Resolves: rhbz#657541 don't crash during processing of auto. styles
+ when joining paragraphs (dtardon)
+
+* Thu Nov 18 2010 Caolán McNamara <caolanm(a)redhat.com 3.2.99.3-1
+- next Libreoffice milestone
+- drop integrated openoffice.org-2.0.1.rhXXXXXX.extensions.defaulttoevo2.patch
+- drop integrated openoffice.org-2.2.1.ooo7065.sw.titlepagedialog.patch
+- drop integrated openoffice.org-3.2.0.ooo108846.sfx2.qstartfixes.patch
+- drop integrated openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch
+- drop integrated libreoffice-buildfix.patch
+- drop integrated libreoffice-xdg632229.gnomeshell.patch
+- drop integrated 0001-strcpy-cannot-be-used-with-overlapping-src-and-dest.patch
+- drop integrated 0001-abort-doesn-t-gain-us-anything-here.patch
+- drop integrated 0001-latest-libX11-changed-header-guards.patch
+
+* Sat Nov 06 2010 David Tardon <dtardon(a)redhat.com 3.2.99.2-6
+- turn script providers into extensions
+
+* Wed Nov 03 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-5
+- Resolves: rhbz#649210 add Sinhalese langpack
+
+* Sat Oct 30 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-4
+- langpack macro hard-coded version number
+
+* Fri Oct 22 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-3
+- Resolves: xdg632229 gnomeshell app tracking
+
+* Tue Oct 12 2010 David Tardon <dtardon(a)redhat.com> 3.2.99.2-2
+- use macros to define auto-correction and language pack subpackages
+
+* Mon Oct 11 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-1
+- next LibreOffice milestone
+- drop integrated openoffice.org-2.3.0.ooo76649.httpencoding.patch
+- drop integrated workspace.dtardon03.patch
+- drop integrated openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch
+- drop integrated workspace.impress195.patch
+- drop integrated workspace.srb1.patch
+- drop integrated openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch
+- drop integrated openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch
+- drop integrated openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch
+- drop integrated openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch
+- drop integrated openoffice.org-3.3.0.ooo111758.sd.xerror.patch
+- drop integrated openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch
+- drop integrated openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch
+- drop integrated openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch
+- drop integrated workspace.vcl113.patch
+- drop integrated openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch
+- drop integrated workspace.cmcfixes77.patch
+- drop integrated workspace.vcl114.patch
+- drop integrated openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch
+- drop integrated workspace.vcl115.patch
+- drop integrated workspace.cmcfixes78.patch
+- drop integrated openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch
+- drop integrated workspace.cmcfixes79.patch
+- drop integrated openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch
+- drop integrated openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch
+- drop integrated openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch
+- drop integrated openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch
+- drop workspace.gtk3.patch
+
+* Wed Oct 06 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.1-2
+- Related: rhbz#639945 pull in review changes
+ + redland build-fix
+ + replace awk script
+ + validate .destop files
+
+* Wed Sep 29 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.1-1
+- initial import of the leviathan
diff --git a/libreoffice.spec b/libreoffice.spec
index 3c365ba..3e0e796 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -58,7 +58,11 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.1
-Release: 2%{?libo_prerelease}%{?dist}
+%if 0%{?libo_prerelease}
+Release: %autorelease -e %{?libo_prerelease}
+%else
+Release: %autorelease
+%endif
# default new files are: MPLv2
# older files are typically: MPLv2 incorporating work under ASLv2
# nlpsolver is: LGPLv3
@@ -2267,2760 +2271,4 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || :
%{_includedir}/LibreOfficeKit
%changelog
-* Sun Oct 01 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.2.1-2
-- Add patch 501 for failing tests on aarc64 and s390x
-
-* Sat Sep 30 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.2.1-1
-- 7.6.2.1
-
-* Fri Sep 08 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.6.1.2-1
-- 7.6.1.2
-
-* Mon Sep 04 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.1.1-2
-- Unbundle dragonbox
-
-* Mon Aug 28 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.6.1.1-1
-- 7.6.1.1
-
-* Sun Aug 27 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-4
-- Remove test exclusions from aarch64
-- Link aarch64 executable with standard -g level
-
-* Wed Aug 23 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-3
-- Disable other failing tests under s390x
-- Add patch to fix FTB under ppc64le
-
-* Tue Aug 15 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-2
-- Disable unreliable test under s390x
-- Try verbose make if first build attempt fails
-
-* Sun Aug 13 2023 Mattia Verga <mattia.verga(a)proton.me> - 1:7.6.0.3-1
-- 7.6.0.3
-
-* Wed Aug 02 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.5.2-2
-- Poppler rebuild.
-
-* Mon Jul 31 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.5.2-1
-- 7.5.5.2
-
-* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.5.4.2-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Tue Jul 11 2023 František Zatloukal <fzatlouk(a)redhat.com> - 1:7.5.4.2-4
-- Rebuilt for ICU 73.2
-
-* Fri Jun 30 2023 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1:7.5.4.2-3
-- Make Java optional. Fixes rhbz#2084071.
-
-* Mon Jun 19 2023 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1:7.5.4.2-2
-- Backport upstream fix for testSignDocument_PEM_PDF test failure
-- Enable test again
-
-* Fri Jun 16 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.4.2-1
-- 7.5.4.2
-- Drop 0001-tdf-155161-Always-embed-fonts-with-CFF2-table-as-PDF.patch, upstreamed.
-
-* Thu Jun 15 2023 Gwyn Ciesla <gwync(a)protonmail.com> - 1:7.5.3.2-4
-- Disable tests temporarily to resolve FTBFS.
-
-* Thu Jun 15 2023 Python Maint <python-maint(a)redhat.com> - 1:7.5.3.2-3
-- Rebuilt for Python 3.12
-
-* Tue May 09 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.3.2-2
-- rhbz#2192915 Japanese font not printed
-
-* Thu May 04 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.3.2-1
-- latest version
-
-* Fri Mar 31 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.2.2-1
-- latest version
-
-* Wed Mar 22 2023 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.5.1.2-4
-- Resolves: rhbz#2171265 Failure to start with junk in program/services/
-
-* Fri Mar 10 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.1.2-3
-- Use sifr/sifr_dark for gnome,
- https://pagure.io/fedora-workstation/issue/361
-
-* Thu Mar 09 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.1.2-2
-- fix gray background in kf5 print preview
-
-* Thu Mar 02 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.1.2-1
-- latest version
-
-* Fri Feb 24 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.0.3-4
-- Rebuild for zxing-cpp 2.0.0
-
-* Mon Feb 20 2023 Jonathan Wakely <jwakely(a)redhat.com> - 1:7.5.0.3-3
-- Rebuilt for Boost 1.81
-
-* Mon Feb 06 2023 Marek Kasik <mkasik(a)redhat.com> - 1:7.5.0.3-2
-- Rebuild for poppler-23.02.0
-
-* Thu Feb 02 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.0.3-1
-- 7.5.0 release
-
-* Fri Jan 20 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.5.0.2-1
-- 7.5.0 beta
-
-* Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.4.4.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Thu Jan 12 2023 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.4.2-1
-- 7.4.4 release
-
-* Sat Dec 31 2022 Pete Walter <pwalter(a)fedoraproject.org> - 1:7.4.3.2-4
-- Rebuild for ICU 72
-
-* Fri Dec 16 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.3.2-3
-- fix License syntax "and/or" -> "AND/OR"
-
-* Tue Dec 06 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.3.2-2
-- add BuildRequires on hunspell-en-US for testTdf124603
-
-* Thu Nov 17 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.3.2-1
-- 7.4.3 release
-
-* Thu Nov 17 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.2.3-2
-- Resolves: rhbz#2143431 fix autofilter missing search entry
-
-* Thu Oct 13 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.2.3-1
-- 7.4.2 release
-
-* Fri Sep 16 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.1.2-1
-- 7.4.1 release
-
-* Thu Aug 18 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.0.3-1
-- 7.4.0 release
-
-* Tue Aug 09 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.4.0.2-1
-- 7.4rc2
-
-* Wed Aug 03 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.5.2-3
-- Rebuilt for poppler 22.08.0
-
-* Tue Aug 02 2022 Frantisek Zatloukal <fzatlouk(a)redhat.com> - 1:7.3.5.2-2
-- Rebuilt for ICU 71.1
-
-* Thu Jul 21 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.5.2-1
-- latest version
-
-* Tue Jul 19 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.4.2-5
-- rhbz#2104072 build on i686 without java support
-
-* Mon Jul 11 2022 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.3.4.2-4
-- Resolves: rhbz#2104545 Avoid call to utl::IsYounger if possible
-
-* Thu Jun 23 2022 Parag Nemade <pnemade AT redhat DOT com> - 1:7.3.4.2-3
-- Fix Requires: hunspell-pt-BR and hyphen-pt-BR for libreoffice-langpack-pt-BR
-
-* Mon Jun 13 2022 Python Maint <python-maint(a)redhat.com> - 1:7.3.4.2-2
-- Rebuilt for Python 3.11
-
-* Thu Jun 09 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.4.2-1
-- 7.3.4 release
-
-* Wed May 04 2022 Thomas Rodgers <trodgers(a)redhat.com> - 1:7.3.3.2-2
-- Rebuilt for Boost 1.78
-
-* Mon May 02 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.3.2-1
-- 7.3.3 release
-
-* Tue Apr 05 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.2.2-1
-- 7.3.2 release
-
-* Mon Mar 14 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-4
-- tdf#144862 use resolution independent text rendering
-
-* Tue Mar 08 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-3
-- rhbz#2061598 No Icons Launcher of LibreOffice Apps in Raspberry Pi
-
-* Mon Mar 07 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-2
-- rhbz#2061268 finally drop the dependency on the dejavu fonts
-
-* Sat Mar 05 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.1.3-1
-- 7.3.1 release
-
-* Sat Feb 05 2022 Jiri Vanek <jvanek(a)redhat.com> - 1:7.3.0.3-3
-- Rebuilt for java-17-openjdk as system jdk
-
-* Sat Feb 05 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.0.3-2
-- reenable tests
-
-* Wed Feb 02 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.3.0.3-1
-- 7.3.0 release
-- drop conditionals for rhel < 9
-- drop conditionals for fedora < 36
-
-* Tue Feb 01 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.5.2-5
-- Related: rhbz#2029810 set NoDisplay=true for .desktop on s390x/aarch64
-- Related: rhbz#2029810 don't Require any vclplug for s390x/aarch64
-
-* Mon Jan 24 2022 Parag Nemade <pnemade AT redhat DOT com> - 1:7.2.5.2-4
-- Update hunspell dictionary directory path
- https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change
-
-* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.2.5.2-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Thu Jan 13 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.5.2-2
-- rebuild for rebase of poppler to 22.01.0
-
-* Thu Jan 06 2022 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.5.2-1
-- upgrade to 7.2.5
-
-* Mon Dec 13 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.4.1-2
-- Resolves: rhbz#2028991 fix insert, object, QR code
-
-* Mon Dec 06 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.4.1-1
-- upgrade to 7.2.4
-
-* Fri Nov 19 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.3.2-1
-- upgrade to 7.2.3 (likely will fix rhbz#2022410)
-
-* Tue Oct 12 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.2.2-3
-- Icon=document-new shouldn't get prefixed to become
- Icon=libreoffice-document-new
-
-* Fri Oct 08 2021 Kalev Lember <klember(a)redhat.com> - 1:7.2.2.2-2
-- Use -g1 on arm builders as well
-
-* Thu Oct 07 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.2.2-1
-- upgrade to 7.2.2 (likely will fix rhbz#2011384)
-
-* Tue Oct 05 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-4
-- rhbz#2010520 move libroffice.jar to noarch java location
-
-* Wed Sep 22 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-3
-- reenable make check for s390x
-
-* Fri Sep 10 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-2
-- remove obscure rhino and bsh scripting for fedora >= 36 like in rhel
-
-* Thu Sep 09 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.1.2-1
-- upgrade to 7.2.1
-
-* Sat Aug 21 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.4-3
-- fix arm32 uno bridge
-
-* Fri Aug 20 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.4-2
-- s390x firebird is available again
-
-* Mon Aug 16 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.4-1
-- upgrade to 7.2.0
-
-* Sat Aug 14 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.2.0.3-1
-- prep upgrade to 7.2.0
-
-* Thu Aug 12 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.5.2-5
-- replace use of ucpp with gcc cpp
-- Resolves: tdf#132739 two html style tags where there should be just one
-
-* Sat Aug 07 2021 Jonathan Wakely <jwakely(a)redhat.com> - 1:7.1.5.2-4
-- Rebuilt for Boost 1.76
-
-* Wed Aug 04 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.5.2-3
-- rebuild for poppler rebase to 21.07.0
-
-* Thu Jul 22 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:7.1.5.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Sun Jul 18 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.5.2-1
-- latest version
-- drop merged patches
-
-* Wed Jul 14 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.4.2-3
-- Related: rhbz#1980800 allow convert to csv to write each sheet to
- a separate file
-
-* Wed Jun 30 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.4.2-2
-- Remove unused DOCTYPE from odk/examples xcu file
-- drop bsh buildrequires in rhel
-
-* Wed Jun 09 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.4.2-1
-- latest version
-- replace 'badfuncs' of inet_addr and inet_ntoa
-- allow system firebird-4
-
-* Fri Jun 04 2021 Python Maint <python-maint(a)redhat.com> - 1:7.1.3.2-5
-- Rebuilt for Python 3.10
-
-* Wed Jun 02 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.3.2-4
-- gtk3: workaround missing gdk_threads_enter calls in gio errordialog callback
-
-* Mon May 31 2021 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.1.3.2-3
-- Resolves: rhbz#1965975 Adapt to "libstdc++: Implement LWG 1203 for rvalue iostreams"
-- Resolves: rhbz#1965975 Adapt to hamcrest-2.2-3.fc35.noarch.rpm
-
-* Thu May 20 2021 Pete Walter <pwalter(a)fedoraproject.org> - 1:7.1.3.2-2
-- Rebuild for ICU 69
-
-* Thu May 06 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.3.2-1
-- latest version
-
-* Wed May 05 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.2.2-4
-- Resolves: rhbz#1956977 Impress crashes on switch from commenting to slide sorter
-- Resolves: rhbz#1957034 fix assertion on avmedia volumne control
-
-* Thu Apr 29 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.2.2-3
-- Resolves: rhbz#1955013 build libreoffice-langpack-fy for libreoffice
-
-* Mon Apr 12 2021 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.1.2.2-2
-- Related: rhbz#1895921 Get rid of apache-commons-logging
-
-* Thu Apr 01 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.2.2-1
-- latest version
-
-* Wed Mar 24 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.1.2-2
-- tdf#141197 expose gtk-widgets inside vcl-containers to atk hierarchy
-
-* Thu Mar 04 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.1.2-1
-- latest version
-
-* Mon Feb 08 2021 Pavel Raiskup <praiskup(a)redhat.com> - 1:7.1.0.3-3
-- rebuild for libpq ABI fix rhbz#1908268
-
-* Fri Feb 05 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.0.3-2
-- use classic brand
-
-* Wed Feb 03 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.1.0.3-1
-- bump to 7.1.0 series
-- drop integrated 0001-rhbz-1870501-crash-on-reexport-of-odg.patch
-- drop integrated 0001-rhbz-1882616-move-cursor-one-step-at-a-time-in-the-d.patch
-- drop integrated 0001-export-HYPERLINK-target-in-html-clipboard-export.patch
-- drop integrated 0001-gcc11.patch
-- drop integrated 0001-disable-tests-that-don-t-work-without-pdfium.patch
-- drop integrated 0001-rhbz-1913828-SfxViewFrame-Current-can-return-null.patch
-- drop integrated 0001-Upgrade-liborcus-to-0.16.0.patch
-
-* Thu Jan 28 2021 Stephan Bergmann <sbergman(a)redhat.com> - 1:7.0.4.2-9
-- Make libreoffice-bsh, libreoffice-rhino depend on full java
-
-* Wed Jan 27 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-8
-- drop unneeded BuildRequires: gdb
-
-* Wed Jan 27 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-7
-- Resolves: rhbz#1916539 text not wrapping in right hand help brower pane
-
-* Mon Jan 25 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-6
-- really rebuild for Boost 1.75
-
-* Fri Jan 22 2021 Jonathan Wakely <jwakely(a)redhat.com> - 1:7.0.4.2-5
-- Rebuilt for Boost 1.75
-
-* Fri Jan 15 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-4
-- rebuild for poppler
-
-* Mon Jan 11 2021 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-3
-- Resolves: rhbz#1913828 SfxViewFrame::Current() can return null
-
-* Sun Dec 20 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-2
-- workaround for make check failure
-
-* Wed Dec 09 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.4.2-1
-- latest version
-
-* Wed Dec 02 2020 Thierry Vignaud <tv(a)mageia.org> 1:7.0.4.1-1
-- Update to 7.0.4 RC1
-
-* Tue Nov 24 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.3.1-4
-- Resolves: rhbz#1900937 fix null deref in non-pdfium build
-
-* Mon Nov 23 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.3.1-3
-- Resolves: rhbz#1900428 don't crash on invalid index used in StarBasic macro
-
-* Tue Nov 03 2020 Jeff Law <law(a)redhat.com> - 1:7.0.3.1-2
-- Fix missing #include for gcc-11
-
-* Thu Oct 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.3.1-1
-- latest version
-
-* Sun Oct 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.2.2-3
-- Resolves: rhbz#1891326 suggest package install of the best pt-* langpack
-
-* Sat Oct 24 18:45:56 CEST 2020 David Tardon <dtardon(a)redhat.com> - 1:7.0.2.2-2
-- fix upgrade from Fedora 32
-
-* Sat Oct 10 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.2.2-1
-- latest version
-
-* Tue Oct 06 2020 Rex Dieter <rdieter(a)fedoraproject.org> - 1:7.0.1.2-7
-- -kf5: enable Supplements: (%%name-core and plasma-workspace)
-
-* Tue Sep 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-6
-- export HYPERLINK target in html clipboard export
-
-* Fri Sep 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-5
-- Resolves: rhbz#1882616 IM cursor pos problem with emojis in writer
-
-* Thu Sep 24 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-4
-- upgrade liborcus
-
-* Fri Sep 04 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-3
-- rhbz#1875377 prefer Cantarell-Regular to Cantarell-VF
-
-* Thu Sep 03 2020 Merlin Mathesius <mmathesi(a)redhat.com> - 1:7.0.1.2-2
-- Rebase RHEL patch to disable libe-book support to libreoffice-7.0
-- Add BR perl(base)
-
-* Tue Sep 01 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.2-1
-- 7.0.1 RC2
-
-* Fri Aug 21 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.1.1-3
-- rhbz#1870501 crash on reexport of odg
-
-* Fri Aug 21 2020 Stephan Bergmann <sbergman(a)redhat.com> 1:7.0.1.1-2
-- Build the binary UNO bridge with -fno-lto
-
-* Thu Aug 20 2020 Thierry Vignaud <tvignaud(a)redhat.com> 1:7.0.1.1-1
-- 7.0.1 RC1
-
-* Thu Aug 06 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:7.0.0.3-1
-- 7.0.0
-
-* Wed Aug 05 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-6
-- Resolves: rhbz#1745771
- + drop the GTK3-KF5 VCL plugin (formerly subpackage kf5)
- + rename the current -kde5 subpackage (the Qt5/KF5 VCL plugin) to -kf5
-
-* Wed Jul 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-5
-- Resolves: rhbz#1861794 missing csv fixed width handles
-
-* Tue Jul 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.4.5.2-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Sat Jul 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-3
-- Related: rhbz#1859588 workaround vcldemo ICE
-- add py_byte_compile call for
- https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
-
-* Tue Jul 14 2020 Jiri Vanek <jvanek(a)redhat.com> - 1:6.4.5.2-2
-- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
-
-* Sat Jul 11 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.5.2-1
-- latest stable
-
-* Sat Jul 11 2020 Jiri Vanek <jvanek(a)redhat.com> - 1:6.4.4.2-4
-- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
-
-* Sat May 30 2020 Jonathan Wakely <jwakely(a)redhat.com> - 1:6.4.4.2-3
-- Rebuilt for Boost 1.73
-
-* Tue May 26 2020 Miro Hrončok <mhroncok(a)redhat.com> - 1:6.4.4.2-2
-- Rebuilt for Python 3.9
-
-* Thu May 21 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.4.2-1
-- latest stable
-
-* Sun May 17 2020 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.4.3.2-2
-- Rebuild for ICU 67
-
-* Thu Apr 16 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.3.2-1
-- latest stable
-
-* Mon Mar 30 2020 Thierry Vignaud <tvgnaud(a)mredhat.com> 1:6.4.2.2-1
-- 6.4.2.2
-
-* Mon Mar 23 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-4
-- help->license->license doesn't do anything
-
-* Fri Mar 20 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-3
-- disable tip-of-the-day dialog by default
-
-* Wed Mar 18 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-2
-- rhbz#1776774 make math subpackage just a superficial package for
- math launcher
-
-* Tue Feb 25 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.1.2-1
-- 6.4.1 beta 2
-
-* Mon Feb 10 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.0.3-2
-- rhbz#1793632 make draw subpackage just a superficial package for
- draw launcher
-
-* Wed Jan 29 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.4.0.3-1
-- latest release
-
-* Wed Jan 22 2020 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.4.2-1
-- latest stable release
-
-* Fri Jan 17 2020 Marek Kasik <mkasik(a)redhat.com> - 1:6.3.3.2-6
-- Rebuild for poppler-0.84.0
-
-* Fri Jan 17 2020 Marek Kasik <mkasik(a)redhat.com> - 1:6.3.3.2-5
-- Rebuild for poppler-0.84.0
-
-* Wed Nov 27 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.3.2-4
-- rhbz#1776774 undo rhbz#156677 and stop customizing math.desktop
-
-* Mon Nov 18 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.3.2-3
-- rhbz#1773525 fix find&replace search save limit
-
-* Sat Nov 02 2019 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.3.3.2-2
-- Rebuild for ICU 65
-
-* Thu Oct 24 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.3.2-1
-- latest stable release
-
-* Thu Sep 26 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.2.2-1
-- latest stable release
-
-* Thu Sep 05 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.1.2-1
-- latest stable release
-
-* Sat Aug 31 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-6
-- Related: rhbz#1747596 see if a depend on firebird from just base is
- sufficient
-
-* Thu Aug 29 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-5
-- Resolves: rhbz#1736810 disable opencl by default again
-
-* Sun Aug 25 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-4
-- Resolves: rhbz#1744876 firebird not an automatically dependency
-
-* Wed Aug 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-3
-- Resolves: rhbz#1743894 make build with mdds-1.5
-
-* Mon Aug 19 2019 Miro Hrončok <mhroncok(a)redhat.com> - 1:6.3.0.4-2
-- Rebuilt for Python 3.8
-
-* Thu Aug 08 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.4-1
-- upgrade to RC4
-
-* Tue Aug 06 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.3-1
-- upgrade to RC3
-
-* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.3.0.1-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Fri Jul 19 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.1-2
-- missing ldap support
-- kde4 support is gone, replace with kde5
-
-* Tue Jul 16 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.3.0.1-1
-- move rawhide to 6.3.0
-
-* Tue Jul 16 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.5.2-1
-- latest stable
-
-* Fri Jun 14 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-5
-- Resolves: rhbz#1720483 make all app rpms depend on pdfimport
-
-* Tue Jun 11 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-4
-- Resolves: rhbz#1667039 drop Requires: font(:lang=XX) requires in
- favor of langpacks
-
-* Mon Jun 10 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-3
-- Related: rhbz#1718063 look for pkg-config python-version-embed
-
-* Fri Jun 07 2019 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.2.4.2-2
-- Resolves: rhbz#1718063 adapt to upcoming Python 3.8
-
-* Thu May 30 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.4.2-1
-- latest stable version
-
-* Sun May 26 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-5
-- Resolves: rhbz#1713827 protect against null ViewShell
-- Resolves: rhbz#1713908 stop disabling firebird-sdbc
-
-* Thu May 23 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-4
-- Resolves: rhbz#1712823 crash in extended tooltips over pattern editor
-- Resolves: rhbz#1711143 calc not rounding time calculation correctly
-
-* Tue May 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-3
-- rebuild for e-d-s
-
-* Thu May 02 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-2
-- add Esperanto
-
-* Tue Apr 30 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.3.2-1
-- latest stable release
-
-* Fri Apr 26 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-6
-- Related: rhbz#1703375 disable bsh and rhino for rhel
-
-* Thu Apr 25 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-5
-- Resolves: rhbz#1702810 Prepare for upcoming libebook
-
-* Sat Apr 13 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-4
-- tdf#119890 followup Forbid HOME to be the default dir for templates
-
-* Fri Apr 12 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-3
-- Resolves: rhbz#1699347 __glibcxx_requires_subscript-enabled enabled
-
-* Thu Apr 04 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-2
-- Related: rhbz#1692584 mythes-de is available again
-
-* Tue Apr 02 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.2.2-1
-- latest stable release
-
-* Wed Mar 27 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-6
-- Resolves: rhbz#1693388 mythes-de got retired so is unavailable
-
-* Thu Mar 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-5
-- Resolves: rhbz#1690732 basic font variation support
-
-* Wed Mar 20 2019 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.2.1.2-4
-- Resolves: rhbz#1687589 KDE4 gpoll_wrapper can be called with SolarMutex locked
-
-* Tue Mar 12 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-3
-- currency menu too narrow
-
-* Thu Mar 07 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-2
-- bump n-v-r
-
-* Sat Mar 02 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.1.2-1
-- latest stable
-
-* Mon Feb 25 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-4
-- Related: rhbz#1678319 workaround weird compilation result
-
-* Thu Feb 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-3
-- menu of currency combobox is too wide
-
-* Thu Feb 21 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-2
-- Resolves: tdf#122623 theme unwanted tab into invisibilty
-
-* Thu Feb 07 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.2.0.3-1
-- latest version
-
-* Fri Feb 01 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.4.2-5
-- Resolves: rhbz#1671340 extended tooltips not working in impress navigator
-
-* Thu Jan 31 2019 Kalev Lember <klember(a)redhat.com> - 1:6.1.4.2-4
-- Rebuilt for Boost 1.69
-
-* Sat Jan 26 2019 Marek Kasik <mkasik(a)redhat.com> - 1:6.1.4.2-3
-- Additional fixes needed for rebuild
-
-* Fri Jan 25 2019 Marek Kasik <mkasik(a)redhat.com> - 1:6.1.4.2-2
-- Rebuild for poppler-0.73.0
-
-* Mon Jan 07 2019 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.4.2-1
-- latest version
-- Resolves: rhbz#1662616 crash in macro dialog editor
-- Resolves: rhbz#1662512 a11y freeze in calc
-
-* Tue Dec 04 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-8
-- Resolves: rhbz#1639174 desire to block en-help install
-
-* Tue Nov 20 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-7
-- Resolves: rhbz#1651469 improve obsoletes
-
-* Wed Nov 14 2018 Rex Dieter <rdieter(a)fedoraproject.org> - 1:6.1.2-6
-- -kf5 subpackage: include support for --enable-gtk3-kde5 (#1647233)
-- -kde4: adjust summary/description s/KDE/KDE4/
-
-* Tue Nov 13 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-5
-- Rebuild for hunspell 1.7.0
-
-* Thu Nov 08 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-4
-- drop gtk2 support and obsolete it
-
-* Wed Nov 07 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-3
-- drop rhel 7 conditionals
-
-* Tue Oct 30 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-2
-- Related: rhbz#1644128 gtk tooltip problems
-
-* Wed Oct 10 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.2.1-1
-- latest version
-- rhbz#1637848 keep Supplements but not Recommends
-
-* Fri Sep 14 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.1.2-1
-- latest version
-
-* Sun Sep 02 2018 David Tardon <dtardon(a)redhat.com> - 1:6.1.0.3-2
-- rebuild for liborcus 0.14.0
-
-* Thu Aug 16 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.1.0.3-1
-- 6.1.X series
-
-* Tue Aug 14 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.2-1
-- latest version
-
-* Tue Jul 31 2018 Florian Weimer <fweimer(a)redhat.com> - 1:6.0.6.1-7
-- Rebuild with fixed binutils
-
-* Thu Jul 26 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-6
-- Related: rhbz#1602589 fix/silence more covscan warnings
-
-* Fri Jul 20 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-5
-- implement export of underline in outlined font for simple case
-
-* Wed Jul 18 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-4
-- Resolves: rhbz#1602589 fix covscan issues
-
-* Tue Jul 17 2018 Eike Rathke <erack(a)redhat.com> - 1:6.0.6.1-3
-- Upgrade to ICU 61.1
-- Upgrade to ICU 62.1
-
-* Tue Jul 17 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-2
-- Resolves: rhbz#1601882 fails to build with --nocheck
-
-* Tue Jul 17 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.6.1-1
-- latest 6.0 release
-
-* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.0.5.2-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Tue Jul 10 2018 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.0.5.2-2
-- Rebuild for ICU 62
-
-* Fri Jun 22 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.5.2-1
-- latest 6.0 release
-- fix for ICU 61
-- fix for Python 3.7
-
-* Tue Jun 19 2018 Miro Hrončok <mhroncok(a)redhat.com> - 1:6.0.4.2-5
-- Rebuilt for Python 3.7
-
-* Tue Jun 05 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-4
-- Resolves: rhbz#1581028 endless font widget update
-
-* Tue Jun 05 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-3
-- use weak deps for fedora only
-
-* Mon May 28 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-2
-- Resolves: rhbz#1582324 crash after merging writer table cells
-
-* Fri May 25 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.4.2-1
-- latest 6.0 release
-
-* Wed May 9 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.3.2-10
-- Fix a potential crash when using the dconf configuration backend
-
-* Sat May 5 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-9
-- tdf#117413 char doubling in calc under X
-
-* Fri May 4 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-8
-- rhbz#1575000 CVE-2018-10583 allow embedded links to smb resources
- to be blocked
-
-* Thu May 3 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-7
-- rhbz#1573845 won't start without at least Langpack-en-US.xcd
-
-* Mon Apr 30 2018 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.0.3.2-6
-- Rebuild for ICU 61.1
-
-* Tue Apr 24 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-5
-- Resolves: tdf#116951 rhbz#1569331 start is G_MAXINT
-
-* Thu Apr 19 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.3.2-4
-- Resolves: rhbz#1568579 LibreOffice --headless zombie process
-- Related: rhbz#1569331 end should be in terms of unicode chars, not bytes
-
-* Tue Apr 17 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-3
-- Related: rhbz#1396729 use cairo_surface_create_similar
-
-* Tue Apr 10 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-2
-- finally drop bundled xmlsec1
-
-* Thu Mar 29 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.2-1
-- latest version
-
-* Thu Mar 29 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.3.1-3
-- Related: rhbz#1066844 drop libreofficekit requires
-
-* Fri Mar 23 2018 Marek Kasik <mkasik(a)redhat.com> - 1:6.0.3.1-2
-- Rebuild for poppler-0.63.0
-
-* Thu Mar 22 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.3.1-1
-- update to 6.0.3 rc1
-
-* Fri Mar 16 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.2.1-3
-- Resolves: rhbz#1392145 ensure titlebar close button matches 'outside' direction
-
-* Fri Mar 16 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.2.1-2
-- lib dir missing from libreoffice-sdk
-
-* Fri Feb 23 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.2.1-1
-- update to 6.0.2 rc1
-
-* Wed Feb 14 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.1.1-2
-- rebuild for poppler 0.62.0
-
-* Fri Feb 09 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.1.1-1
-- latest stable
-
-* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:6.0.0.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Tue Feb 06 2018 Stephan Bergmann <sbergman(a)redhat.com> - 1:6.0.0.3-2-UNBUILT
-- Resolves: rhbz#1541486 Base table dialog title shown in wrong language
-
-* Sun Feb 04 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.3-1
-- update to 6.0.0 rc3
-
-* Wed Jan 31 2018 Michael Stahl <mstahl(a)fedoraproject.org> - 1:6.0.0.2-3
-- add lots of .abignore files to restrict abipkgdiff to shared objects
- that actually have a stable ABI
-
-* Tue Jan 30 2018 Björn Esser <besser82(a)fedoraproject.org> - 1:6.0.0.2-2
-- Rebuilt for Boost 1.66.0
-
-* Fri Jan 12 2018 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.2-1
-- update to 6.0.0 rc2
-
-* Tue Jan 09 2018 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.0.1-3
-- bump to Modify2 for app_id so install hint says 'LibreOffice wants to install'
-
-* Thu Dec 21 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.0.1-2
-- request langpack for autodetected desired ui locale via packagekit
-
-* Wed Dec 20 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.1-1
-- update to 6.0.0 rc1
-
-* Thu Dec 14 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-8.beta2
-- update to 6.0.0 beta2
-
-* Mon Dec 04 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:6.0.0.0-7.beta1
-- Rebuild for hunspell 1.6.2
-
-* Thu Nov 30 2017 Pete Walter <pwalter(a)fedoraproject.org> - 1:6.0.0.0-6.beta1
-- Rebuild for ICU 60.1
-
-* Sat Nov 25 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-5.beta1
-- update to 6.0.0 beta1
-
-* Wed Nov 22 2017 Eike Rathke <erack(a)redhat.com> - 1:6.0.0.0-4.alpha1
-- prepare for build with ICU 60.1
-
-* Mon Nov 20 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-3.alpha1
-- rebuild for liborcus 0.13.1
-
-* Wed Nov 08 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-2.alpha1
-- rebuild for poppler 0.61.0
-
-* Thu Nov 02 2017 David Tardon <dtardon(a)redhat.com> - 1:6.0.0.0-1.alpha1
-- update to 6.0.0 alpha1
-- update location of appdata files
-- use weak dependencies
-- mark bundled packages
-
-* Tue Oct 17 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.3.1-1
-- update to 5.4.3 rc1
-
-* Fri Oct 06 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.2.2-3
-- rebuild for poppler 0.60.1
-
-* Sun Oct 01 2017 Thierry Vignaud <tvignaud(a)redhat.com> - 1:5.4.2.2-2
-- fix libreoffice wrapper
-
-* Wed Sep 27 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.2.2-1
-- update to 5.4.2 rc2
-
-* Mon Sep 18 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.2.1-1
-- update to 5.4.2 rc1
-
-* Tue Sep 12 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.1.2-3
-- Resolves: rhbz#1490318 do not use versioned Supplements
-
-* Fri Sep 08 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.1.2-2
-- rebuild for poppler 0.59.0
-
-* Sun Aug 27 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.1.2-1
-- update to 5.4.1 rc2
-
-* Fri Aug 11 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.4.0.3-5
-- implement char highlighting ui for graphics styles
-
-* Thu Aug 03 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.3-4
-- rebuild for poppler 0.57.0
-
-* Mon Jul 31 2017 Kalev Lember <klember(a)redhat.com> - 1:5.4.0.3-3
-- Enable the s390x build again
-
-* Mon Jul 31 2017 Kalev Lember <klember(a)redhat.com> - 1:5.4.0.3-2
-- Temporarily disable the build on s390x
-
-* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:5.4.0.3-1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Fri Jul 21 2017 Kalev Lember <klember(a)redhat.com> - 1:5.4.0.2-2
-- Rebuilt for Boost 1.64
-
-* Fri Jul 07 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.2-1
-- update to 5.4.0 rc2
-
-* Fri Jun 23 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.1-1
-- update to 5.4.0 rc1
-
-* Wed Jun 07 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.0-3.beta2
-- update to 5.4.0 beta2
-
-* Sun May 21 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.0-2.beta1
-- update to 5.4.0 beta1
-
-* Tue May 02 2017 David Tardon <dtardon(a)redhat.com> - 1:5.4.0.0-1.alpha1
-- update to 5.4.0 alpha1
-
-* Wed Apr 19 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.3.1-1
-- update to 5.3.3 rc1
-
-* Wed Mar 29 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.2.2-1
-- update to 5.3.2 rc2
-
-* Tue Mar 28 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.2.1-3
-- rebuild for poppler 0.53.0
-
-* Mon Mar 27 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.2.1-2
-- Resolves: rhbz#1432468 disable opencl by default
-
-* Sun Mar 19 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.2.1-1
-- update to 5.3.2 rc1
-
-* Mon Mar 13 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.1.2-2
-- Resolves: rhbz#1431189 add Indonesian langpack
-
-* Thu Mar 09 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.1.2-1
-- update to 5.3.1 rc2
-
-* Thu Feb 23 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.1.1-1
-- update to 5.3.1 rc1
-
-* Tue Feb 07 2017 Björn Esser <besser82(a)fedoraproject.org> - 1:5.3.0.3-3
-- Rebuilt for Boost 1.63
-
-* Thu Feb 02 2017 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.0.3-2
-- Resolves: rhbz#1409401 add depend on gtksink gstreamer1 element
-
-* Fri Jan 27 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.3-1
-- update to 5.3.0 rc3
-
-* Wed Jan 18 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.2-1
-- update to 5.3.0 rc2
-- temp. disable building of help on ARM to fix build
-
-* Tue Jan 10 2017 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.1-1
-- update to 5.3.0 rc1
-
-* Tue Dec 27 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.0.0-8.beta1
-- try arm build
-
-* Thu Dec 22 2016 Miro Hrončok <mhroncok(a)redhat.com> - 1:5.3.0.0-7.beta2
-- Rebuild for Python 3.6
-
-* Mon Dec 19 2016 Miro Hrončok <mhroncok(a)redhat.com> - 1:5.3.0.0-6.beta2
-- Rebuild for Python 3.6
-
-* Thu Dec 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-5.beta2
-- update to 5.3.0 beta2
-
-* Tue Dec 13 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.3.0.0-4.beta1
-- rebuild for hunspell-1.5.4
-
-* Wed Nov 23 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-3.beta1
-- update to 5.3.0 beta1
-
-* Tue Nov 08 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-2.alpha1
-- allow abrt to work again
-
-* Sat Oct 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.3.0.0-1.alpha1
-- update to 5.3.0 alpha1
-
-* Fri Oct 21 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.2.3.1-2
-- Rebuild for poppler-0.48.0
-
-* Sat Oct 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.3.1-1
-- update to 5.2.3 rc1
-
-* Fri Oct 07 2016 Stephan Bergmann <sbergman(a)redhat.com> - 1:5.2.2.2-3
-- Resolves: rhbz#1382401 broken export of emojis to HTML
-
-* Thu Sep 29 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.2.2-2
-- rebuild for liborcus 0.12
-
-* Wed Sep 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.2.2-1
-- update to 5.2.2 rc2
-
-* Wed Sep 21 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-5
-- Related: rhbz#1362451 apply patch
-
-* Tue Sep 20 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-4
-- Related: rhbz#1362451 avoid recursive ownerchanged signal during ownerchange
-
-* Mon Sep 19 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-3
-- Related: rhbz#1373933 do less on style-updated
-- Related: rhbz#1353069 don't clear XATTR_FILL from in use styles
-
-* Fri Sep 16 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.2.2.1-2
-- Resolves: rhbz#1373933 gtk 3.21 emits way too many "style-set" signals
-
-* Wed Sep 14 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.2.1-1
-- update to 5.2.2 rc1
-
-* Tue Sep 13 2016 Stephan Bergmann <sbergman(a)redhat.com> - 1:5.2.1.2-3
-- enable dconf support for Fleet Commander
-
-* Mon Sep 05 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.1.2-2
-- Resolves: rhbz#1247399 install public jars according to packaging guidelines
-- Resolves: rhbz#1363874 install LibreOfficeKit headers
-
-* Fri Aug 26 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.1.2-1
-- update to 5.2.1 rc2
-
-* Thu Aug 11 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.1.1-1
-- update to 5.2.1 rc1
-
-* Fri Jul 29 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.4-1
-- update to 5.2.0 rc4
-
-* Thu Jul 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.3-1
-- update to 5.2.0 rc3
-
-* Tue Jul 19 2016 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.2.0.2-4
-- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_...
-
-* Mon Jul 18 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.2.0.2-3
-- Rebuild for poppler-0.45.0
-
-* Thu Jul 07 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.2-2
-- remove obsolete wiki-publisher requires apache-commons-*
-
-* Thu Jul 07 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.2-1
-- update to 5.2.0 rc2
-- Resolves: rhbz#1351292 fix switching of modes in Impress
-
-* Tue Jun 28 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.1-2
-- Resolves: rhbz#1341064 fix test on big endian systems
-
-* Wed Jun 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.1-1
-- update to 5.1.0 rc1
-- Resolves: rhbz#1343752 wrong radiobutton and checkbutton behavior in
- "view" menu
-- Resolves: rhbz#1349261 do not pull in all variants of english dicts
-
-* Thu Jun 09 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-8.beta2
-- update to 5.2.0 beta2
-
-* Thu May 26 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-7.beta1
-- update to 5.2.0 beta1
-
-* Mon May 16 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-6.alpha1
-- Resolves: rhbz#1327847 remove multilib conflicts in .desktop files
-
-* Fri May 13 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-5.alpha1
-- rebuild for mdds 1.2.0
-- Resolves: rhbz#1325858 fix build on 64-bit secondary arches
-
-* Tue May 10 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-4.alpha1
-- Resolves: rhbz#1333899 recommended pkgs are omitted from default
- installation
-
-* Tue May 3 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.2.0.0-3.alpha1
-- Rebuild for poppler-0.43.0
-
-* Mon May 02 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-2.alpha1
-- Resolves: rhbz#1326602 leakage of removed background image set in master slide
-
-* Fri Apr 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.2.0.0-1.alpha1
-- update to 5.2.0 alpha1
-
-* Thu Apr 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.3.1-1
-- update to 5.1.3 rc1
-- Resolves: tdf#91778 drawing the background over an active cursor
-
-* Mon Apr 18 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.2.1-6
-- rebuild for hunspell 1.4.0
-
-* Fri Apr 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-5
-- rebuild for ICU 57.1
-
-* Thu Apr 07 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.2.1-4
-- gtk3: fix combobox and listbox
-
-* Wed Mar 30 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-3
-- support both glade and glade3
-
-* Mon Mar 21 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-2
-- Resolves: rhbz#1319458 avoid rich deps in Requires
-
-* Wed Mar 16 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.2.1-1
-- update to 5.1.2 rc1
-- split VCL plugins into subpackages
-- rename libreoffice-kde to libreoffice-kde4
-- only recommend fonts
-- remove hard dependency on English spell checker and auto-correction
- rules
-- disable quickstarter
-- move icons and other system-integration stuff to a noarch subpackage
-- disable browser plugin in preparation for its removal in 5.2
-
-* Wed Mar 09 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.3-2
-- update for liborcus 0.11.0
-
-* Thu Mar 03 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.3-1
-- update to 5.1.1 rc3
-
-* Fri Feb 26 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.2-1
-- update to 5.1.1 rc2
-
-* Mon Feb 22 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-5
-- Resolves: rhbz#1310527 add langpack deps
-
-* Tue Feb 16 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.1.1-4
-- video playback under wayland with gstreamer gtksink
-
-* Mon Feb 15 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-3
-- rebuild for openCOLLADA soname change
-
-* Sun Feb 14 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-2
-- switch to mdds 1.x
-
-* Thu Feb 11 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.1.1-1
-- update to 5.1.1 rc1
-- Resolves: rhbz#1303007 add noarch Provides too
-
-* Thu Feb 11 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.0.3-3
-- rework gtk3 themeing to work with latest gtk
-
-* Tue Feb 02 2016 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.0.3-2
-- Resolves: rhbz#1303619 nothing provides java-devel(x86_64)
-
-* Wed Jan 27 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.3-1
-- update to 5.1.0 rc3
-- Resolves: rhbz#1168757 Selecting multiple slides is not reflected in Print
- dialog
-
-* Fri Jan 22 2016 Marek Kasik <mkasik(a)redhat.com> - 1:5.1.0.2-5
-- Rebuild for poppler-0.40.0
-
-* Mon Jan 18 2016 Jonathan Wakely <jwakely(a)redhat.com> - 1:5.1.0.2-4
-- Rebuilt for Boost 1.60
-
-* Sat Jan 16 2016 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1:5.1.0.2-3
-- Remove arch-specific dependency for font subpackage as it is noarch
-
-* Thu Jan 14 2016 Adam Jackson <ajax(a)redhat.com> - 1:5.1.0.2-2
-- Rebuild for glew 1.13
-
-* Thu Jan 14 2016 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.2-1
-- update to 5.1.0 rc2
-
-* Thu Dec 17 2015 Bastien Nocera <bnocera(a)redhat.com> 1:5.1.0.1-2
-- Add GLSL files missing from the package
-- Split up inclusion of latin Serbian files to avoid duplicate listing
-
-* Wed Dec 16 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.1-1
-- update to 5.1.0 rc1
-
-* Mon Dec 14 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-11.beta2
-- backport more upstream fixes for libreofficekit
-- fix unit test on i686
-
-* Wed Dec 09 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-10.beta2
-- backport upstream fixes for libreofficekit
-
-* Fri Dec 04 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-9.beta2
-- update to 5.1.0 beta2
-
-* Thu Dec 03 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.1.0.0-8.beta1
-- enable and bundle libreofficekit introspection
-
-* Thu Nov 26 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-7.beta1
-- update to 5.1.0 beta1
-
-* Tue Nov 10 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.1.0.0-6.alpha1
-- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
-
-* Thu Nov 05 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-5.alpha1
-- Related: rhbz#1276061 build failure on ppc64
-
-* Tue Nov 03 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-4.alpha1
-- Resolves: rhbz#1276061 build failure on ppc64
-
-* Wed Oct 28 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-3.alpha1
-- rebuild for ICU 56.1
-
-* Tue Oct 27 2015 Eike Rathke <erack(a)redhat.com> - 1:5.1.0.0-2.alpha1
-- prepare to enable build with ICU 56
-
-* Mon Oct 19 2015 David Tardon <dtardon(a)redhat.com> - 1:5.1.0.0-1.alpha1
-- update to 5.1.0 alpha1
-
-* Mon Oct 12 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.3.1-1
-- update to 5.0.3 rc1
-
-* Thu Oct 08 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.0.2.2-4
-- Resolves: rhbz#1269593 declare support for vnd.libreoffice.cmis:// URLs
-
-* Wed Sep 30 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.0.2.2-3
-- implement save slide background for impress
-
-* Mon Sep 28 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:5.0.2.2-2
-- Resolves: tdf#93461 captions laid out behind images
-
-* Thu Sep 17 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.2.2-1
-- update to 5.0.2 rc2
-
-* Sat Sep 05 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.2.1-1
-- update to 5.0.2 rc1
-
-* Sat Aug 22 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.1.2-1
-- update to 5.0.1 rc2
-
-* Tue Aug 11 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.1.1-1
-- update to 5.0.1 rc1
-
-* Wed Aug 05 2015 Jonathan Wakely <jwakely(a)redhat.com> 5.0.0.5-2
-- Rebuilt for Boost 1.58
-
-* Mon Aug 03 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.5-1
-- update to 5.0.0 rc5
-
-* Wed Jul 29 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.0.0.4-2
-- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
-
-* Sat Jul 25 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.4-1
-- update to 5.0.0 rc4
-
-* Fri Jul 24 2015 Adam Williamson <awilliam(a)redhat.com> - 1:5.0.0.3-3
-- rebuild for Boost 1.58 (for real this time)
-
-* Wed Jul 22 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.3-2
-- rebuild for Boost 1.58
-
-* Fri Jul 10 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.3-1
-- update to 5.0.0 rc3
-
-* Sun Jun 28 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.2-1
-- update to 5.0.0 rc2
-
-* Sun Jun 21 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.1-1
-- update to 5.0.0 rc1
-
-* Fri Jun 19 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-8.beta3
-- Resolves: rhbz#1233420 crash on auto-fill
-
-* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:5.0.0.0-7.beta3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Wed Jun 10 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-6.beta3
-- update to 5.0.0 beta3
-
-* Tue Jun 09 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-5.beta2
-- update to 5.0.0 beta2
-
-* Mon Jun 08 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-4.beta1
-- rebuild for poppler 0.33
-
-* Wed May 20 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-3.beta1
-- update to 5.0.0 beta1
-
-* Sat May 16 2015 Kalev Lember <kalevlember(a)gmail.com> - 1:5.0.0.0-2.alpha1
-- Resolves: rhbz#1215800 install symbolic icons
-
-* Sun Apr 19 2015 David Tardon <dtardon(a)redhat.com> - 1:5.0.0.0-1.alpha1
-- update to 5.0.0 alpha1
-
-* Tue Apr 14 2015 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.4.2.2-3
-- Resolves: rhbz#1197614 crash when updating extension
-- Resolves: rhbz#1134285 redundant user/password request for WebDAV access
-
-* Mon Mar 30 2015 Richard Hughes <rhughes(a)redhat.com> - 1:4.4.2.2-2
-- Use better AppData screenshots
-
-* Thu Mar 26 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.2.2-1
-- update to 4.4.2 rc2
-
-* Thu Mar 12 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.2.1-1
-- update to 4.2.2 rc1
-
-* Mon Feb 23 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.1.2-1
-- update to 4.4.1 rc2
-
-* Tue Feb 10 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.1.1-1
-- update to 4.4.1 rc1
-
-* Thu Jan 29 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.3-5
-- fix build on s390
-
-* Wed Jan 28 2015 Petr Machata <pmachata(a)redhat.com> - 1:4.4.0.3-4
-- Rebuild for boost 1.57.0
-
-* Wed Jan 28 2015 Petr Machata <pmachata(a)redhat.com> - 1:4.4.0.3-3
-- Rebuild for boost 1.57.0
-
-* Fri Jan 23 2015 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.4.0.3-2
-- Related: rhbz#1185307 get search for Hamcrest unstuck
-
-* Fri Jan 23 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.3-1
-- update to 4.4.0 rc3
-
-* Fri Jan 23 2015 Marek Kasik <mkasik(a)redhat.com> - 1:4.4.0.2-4
-- Rebuild (poppler-0.30.0)
-
-* Thu Jan 22 2015 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.4.0.2-3
-- Resolves: rhbz#1184582 crash in grammar checking thread
-
-* Mon Jan 19 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.2-2
-- Resolves: rhbz#1180114 writerfilter: don't crash on w:customXmlDelRangeStart
- etc.
-- Resolves: rhbz#1175027 fix life cycle of SwConnectionDisposedListener_Impl
-
-* Fri Jan 09 2015 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.2-1
-- update to 4.4.0 rc2
-
-* Wed Jan 07 2015 Caolán McNamara <caolanm(a)redhat.com> - 1:4.4.0.1-2
-- Resolves: rhbz#1177547 system autocorr files not detected
-
-* Sun Dec 21 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.1-1
-- update to 4.4.0 rc1
-
-* Fri Dec 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-6.beta2
-- Resolves: rhbz#1116534 crash when pasting over a formula
-
-* Sat Dec 06 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-5.beta2
-- update to 4.4.0 beta2
-- move officehelper.py to pyuno package so it can be imported from python
-
-* Tue Dec 02 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-4.beta1
-- add Provides: libreoffice-headless; packages are depending on it
-
-* Thu Nov 27 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.4.0.0-3.beta1
-- Resolves: rhbz#1165444 abrt crash with NULL pView
-
-* Thu Nov 27 2014 Marek Kasik <mkasik(a)redhat.com> - 1:4.4.0.0-2.beta1
-- Rebuild (poppler-0.28.1)
-
-* Sat Nov 22 2014 David Tardon <dtardon(a)redhat.com> - 1:4.4.0.0-1.beta1
-- update to 4.4.0 beta1
-
-* Fri Nov 21 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-6
-- Resolves: fdo#86466 Wrong background color shown in impress table
-
-* Thu Nov 20 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-5
-- Resolves: rhbz#1164551 we want to ensure that a libjvm.so is available
- but we have no firm interest in which one that is
-
-* Wed Nov 19 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-4
-- Resolves: rhbz#1165740 arbitrarily backport some rtf crash fixes
-
-* Mon Nov 17 2014 Michael Stahl <mstahl(a)redhat.com>- 1:4.3.4.1-3
-- set VCL.WM.ShouldSwitchWorkspace to false to avoid virtual desktop switching
-
-* Thu Nov 13 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.4.1-2
-- fix impress table layout cache wrt wrong table selection border
-
-* Tue Nov 11 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.4.1-1
-- update to 4.3.4 rc1
-
-* Tue Nov 11 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-6
-- strip hard coded numbering off outline master previews
-
-* Mon Nov 10 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-5
-- Resolves: rhbz#1161238 sync PRESOBJ_OUTLINE para depth on load
-
-* Thu Nov 06 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-4
-- Resolves: fdo#60712 Inherits cell styles in inserting rows/columns
-- implement toggling off removeable master elements with delete
-- Resolves: fdo#78151 change underlying style on toggling bullets on/off in master view
-
-* Thu Nov 06 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-3
-- Resolves: fdo#76581 copy-and-paste -> slideshow crash in presenter console
-
-* Wed Nov 05 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.3.2-2
-- Resolves: fdo#37559 revert adding extra dummy polygons
-
-* Tue Oct 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.3.2-1
-- update to 4.3.3 rc2
-
-* Sun Oct 19 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.3.1-2
-- enable support for 3-D models
-
-* Thu Oct 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.3.1-1
-- update to 4.3.3 rc1
-
-* Wed Oct 08 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.3.2.2-5
-- Resolves: rhbz#1054952 bad access of smb URLs on KDE
-
-* Tue Sep 23 2014 Richard Hughes <richard(a)hughsie.com> - 1:4.3.2.2-4
-- move appdata files to desktop files, where the belong
-
-* Tue Sep 23 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.2-3
-- Resolves: rhbz#1054952 cannot access smb URLs on KDE
-
-* Tue Sep 23 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.2-2
-- make brochure printing of impress/draw work out of the box
-- Resolves: rhbz#1133863 fix looping layout
-
-* Mon Sep 22 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.2.2-1
-- update to 4.3.2 rc2
-
-* Wed Sep 17 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.1-3
-- make n-up printing of impress notes work out of the box
-
-* Wed Sep 17 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.2.1-2
-- Resolves: fdo#80911 don't swap notes page width height
-
-* Fri Sep 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.2.1-1
-- update to 4.3.2 rc1
-
-* Wed Sep 10 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.2-5
-- create a master document template type
-
-* Tue Sep 09 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.2-4
-- Resolves: fdo#82496 Change picture option with right click in writer
-
-* Fri Sep 05 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.2-3
-- build for aarch64
-
-* Fri Aug 29 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.3.1.2-2
-- Resolves: rhbz#1098693 AArch64 port
-
-* Wed Aug 27 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.2-1
-- update to 4.3.1 rc2
-
-* Tue Aug 26 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-8
-- Related: rhbz#1131425 ure only needs jre-headless
-
-* Tue Aug 26 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.1-7
-- rebuild for ICU 53.1
-
-* Fri Aug 22 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-6
-- Resolves: rhbz#1131425 move libjawt-using office bean into a subpackage
-- Resolves: rhbz#1125588 port LibreOffice to ppc64le
-
-* Tue Aug 19 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-5
-- Resolves: rhbz#1131425 try java-headless instead of java
-
-* Sun Aug 17 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:4.3.1.1-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Sat Aug 16 2014 Rex Dieter <rdieter(a)fedoraproject.org> 1:4.3.1.1-3
-- update mime scriptlets
-
-* Fri Aug 15 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.1.1-2
-- Related: rhbz#1130264 crash in media playback on s390x
-
-* Sun Aug 10 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.1.1-1
-- update to 4.3.1 rc1
-
-* Mon Jul 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.4-1
-- update to 4.3.0 rc4
-
-* Fri Jul 25 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.3-4
-- Resolves: rhbz#1121254 crash when using font selector after adding new font
-
-* Fri Jul 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.3.0.3-3
-- Resolves: rhbz#1122868 landscape printing is broken
-
-* Thu Jul 24 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.3-2
-- avoid image loss in Impress after auto-save
-
-* Wed Jul 16 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.1-1
-- update to 4.3.0 rc3
-
-* Tue Jul 08 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.2-2
-- avoid problems detecting HTML files with xls extension
-
-* Wed Jul 02 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.2-1
-- update to 4.3.0 rc2
-
-* Tue Jun 17 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.1-1
-- update to 4.3.0 rc1
-
-* Mon Jun 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-9.beta2
-- Resolves: rhbz#1105376 FlatODF import/export does not work unless
- libreoffice-xsltfilter is installed
-
-* Wed Jun 04 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-8.beta2
-- update to 4.3.0 beta2
-
-* Thu May 29 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-7.beta1
-- fix some fallout from the import libs rebase
-
-* Wed May 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-6.beta1
-- switch to librevenge-based import libs
-
-* Tue May 27 2014 Kalev Lember <kalevlember(a)gmail.com> - 1:4.3.0.0-5.beta1
-- Rebuild for boost 1.55.0
-
-* Mon May 26 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-4.beta1
-- unblock build on ARM
-
-* Fri May 23 2014 Petr Machata <pmachata(a)redhat.com> - 1:4.3.0.0-3.beta1
-- Rebuild for boost 1.55.0
-
-* Fri May 23 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-2.beta1
-- rebuild for boost 1.55.0
-
-* Wed May 21 2014 David Tardon <dtardon(a)redhat.com> - 1:4.3.0.0-1.beta1
-- update to 4.3.0 beta1
-
-* Fri May 16 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-14
-- render smart-art with a vector format so it can be scaled nicely
-- fix leak on pasting metafiles into office
-- fix leak on pasting draw items into office
-- fix another leak on scaling metric items
-
-* Thu May 15 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-13
-- fix SDK doc generation with doxygen 1.8.7
-
-* Wed May 14 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-12
-- rebuild for new poppler
-
-* Mon May 12 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-11
-- Resolves: rhbz#1096747 format->page crash on html doc
-
-* Mon May 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-10
-- Resolves: fdo#78119 bad july (červenec) month name support in czech
- localization
-
-* Mon May 12 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-9
-- Resolves: rhbz#1096486 avoid access to nonexisting parent
-- Resolves: rhbz#1096295 hard to distinguish slides in slide pane
-
-* Fri May 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-8
-- Resolves: rhbz#1071604 Draw depends on files from libreoffice-impress, crashes
- without them
-
-* Fri May 09 2014 Eike Rathke <erack(a)redhat.com> - 1:4.2.4.2-7
-- Resolves: fdo#77509 memory corruption / crash in Consolidate
-
-* Thu May 08 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-6
-- center current slide after changing zoom
-- add a status bar icon to fit slide to window
-- Related: fdo#50697 reset the cache timeout on GetGraphic
-
-* Thu May 08 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.2.4.2-5
-- Resolves: rhbz#1092589 Thoroughly check whether JRE is still present
-
-* Tue May 06 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-4
-- clip over-long comments
-
-* Thu May 01 2014 Eike Rathke <erack(a)redhat.com> - 1:4.2.4.2-3
-- Resolves: fdo#78294 default null-date for document import is 1899-12-30
-
-* Thu May 01 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.2-2
-- better scaling of notes-using pages
-
-* Wed Apr 30 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.2-1
-- update to 4.2.4 rc2
-
-* Fri Apr 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-7
-- Related: rhbz#1032774 disable autoexit when switching monitors
-
-* Thu Apr 24 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-6
-- Resolves: fdo#37130 use 10pt Default style font for comments
-- Resolves: fdo#60040 crash after undoing master page
-- vertically center printout when including comments
-
-* Wed Apr 23 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-5
-- add a 'format all comments' feature
-
-* Tue Apr 22 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-4
-- Resolves: rhbz#1089377 crash on loading a specific rtf
-
-* Tue Apr 22 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-3
-- sometimes tables in impress don't resize when adding rows
-- Resolves: fdo#71423 crash while editing Impress tables
-
-* Fri Apr 18 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.4.1-2
-- every 2nd print job is incorrectly flagged as failed
-- Related: rhbz#1088625 PresenterPaintManager seen as NULL
-
-* Thu Apr 17 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.4.1-1
-- update to 4.2.4 rc1
-
-* Wed Apr 16 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.3-6
-- install man pages
-- Resolves: rhbz#1086714 overlarge pixmap
-
-* Wed Apr 16 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.3-5
-- Resolves: fdo#36815 enable printing WYSIWYG sidewindow comments
-
-* Sat Apr 12 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.3-4
-- drop filtering of provides again
-
-* Sat Apr 12 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.3-3
-- Related: rhbz#1081176 don't jump to cursor pos when we don't want to
-
-* Fri Apr 11 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.3-2
-- Resolves: rhbz#1081176 don't jump to cursor pos when we don't want to
-- Related: rhbz#1085916 kde startup woes
-
-* Sat Apr 05 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.3-1
-- update to 4.2.3 rc3
-
-* Tue Apr 01 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.2-3
-- Related: rhbz#1075951 abrt crash in MSWordExportBase
-
-* Mon Mar 31 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.2-2
-- Resolves: rhbz#1080196 mdds/multi_type_vector_itr.hpp update_node():
- soffice.bin killed by SIGSEGV
-
-* Wed Mar 26 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.2-1
-- update to 4.2.3 rc2
-
-* Tue Mar 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.3.1-2
-- Resolves: rhbz#1077780 crash on loading a specific docx
-
-* Mon Mar 17 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.3.1-1
-- update to 4.2.3 rc1
-
-* Fri Mar 14 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-7
-- Related: rhbz#1076264 intermittent a11y crash in calc
-
-* Mon Mar 10 2014 Michael Stahl <mstahl(a)redhat.com> - 1:4.2.2.1-6
-- Resolves: rhbz#988516: DOCX import: fix context stack when importing header
-- Resolves: rhbz#1072553: Fix deselection problems of template view
-- Resolves: rhbz#1072607: fix crash in SvxRuler::MouseMove()
-- Resolves: rhbz#1043551: sw: avoid division-by-0 in Text Grid painting code
-- RTF import: import field parameters
-- RTF import: fix spurious page breaks at doc end
-
-* Tue Mar 04 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-5
-- Related: rhbz#1065807 wizards should find the right wizards subdir
- of Template_internal, who knew this stuff was so fragile
-
-* Mon Mar 03 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-4
-- Related: rhbz#1065807 wizards should look in Template_internal
-
-* Fri Feb 28 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-3
-- Resolves: rhbz#1007697 Update on a Window deletes itself
-
-* Fri Feb 28 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.2.1-2
-- Related: rhbz#1065807 don't throw with no "Templates" dir under KDE
-
-* Thu Feb 27 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.2.1-1
-- update to 4.2.2 rc1
-
-* Thu Feb 27 2014 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.2.1.1-4
-- Resolves: fdo#75540 spadmin does not start
-
-* Thu Feb 27 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.1.1-3
-- Resolves: rhbz#1057977 do not crash when fonts are updated
-
-* Tue Feb 25 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.1.1-2
-- Resolves: rhbz#1065807 search XDG defined "Templates" dir
-
-* Thu Feb 13 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.1.1-1
-- update to 4.2.1 rc1
-
-* Thu Feb 13 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-4
-- rebuild for new ICU
-
-* Thu Feb 06 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-3
-- Resolves: rhbz#1017379 libreoffice impress imports animated motion paths
- incorrectly from powerpoint
-- Resolves: fdo#33852 Custom animation (Motionpath Left) isn't being
- imported correctly from .ppt
-
-* Thu Jan 30 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-2
-- split LibreLogo into a separate subpackage
-- create a metapackage depending on all subpackages containing filters,
- for use of packages like unoconv
-
-* Tue Jan 28 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.4-1
-- update to 4.2.0 rc4
-
-* Fri Jan 24 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.3-3
-- enable EOT support
-- fix PPC build
-
-* Thu Jan 23 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.3-2
-- stop showing math and startcenter in menu (again)
-
-* Wed Jan 22 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.3-1
-- update to 4.2.0 rc3
-
-* Mon Jan 13 2014 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.0.2-2
-- Related: rhbz#1047871 conditional formatting doesn't fit on screen
-
-* Thu Jan 09 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.2-1
-- update to 4.2.0 rc2
-- Resolves: rhbz#1049543 Include AppData files in packages
-
-* Tue Jan 07 2014 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.1-1
-- 4.2.0 rc1
-
-* Wed Dec 11 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.0.0-3.beta2
-- Resolves: rhbz#1040291 Change language name from "Oriya" to "Odia"
-
-* Wed Dec 04 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.2.0.0-2.beta2
-- update to 4.2.0 beta2
-- Related: rhbz#1032774 bodge around reported NULL
-- Resolves: rhbz#1035092 no shortcut key for Italian 'Tools' menu
-- Resolves: rhbz#912529 Kerkis SmallCaps shown instead of Kerkis Regular
-- Resolves: rhbz#1038189 refresh printer list when print dialog launched
-- openssl no longer required to build
-
-* Thu Nov 21 2013 David Tardon <dtardon(a)redhat.com> - 1:4.2.0.0-1.beta1
-- switch to 4.2.0
-
-* Wed Nov 20 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.3.2-5
-- Resolves: rhbz#1031989 Accept --pt in addition to deprecated -pt
-- Related: rhbz#1014990 valgrind reports uninitialized variables
-
-* Sun Nov 03 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.2-4
-- adapt for libmwaw 0.2
-
-* Thu Oct 31 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.2-3
-- Resolves: fdo#56209 reviving FilterFormulaParser
-
-* Thu Oct 31 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.3.2-2
-- Resolves: fdo#67725 unoidl::AggregatingCursor must wrap modules for aggregation
-- Resolves: rhbz#1021915 force menubar menus to be up/down only
-- Resolves: rhbz#1025201 Incorrect rendering of Devanagari short i
-
-* Wed Oct 23 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.2-1
-- 4.1.3 rc2
-- Resolves: rhbz#1022094 libreoffice-4.1.3.1-1 was built without
- langpacks
-
-* Mon Oct 21 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.3.1-2
-- Resolves: rhbz#1020712 wrong default CTL font shown in editengine
-- Resolves: rhbz#919070 display -1 means span all screens
-
-
-* Wed Oct 16 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.3.1-1
-- 4.1.3 rc1
-
-* Mon Oct 07 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.3-4
-- Resolves: rhbz#1001768: fix various a11y deadlocks and crashes
-- Resolves: rhbz#1016022 fix cut from impress and paste to writer
-- Resolves: rhbz#1003179 fix AUTOFMT related crashes in Writer Undo
-
-* Mon Oct 07 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.3-3
-- Resolves: rhbz#1015281 crash on clicking custom animation
-- Resolves: rhbz#996162 crash with no bullet font
-
-* Wed Oct 02 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.3-2
-- Resolves: rhbz#1013480 crash in EditLineList::operator[]
-- Resolves: rhbz#1014010 crash on start up
-- Resolves: rhbz#1013844 encrypted OOo 1.0 files don't reopen
-
-* Mon Sep 30 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.2.3-1
-- 4.1.2 rc3
-
-* Fri Sep 20 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.2.2-1
-- 4.1.2 rc2
-
-* Tue Sep 17 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.1-3
-- add select sheet menu to calc prev/next area
-- Resolves: rhbz#988104 crash on certain pptx
-
-* Thu Sep 12 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.2.1-2
-- Resolves: rhbz#1006850 crash in SwCommentRuler
-
-* Thu Sep 05 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.2.1-1
-- 4.1.2 rc1
-
-* Tue Sep 03 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.1.2-3
-- Resolves: rhbz#993963 NULL m_pWindow on firefox close plugin window
-
-* Fri Aug 23 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.1.2-2
-- Resolves: rhbz#1000150, Do not call exit upon XIOError
-
-* Thu Aug 22 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.1.2-1
-- 4.1.1 rc2
-- Related: rhbz#895690 Always try to do a mount when opening a file via GIO
-- Resolves: rhbz#998136 wrong index to gWidgetData
-- Resolves: rhbz#998046 store last size/position of the base windows
-
-* Mon Aug 19 2013 Marek Kasik <mkasik(a)redhat.com> - 1:4.1.1.1-2
-- Rebuild (poppler-0.24.0)
-
-* Fri Aug 09 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.1.1-1
-- 4.1.1 rc1
-
-* Fri Aug 09 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.4-6
-- Resolves: fdo#67743 user autocorr file not written
-
-* Tue Jul 30 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.1.0.4-5
-- Resolves: rhbz#989246 Honor user's JavaDriverClass override in mysql driver
-- Resolves: fdo#67045 fix several nasty screen selection issues
-
-* Tue Jul 30 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.4-4
-- Resolves: rhbz#989686 Fix crash with stripping whitespace from toc entries
-
-* Mon Jul 29 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.4-3
-- make libwpd-based filters work correctly with newest libwpd
-
-* Sun Jul 28 2013 Petr Machata <pmachata(a)redhat.com> - 1:4.1.0.4-2
-- Rebuild for boost 1.54.0
-
-* Wed Jul 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.4-1
-- 4.1.0 rc4
-
-* Mon Jul 22 2013 Eike Rathke <erack(a)redhat.com> - 1:4.1.0.3-2
-- force rebuild with icu-50.1.2-7
-
-* Thu Jul 18 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.3-1
-- 4.1.0 rc3
-- Resolves: fdo#48835 GNOME3 app menu
-
-* Thu Jul 18 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.2-5
-- silence scary gcc warning
-- fdo#66924 switching to master view is broken
-
-* Tue Jul 16 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-4
-- bump release
-
-* Fri Jul 12 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-3
-- Resolves: rhbz#983809 libreoffice-base misses deps on needed java packages
-
-* Thu Jul 11 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-2
-- Resolves: rhbz#980387 Exporting a odg to jpg or tiff generates error
-
-* Thu Jul 04 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.2-1
-- 4.1.0 rc2
-
-* Mon Jul 01 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.1-8
-- Resolves: rhbz#979758 crash on Diagrammen in LibreOffice help page
-
-* Thu Jun 27 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-7
-- bump revision
-
-* Mon Jun 24 2013 Marek Kasik <mkasik(a)redhat.com> - 1:4.1.0.1-6
-- Rebuild (poppler-0.22.5)
-
-* Mon Jun 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-5
-- fix build on big endian archs
-
-* Mon Jun 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-4
-- put glade catalog into an extra packgae
-
-* Sun Jun 23 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.1-3
-- Resolves: rhbz#976304 gallery elements may not insert
-
-* Wed Jun 19 2013 Dennis Gilmore <dennis(a)ausil.us> - 1:4.1.0.1-2
-- fix _smp_mflags macro useage
-
-* Wed Jun 19 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.1-1
-- 4.1.0 rc1
-- Related: rhbz#971321 failing tests on ppc and s390
-
-* Sun Jun 16 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-9.beta2
-- Resolves: rhbz#971321 failing tests on ppc and s390
-- Resolves: rhbz#974062 incorrect rendering of text in outline blocks in
- Impress
-
-* Fri Jun 07 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-8.beta2
-- Related: rhbz#971795 go back to BR: harfbuzz-devel
-
-* Fri Jun 07 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-7.beta2
-- Resolves: rhbz#971230 Use BR: harfbuzz-icu-devel
-
-* Wed Jun 05 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-7.beta1
-- 4.1.0 beta2
-
-* Wed Jun 05 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.0-6.beta1
-- Related: rhbz#968892 discard impossible languages for Oriya script
-
-* Tue Jun 04 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.0-5.beta1
-- Resolves: rhbz#968892 block entire grapheme together for glyph fallback
-- Related: rhbz#968892 discard impossible languages for glyph fallback
-
-* Fri May 31 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.1.0.0-4.beta1
-- Resolves: rhbz#968976 fix dropdown list autosizing
-
-* Thu May 30 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-3.beta1
-- build fix for s390
-
-* Fri May 24 2013 David Tardon <dtardon(a)redhat.com> - 1:4.1.0.0-2.beta1
-- 4.1.0 beta1
-
-* Fri May 24 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.3.3-3
-- Resolves: rhbz#961460 can't save WebDAV (davs) files
-
-* Thu May 16 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.3.3-2
-- Resolves: rhbz#963276 font options cache crash
-
-* Fri May 03 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.3.3-1
-- 4.0.3 rc3
-
-* Tue Apr 30 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.3.2-1
-- 4.0.3 rc2
-
-* Mon Apr 22 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.3.1-2
-- Resolves: rhbz#954991 Avoid static data (causing trouble at exit)
-
-* Thu Apr 18 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.3.1-1
-- 4.0.3 rc1
-- Resolves: rhbz#867808 do not throw UNO exceptions by pointer in C++
-
-* Tue Apr 16 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.2.2-4
-- Resolves: rhbz#927223 syntax highlighting crash
-
-* Mon Apr 08 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.2.2-3
-- Resolves: rhbz#949238 div by zero on pagedown in 0 width panel
-
-* Fri Apr 05 2013 Kalev Lember <kalevlember(a)gmail.com> - 1:4.0.2.2-2
-- Resolves: rhbz#949106 libreoffice drags in both openjdk 1.7.0 and 1.8.0
-
-* Thu Mar 28 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.2.2-1
-- 4.0.2 rc2
-- Resolves: rhbz#876742 manipulation with larger tables in impress is
- very slow
-
-* Fri Mar 15 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.2.1-2
-- Resolves: rhbz#906137 slide show inverts outputs
-
-* Fri Mar 15 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.2.1-1
-- 4.0.2 rc1
-- Resolves: rhbz#921716 Build Breton language pack
-
-* Wed Mar 13 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.1.2-4
-- Resolves: rhbz#895690 failure saving to gvfs mounts
-
-* Tue Mar 12 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.1.2-3
-- Resolves: rhbz#920697 presentation not always full-screen
-
-* Thu Mar 07 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.1.2-2
-- Related: rhbz#902884 check for NULL GetSelectedMasterPage
-- Resolves: fdo#61241 force area page to size itself
-- Resolves: fdo#61656 use order and orientation combobox
-- Resolves: fdo#56031 RSID attr changes drop content changes
-
-* Thu Feb 28 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.1.2-1
-- 4.0.1 rc2
-
-* Tue Feb 26 2013 Eike Rathke <erack(a)redhat.com> - 1:4.0.0.3-8
-- do not access vector elements beyond size, rhbz#847519 related
-- Resolves: rhbz#742780 let make OPT_FLAGS=... override SDK flags
-- Resolves: rhbz#907933 crash on removing second last para
-
-* Tue Feb 19 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.0.3-7
-- Resolves: rhbz#895196 sc filter float a11y parent of itself
-
-* Tue Feb 19 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.3-6
-- Resolves: rhbz#911896 add Kazakh localization
-
-* Fri Feb 15 2013 Caolán McNamara <caolanm(a)redhat.com> - 1:4.0.0.3-5
-- make evolution 3.6 work with address book
-- Resolves: rhbz#910176 cannot select directory with gtk folder picker
-- fixes for building against Boost 1.53.0
-
-* Fri Feb 15 2013 Stephan Bergmann <sbergman(a)redhat.com> - 1:4.0.0.3-4
-- Resolves: fdo#60491 missing libemboleobj.so
-- Resolves: rhbz#908674 crash on start
-
-* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora(a)m4x.org> - 1:4.0.0.3-3
-- Rebuild for Boost-1.53.0
-
-* Wed Feb 06 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.3-2
-- fix parsing errors in translated help
-
-* Fri Feb 01 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.3-1
-- 4.0.0 rc3
-
-* Wed Jan 23 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.2-1
-- 4.0.0 rc2
-- use ucpp again
-
-* Tue Jan 22 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.1-3
-- Resolves: rhbz#760765 Impress doesn't copy custom styles from one file
- to another
-
-* Mon Jan 21 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.1-2
-- Resolves: rhbz#901346 do not install 512x512 icons
-
-* Tue Jan 15 2013 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.1-1
-- 4.0.0 rc1
-
-* Sat Dec 22 2012 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.0-4.beta2
-- use system cpp instead of ucpp
-
-* Wed Dec 19 2012 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.0-3.beta2
-- 4.0.0 beta2
-
-* Thu Dec 06 2012 David Tardon <dtardon(a)redhat.com> - 1:4.0.0.0-2.beta1
-- 4.0.0 beta1
-
-* Thu Nov 29 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.4.3-1
-- 3.6.4 rc3
-
-* Wed Nov 28 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.4.1-2
-- fix docx import on big endian
-
-* Sun Nov 18 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.4.1-1
-- 3.6.4 rc1
-
-* Wed Nov 14 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-8
-- Resolves: rhbz#872815 ogltrans effects still suboptimal
-
-* Tue Nov 13 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-7
-- big endian test failure
-
-* Thu Nov 08 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-6
-- Resolves: fdo#56198/rhbz#868002 honour gtk-scrollbar-warp-preference
-
-* Tue Nov 06 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.2-5
-- bump for libexttextcat
-
-* Fri Nov 02 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.2-4
-- Resolves: rhbz#871929 add keywords to desktop files
-- fix debuginfo
-
-* Wed Oct 31 2012 Eike Rathke <erack(a)redhat.com> - 1:3.6.3.2-3
-- Resolves: rhbz#865058 increase number of user-defined format codes
-
-* Fri Oct 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.2-2
-- Resolves: rhbz#824035 do not bundle saxon
-
-* Wed Oct 24 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.2-1
-- 3.6.3 rc2
-- drop integrated 0001-Resolves-rhbz-868479-fdo-56281-doubled-in-German-ok-.patch
-
-* Mon Oct 22 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.1-3
-- Resolves: rhbz#868479 guard against duplicated ~ in OK/Cancel
-
-* Thu Oct 11 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.3.1-2
-- Resolves: rhbz#858641 backport gstreamer 1.0 support to F-18
-
-* Thu Oct 11 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.3.1-1
-- 3.6.3 rc1
-- drop integrated 0001-Resolves-rhbz-855972-crash-on-switching-to-outline-v.patch
-- drop integrated 0001-fdo-52022-Simple-LargeControlPoints-actually-can-hav.patch
-- drop integrated 0001-fdo-46071-Do-not-hide-windows-based-on-nil-Visible-p.patch
-
-* Fri Oct 05 2012 Stephan Bergmann <sbergman(a)redhat.com> - 1:3.6.2.2-3
-- Resolves: fdo#46071 Do not hide windows based on nil Visible property
-
-* Fri Oct 05 2012 Stephan Bergmann <sbergman(a)redhat.com> - 1:3.6.2.2-2
-- Resolves: fdo#52022 Part of data in userdir is lost on upgrade
-
-* Wed Sep 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.2.2-1
-- 3.6.2 rc2
-
-* Wed Sep 12 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.2.1-2
-- Resolves: rhbz#855541 XIOError handler multithread woes
-
-* Wed Sep 12 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.2.1-1
-- 3.6.2 rc1
-
-* Tue Sep 11 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.2-4
-- Resolves: rhbz#855507 large ole2 compound files fail to load
-
-* Mon Sep 10 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.2-3
-- Resolves: rhbz#855972 crash on switching to outline view
-
-* Wed Aug 29 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.2-2
-- Related: rhbz#850709 hunspell en-US available standalone so
- make English langpack require hunspell-en and core just
- bare bones hunspell-en-US
-
-* Sun Aug 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.1.2-1
-- 3.6.1 rc2
-
-* Wed Aug 22 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.1.1-2
-- Resolves: rhbz#846775 Clipboard must be disposed before selection
-- Resolves: rhbz#842292 crash in scrolling multiselection in draw
-
-* Wed Aug 15 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.1.1-1
-- 3.6.1 rc1
-
-* Sun Aug 12 2012 Kevin Fenzi <kevin(a)scrye.com> - 1:3.6.0.4-3
-- Rebuild for new boost
-
-* Sat Jul 28 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.4-2
-- rebuilt for boost 1.50
-
-* Fri Jul 27 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.4-1
-- 3.6.0 rc4
-
-* Thu Jul 26 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.3-2
-- Resolves: rhbz#842552 crash in pptx import
-
-* Wed Jul 25 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.3-1
-- 3.6.0 rc3
-
-* Tue Jul 17 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.2-1
-- 3.6.0 rc2
-
-* Mon Jul 16 2012 Caolán McNamara <caolanm(a)redhat.com> - 1:3.6.0.1-3
-- Resolves: rhbz#836937 insanely slow with Zemberek
-
-* Mon Jul 16 2012 David Tardon <dtardon(a)redhat.com> - 1:3.6.0.1-2
-- rebuild for new libexttextcat
-
-* Thu Jul 12 2012 David Tardon <dtardon(a)redhat.com> - 3.6.0.1-1
-- 3.6.0 rc1
-
-* Mon Jul 09 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.6.0.0-4
-- Resolves: rhbz#838368 --view ignored while -view accepted
-
-* Thu Jul 05 2012 David Tardon <dtardon(a)redhat.com> - 3.6.0.0-3
-- 3.6.0 beta3
-
-* Mon Jul 2 2012 Marek Kasik <mkasik(a)redhat.com> - 3.6.0.0-2
-- Rebuild (poppler-0.20.1)
-
-* Wed Jun 27 2012 David Tardon <dtardon(a)redhat.com> - 3.6.0.0-1
-- 3.6.0 beta2
-- drop integrated 0001-move-binfilter-mime-types-into-extra-.desktop-file.patch
-- drop integrated 0001-Resolves-rhbz-788042-skip-splashscreen-with-quicksta.patch
-- drop integrated libreoffice-ensure-non-broken-xml-tree.patch
-- drop integrated 0001-preserve-timestamps-for-.py-files.patch
-- drop integrated 0001-Resolves-rhbz-788045-swriter-help-etc-doesn-t-show-h.patch
-- drop integrated 0001-Resolves-rhbz-799525-put-flat-odf-mimetypes-in-xsltf.patch
-- drop integrated 0001-Resolves-rhbz-800272-complain-about-unknown-command-.patch
-- drop integrated 0001-Resolves-rhbz-806663-SlideshowImpl-can-outlive-SdMod.patch
-- drop integrated 0001-desktop-do-not-complain-about-soffice-command-line-o.patch
-- drop integrated 0001-Resolves-fdo-48096-torn-off-popups-trigger-keyboard-.patch
-- drop integrated 0001-fdo-38088-better-CSV-import-default-separators.patch
-- drop integrated 0001-save-register-arguments-first.patch
-- drop integrated 0001-do-not-let-gcc-use-registers-we-are-setting-ourselve.patch
-- drop integrated 0001-wrong-types-used-here-breaks-64bit-bigendian.patch
-- drop integrated 0001-Resolves-rhbz-805743-a11y-call-doShow-after-we-have-.patch
-- drop integrated 0001-Resolves-fdo-49849-implement-Unicode-6.1-hebrew-line.patch
-- drop integrated 0001-use-ure-instead-of-ure-link.patch
-- drop broken 0001-fix-setting-of-paper-tray-from-print-dialog-fdo-4393.patch
-
-* Mon Jun 18 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.5.1-2
-- Resolves: rhbz#830810 missing dependency on lucene-contrib
-
-* Thu Jun 14 2012 David Tardon <dtardon(a)redhat.com> - 3.5.5.1-1
-- 3.5.5 rc1
-- drop integrated 0001-make-hsqldb-build-with-java-1.7.patch
-- drop integrated 0001-Related-rhbz-799628-crash-with-chewing-IM-with-g3g.patch
-- drop integrated 0001-silence-SolarMutex-not-locked-spew.patch
-- drop integrated 0001-gcc-trunk-fix-unable-to-find-string-literal-operator.patch
-- drop integrated 0001-ppc-yyinput-returns-a-int-truncating-to-unsigned-cha.patch
-- drop integrated 0001-Resolves-rhbz-826609-rhbz-820554-fix-smoketest-on-pp.patch
-
-* Mon Jun 11 2012 David Tardon <dtardon(a)redhat.com> - 3.5.4.2-3
-- make gdb pretty printers for URE libs usable again
-
-* Fri Jun 08 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.4.2-2
-- Resolves: rhbz#826609, rhbz#820554 fix smoketest on ppc[64] and s390[x]
-
-* Wed May 23 2012 David Tardon <dtardon(a)redhat.com> - 3.5.4.2-1
-- 3.5.4 rc2
-
-* Thu May 17 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.4.1-2
-- Resolves: rhbz#811226 ARM FTBFS
-
-* Wed May 16 2012 David Tardon <dtardon(a)redhat.com> - 3.5.4.1-1
-- 3.5.4 rc1
-- drop integrated 0001-do-not-prepend-n-twice-it-confuses-KFileDialog-rhbz-.patch
-- drop integrated 0001-incrementing-index-twice-in-one-run-seems-wrong.patch
-- drop integrated 0001-fdo-49365-correctly-map-monitor-index-back-to-screen.patch
-- drop integrated 0001-rhbz-809019-count-mirrored-monitors-as-one.patch
-
-* Sun May 13 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.3.2-5
-- Resolves: fdo#49849 line breaking fixes for Hebrew
-
-* Fri May 11 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.2-4
-- Resolves: rhbz#820439 KDE export dialog broken for most formats
-- Resolves: fdo#49365 Libreoffice fails to start on second screen with
- gtk vcl plugin
-- Resolves: rhbz#809019 Impress thinks a machine with 2 monitors in
- clone mode is multihead
-
-* Wed May 09 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.3.2-3
-- Resolves: rhbz#805743 a11y crash in impress/draw
-- Resolves: rhbz#813202 opengl slide transitions still a bit
- problematic in Fedora 17
-
-* Thu May 03 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.2-2
-- rebuild for changed dependencies
-
-* Wed Apr 25 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.2-1
-- 3.5.3 rc2
-- fix broken test on 64bit big endian
-
-* Mon Apr 23 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.1-2
-- rebuild for icu
-- fix UNO bridges for ppc and ppc64
-
-* Thu Apr 19 2012 David Tardon <dtardon(a)redhat.com> - 3.5.3.1-1
-- 3.5.3 rc1
-- drop integrated 0001-Introduced-SystemShellExecuteFlags-URIS_ONLY.patch
-- drop integrated 0001-Simplify-code-and-use-proper-register-names-for-linu.patch
-- drop integrated 0001-resolved-rhbz-813280-the-current-document-is-not-alw.patch
-
-* Wed Apr 18 2012 Eike Rathke <erack(a)redhat.com> - 3.5.2.1-7
-- Resolves: rhbz#813280 sheets cannot be moved in Calc
-
-* Wed Apr 11 2012 Eike Rathke <erack(a)redhat.com> - 3.5.2.1-6
-- Resolves: fdo#38088 rhbz#810267 better CSV import default separators
-
-* Tue Apr 10 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.2.1-5
-- Resolves: rhbz#811226 FTBFS ARM
-
-* Thu Apr 05 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.2.1-4
-- Fix URIS_ONLY flag issue
-- rebuild for db4
-
-* Mon Apr 02 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.2.1-3
-- Resolves: rhbz#708041 focus problems with tearable menus
-
-* Mon Mar 26 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.2.1-2
-- Resolves: rhbz#806663 SlideshowImpl can outlive SdModule
-
-* Sun Mar 25 2012 David Tardon <dtardon(a)redhat.com> - 3.5.2.1-1
-- 3.5.2 rc1
--drop integrated 0001-yet-another-clash-with-macro-name.patch
-
-* Wed Mar 14 2012 David Tardon <dtardon(a)redhat.com> - 3.5.1.2-2
-- Resolves: rhbz#770209 can't change paper tray setting while printing
-
-* Thu Mar 08 2012 David Tardon <dtardon(a)redhat.com> - 3.5.1.2-1
-- 3.5.1 rc2
-
-* Tue Mar 06 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.1.1-3
-- Resolves: rhbz#799628 crash with chewing IM with g3g
-- Resolves: rhbz#799525 put flat odf mimetypes into xsltfilter.desktop
-- Resolves: rhbz#800272 complain about unknown commandline options
-
-* Wed Feb 29 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.1.1-2
-- Resolves: rhbz#788045 swriter --help doesn't show help
-- Resolves: rhbz#798667 missing .desktop icons
-
-* Sun Feb 26 2012 David Tardon <dtardon(a)redhat.com> - 3.5.1.1-1
-- 3.5.1 rc1
-- drop 0001-Resolves-fdo-43644-survive-registered-but-unavailabl.patch
-- drop 0001-Resolves-rhbz-789622-Adapt-SDK-to-changed-paths-in-L.patch
-- drop 0001-Fix-fdo-45177-avoid-linked-undo-for-the-while.patch
-- drop 0001-Fix-some-apparent-misuses-of-RTL_CONSTASCII_USTRINGP.patch
-- drop binfilter-Fix-some-apparent-misuses-of-RTL_CONSTASCII_USTRINGP.patch
-- Resolves: fdo#45177 avoid linked undo crash
-- Fix some apparent misuses of RTL_CONSTASCII_USTRINGPARAM (cherry-picked from
- upstream libreoffice-3-5 branch)
-
-* Tue Feb 14 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.0.3-5
-- Resolves rhbz#789622: Adapt SDK to changed paths in LO installation
-
-* Mon Feb 13 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.0.3-4
-- ensure gdb .py files have the same timstamps so that multilib
- .pyc's and .pyo's have the same content (timestamp in binary cache)
-
-* Sat Feb 11 2012 Caolán McNamara <caolanm(a)redhat.com> - 3.5.0.3-3
-- make sure .tree files don't get busted again
-
-* Tue Feb 07 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.0.3-2
-- junit4 -> junit
-- Resolves: rhbz#788042 skip splashscreen with quickstarter
-- with split binfilter we need fix for fdo#43644
-
-* Thu Feb 02 2012 David Tardon <dtardon(a)redhat.com> - 3.5.0.3-1
-- 3.5.0 rc3
-- Resolves: rhbz#786328 add nlpsolver subpackage
-- split legacy binary filters into subpackage
-
-* Thu Jan 26 2012 Stephan Bergmann <sbergman(a)redhat.com> - 3.5.0.2-2
-- add libreoffice-postgresql subpackage
-
-* Wed Jan 25 2012 David Tardon <dtardon(a)redhat.com> - 3.5.0.2-1
-- 3.5.0 rc2
-
-* Thu Jan 19 2012 David Tardon <dtardon(a)redhat.com> - 3.5.0.1-1
-- 3.5.0 rc1
-- drop integrated 0001-workaround-internal-compiler-error-with-gcc-4.7.patch
-- drop integrated 0001-fix-for-gcc-4.7-C-11-these-are-not-string-literal-op.patch
-- drop integrated 0001-fix-for-gcc-4.7-C-11-this-is-not-string-literal-oper.patch
-- drop integrated 0001-Revert-fast_merge-fix-mis-merge-of-first-module-s-st.patch
-- drop integrated 0001-fix-writing-of-strings-from-the-first-module.patch
-- drop integrated 0001-refactor-slightly-to-avoid-link-problems-with-gcc-4..patch
-
-* Fri Jan 13 2012 David Tardon <dtardon(a)redhat.com> - 3.4.99.3-1
-- 3.5.0 beta3
-- drop integrated 0001-fix-syntactic-error.patch
-- drop integrated 0001-gcc-trunk-fix-error-unable-to-find-string-literal-op.patch
-- drop integrated 0001-gcc-trunk-avoid-confusion.patch
-- drop integrated 0001-workaround-for-LO-namespace-pollution-breaking-KDE4-.patch
-- drop integrated 0001-smath-does-not-handle-accents-in-MathML.patch
-- Resolves: rhbz#533318 smath does not handle accents in MathML
-- Resolves: rhbz#771108 English menu in writer despite installation of
- libreoffice-langpack-de
-
-* Fri Jan 06 2012 David Tardon <dtardon(a)redhat.com> - 3.4.99.2-2
-- rebuild with gcc 4.7
-
-* Wed Dec 21 2011 David Tardon <dtardon(a)redhat.com> - 3.4.99.2-1
-- 3.5.0 beta2
-- drop integrated 0001-Resolves-rhbz-761009-IFSD_Equal-is-asymmetrical.patch
-- drop integrated 0001-Resolves-rhbz-767708-avoid-SIGBUS-writing-to-overcom.patch
-- drop integrated 0001-force-gbuild-stage-for-CustomTargets.patch
-- drop integrated 0001-these-translations-do-already-exist-in-translations-.patch
-- drop integrated 0001-Fix-typo-and-clean-up.patch
-- use system mysql-connector-c++
-
-* Sun Dec 18 2011 David Tardon <dtardon(a)redhat.com> - 3.4.99.1-1
-- 3.5.0 beta1
-- drop integrated 0001-Related-fdo-37195-migrationoo3-not-registered.patch
-- drop integrated 0001-Related-i58612-don-t-crash-anyway.patch
-- drop integrated 0001-Related-rhbz-652604-better-survive-exceptions-thrown.patch
-- drop integrated 0001-Related-rhbz-702833-addEventListener-without-removeE.patch
-- drop integrated 0001-Related-rhbz-711087-band-aid.patch
-- drop integrated 0001-Related-rhbz-718976-crash-in-SwTxtSizeInfo-GetMultiC.patch
-- drop integrated 0001-Related-rhbz-730225-avoid-segv-in-ld-this-was-set-to.patch
-- drop integrated 0001-Related-rhbz-753201-fedora-ant-java-1.5.0-gcj-won-t-.patch
-- drop integrated 0001-Resolves-fdo-32665-handle-that-FreeSerif-lacks-some-.patch
-- drop integrated 0001-Resolves-rhbz-693265-fix-crash-from-unhandled-except.patch
-- drop integrated 0001-Resolves-rhbz-695509-crash-in-RefreshDocumentLB.patch
-- drop integrated 0001-Resolves-rhbz-713154-pdf-export-dialog-too-tall-to-f.patch
-- drop integrated 0001-Resolves-rhbz-715549-use-fontconfig-s-detected-forma.patch
-- drop integrated 0001-Resolves-rhbz-738255-avoid-crash-on-NULL-pointer.patch
-- drop integrated 0001-Resolves-rhbz-751290-KDE-black-on-dark-tooltips.patch
-- drop integrated 0001-add-Oracle-Java-1.7.0-recognition.patch
-- drop integrated 0001-avoid-using-com.sun.org-apis.patch
-- drop integrated 0001-bubble-down-configure-test-findings-on-visibility.patch
-- drop integrated 0001-fix-horizontal-scrollbars-with-KDE-oxygen-style-bnc-.patch
-- drop integrated 0001-gtk3-fix-cairo-canvas-crash-for-non-X-or-svp-backend.patch
-- drop integrated 0001-helgrind-Related-rhbz-655686-get-order-of-shutdown-c.patch
-- drop integrated 0001-rhbz-667082-do-not-crash-importing-section-containin.patch
-- drop integrated 0001-rhbz-702635-set-correct-page-number-when-exporting-s.patch
-- drop integrated Backport-reading-AES-encrypted-ODF-1.2-documents.patch
-- drop integrated gdb-pretty-printers.patch
-- drop integrated kde4configure.patch
-- drop integrated libreoffice-ppc64.patch
-- drop integrated openoffice.org-3.3.0.ooo108637.sfx2.uisavedir.patch
-- drop integrated openoffice.org-3.3.0.ooo113273.desktop.resolvelinks.patch
-- drop integrated vbahelper.visibility.patch
-- drop libreoffice-testtools subpackage, because testtool has been
- removed by upstream
-
-* Thu Dec 15 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.2-6
-- Resolves: rhbz#761009 IFSD_Equal is asymmetrical
-- Resolves: rhbz#767708 write to mmap'ed file w/o disk space: SIGBUS
-
-* Tue Nov 29 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.2-5
-- Resolves: rhbz#757653 fix headless crash with cairo canvas
-
-* Tue Nov 22 2011 Lukas Tinkl <ltinkl(a)redhat.com> - 3.4.4.2-4
-- Resolves: rhbz#751290 - [kde] LibreOffice has black on dark-grey tooltip-texts
-
-* Fri Nov 11 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.2-3
-- Related: fdo#42534 0001-Related-i58612-don-t-crash-anyway.patch
-- Resolves: fdo#42749 KDE oxygen theme and scrollbars
-
-* Thu Nov 10 2011 Stephan Bergmann <sbergman(a)redhat.com> - 3.4.4.2-2
-- Patch to backport reading AES-encrypted ODF 1.2 documents
-
-* Thu Nov 03 2011 David Tardon <dtardon(a)redhat.com> - 3.4.4.2-1
-- 3.4.4 rc2
-
-* Fri Oct 28 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1:3.4.4.1-4
-- rebuild(poppler)
-
-* Thu Oct 27 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.1-3
-- Resolves: rhbz#665800 missing glyph symbol shown when toggling bold/italic
- for Sinhala text
-
-* Thu Oct 27 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.4.1-2
-- possible fix for java 1.7.0 detection
-
-
-* Wed Oct 26 2011 David Tardon <dtardon(a)redhat.com> - 3.4.4.1-1
-- 3.4.4 rc1
-
-* Tue Oct 25 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-16
-- allow building with gcj
-
-* Fri Oct 21 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-15
-- Resolves: rhbz#747356 let Qt call XInitThreads
-- fix .sdw import
-
-* Wed Oct 19 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-14
-- Related: rhbz#743750 addXineramaScreenUnique issue
-
-* Fri Oct 07 2011 Stephan Bergmann <sbergman(a)redhat.com> - 3.4.3.2-13
-- Patches to build with GCC 6.4.1
-
-* Fri Sep 30 2011 Marek Kasik <mkasik(a)redhat.com> - 3.4.3.2-12
-- Rebuild (poppler-0.18.0)
-
-* Tue Sep 20 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-11
-- Resolves: rhbz#738133 fix bn discard string
-- Resolves: fdo#35513 avoid crash while processing incorrect print range
-
-* Mon Sep 19 2011 Marek Kasik <mkasik(a)redhat.com> - 3.4.3.2-10
-- Rebuild (poppler-0.17.3)
-
-* Thu Sep 15 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-9
-- Resolves: rhbz#738255 avoid crash on sc inputhdl
-
-* Tue Sep 13 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-8
-- Resolves: rhbz#274631 remove NoDisplay from -math.desktop
-
-* Thu Sep 08 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-7
-- rebuild for new icu
-
-* Tue Sep 06 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-6
-- Resolves: rhbz#734976 libreoffice-langpack-*-* not pulled in by
- yum install libreoffice
-
-* Fri Sep 02 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-5
-- Resolves: rhbz#735182 be able to rebuild against poppler 0.17.3
-
-* Tue Aug 30 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-4
-- Resolves: rhbz#734432 openoffice.org symlink broken
-
-* Mon Aug 29 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-3
-- add Latvian langpack
-
-* Fri Aug 26 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.3.2-2
-- Resolves: rhbz#733564 graphite2 now packaged into fedora
-- Related: fdo#37195 migrationoo3 not registered
-
-* Thu Aug 25 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.2-1
-- 3.4.3 rc2
-
-* Mon Aug 22 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.1-2
-- add gdb pretty printers
-
-* Tue Aug 16 2011 David Tardon <dtardon(a)redhat.com> - 3.4.3.1-1
-- 3.4.3 rc1
-- drop integrated 0001-Resolves-rhbz-725144-wrong-csh-syntax.patch
-
-* Fri Aug 12 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.3-3
-- Related: rhbz#730225 avoid segv in ld
-
-* Tue Aug 02 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.3-2
-- Resolves: rhbz#693265 fix crash from unhandled exception
-
-* Fri Jul 29 2011 David Tardon <dtardon(a)redhat.com> - 3.4.2.3-1
-- 3.4.2 rc3
-
-* Mon Jul 25 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.2-2
-- Resolves: rhbz#725144 wrong csh syntax
-
-* Wed Jul 20 2011 David Tardon <dtardon(a)redhat.com> - 3.4.2.2-1
-- 3.4.2 rc2
-- fix breakage in KDE4 plugin
-
-* Tue Jul 19 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.1-3
-- Resolves: rhbz#715549 use fontconfig's detected format
-
-* Mon Jul 18 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.2.1-2
-- Rebuild (poppler-0.17.0), add libreoffice-poppler-0.17.0.patch
- seeing as the API changed for some reason or other
-
-* Wed Jul 13 2011 David Tardon <dtardon(a)redhat.com> - 3.4.2.1-1
-- 3.4.2 rc1
-- drop 0001-bad-merge-fix-to-enable-extensions-to-build-again.patch
-- drop 0001-fix-regression-in-SvGlobalName-operator.patch
-
-* Tue Jul 12 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.3-3
-- fix regression in SvGlobalName operator
-
-* Tue Jul 05 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.3-2
-- Related: rhbz#718976 crash in SwTxtSizeInfo::GetMultiCreator
-
-* Fri Jul 01 2011 David Tardon <dtardon(a)redhat.com> - 3.4.1.3-1
-- 3.4.1 rc3
-
-* Thu Jun 23 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.2-1
-- 3.4.1 rc2
-- drop integrated 0001-correctly-build-GTK-systray-icon.patch
-
-* Tue Jun 21 2011 David Tardon <dtardon(a)redhat.com> - 3.4.1.1-5
-- Resolves: rhbz#714781 add Persian langpack
-- Resolves: rhbz#667082 do not crash importing section containing just
- an empty paragraph
-
-* Mon Jun 20 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.1-4
-- Related: rhbz#711087 band aid for crash in sc undo
-- Resolves: rhbz#714338 add a metapackage to install standard bits
-
-* Fri Jun 17 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.1-3
-- Related: rhbz#702833 addEventListener without removeEventListener
-
-* Thu Jun 16 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.1.1-2
-- Resolves: rhbz#713154 pdf export dialog too tall to fit
-
-* Wed Jun 15 2011 David Tardon <dtardon(a)redhat.com> - 3.4.1.1-1
-- 3.4.1 RC1
-- drop integrated 0001-Resolves-rhbz-707317-avoid-crash-in-getRowSpan.patch
-- drop integrated 0001-Resolves-rhbz-710004-band-aid-for-immediate-crash-in.patch
-- drop integrated 0001-Resolves-rhbz-710556-don-t-crash-on-missing-graphics.patch
-- drop integrated 0001-Resolves-rhbz-699909-crash-in-export-of-.doc-in-lcl_.patch
-- drop integrated 0001-fdo-37584-Make-a-real-copy-of-the-text-where-to-coun.patch
-- drop integrated 0001-Resolves-fdo-37668-bitwise-operations-on-signed-numb.patch
-
-* Thu Jun 09 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-5
-- Resolves: rhbz#699909 crash in export of .doc in lcl_getField
-- Resolves: fdo#37584 Make a real copy of the text
-- Resolves: rhbz#709503/fdo#37668 bitwise operations on signed values
-
-* Tue Jun 07 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-4
-- Resolves: rhbz#710556 't crash on missing graphics .pptx export
-- Resolves: rhbz#652604 better survive exceptions in autorecovery
-
-* Thu Jun 02 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-3
-- Resolves: rhbz#710004 band aid for crash
-
-* Mon May 30 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.2-2
-- Resolves: rhbz#707317 avoid crash in getRowSpan
-
-* Fri May 27 2011 David Tardon <dtardon(a)redhat.com> - 3.4.0.2-1
-- 3.4.0 RC2
-- drop integrated 0001-fix-build-with-system-bsh.patch
-
-* Wed May 25 2011 Caolán McNamara <caolanm(a)redhat.com> - 3.4.0.1-3
-- rebuild for new hunspell
-
-* Tue May 24 2011 David Tardon <dtardon(a)redhat.com> - 3.4.0.1-2
-- Resolves: rhbz#706110 oosplash.bin segfault on every login
-
-* Fri May 20 2011 David Tardon <dtardon(a)redhat.com> - 3.4.0.1-1
-- 3.4 RC1
-- Resolves: rhbz#702635 set correct page number when exporting selected
- pages
-
-* Sat May 07 2011 Christopher Aillon <caillon(a)redhat.com> - 3.3.99.4-2
-- Update icon cache scriptlet
-
-* Sat May 07 2011 David Tardon <dtardon(a)redhat.com> 3.3.99.4-1
-- 3.4 beta4
-- drop integrated 0001-Removed-duplicate-code-block-mis-merge-prolly.patch
-- drop integrated 7de0b88ce2dd932915894385b54be1897d5ee053.zip
-
-* Mon Apr 18 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.99.1-2
-- Resolves: rhbz#695509 crash in RefreshDocumentLB
-- bubble down configure test findings on visibility
-
-* Mon Apr 11 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.99.1-1
-- 3.4 beta1
-- drop openoffice.org-1.9.123.ooo53397.prelinkoptimize.desktop.patch
- in favour of ooosplash
-- drop openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch
- because components are passively registered now
-- drop integrated openoffice.org-3.1.0.ooo102061.sc.cellanchoring.patch
-- drop integrated turn-script-providers-into-extensions.patch
-- drop integrated 0001-tidy-this-up-and-don-t-bail-out-on-mislength-records.patch
-- drop integrated 0001-free-ctxt-after-taking-lastError-details.patch
-- drop integrated 0001-Removed-suspect-hack.-Cursor-on-post-it-now-scrolls-.patch
-- drop integrated libreoffice-gcc4.6.0.patch
-- drop integrated 0001-fexceptions-fexceptions.patch
-- drop integrated 0001-Related-rhbz-672872-cancel-gtk-file-dialog-on-deskto.patch
-- drop vbahelper.visibility.patch
-- drop integrated 0001-Resolves-fdo-33509-i62414-out-by-one-breaks-CTL-spel.patch
-- drop integrated 0001-Resolves-rhbz-670020-crash-in-slidesorting.patch
-- drop integrated 0001-Resolves-rhbz-676539-handle-missing-pWindows-from-xW.patch
-- drop integrated 0001-Resolves-fdo-33750-i94623-use-optimal-border-width-w.patch
-- drop integrated 0001-rhbz-649310-don-t-crash-deregistering-diff.-platform.patch
-- drop integrated 0001-Resolves-rhbz-674330-dereference-of-NULL-mpBase.patch
-- drop integrated 0001-rhbz-678284-Get-correct-current-position-when-shift-page-up-and-.patch
-- drop integrated 0001-Resolves-rhbz-681159-bandaid-for-crash.patch
-- drop integrated 0001-Resolves-rhbz-672818-bandaid-for-crash-in-SwTxtNode-.patch
-- drop integrated 0001-install-high-resolution-icons.patch
-- drop integrated 0001-Resolves-rhbz-682716-pa-IN-isn-t-handled-by-fontconf.patch
-- drop integrated 0001-Related-rhbz-684477-make-sure-this-is-thread-safe.patch
-- drop integrated 0001-Resolves-rhbz-682621-better-resizing-of-overtall-gly.patch
-- drop integrated 0001-Resolves-rhbz-684620-crash-with-NULL-pTableBox.patch
-- drop integrated libreoffice-fdo33947.sd.print.crash.patch
-- drop integrated 0001-add-cairo_ft_font_face_create_for_pattern-wrapper.patch
-- drop integrated 0001-Related-rhbz-680460-reorganize-this-to-make-it-inher.patch
-- drop integrated 0001-Related-rhbz-680460-don-t-bother-with-an-interim-Fon.patch
-- drop integrated 0001-Resolves-rhbz-680460-honour-lcdfilter-subpixeling-et.patch
-- drop integrated 0001-Cut-Gordian-Knot-of-who-owns-the-font-options.patch
-- drop integrated 0001-beware-of-invalidated-iterator.patch
-- drop integrated rhbz680766.fix-mdds-crash.patch
-- drop integrated 0001-Resolves-rhbz-684580-X-and-strike-through-escapes-ra.patch
-- drop integrated 0001-set-mime-types-on-flat-xml-filters.patch
-- drop integrated 0001-add-flat-xml-types-to-.desktop-files-etc.patch
-- drop integrated libreoffice-fdo31271.icu.patch
-
-* Tue Apr 05 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-6
-- Resolves: rhbz#655686 get order of shutdown correct
-
-* Wed Mar 30 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-5
-- Add application/vnd.oasis.opendocument.text-flat-xml, etc. to
- .desktop files for mcepl
-
-* Tue Mar 29 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-4
-- Resolves: rhbz#684580 improve X and / strike-through
-
-* Thu Mar 24 2011 David Tardon <dtardon(a)redhat.com> 3.3.2.2-3
-- Resolves: rhbz#680766 crash in mdds
-
-* Wed Mar 23 2011 David Tardon <dtardon(a)redhat.com> 3.3.2.2-2
-- Related: rhbz#689268 versioned deps need to contain epoch
-
-* Tue Mar 22 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.2.2-1
-- latest version
-- drop integrated 0001-Resolves-fdo-33701-ensure-node-outlives-path.patch
-- drop integrated 0001-valgrind-don-t-leave-an-evil-thread-running-after-ma.patch
-
-* Tue Mar 22 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-12
-- Fix fontoptions cache
-- avoid crash in calc on changing size of rows (dtardon)
-
-* Mon Mar 21 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-11
-- Resolves: rhbz#689268 autocorrs from OOo F14 not upgraded
-
-* Wed Mar 16 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-10
-- Resolves: rhbz#680460 honour lcdfilter and subpixeling
-
-* Tue Mar 15 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-9
-- Resolves: fdo#33947 sd print crash
-
-* Mon Mar 14 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-8
-- Related: rhbz#684477 make sure this is thread safe
-- Resolves: rhbz#684620 crash with NULL pTableBox
-
-* Sun Mar 13 2011 Marek Kasik <mkasik(a)redhat.com> 3.3.1.2-7
-- Rebuild (poppler-0.16.3)
-
-* Wed Mar 09 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-6
-- Resolves: rhbz#682621 better resizing of overtall glyphsubs
-
-* Tue Mar 08 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-5
-- Resolves: rhbz#682716 pa-IN isn't handled well by fontconfig
-
-* Tue Mar 08 2011 David Tardon <dtardon(a)redhat.com> 3.3.1.2-4
-- install 128x128 px icons
-
-* Wed Mar 02 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-3
-- Resolves: rhbz#681159 crash in writer
-- Resolves: rhbz#672818 crash in writer
-- Resolves: fdo#33701 ensure node outlives path
-- Resolves: rhbz#681738 crash on writing config post-main
-
-* Thu Feb 17 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-2
-- Resolves: rhbz#678284 Calc crashes during cell select with keys
- (dtardon)
-
-* Thu Feb 17 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.2-1
-- RC2
-
-* Wed Feb 16 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.1-2
-- Resolves: rhbz#674330 dereference of NULL mpBase
-
-* Fri Feb 11 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.1.1-1
-- 3.3.1 rc1
-- drop integrated 0001-don-t-pushback-and-process-a-corrupt-extension.patch
-- drop integrated libreoffice-fdo32561.comphelper.patch
-- drop integrated 0001-Related-rhbz-610103-more-woes-on-rpm-upgrade-vs-rpm-.patch
-- drop integrated 0001-Resolves-rhbz-673819-crash-on-changing-position-of-d.patch
-- drop integrated 0001-rhbz-666440-don-t-pushback-and-process-a-corrupt-extension.patch
-
-* Thu Feb 10 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.4-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-- Related: rhbz#610103 make this even more robust
-- Related: rhbz#672872 cancel gtk file dialog on terminate
-- Resolves: fdo#33509/ooo#62414 fix CTL spelling popup
-- Resolves: rhbz#673819 crash on changing position of header/footer object
-- Resolves: rhbz#670020 crash in slidesorting
-- Resolves: rhbz#676539 handle missing pWindows from xWindows
-- Resolves: rhbz#649310 don't crash deregistering diff. platform ext.
- (dtardon)
-- Resolves: rhbz#666440 don't pushback and process a corrupt extension
-
-* Mon Jan 24 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.4-2
-- Resolves: rhbz#671540 fix lonely )
-
-* Thu Jan 20 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.4-1
-- next release candidate
-- drop integrated 0001-fix-presenter-screens-description.xml-build.patch
-
-* Tue Jan 18 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.3-2
-- backport fix to get presenter screen working
-- make handling busted extensions more robust
-
-* Wed Jan 12 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.3-1
-- latest version
-- drop integrated 0001-Resoves-rhbz-663857-font-color-missing-C-FAQ-10.3-do.patch
-- drop integrated 0001-Avoid-double-paste-when-pasting-text-into-cell-comme.patch
-- drop integrated 0001-Resolves-rhbz-660342-Undo-Redo-crash-with-postits.patch
-- drop integrated 0001-Resolves-rhbz-666088-clean-up-search-cache-singleton.patch
-
-* Thu Jan 06 2011 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.2-5
-- Resolves: rhbz#666088 don't crash on clean up of search cache
-
-* Wed Jan 05 2011 Lukas Tinkl <ltinkl(a)redhat.com> 3.3.0.2-4
-- create a KDE integration subpackage
-
-* Mon Jan 03 2011 David Tardon <dtardon(a)redhat.com> 3.3.0.2-3
-- rebuild with new poppler
-
-* Wed Dec 22 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.2-2
-- Resolves: rhbz#663724 fdo32572-sc-dont-double-paste.patch
-- Resolves: rhbz#660342 Undo/Redo crash with postits
-
-* Tue Dec 21 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.2-1
-- latest version
-
-* Sat Dec 18 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.1-4
-- Resolves: rhbz#663857 font color missing in transitions
-
-* Wed Dec 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 3.3.0.1-3
-- rebuild (poppler)
-
-* Wed Dec 15 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.1-2
-- Fix up some doc imports
-
-* Sun Dec 05 2010 Caolán McNamara <caolanm(a)redhat.com> 3.3.0.1-1
-- release candidate 1
-- drop integrated qstart.dont-forceenabled-on-post-reg-restart.patch
-- drop integrated exit.quickstarter.when.deleted.patch
-- drop integrated 0001-destroydesktop.in.timeout.patch
-- drop integrated openoffice.org-3.3.0.rhbz657541.join-paragraphs.patch
-
-* Sat Nov 27 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.3-2
-- Resolves: rhbz#610103 exit quickstarter when libs deleted
-- Resolves: rhbz#652695 release desktop in timeout
-- Resolves: rhbz#657541 don't crash during processing of auto. styles
- when joining paragraphs (dtardon)
-
-* Thu Nov 18 2010 Caolán McNamara <caolanm(a)redhat.com 3.2.99.3-1
-- next Libreoffice milestone
-- drop integrated openoffice.org-2.0.1.rhXXXXXX.extensions.defaulttoevo2.patch
-- drop integrated openoffice.org-2.2.1.ooo7065.sw.titlepagedialog.patch
-- drop integrated openoffice.org-3.2.0.ooo108846.sfx2.qstartfixes.patch
-- drop integrated openoffice.org-3.3.0.ooo107490.cppu.lifecycle.patch
-- drop integrated libreoffice-buildfix.patch
-- drop integrated libreoffice-xdg632229.gnomeshell.patch
-- drop integrated 0001-strcpy-cannot-be-used-with-overlapping-src-and-dest.patch
-- drop integrated 0001-abort-doesn-t-gain-us-anything-here.patch
-- drop integrated 0001-latest-libX11-changed-header-guards.patch
-
-* Sat Nov 06 2010 David Tardon <dtardon(a)redhat.com 3.2.99.2-6
-- turn script providers into extensions
-
-* Wed Nov 03 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-5
-- Resolves: rhbz#649210 add Sinhalese langpack
-
-* Sat Oct 30 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-4
-- langpack macro hard-coded version number
-
-* Fri Oct 22 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-3
-- Resolves: xdg632229 gnomeshell app tracking
-
-* Tue Oct 12 2010 David Tardon <dtardon(a)redhat.com> 3.2.99.2-2
-- use macros to define auto-correction and language pack subpackages
-
-* Mon Oct 11 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.2-1
-- next LibreOffice milestone
-- drop integrated openoffice.org-2.3.0.ooo76649.httpencoding.patch
-- drop integrated workspace.dtardon03.patch
-- drop integrated openoffice.org-3.1.0.ooo61927.sw.ww6.unicodefontencoding.patch
-- drop integrated workspace.impress195.patch
-- drop integrated workspace.srb1.patch
-- drop integrated openoffice.org-3.2.0.ooo106502.svx.fixspelltimer.patch
-- drop integrated openoffice.org-3.3.0.ooo108246.svx.hide-sql-group-when-inactive.patch
-- drop integrated openoffice.org-3.2.0.ooo95369.sw.sortedobjs.patch
-- drop integrated openoffice.org-3.2.0.ooo110142.svx.safercolornames.patch
-- drop integrated openoffice.org-3.3.0.ooo111758.sd.xerror.patch
-- drop integrated openoffice.org-3.2.0.ooo111741.extras.malformed-xml-file.patch
-- drop integrated openoffice.org-3.3.0.ooo112059.sw.avoid-null-ptr-deref.patch
-- drop integrated openoffice.org-3.3.0.ooo100686.wizards.types.not.mediatypes.patch
-- drop integrated workspace.vcl113.patch
-- drop integrated openoffice.org-3.3.0.ooo112384.sw.export.doc.styledoesntexist.patch
-- drop integrated workspace.cmcfixes77.patch
-- drop integrated workspace.vcl114.patch
-- drop integrated openoffice.org-3.3.0.ooo106591.sal.tradcopy.patch
-- drop integrated workspace.vcl115.patch
-- drop integrated workspace.cmcfixes78.patch
-- drop integrated openoffice.org-3.3.0.ooo114012.sd.bada11ychain.patch
-- drop integrated workspace.cmcfixes79.patch
-- drop integrated openoffice.org-3.3.0.ooo114703.vcl.betterlocalize.font.patch
-- drop integrated openoffice.org-3.3.0.rh638185.editeng.cjkctlhtmlsizes.patch
-- drop integrated openoffice.org-3.3.0.rh637738.libgcrypt.addmutex.patch
-- drop integrated openoffice.org-3.2.0.rh632236.writerfilter.cleanup-cell-props.patch
-- drop workspace.gtk3.patch
-
-* Wed Oct 06 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.1-2
-- Related: rhbz#639945 pull in review changes
- + redland build-fix
- + replace awk script
- + validate .destop files
-
-* Wed Sep 29 2010 Caolán McNamara <caolanm(a)redhat.com> 3.2.99.1-1
-- initial import of the leviathan
+%autochangelog
commit f1a26fe67399e269c0b8a87270995e5c416ec13a
Author: Mattia Verga <mattia.verga(a)proton.me>
Date: Mon Oct 2 10:02:46 2023 +0200
Explain why we cannot unbundle hsqldb
diff --git a/libreoffice.spec b/libreoffice.spec
index 6e040b1..3c365ba 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -84,8 +84,11 @@ Source8: libreoffice-multiliblauncher.sh
Source9: %{external_url}/dtoa-20180411.tgz
Source11: %{external_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
-#Unfortunately later versions of hsqldb changed the file format, so if we use a later version we lose
-#backwards compatability.
+
+# Unfortunately later versions of hsqldb changed the file format, so if we use a later version we lose
+# backwards compatability.
+# LibreOffice is also pinned to use hsqldb really old version 1.8.0 so there's currently no way building
+# with system provided hsqldb without major hacking.
Source12: %{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
Source13: %{external_url}/../extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
%global bundling_options %{?bundling_options} --without-system-hsqldb
6 months, 1 week
Architecture specific change in rpms/java-17-openjdk-portable.git
by githook-noreply@fedoraproject.org
The package rpms/java-17-openjdk-portable.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/java-17-openjdk-portable.git/comm....
Change:
+%ifarch %{gdb_arches}
Thanks.
Full change:
============
commit 289d0e958f24fa8759c01d48b05c8a4b71e599e2
Author: Jiri <jvanek(a)redhat.com>
Date: Thu Nov 23 16:12:18 2023 +0100
updated to OpenJDK 17.0.9 (2023-10-17)
- adjsuted generate_source_tarball
- removed icedtea_sync
- dropped standalone licenses
- added usntripped subpkg
- added docs subpkg
- adjsuted versions of bundled libraries
- build refactored to several solid methods following gnu_andrew
- removed no longer needed jdk8305995-footprint_regression_from_jdk_8224957, nss.fips.cfg.in, rh1648644-java_access_bridge_privileged_security.patch
- added jdk8312489-max_sig_default_increase.patch
- aligned fips-17u-51e1d00be4e.patch (gnu_andrew)
- fixed '--without release' build-ability by moving docs and misc to
if-release only
diff --git a/.gitignore b/.gitignore
index 6c2c596..f79d052 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,4 @@
/openjdk-jdk17u-jdk-17.0.6+10.tar.xz
/openjdk-jdk17u-jdk-17.0.7+7.tar.xz
/openjdk-jdk17u-jdk-17.0.8+7.tar.xz
+/openjdk-17.0.9+9.tar.xz
diff --git a/NEWS b/NEWS
index a7be73f..4edebb8 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,490 @@ Key:
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
+New in release OpenJDK 17.0.9 (2023-10-17):
+===========================================
+Live versions of these release notes can be found at:
+ * https://bit.ly/openjdk1709
+
+* CVEs
+ - CVE-2023-22081
+ - CVE-2023-22025
+* Security fixes
+ - JDK-8286503, JDK-8312367: Enhance security classes
+ - JDK-8296581: Better system proxy support
+ - JDK-8297856: Improve handling of Bidi characters
+ - JDK-8305815, JDK-8307278: Update Libpng to 1.6.39
+ - JDK-8306881, JDK-8307286: Update FreeType to 2.13.0
+ - JDK-8309966: Enhanced TLS connections
+ - JDK-8312248: Enhanced archival support redux
+ - JDK-8314649: Enhanced archival support redux
+ - JDK-8317121: vector_masked_load instruction is moved too early after JDK-8286941
+* New features
+ - JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port
+* Other changes
+ - JDK-6176679: Application freezes when copying an animated gif image to the system clipboard
+ - JDK-6381945: (cal) Japanese calendar unit test system should avoid multiple static imports
+ - JDK-8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded()
+ - JDK-8153837: AArch64: Handle special cases for MaxINode & MinINode
+ - JDK-8156889: ListKeychainStore.sh fails in some virtualized environments
+ - JDK-8171221: Remove -XX:+CheckMemoryInitialization
+ - JDK-8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test
+ - JDK-8195589: T6587786.java failed after JDK-8189997
+ - JDK-8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE"
+ - JDK-8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows
+ - JDK-8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27)
+ - JDK-8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver.
+ - JDK-8255548: Missing coverage for javax.xml.crypto.dom.DOMCryptoContext
+ - JDK-8263044: jdk/jfr/jvm/TestDumpOnCrash.java timed out
+ - JDK-8267188: gc/stringdedup/TestStringDeduplicationInterned.java fails with Shenandoah
+ - JDK-8267341: macos attempt_reserve_memory_at(arg1, arg2, true) failure
+ - JDK-8267517: async logging for stdout and stderr
+ - JDK-8267860: Off-by-one bug when searching arrays in AlpnGreaseTest
+ - JDK-8268852: AsyncLogWriter should not overide is_Named_thread()
+ - JDK-8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4
+ - JDK-8269466: Factor out the common code for initializing and starting internal VM JavaThreads
+ - JDK-8270331: [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/InitToBlack.java
+ - JDK-8270794: Avoid loading Klass* twice in TypeArrayKlass::oop_size()
+ - JDK-8270894: Use acquire semantics in ObjectSynchronizer::read_stable_mark()
+ - JDK-8271707: migrate tests to use jdk.test.whitebox.WhiteBox
+ - JDK-8271898: disable os.release_multi_mappings_vm on macOS-X64
+ - JDK-8272586: emit abstract machine code in hs-err logs
+ - JDK-8272654: Mark word accesses should not use Access API
+ - JDK-8273092: Sort classlist in JDK image
+ - JDK-8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java
+ - JDK-8274986: max code printed in hs-err logs should be configurable
+ - JDK-8275031: runtime/ErrorHandling/MachCodeFramesInErrorFile.java fails when hsdis is present
+ - JDK-8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver
+ - JDK-8275415: Prepare Leak Profiler for Lilliput
+ - JDK-8275662: remove test/lib/sun/hotspot
+ - JDK-8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant"
+ - JDK-8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0
+ - JDK-8276696: ParallelObjectIterator freed at the wrong time in VM_HeapDumper
+ - JDK-8277102: Dubious PrintCompilation output
+ - JDK-8277353: java/security/MessageDigest/ThreadSafetyTest.java test times out
+ - JDK-8277417: C1 LIR instruction for load-klass
+ - JDK-8277427: Update jib-profiles.js to use JMH 1.33 devkit
+ - JDK-8277654: Shenandoah: Don't produce new memory state in C2 LRB runtime call
+ - JDK-8277860: PPC: Remove duplicate info != NULL check
+ - JDK-8278141: LIR_OpLoadKlass::_info shadows the field of the same name from LIR_Op
+ - JDK-8278456: Define jtreg jdk_desktop test group time-based sub-tasks for use by headful testing.
+ - JDK-8279545: Buffer overrun in reverse_words of sharedRuntime_x86_64.cpp:3517
+ - JDK-8280032: Update jib-profiles.js to use JMH 1.34 devkit
+ - JDK-8280396: G1: Full gc mark stack draining should prefer to make work available to other threads
+ - JDK-8280885: Shenandoah: Some tests failed with "EA: missing allocation reference path"
+ - JDK-8281507: Two javac tests have bad jtreg `@clean` tags
+ - JDK-8281717: Cover logout method for several LoginModule
+ - JDK-8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time"
+ - JDK-8282651: ZGC: vmTestbase/gc/ArrayJuggle/ tests fails intermittently with exit code 97
+ - JDK-8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
+ - JDK-8283056: show abstract machine code in hs-err for all VM crashes
+ - JDK-8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs
+ - JDK-8283326: Implement SafeFetch statically
+ - JDK-8283724: Incorrect description for jtreg-failure-handler option
+ - JDK-8283756: (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes
+ - JDK-8283865: riscv: Break down -XX:+UseRVB into seperate options for each bitmanip extension
+ - JDK-8283929: GHA: Add RISC-V build config
+ - JDK-8284068: riscv: should call Atomic::release_store in JavaThread::set_thread_state
+ - JDK-8284090: com/sun/security/auth/module/AllPlatforms.java fails to compile
+ - JDK-8284273: Early crashes in os::print_context on AArch64
+ - JDK-8284760: Correct type/array element offset in LibraryCallKit::get_state_from_digest_object()
+ - JDK-8284772: GHA: Use GCC Major Version Dependencies Only
+ - JDK-8284910: Buffer clean in PasswordCallback
+ - JDK-8284937: riscv: should not allocate special register for temp
+ - JDK-8284997: arm32 build crashes since JDK-8283326
+ - JDK-8285303: riscv: Incorrect register mask in call_native_base
+ - JDK-8285437: riscv: Fix MachNode size mismatch for MacroAssembler::verify_oops*
+ - JDK-8285630: Fix a configure error in RISC-V cross build
+ - JDK-8285675: Temporary fix for arm32 SafeFetch
+ - JDK-8285699: riscv: Provide information when hitting a HaltNode
+ - JDK-8285711: riscv: RVC: Support disassembler show-bytes option
+ - JDK-8285756: clean up use of bad arguments for `@clean` in langtools tests
+ - JDK-8285980: Several tests in compiler/c2/irTests miss @requires vm.compiler2.enabled
+ - JDK-8286481: Exception printed to stdout on Windows when storing transparent image in clipboard
+ - JDK-8286620: Create regression test for verifying setMargin() of JRadioButton
+ - JDK-8286623: Bundle zlib by default with JDK on macos aarch64
+ - JDK-8287227: Shenandoah: A couple of virtual thread tests failed with iu mode even without Loom enabled.
+ - JDK-8287418: riscv: Fix correctness issue of MacroAssembler::movptr
+ - JDK-8287552: riscv: Fix comment typo in li64
+ - JDK-8287970: riscv: jdk/incubator/vector/*VectorTests failing
+ - JDK-8288719: [arm32] SafeFetch32 thumb interleaving causes random crashes
+ - JDK-8289077: Add manual tests to open
+ - JDK-8289238: Refactoring changes to PassFailJFrame Test Framework
+ - JDK-8289510: Improve test coverage for XPath Axes: namespace
+ - JDK-8289512: Fix GCC 12 warnings for adlc output_c.cpp
+ - JDK-8289547: Update javax/swing/Popup/TaskbarPositionTest.java
+ - JDK-8289646: configure script failed on WSL
+ - JDK-8289688: jfr command hangs when it processes invalid file
+ - JDK-8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
+ - JDK-8289797: tools/launcher/I18NArgTest.java fails on Japanese Windows environment
+ - JDK-8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong
+ - JDK-8290137: riscv: small refactoring for add_memory_int32/64
+ - JDK-8290164: compiler/runtime/TestConstantsInError.java fails on riscv
+ - JDK-8290464: Optimize ResourceArea zapping on ResourceMark release
+ - JDK-8290469: Add new positioning options to PassFailJFrame test framework
+ - JDK-8290496: riscv: Fix build warnings-as-errors with GCC 11
+ - JDK-8291444: GHA builds/tests won't run manually if disabled from automatic running
+ - JDK-8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero
+ - JDK-8291893: riscv: remove fence.i used in user space
+ - JDK-8291947: riscv: fail to build after JDK-8290840
+ - JDK-8291952: riscv: Remove PRAGMA_NONNULL_IGNORED
+ - JDK-8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar
+ - JDK-8292315: Tests should not rely on specific JAR file names (hotspot)
+ - JDK-8292316: Tests should not rely on specific JAR file names (jpackage)
+ - JDK-8292683: Remove BadKeyUsageTest.java from Problem List
+ - JDK-8292698: Improve performance of DataInputStream
+ - JDK-8292716: Configure should check that jtreg is of the required version
+ - JDK-8292763: JDK-8292716 breaks configure without jtreg
+ - JDK-8292867: RISC-V: Simplify weak CAS return value handling
+ - JDK-8293012: ConstantPool::print_on can crash if _cache is NULL
+ - JDK-8293050: RISC-V: Remove redundant non-null assertions about macro-assembler
+ - JDK-8293098: GHA: Harmonize GCC version handling for host and cross builds
+ - JDK-8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub
+ - JDK-8293107: GHA: Bump to Ubuntu 22.04
+ - JDK-8293114: JVM should trim the native heap
+ - JDK-8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64
+ - JDK-8293177: Verify version numbers in legal files
+ - JDK-8293180: JQuery UI license file not updated
+ - JDK-8293252: Shenandoah: ThreadMXBean synchronizer tests crash with aggressive heuristics
+ - JDK-8293361: GHA: dump config.log in case of configure failure
+ - JDK-8293474: RISC-V: Unify the way of moving function pointer
+ - JDK-8293524: RISC-V: Use macro-assembler functions as appropriate
+ - JDK-8293566: RISC-V: Clean up push and pop registers
+ - JDK-8293811: Provide a reason for PassFailJFrame.forceFail
+ - JDK-8293851: hs_err should print more stack in hex dump
+ - JDK-8294012: RISC-V: get/put_native_u8 missing the case when address&7 is 6
+ - JDK-8294083: RISC-V: Minimal build failed with --disable-precompiled-headers
+ - JDK-8294086: RISC-V: Cleanup InstructionMark usages in the backend
+ - JDK-8294087: RISC-V: RVC: Fix a potential alignment issue and add more alignment assertions for the patchable calls/nops
+ - JDK-8294149: JMH 1.34 and later requires jopt-simple 5.0.4
+ - JDK-8294187: RISC-V: Unify all relocations for the backend into AbstractAssembler::relocate()
+ - JDK-8294366: RISC-V: Partially mark out incompressible regions
+ - JDK-8294430: RISC-V: Small refactoring for movptr_with_offset
+ - JDK-8294492: RISC-V: Use li instead of patchable movptr at non-patchable callsites
+ - JDK-8294679: RISC-V: Misc crash dump improvements
+ - JDK-8294941: GHA: Cut down cross-compilation sysroots
+ - JDK-8294956: GHA: qemu-debootstrap is deprecated, use the regular one
+ - JDK-8295110: RISC-V: Mark out relocations as incompressible
+ - JDK-8295213: Run GHA manually with user-specified make and configure arguments
+ - JDK-8295270: RISC-V: Clean up and refactoring for assembler functions
+ - JDK-8295396: RISC-V: Cleanup useless CompressibleRegions
+ - JDK-8295657: SA: Allow larger object alignments
+ - JDK-8295737: macOS: Print content cut off when width > height with portrait orientation
+ - JDK-8295811: serviceability/sa/TestObjectAlignment.java fails on x86_32
+ - JDK-8295812: Skip the "half float" support in LittleCMS during the build
+ - JDK-8295894: Remove SECOM certificate that is expiring in September 2023
+ - JDK-8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic
+ - JDK-8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0
+ - JDK-8296384: [TESTBUG] sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java intermittently timeout
+ - JDK-8296435: RISC-V: Small refactoring for increment/decrement
+ - JDK-8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec
+ - JDK-8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
+ - JDK-8296602: RISC-V: improve performance of copy_memory stub
+ - JDK-8296771: RISC-V: C2: assert(false) failed: bad AD file
+ - JDK-8296796: Provide clean, platform-agnostic interface to C-heap trimming
+ - JDK-8296916: RISC-V: Move some small macro-assembler functions to header file
+ - JDK-8297350: Update JMH devkit to 1.36
+ - JDK-8297359: RISC-V: improve performance of floating Max Min intrinsics
+ - JDK-8297476: Increase InlineSmallCode default from 1000 to 2500 for RISC-V
+ - JDK-8297644: RISC-V: Compilation error when shenandoah is disabled
+ - JDK-8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit
+ - JDK-8297697: RISC-V: Add support for SATP mode detection
+ - JDK-8297715: RISC-V: C2: Use single-bit instructions from the Zbs extension
+ - JDK-8297887: Update Siphash
+ - JDK-8297923: java.awt.ScrollPane broken after multiple scroll up/down
+ - JDK-8298138: Shenandoah: HdrSeq asserts "sub-bucket index (512) overflow for value ( 1.00)"
+ - JDK-8298921: Create a regression test for JDK-8139581
+ - JDK-8298974: Add ftcolor.c to imported freetype sources
+ - JDK-8299158: Improve MD5 intrinsic on AArch64
+ - JDK-8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops*
+ - JDK-8299330: Minor improvements in MSYS2 Workflow handling
+ - JDK-8299617: CurrencySymbols.properties is missing the copyright notice
+ - JDK-8299658: C1 compilation crashes in LinearScan::resolve_exception_edge
+ - JDK-8299713: Test javax/swing/JTableHeader/6889007/bug6889007.java failed: Wrong type of cursor
+ - JDK-8299827: Add resolved IP address in connection exception for sockets
+ - JDK-8299847: RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes
+ - JDK-8299962: Speed up compiler/intrinsics/unsafe/DirectByteBufferTest.java and HeapByteBufferTest.java
+ - JDK-8300053: Shenandoah: Handle more GCCauses in ShenandoahControlThread::request_gc
+ - JDK-8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3
+ - JDK-8300109: RISC-V: Improve code generation for MinI/MaxI nodes
+ - JDK-8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case
+ - JDK-8300584: Accelerate AVX-512 CRC32C for small buffers
+ - JDK-8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values
+ - JDK-8300693: Lower the compile threshold and reduce the iterations of warmup loop in VarHandles tests
+ - JDK-8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb
+ - JDK-8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler
+ - JDK-8301067: RISC-V: better error message when reporting unsupported satp modes
+ - JDK-8301074: Replace NULL with nullptr in share/opto/
+ - JDK-8301097: Update GHA XCode to 12.5.1
+ - JDK-8301153: RISC-V: pipeline class for several instructions is not set correctly
+ - JDK-8301167: Update VerifySignedJar to actually exercise and test verification
+ - JDK-8301187: Memory leaks in OopMapCache
+ - JDK-8301269: Update Commons BCEL to Version 6.7.0
+ - JDK-8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule
+ - JDK-8301367: Add exception handler method to the BaseLdapServer
+ - JDK-8301628: RISC-V: c2 fix pipeline class for several instructions
+ - JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit
+ - JDK-8301818: RISC-V: Factor out function mvw from MacroAssembler
+ - JDK-8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed
+ - JDK-8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work
+ - JDK-8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818
+ - JDK-8302150: Speed up compiler/codegen/Test7100757.java
+ - JDK-8302161: Upgrade jQuery UI to version 1.13.2
+ - JDK-8302182: Update Public Suffix List to 88467c9
+ - JDK-8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible
+ - JDK-8302736: Major performance regression in Math.log on aarch64
+ - JDK-8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET
+ - JDK-8303047: avoid NULL after 8301661
+ - JDK-8303154: Investigate and improve instruction cache flushing during compilation
+ - JDK-8303215: Make thread stacks not use huge pages
+ - JDK-8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if
+ - JDK-8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1
+ - JDK-8304314: StackWalkTest.java fails after CODETOOLS-7903373
+ - JDK-8304353: Add lib-test tier1 testing in GHA
+ - JDK-8304725: AsyncGetCallTrace can cause SIGBUS on M1
+ - JDK-8304845: Update PCSC-Lite for Suse Linux to 1.9.9 and fix incomplete license wording
+ - JDK-8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree()
+ - JDK-8305006: Use correct register in riscv_enc_fast_unlock()
+ - JDK-8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp
+ - JDK-8305112: RISC-V: Typo fix for RVC description
+ - JDK-8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051
+ - JDK-8305421: Work around JDK-8305420 in CDSJDITest.java
+ - JDK-8305425: Thread.isAlive0 doesn't need to call into the VM
+ - JDK-8305512: RISC-V: Enable RVC extension by default on supported hardware
+ - JDK-8305670: Performance regression in LockSupport.unpark with lots of idle threads
+ - JDK-8305728: RISC-V: Use bexti instruction to do single-bit testing
+ - JDK-8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance
+ - JDK-8305766: ProblemList runtime/CompressedOops/CompressedClassPointers.java
+ - JDK-8305858: Resolve multiple definition of 'handleSocketError' when statically linking with JDK native libraries
+ - JDK-8305950: Have -XshowSettings option display tzdata version
+ - JDK-8305995: Footprint regression from JDK-8224957
+ - JDK-8306060: Open source few AWT Insets related tests
+ - JDK-8306076: Open source AWT misc tests
+ - JDK-8306134: Open source some AWT tests relating to Button and a few other classes
+ - JDK-8306135: Clean up and open source some AWT tests
+ - JDK-8306137: Open source several AWT ScrollPane related tests
+ - JDK-8306281: function isWsl() returns false on WSL2
+ - JDK-8306372: Open source AWT CardLayout and Checkbox tests
+ - JDK-8306428: RunThese30M.java crashed with assert(early->flag() == current->flag() || early->flag() == mtNone)
+ - JDK-8306430: Open source some AWT tests related to TextComponent and Toolkit
+ - JDK-8306435: Juggle04/TestDescription.java should be a booleanArr test and not a byteArr one
+ - JDK-8306484: Open source several AWT Choice jtreg tests
+ - JDK-8306566: Open source several clipboard AWT tests
+ - JDK-8306575: Clean up and open source four Dialog related tests
+ - JDK-8306636: Disable compiler/c2/Test6905845.java with -XX:TieredStopAtLevel=3
+ - JDK-8306638: Open source some AWT tests related to datatransfer and Toolkit
+ - JDK-8306667: RISC-V: Fix storeImmN0 matching rule by using zr register
+ - JDK-8306682: Open source a few more AWT Choice tests
+ - JDK-8306718: Optimize and opensource some old AWT tests
+ - JDK-8306738: Select num workers for safepoint ParallelCleanupTask
+ - JDK-8306765: Some client related jtreg problem list entries are malformed
+ - JDK-8306812: Open source several AWT Miscellaneous tests
+ - JDK-8307067: remove broken EnableThreadSMRExtraValidityChecks option
+ - JDK-8307068: store a JavaThread* in the java.lang.Thread object after the JavaThread* is added to the main ThreadsList
+ - JDK-8307078: Opensource and clean up five more AWT Focus related tests
+ - JDK-8307079: Update test java/awt/Choice/DragOffNoSelect.java
+ - JDK-8307083: Open source some drag and drop tests 3
+ - JDK-8307147: [x86] Dangling pointer warning for Assembler::_attributes
+ - JDK-8307150: RISC-V: Remove remaining StoreLoad barrier with UseCondCardMark for Serial/Parallel GC
+ - JDK-8307156: native_thread not protected by TLH
+ - JDK-8307165: java/awt/dnd/NoFormatsDropTest/NoFormatsDropTest.java timed out
+ - JDK-8307299: Move more DnD tests to open
+ - JDK-8307301: Update HarfBuzz to 7.2.0
+ - JDK-8307348: Parallelize heap walk for ObjectCount(AfterGC) JFR event collection
+ - JDK-8307395: Add missing STS to Shenandoah
+ - JDK-8307446: RISC-V: Improve performance of floating point to integer conversion
+ - JDK-8307526: [JFR] Better handling of tampered JFR repository
+ - JDK-8307555: Reduce memory reads in x86 MD5 intrinsic
+ - JDK-8307569: Build with gcc8 is broken after JDK-8307301
+ - JDK-8307572: AArch64: Vector registers are clobbered by some macroassemblers
+ - JDK-8307603: [AIX] Broken build after JDK-8307301
+ - JDK-8307604: gcc12 based Alpine build broken build after JDK-8307301
+ - JDK-8307651: RISC-V: stringL_indexof_char instruction has wrong format string
+ - JDK-8307653: Adjust delay time and gc log argument in TestAbortOnVMOperationTimeout
+ - JDK-8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition
+ - JDK-8307766: Linux: Provide the option to override the timer slack
+ - JDK-8308089: [riscv-port-jdk17u] Intrinsify Unsafe.storeStoreFence
+ - JDK-8308090: Add container tests for on-the-fly resource quota updates
+ - JDK-8308152: PropertyDescriptor should work with overridden generic getter method
+ - JDK-8308156: VerifyCACerts.java misses blank in error output
+ - JDK-8308192: Error in parsing replay file when staticfield is an array of single dimension
+ - JDK-8308232: nsk/jdb tests don't pass -verbose flag to the debuggee
+ - JDK-8308277: RISC-V: Improve vectorization of Match.sqrt() on floats
+ - JDK-8308283: Build failure with GCC12 & GCC13
+ - JDK-8308300: enhance exceptions in MappedMemoryUtils.c
+ - JDK-8308643: Incorrect value of 'used' jvmstat counter
+ - JDK-8308766: TLAB initialization may cause div by zero
+ - JDK-8308803: Improve java/util/UUID/UUIDTest.java
+ - JDK-8308872: enhance logging and some exception in krb5/Config.java
+ - JDK-8308997: RISC-V: Sign extend when comparing 32-bit value with zero instead of testing the sign bit
+ - JDK-8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
+ - JDK-8309095: Remove UTF-8 character from TaskbarPositionTest.java
+ - JDK-8309107: Bump update version for OpenJDK: jdk-17.0.9
+ - JDK-8309119: [17u/11u] Redo JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication
+ - JDK-8309138: Fix container tests for jdks with symlinked conf dir
+ - JDK-8309228: Clarify EXPERIMENTAL flags comment in hotspot/share/runtime/globals.hpp
+ - JDK-8309254: Implement fast-path for ASCII-compatible CharsetEncoders on RISC-V
+ - JDK-8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer
+ - JDK-8309297: Adjust ShenandoahHeap print_heap_regions_on
+ - JDK-8309340: Provide sctpHandleSocketErrorWithMessage
+ - JDK-8309427: [riscv-port-jdk17u] Remove unused RoundDoubleModeV C2 node
+ - JDK-8309550: jdk.jfr.internal.Utils::formatDataAmount method should gracefully handle amounts equal to Long.MIN_VALUE
+ - JDK-8309591: Socket.setOption(TCP_QUICKACK) uses wrong level
+ - JDK-8309613: [Windows] hs_err files sometimes miss information about the code containing the error
+ - JDK-8309746: Reconfigure check should include make/conf/version-numbers.conf
+ - JDK-8309862: Unsafe list operations in JfrStringPool
+ - JDK-8309956: Shenandoah: Strengthen the mark word check in string dedup
+ - JDK-8309959: JFR: Display N/A for missing data amount
+ - JDK-8310054: ScrollPane insets are incorrect
+ - JDK-8310126: C1: Missing receiver null check in Reference::get intrinsic
+ - JDK-8310259: Pin msys2/setup-msys2 github action to a specific commit
+ - JDK-8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns
+ - JDK-8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt
+ - JDK-8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V
+ - JDK-8311033: [macos] PrinterJob does not take into account Sides attribute
+ - JDK-8311249: Remove unused MemAllocator::obj_memory_range
+ - JDK-8311285: report some fontconfig related environment variables in hs_err file
+ - JDK-8311689: Wrong visible amount in Adjustable of ScrollPane
+ - JDK-8311862: RISC-V: small improvements to shift immediate instructions
+ - JDK-8311923: TestIRMatching.java fails on RISC-V
+ - JDK-8312029: Add CriticalNative tests to ProblemList for 8312028
+ - JDK-8312511: GHA: Bump cross-compile runner to Ubuntu 22.04
+ - JDK-8312525: New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction
+ - JDK-8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
+ - JDK-8313262: C2: Sinking node may cause required cast to be dropped
+ - JDK-8313402: C1: Incorrect LoadIndexed value numbering
+ - JDK-8313428: GHA: Bump GCC versions for July 2023 updates
+ - JDK-8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0
+ - JDK-8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly
+ - JDK-8313678: SymbolTable can leak Symbols during cleanup
+ - JDK-8313701: GHA: RISC-V should use the official repository for bootstrap
+ - JDK-8313707: GHA: Bootstrap sysroots with --variant=minbase
+ - JDK-8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer
+ - JDK-8313815: The exception messages printed by jcmd ManagementAgent.start are corrupted on Japanese Windows
+ - JDK-8313874: JNI NewWeakGlobalRef throws exception for null arg
+ - JDK-8314020: Print instruction blocks in byte units
+ - JDK-8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java
+ - JDK-8314118: Update JMH devkit to 1.37
+ - JDK-8314262: GHA: Cut down cross-compilation sysroots deeper
+ - JDK-8314426: runtime/os/TestTrimNative.java is failing on slow machines
+ - JDK-8314501: Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails
+ - JDK-8314517: some tests fail in case ipv6 is disabled on the machine
+ - JDK-8314552: Fix javadoc tests to work with jtreg 7
+ - JDK-8314658: [17u] GHA: Sync up debian-version for cross-builds
+ - JDK-8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev
+ - JDK-8314960: Add Certigna Root CA - 2
+ - JDK-8317040: Exclude cleaner test failing on older releases
+ - JDK-8317643: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.9
+
+Notes on individual issues:
+===========================
+
+hotspot/compiler:
+
+JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port
+=========================================================
+https://openjdk.org/jeps/422
+
+RISC-V is a free and open-source RISC instruction set architecture
+(ISA) designed originally at the University of California, Berkeley,
+and now developed collaboratively under the sponsorship of RISC-V
+International. It is already supported by a wide range of language
+toolchains. With the increasing availability of RISC-V hardware, the
+JDK port has been backported to 17u, following introduction in 19.
+
+security-libs/javax.net.ssl:
+
+JDK-8301700: The Default TLS Diffie-Hellman Group Size Has Been Increased from 1024-bit to 2048-bit
+===================================================================================================
+The JDK implementation of TLS 1.2 now uses a default Diffie Hellman
+keysize of 2048 bits when a TLS_DHE cipher suite is negotiated and
+either the client or server does not support FFDHE.
+
+The JDK TLS implementation supports FFDHE, which can negotiate a
+stronger keysize, and this is enabled by default.
+
+As a workaround, users can revert to the previous key size by setting
+the `jdk.tls.ephemeralDHKeySize` system property to 1024 (at their own
+risk).
+
+This change does not affect TLS 1.3 as the minimum DH group size is
+already 2048 bits.
+
+tools/launcher:
+
+JDK-8305950: `-XshowSettings:locale` Output Now Includes Tzdata Version
+=======================================================================
+The `-XshowSettings` launcher option has been enhanced to print the
+tzdata version used by the JDK. The tzdata version is displayed as
+part of the `locale` showSettings option.
+
+Example output using `-X:showSettings:locale`:
+
+Locale settings:
+ default locale = English
+ default display locale = English
+ default format locale = English
+ tzdata version = 2023c
+
+security-libs/java.security:
+
+JDK-8295894: Removed SECOM Trust System's RootCA1 Root Certificate
+==================================================================
+The following root certificate from SECOM Trust System has been
+removed from the `cacerts` keystore:
+
+Alias Name: secomscrootca1 [jdk]
+Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
+
+JDK-8314960: Added Certigna Root CA Certificate
+===============================================
+The following root certificate has been added to the cacerts
+truststore:
+
+Name: Certigna (Dhimyotis)
+Alias Name: certignarootca
+Distinguished Name: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
+
+New in release OpenJDK 17.0.8.1 (2023-08-24):
+=============================================
+Live versions of these release notes can be found at:
+ * https://bit.ly/openjdk17081
+
+* Other changes
+ - JDK-8313765: Invalid CEN header (invalid zip64 extra data field size)
+ - JDK-8314677: Bump update version for OpenJDK: jdk-17.0.8.1
+
+Notes on individual issues:
+===========================
+
+core-libs/java.util.jar:
+
+JDK-8313765: Invalid CEN header (invalid zip64 extra data field size)
+=====================================================================
+Additional validity checks in the handling of Zip64 files,
+JDK-8302483, introduced in 17.0.8, caused the use of some valid zip
+files to now fail with the error, `Invalid CEN header (invalid zip64
+extra data field size)`
+
+This release, 17.0.8.1, allows for zero length headers and additional
+padding produced by some Zip64 creation tools.
+
+The following third party tools have also released patches to better
+adhere to the ZIP File Format Specification:
+
+* Apache Commons Compress fix for Empty CEN Zip64 Extra Headers fixed in Commons Compress release 1.11
+* Apache Ant fix for Empty CEN Zip64 Extra Headers fixed in Ant 1.10.14
+* BND issue with writing invalid Extra Headers fixed in BND 5.3
+
+The maven-bundle-plugin 5.1.5 includes the BND 5.3 patch.
+
+If these improved validation checks cause issues for deployed zip or
+jar files, check how the file was created and whether patches are
+available from the generating software to resolve the issue. With
+both JDK releases, the checks can be disabled by setting the new
+system property, `jdk.util.zip.disableZip64ExtraFieldValidation` to
+`true`.
+
New in release OpenJDK 17.0.8 (2023-07-18):
===========================================
Live versions of these release notes can be found at:
@@ -2913,4 +3397,3 @@ its introduction and the effort required to maintain it is
significant. Retain the experimental Java-level JVM compiler
interface (JVMCI) so that developers can continue to use
externally-built versions of the compiler for JIT compilation.
-
diff --git a/discover_trees.sh b/discover_trees.sh
new file mode 100755
index 0000000..8c31278
--- /dev/null
+++ b/discover_trees.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Copyright (C) 2020 Red Hat, Inc.
+# Written by Andrew John Hughes <gnu.andrew(a)redhat.com>.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+TREE=${1}
+
+if test "x${TREE}" = "x"; then
+ TREE=${PWD}
+fi
+
+if [ -e ${TREE}/nashorn/.hg -o -e ${TREE}/nashorn/merge.changeset ] ; then
+ NASHORN="nashorn" ;
+fi
+
+if [ -e ${TREE}/corba/.hg -o -e ${TREE}/corba/merge.changeset ] ; then
+ CORBA="corba";
+fi
+
+if [ -e ${TREE}/jaxp/.hg -o -e ${TREE}/jaxp/merge.changeset ] ; then
+ JAXP="jaxp";
+fi
+
+if [ -e ${TREE}/jaxws/.hg -o -e ${TREE}/jaxws/merge.changeset ] ; then
+ JAXWS="jaxws";
+fi
+
+if [ -e ${TREE}/langtools/.hg -o -e ${TREE}/langtools/merge.changeset ] ; then
+ LANGTOOLS="langtools";
+fi
+
+if [ -e ${TREE}/jdk/.hg -o -e ${TREE}/jdk/merge.changeset ] ; then
+ JDK="jdk";
+fi
+
+if [ -e ${TREE}/hotspot/.hg -o -e ${TREE}/hotspot/merge.changeset ] ; then
+ HOTSPOT="hotspot";
+fi
+
+SUBTREES="${CORBA} ${JAXP} ${JAXWS} ${LANGTOOLS} ${NASHORN} ${JDK} ${HOTSPOT}";
+echo ${SUBTREES}
diff --git a/fips-17u-bf363eecce3.patch b/fips-17u-51e1d00be4e.patch
similarity index 99%
rename from fips-17u-bf363eecce3.patch
rename to fips-17u-51e1d00be4e.patch
index cd8565c..da1df4d 100644
--- a/fips-17u-bf363eecce3.patch
+++ b/fips-17u-51e1d00be4e.patch
@@ -116,7 +116,7 @@ index 00000000000..f48fc7f7e80
+ AC_SUBST(NSS_LIBDIR)
+])
diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
-index a65d91ee974..a8f054c1397 100644
+index 366682cf044..1f8d782f419 100644
--- a/make/autoconf/libraries.m4
+++ b/make/autoconf/libraries.m4
@@ -33,6 +33,7 @@ m4_include([lib-std.m4])
@@ -2508,7 +2508,7 @@ index 00000000000..dc8bc72fccb
+ }
+}
diff --git a/src/java.base/share/conf/security/java.security b/src/java.base/share/conf/security/java.security
-index fab52688c04..29337576f37 100644
+index 9be02033877..4dd055a9ccf 100644
--- a/src/java.base/share/conf/security/java.security
+++ b/src/java.base/share/conf/security/java.security
@@ -82,6 +82,17 @@ security.provider.tbd=Apple
@@ -3496,7 +3496,7 @@ index 00000000000..f8d505ca815
+}
\ No newline at end of file
diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
-index 9b69072280e..5696b904979 100644
+index 0736ce997e4..0a937fef377 100644
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
@@ -37,6 +37,8 @@ import javax.crypto.*;
@@ -3518,18 +3518,18 @@ index 9b69072280e..5696b904979 100644
private static final long serialVersionUID = -2575874101938349339L;
private static final String PUBLIC = "public";
-@@ -136,9 +141,7 @@ abstract class P11Key implements Key, Length {
+@@ -139,9 +144,7 @@ abstract class P11Key implements Key, Length {
this.tokenObject = tokenObject;
this.sensitive = sensitive;
this.extractable = extractable;
- char[] tokenLabel = this.token.tokenInfo.label;
-- boolean isNSS = (tokenLabel[0] == 'N' && tokenLabel[1] == 'S'
+- isNSS = (tokenLabel[0] == 'N' && tokenLabel[1] == 'S'
- && tokenLabel[2] == 'S');
-+ boolean isNSS = P11Util.isNSS(this.token);
++ isNSS = P11Util.isNSS(this.token);
boolean extractKeyInfo = (!DISABLE_NATIVE_KEYS_EXTRACTION && isNSS &&
extractable && !tokenObject);
this.keyIDHolder = new NativeKeyHolder(this, keyID, session,
-@@ -379,7 +382,9 @@ abstract class P11Key implements Key, Length {
+@@ -383,7 +386,9 @@ abstract class P11Key implements Key, Length {
new CK_ATTRIBUTE(CKA_SENSITIVE),
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
});
@@ -3540,13 +3540,13 @@ index 9b69072280e..5696b904979 100644
return new P11PrivateKey
(session, keyID, algorithm, keyLength, attributes);
} else {
-@@ -461,7 +466,8 @@ abstract class P11Key implements Key, Length {
+@@ -465,7 +470,8 @@ abstract class P11Key implements Key, Length {
}
public String getFormat() {
token.ensureValid();
-- if (sensitive || (extractable == false)) {
+- if (sensitive || !extractable || (isNSS && tokenObject)) {
+ if (!plainKeySupportEnabled &&
-+ (sensitive || (extractable == false))) {
++ (sensitive || !extractable || (isNSS && tokenObject))) {
return null;
} else {
return "RAW";
diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh
index fc8662a..7ff27d6 100755
--- a/generate_source_tarball.sh
+++ b/generate_source_tarball.sh
@@ -8,7 +8,7 @@
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
# PROJECT_NAME=openjdk
# REPO_NAME=jdk17u
-# VERSION=jdk-17.0.7+7
+# VERSION=jdk-17.0.7+9
# or to eg prepare systemtap:
# icedtea7's jstack and other tapsets
# VERSION=6327cf1cea9e
@@ -29,8 +29,6 @@ set -e
OPENJDK_URL_DEFAULT=https://github.com
COMPRESSION_DEFAULT=xz
-# Corresponding IcedTea version
-ICEDTEA_VERSION=12.0
if [ "x$1" = "xhelp" ] ; then
echo -e "Behaviour may be specified by setting the following variables:\n"
@@ -40,8 +38,8 @@ if [ "x$1" = "xhelp" ] ; then
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
- echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME)"
- echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
+ echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
+ echo "TO_COMPRESS - what part of clone to pack (default is ${VERSION})"
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
exit 1;
fi
@@ -52,6 +50,7 @@ if [ "x$VERSION" = "x" ] ; then
exit 2
fi
echo "Version: ${VERSION}"
+
NUM_VER=${VERSION##jdk-}
RELEASE_VER=${NUM_VER%%+*}
BUILD_VER=${NUM_VER##*+}
@@ -117,8 +116,8 @@ if [ "x$REPO_ROOT" = "x" ] ; then
fi;
if [ "x$TO_COMPRESS" = "x" ] ; then
- TO_COMPRESS="openjdk"
- echo "No targets to be compressed specified, ; default to ${TO_COMPRESS}"
+ TO_COMPRESS="${VERSION}"
+ echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
fi;
echo -e "Settings:"
@@ -140,9 +139,10 @@ else
mkdir "${FILE_NAME_ROOT}"
pushd "${FILE_NAME_ROOT}"
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
- git clone -b ${VERSION} ${REPO_ROOT} openjdk
+ git clone -b ${VERSION} ${REPO_ROOT} ${VERSION}
popd
fi
+
pushd "${FILE_NAME_ROOT}"
# Generate .src-rev so build has knowledge of the revision the tarball was created from
mkdir build
@@ -153,22 +153,22 @@ pushd "${FILE_NAME_ROOT}"
rm -rf build
# Remove commit checks
- echo "Removing $(find openjdk -name '.jcheck' -print)"
- find openjdk -name '.jcheck' -print0 | xargs -0 rm -rf
+ echo "Removing $(find ${VERSION} -name '.jcheck' -print)"
+ find ${VERSION} -name '.jcheck' -print0 | xargs -0 rm -r
# Remove history and GHA
- echo "find openjdk -name '.hgtags'"
- find openjdk -name '.hgtags' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.hgignore'"
- find openjdk -name '.hgignore' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.gitattributes'"
- find openjdk -name '.gitattributes' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.gitignore'"
- find openjdk -name '.gitignore' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.git'"
- find openjdk -name '.git' -exec rm -rfv '{}' '+'
- echo "find openjdk -name '.github'"
- find openjdk -name '.github' -exec rm -rfv '{}' '+'
+ echo "find ${VERSION} -name '.hgtags'"
+ find ${VERSION} -name '.hgtags' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.hgignore'"
+ find ${VERSION} -name '.hgignore' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.gitattributes'"
+ find ${VERSION} -name '.gitattributes' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.gitignore'"
+ find ${VERSION} -name '.gitignore' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.git'"
+ find ${VERSION} -name '.git' -exec rm -rfv '{}' '+'
+ echo "find ${VERSION} -name '.github'"
+ find ${VERSION} -name '.github' -exec rm -rfv '{}' '+'
echo "Compressing remaining forest"
if [ "X$COMPRESSION" = "Xxz" ] ; then
diff --git a/icedtea_sync.sh b/icedtea_sync.sh
index e5c54f3..c1b8f6a 100755
--- a/icedtea_sync.sh
+++ b/icedtea_sync.sh
@@ -1,192 +1 @@
-#!/bin/bash
-
-# Copyright (C) 2019 Red Hat, Inc.
-# Written by Andrew John Hughes <gnu.andrew(a)redhat.com>.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-ICEDTEA_USE_VCS=true
-
-ICEDTEA_VERSION=3.15.0
-ICEDTEA_URL=https://icedtea.classpath.org/download/source
-ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
-
-ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea11
-
-set -e
-
-RPM_DIR=${PWD}
-if [ ! -f ${RPM_DIR}/jconsole.desktop.in ] ; then
- echo "Not in RPM source tree.";
- exit 1;
-fi
-
-if test "x${TMPDIR}" = "x"; then
- TMPDIR=/tmp;
-fi
-WORKDIR=${TMPDIR}/it.sync
-
-echo "Using working directory ${WORKDIR}"
-mkdir ${WORKDIR}
-pushd ${WORKDIR}
-
-if test "x${WGET}" = "x"; then
- WGET=$(which wget);
- if test "x${WGET}" = "x"; then
- echo "wget not found";
- exit 1;
- fi
-fi
-
-if test "x${TAR}" = "x"; then
- TAR=$(which tar)
- if test "x${TAR}" = "x"; then
- echo "tar not found";
- exit 2;
- fi
-fi
-
-echo "Dependencies:";
-echo -e "\tWGET: ${WGET}";
-echo -e "\tTAR: ${TAR}\n";
-
-if test "x${ICEDTEA_USE_VCS}" = "xtrue"; then
- echo "Mode: Using VCS";
-
- if test "x${GREP}" = "x"; then
- GREP=$(which grep);
- if test "x${GREP}" = "x"; then
- echo "grep not found";
- exit 3;
- fi
- fi
-
- if test "x${CUT}" = "x"; then
- CUT=$(which cut);
- if test "x${CUT}" = "x"; then
- echo "cut not found";
- exit 4;
- fi
- fi
-
- if test "x${TR}" = "x"; then
- TR=$(which tr);
- if test "x${TR}" = "x"; then
- echo "tr not found";
- exit 5;
- fi
- fi
-
- if test "x${HG}" = "x"; then
- HG=$(which hg);
- if test "x${HG}" = "x"; then
- echo "hg not found";
- exit 6;
- fi
- fi
-
- echo "Dependencies:";
- echo -e "\tGREP: ${GREP}";
- echo -e "\tCUT: ${CUT}";
- echo -e "\tTR: ${TR}";
- echo -e "\tHG: ${HG}";
-
- echo "Checking out repository from VCS...";
- ${HG} clone ${ICEDTEA_HG_URL} icedtea
-
- echo "Obtaining version from configure.ac...";
- ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
- echo "Root version from configure: ${ROOT_VER}";
-
- VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
- echo "VCS revision: ${VCS_REV}";
-
- ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
- echo "Creating icedtea-${ICEDTEA_VERSION}";
- mkdir icedtea-${ICEDTEA_VERSION}
- echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
- # Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
- #cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
- cp -a ${RPM_DIR}/jconsole.desktop.in icedtea-${ICEDTEA_VERSION}
- cp -a icedtea/tapset icedtea-${ICEDTEA_VERSION}
-
- rm -rf icedtea
-else
- echo "Mode: Using tarball";
-
- if test "x${ICEDTEA_VERSION}" = "x"; then
- echo "No IcedTea version specified for tarball download.";
- exit 3;
- fi
-
- if test "x${CHECKSUM}" = "x"; then
- CHECKSUM=$(which sha256sum)
- if test "x${CHECKSUM}" = "x"; then
- echo "sha256sum not found";
- exit 4;
- fi
- fi
-
- if test "x${PGP}" = "x"; then
- PGP=$(which gpg)
- if test "x${PGP}" = "x"; then
- echo "gpg not found";
- exit 5;
- fi
- fi
-
- echo "Dependencies:";
- echo -e "\tCHECKSUM: ${CHECKSUM}";
- echo -e "\tPGP: ${PGP}\n";
-
- echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
- if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
- echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
- exit 6;
- fi
-
- echo "Downloading IcedTea release tarball...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
- echo "Downloading IcedTea tarball signature...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
- echo "Downloading IcedTea tarball checksums...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
-
- echo "Verifying checksums...";
- ${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
-
- echo "Checking signature...";
- ${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
-
- echo "Extracting files...";
- ${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
- icedtea-${ICEDTEA_VERSION}/tapset \
- icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in
-
- rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
- rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
- rm -vf icedtea-${ICEDTEA_VERSION}.sha256
-fi
-
-echo "Replacing desktop files...";
-mv -v icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in ${RPM_DIR}
-
-echo "Creating new tapset tarball...";
-mv -v icedtea-${ICEDTEA_VERSION} openjdk
-${TAR} cJf ${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz openjdk
-
-rm -rvf openjdk
-
-popd
-rm -rf ${WORKDIR}
+# this file is intentionally not here, as portable builds do not have desktop integration
diff --git a/java-17-openjdk-portable.spec b/java-17-openjdk-portable.spec
index 655ccd1..c4526aa 100644
--- a/java-17-openjdk-portable.spec
+++ b/java-17-openjdk-portable.spec
@@ -30,7 +30,7 @@
# Enable static library builds by default.
%bcond_without staticlibs
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
-%bcond_without fresh_libjvm
+%bcond_with fresh_libjvm
# Build with system libraries
%bcond_with system_libs
@@ -41,8 +41,6 @@
%define __os_install_post %{nil}
%endif
-%global unpacked_licenses %{_datarootdir}/licenses
-
# Workaround for stripping of debug symbols from static libraries
%if %{with staticlibs}
%define __brp_strip_static_archive %{nil}
@@ -66,10 +64,6 @@
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
%global _find_debuginfo_opts -g
-# With LTO flags enabled, debuginfo checks fail for some reason. Disable
-# LTO for a passing build. This really needs to be looked at.
-%define _lto_cflags %{nil}
-
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
# see the difference between global and define:
@@ -147,16 +141,16 @@
# Set of architectures which support the serviceability agent
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
# Set of architectures which support class data sharing
-# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
-# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
-%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
+# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
+# However, it does segfault on the Zero assembler port, so currently JIT only
+%global share_arches %{jit_arches}
# Set of architectures for which we build the Shenandoah garbage collector
%global shenandoah_arches x86_64 %{aarch64}
# Set of architectures for which we build the Z garbage collector
%global zgc_arches x86_64
# Set of architectures for which alt-java has SSB mitigation
%global ssbd_arches x86_64
-# Set of architectures for which java has short vector math library (libsvml.so)
+# Set of architectures for which java has short vector math library (libjsvml.so)
%global svml_arches x86_64
# Set of architectures where we verify backtraces with gdb
# s390x fails on RHEL 7 so we exclude it there
@@ -166,7 +160,7 @@
%global gdb_arches %{jit_arches} %{zero_arches}
%endif
-# By default, we build a debug build during main build on JIT architectures
+# By default, we build a slowdebug build during main build on JIT architectures
%if %{with slowdebug}
%ifarch %{debug_arches}
%global include_debug_build 1
@@ -237,17 +231,24 @@
%global static_libs_target %{nil}
%endif
-# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
-%global debug_symbols internal
-
-# unlike portables,the rpms have to use static_libs_target very dynamically
-%global bootstrap_targets images legacy-jre-image
-%global release_targets images docs-zip legacy-jre-image
+# The static libraries are produced under the same configuration as the main
+# build for portables, as we expect in-tree libraries to be used throughout.
+# If system libraries are enabled, the static libraries will also use them
+# which may cause issues.
+%global bootstrap_targets images %{static_libs_target} legacy-jre-image
+%global release_targets images docs-zip %{static_libs_target} legacy-jre-image
# No docs nor bootcycle for debug builds
-%global debug_targets images legacy-jre-image
+%global debug_targets images %{static_libs_target} legacy-jre-image
# Target to use to just build HotSpot
%global hotspot_target hotspot
+# DTS toolset to use to provide gcc & binutils
+%global dtsversion 10
+
+# Disable LTO as this causes build failures at the moment.
+# See RHBZ#1861401
+%define _lto_cflags %{nil}
+
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
@@ -333,20 +334,20 @@
# New Version-String scheme-style defines
%global featurever 17
%global interimver 0
-%global updatever 8
+%global updatever 9
%global patchver 0
# buildjdkver is usually same as %%{featurever},
# but in time of bootstrap of next jdk, it is featurever-1,
# and this it is better to change it here, on single place
-%global buildjdkver %{featurever}
+%global buildjdkver 17
# We don't add any LTS designator for STS packages (Fedora and EPEL).
# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
%if 0%{?rhel} && !0%{?epel}
%global lts_designator "LTS"
%global lts_designator_zip -%{lts_designator}
%else
- %global lts_designator ""
- %global lts_designator_zip ""
+ %global lts_designator ""
+ %global lts_designator_zip ""
%endif
# JDK to use for bootstrapping
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
@@ -372,26 +373,34 @@
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name...
%else
%if 0%{?rhel}
-%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%...
+%global oj_vendor_bug_url https://access.redhat.com/support/cases/
%else
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
%endif
%endif
%endif
-%global oj_vendor_version (Red_Hat-%{version}-%{release})
+%global oj_vendor_version (Red_Hat-%{version}-%{rpmrelease})
# Define IcedTea version used for SystemTap tapsets and desktop file
%global icedteaver 6.0.0pre00-c848b93a8598
# Define current Git revision for the FIPS support patches
-%global fipsver bf363eecce3
+%global fipsver 51e1d00be4e
+# Define JDK versions
+%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
+%global javaver %{featurever}
+# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
+%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
+# The tag used to create the OpenJDK tarball
+%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Standard JPackage naming and versioning defines
%global origin openjdk
%global origin_nice OpenJDK
-%global top_level_dir_name %{origin}
+%global top_level_dir_name %{vcstag}
%global top_level_dir_name_backup %{top_level_dir_name}-backup
-%global buildver 7
-%global rpmrelease 1
+%global buildver 9
+%global rpmrelease 2
+#%%global tagsuffix %%{nil}
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
%if %is_system_jdk
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
@@ -404,14 +413,6 @@
# for techpreview, using 1, so slowdebugs can have 0
%global priority %( printf '%08d' 1 )
%endif
-%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
-%global javaver %{featurever}
-
-# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
-%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
-
-# The tag used to create the OpenJDK tarball
-%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Define milestone (EA for pre-releases, GA for releases)
# Release will be (where N is usually a number starting at 1):
@@ -421,7 +422,7 @@
%if %{is_ga}
%global build_type GA
%global ea_designator ""
-%global ea_designator_zip ""
+%global ea_designator_zip %{nil}
%global extraver %{nil}
%global eaprefix %{nil}
%else
@@ -438,12 +439,10 @@
# images directories from upstream build
%global jdkimage jdk
%global static_libs_image static-libs
-# installation directory for static libraries
-%global static_libs_root lib/static
-%global static_libs_arch_dir %{static_libs_root}/linux-%{archinstall}
-%global static_libs_install_dir %{static_libs_arch_dir}/glibc
# output dir stub
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
+%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
+%define packageoutputdir() %{expand:packages/jdk%{featurever}.packages%{?1}}
# we can copy the javadoc to not arched dir, or make it not noarch
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
# main id and dir of this jdk
@@ -464,6 +463,10 @@
# Intentionally use jdkportablenameimpl here since we want to have static-libs files overlayed on
# top of the JDK archive
%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
+%define docportablename() %(echo %{uniquesuffix ""} | sed "s;%{version}-%{release};\\0.portable.docs;g" | sed "s;openjdkportable;el;g")
+%define docportablearchive() %{docportablename}.tar.xz
+%define miscportablename() %(echo %{uniquesuffix ""} | sed "s;%{version}-%{release};\\0.portable.misc;g" | sed "s;openjdkportable;el;g")
+%define miscportablearchive() %{miscportablename}.tar.xz
# RPM 4.19 no longer accept our double percentaged %%{nil} passed to %%{1}
# so we have to pass in "" but evaluate it, otherwise files record will include it
@@ -493,6 +496,12 @@
%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
%endif
+# VM variant being built
+%ifarch %{zero_arches}
+%global vm_variant zero
+%else
+%global vm_variant server
+%endif
%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
@@ -515,20 +524,6 @@
%global alternatives_requires %{_sbindir}/alternatives
%endif
-%if %{with_systemtap}
-# Where to install systemtap tapset (links)
-# We would like these to be in a package specific sub-dir,
-# but currently systemtap doesn't support that, so we have to
-# use the root tapset dir for now. To distinguish between 64
-# and 32 bit architectures we place the tapsets under the arch
-# specific dir (note that systemtap will only pickup the tapset
-# for the primary arch for now). Systemtap uses the machine name
-# aka target_cpu as architecture specific directory name.
-%global tapsetroot /usr/share/systemtap
-%global tapsetdirttapset %{tapsetroot}/tapset/
-%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
-%endif
-
# x86 is no longer supported
%if 0%{?java_arches:1}
ExclusiveArch: %{java_arches}
@@ -536,8 +531,8 @@ ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
%endif
-# Portables have no rpo (requires/provides), but thsoe are awesome for orientation in spec
-# also scriptlets are hapily missing and files are handled old fashion
+# Portables have no repo (requires/provides), but these are awesome for orientation in spec
+# Also scriptlets are happily missing and files are handled old fashion
# not-duplicated requires/provides/obsoletes for normal/debug packages
%define java_rpo() %{expand:
}
@@ -548,14 +543,18 @@ ExcludeArch: %{ix86}
%define java_static_libs_rpo() %{expand:
}
+%define java_unstripped_rpo() %{expand:
+}
+
+%define java_docs_rpo() %{expand:
+}
+
+%define java_misc_rpo() %{expand:
+}
# Prevent brp-java-repack-jars from being run
%global __jar_repack 0
-# portables have grown out of its component, moving back to java-x-vendor
-# this expression, when declared as global, filled component with java-x-vendor portable
-%define component %(echo %{name} | sed "s;-portable;;g")
-
Name: java-%{javaver}-%{origin}-portable
Version: %{newjavaver}.%{buildver}
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
@@ -570,6 +569,11 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
Epoch: 1
+
+# portables have grown out of its component, moving back to java-x-vendor
+# this expression, when declared as global, filled component with java-x-vendor portable
+%define component %(echo %{name} | sed "s;-portable;;g")
+
Summary: %{origin_nice} %{featurever} Runtime Environment portable edition
# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
@@ -593,9 +597,8 @@ Group: Development/Languages
License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA
URL: http://openjdk.java.net/
-
# The source tarball, generated using generate_source_tarball.sh
-Source0: openjdk-jdk%{featurever}u-%{vcstag}.tar.xz
+Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_de...
# Use 'icedtea_sync.sh' to update the following
# They are based on code contained in the IcedTea project (6.x).
@@ -614,8 +617,7 @@ Source10: NEWS
Source11: nss.cfg.in
# Removed libraries that we link instead
-# Disabled in portables
-#Source12: remove-intree-libraries.sh
+Source12: remove-intree-libraries.sh
# Ensure we aren't using the limited crypto policy
Source13: TestCryptoLevel.java
@@ -629,37 +631,22 @@ Source15: TestSecurityProperties.java
# Ensure vendor settings are correct
Source16: CheckVendor.java
-# nss fips configuration file
-Source17: nss.fips.cfg.in
-
# Ensure translations are available for new timezones
Source18: TestTranslations.java
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-# boot jdk for portable build root on
-Source1001: ojdk17-aarch64-17.35.tar.gz
-Source1002: ojdk17-ppc64le-17.35.tar.gz
-Source1003: ojdk17-x86_64-17.35.tar.gz
-Source1004: ojdk17-s390x-17.35.tar.gz
-%endif
-
############################################
#
# RPM/distribution specific patches
#
############################################
-# NSS via SunPKCS11 Provider (disabled comment
-# due to memory leak).
-Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
-# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
-Patch600: rh1750419-redhat_alt_java.patch
-
# Ignore AWTError when assistive technologies are loaded
Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
-# Restrict access to java-atk-wrapper classes
-Patch2: rh1648644-java_access_bridge_privileged_security.patch
Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
+# NSS via SunPKCS11 Provider (disabled due to memory leak).
+Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
+# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
+Patch600: rh1750419-redhat_alt_java.patch
# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
@@ -707,12 +694,27 @@ Patch1001: fips-17u-%{fipsver}.patch
#
#############################################
+# Currently empty
+
+#############################################
+#
+# OpenJDK patches appearing in 17.0.10
+#
+#############################################
+# JDK-8312489, OJ2095: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
+Patch2000: jdk8312489-max_sig_default_increase.patch
+
#############################################
#
-# OpenJDK patches appearing in 17.0.8
+# Portable build specific patches
+#
+#############################################
+
+#############################################
+#
+# OpenJDK patches targetted for 17.0.6
#
#############################################
-Patch2003: jdk8305995-footprint_regression_from_jdk_8224957
BuildRequires: autoconf
BuildRequires: automake
@@ -722,11 +724,11 @@ BuildRequires: cups-devel
BuildRequires: desktop-file-utils
# elfutils only are OK for build without AOT
BuildRequires: elfutils-devel
+BuildRequires: file
BuildRequires: fontconfig-devel
-BuildRequires: freetype-devel
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-BuildRequires: devtoolset-8-gcc
-BuildRequires: devtoolset-8-gcc-c++
+BuildRequires: devtoolset-%{dtsversion}-gcc
+BuildRequires: devtoolset-%{dtsversion}-gcc-c++
%else
BuildRequires: gcc
# gcc-c++ is already needed
@@ -746,12 +748,11 @@ BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXt-devel
BuildRequires: libXtst-devel
-# Requirement for setting up nss.cfg and nss.fips.cfg
+# Requirement for setting up nss.cfg
BuildRequires: nss-devel
# Requirement for system security property test
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-BuildRequires: crypto-policies
-%endif
+# N/A for portable. RHEL7 doesn't provide them
+#BuildRequires: crypto-policies
BuildRequires: pkgconfig
BuildRequires: xorg-x11-proto-devel
BuildRequires: zip
@@ -761,16 +762,18 @@ BuildRequires: unzip
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
# No javapackages-filesystem on el7,nor is needed for portables
%else
-BuildRequires: javapackages-filesystem
+# BuildRequires: javapackages-filesystem
BuildRequires: java-%{buildjdkver}-openjdk-devel
%endif
# Zero-assembler build requirement
%ifarch %{zero_arches}
BuildRequires: libffi-devel
%endif
+# Full documentation build requirements
+BuildRequires: graphviz
+BuildRequires: pandoc
# 2023c required as of JDK-8305113
BuildRequires: tzdata-java >= 2023c
-
# cacerts build requirement in portable mode
BuildRequires: ca-certificates
# Earlier versions have a bug in tree vectorization on PPC
@@ -789,18 +792,18 @@ BuildRequires: lcms2-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
%else
-# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
-Provides: bundled(freetype) = 2.12.1
+# Version in src/java.desktop/share/legal/freetype.md
+Provides: bundled(freetype) = 2.13.0
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
Provides: bundled(giflib) = 5.2.1
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
-Provides: bundled(harfbuzz) = 4.4.1
+Provides: bundled(harfbuzz) = 7.2.0
# Version in src/java.desktop/share/native/liblcms/lcms2.h
-Provides: bundled(lcms2) = 2.12.0
+Provides: bundled(lcms2) = 2.15.0
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
Provides: bundled(libjpeg) = 6b
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
-Provides: bundled(libpng) = 1.6.37
+Provides: bundled(libpng) = 1.6.39
# We link statically against libstdc++ to increase portability
BuildRequires: libstdc++-static
%endif
@@ -875,7 +878,7 @@ Group: Development/Tools
%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
%description devel-fastdebug
-The %{origin_nice} %{featurever} development tools - portable edition.
+The %{origin_nice} %{featurever} runtime environment and development tools - portable edition
%{fastdebug_warning}
%endif
@@ -883,7 +886,7 @@ The %{origin_nice} %{featurever} development tools - portable edition.
%if %{include_normal_build}
%package static-libs
-Summary: %{origin_nice} %{featurever} libraries for static linking - portable edition.
+Summary: %{origin_nice} %{featurever} libraries for static linking - portable edition
%{java_static_libs_rpo %{nil}}
@@ -898,7 +901,7 @@ Summary: %{origin_nice} %{featurever} libraries for static linking - portable ed
%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
%description static-libs-slowdebug
-The %{origin_nice} %{featurever} libraries for static linking - portable edition.
+The %{origin_nice} %{featurever} libraries for static linking - portable edition
%{debug_warning}
%endif
@@ -909,13 +912,42 @@ Summary: %{origin_nice} %{featurever} libraries for static linking - portable ed
%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
%description static-libs-fastdebug
-The %{origin_nice} %{featurever} libraries for static linking - portable edition.
+The %{origin_nice} %{featurever} libraries for static linking - portable edition
%{fastdebug_warning}
%endif
# staticlibs
%endif
+%if %{include_normal_build}
+%package unstripped
+Summary: The %{origin_nice} %{featurever} runtime environment.
+
+%{java_unstripped_rpo %{nil}}
+
+%description unstripped
+The %{origin_nice} %{featurever} runtime environment.
+
+%endif
+
+%if %{include_normal_build}
+%package docs
+Summary: %{origin_nice} %{featurever} API documentation
+
+%{java_docs_rpo %{nil}}
+
+%description docs
+The %{origin_nice} %{featurever} API documentation.
+
+%package misc
+Summary: %{origin_nice} %{featurever} miscellany
+
+%{java_misc_rpo %{nil}}
+
+%description misc
+The %{origin_nice} %{featurever} miscellany.
+%endif
+
%package sources
Summary: %{origin_nice} %{featurever} full patched sources of portable JDK
@@ -951,7 +983,6 @@ else
echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no"
exit 13
fi
-
if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{include_fastdebug_build} -eq 0 ] ; then
echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
exit 14
@@ -980,17 +1011,18 @@ sh %{SOURCE12} %{top_level_dir_name}
# Patch the JDK
pushd %{top_level_dir_name}
%patch1 -p1
-%patch2 -p1
%patch3 -p1
%patch6 -p1
# Add crypto policy and FIPS support
%patch1001 -p1
# nss.cfg PKCS11 support; must come last as it also alters java.security
%patch1000 -p1
-%patch2003 -p1
+# JDK-8312489 backport, coming in 17.0.10
+%patch2000 -p1
+# alt-java support
+%patch600 -p1
popd # openjdk
-%patch600
# The OpenJDK version file includes the current
# upstream version information. For some reason,
@@ -1009,37 +1041,12 @@ if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
echo "WARNING: Designator mismatch";
echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
- exit 17
+ # Temporarily commented out as local copy of jdk-17.0.8+7 has the wrong setting
+ # This is fixed in the final upstream version
+ # exit 17
fi
-# Extract systemtap tapsets
-%if %{with_systemtap}
-tar --strip-components=1 -x -I xz -f %{SOURCE8}
-%if %{include_debug_build}
-cp -r tapset tapset%{debug_suffix}
-%endif
-%if %{include_fastdebug_build}
-cp -r tapset tapset%{fastdebug_suffix}
-%endif
-
-for suffix in %{build_loop} ; do
- for file in "tapset"$suffix/*.in; do
- OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
- sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
- sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2
-# TODO find out which architectures other than i686 have a client vm
-%ifarch %{ix86}
- sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
-%else
- sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
-%endif
- sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
- sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
- sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
- done
-done
-# systemtap tapsets ends
-%endif
+# Systemtap is processed in rpms
# Prepare desktop files
# Portables do not have desktop integration
@@ -1047,30 +1054,7 @@ done
# Setup nss.cfg
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
-# Setup nss.fips.cfg
-sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg
-
%build
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-mkdir bootjdk
-pushd bootjdk
-%ifarch %{aarch64}
-tar --strip-components=1 -xf %{SOURCE1001}
-%endif
-%ifarch %{ppc64le}
-tar --strip-components=1 -xf %{SOURCE1002}
-%endif
-%ifarch x86_64
-tar --strip-components=1 -xf %{SOURCE1003}
-%endif
-%ifarch s390x
-tar --strip-components=1 -xf %{SOURCE1004}
-%endif
-BOOT_JDK=$PWD
-popd
-%else
-BOOT_JDK=%{bootjdk}
-%endif
# How many CPU's do we have?
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
@@ -1104,12 +1088,15 @@ EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming
%endif
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
+echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
+
function buildjdk() {
local outputdir=${1}
local buildjdk=${2}
local maketargets="${3}"
local debuglevel=${4}
local link_opt=${5}
+ local debug_symbols=${6}
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
local top_dir_abs_build_path=$(pwd)/${outputdir}
@@ -1128,6 +1115,7 @@ function buildjdk() {
echo "Using make targets: ${maketargets}"
echo "Using debuglevel: ${debuglevel}"
echo "Using link_opt: ${link_opt}"
+ echo "Using debug_symbols: ${debug_symbols}"
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
mkdir -p ${outputdir}
@@ -1138,7 +1126,7 @@ function buildjdk() {
# are always used in a system_libs build, even
# for the static library build
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
- scl enable devtoolset-8 -- bash ${top_dir_abs_src_path}/configure \
+ scl enable devtoolset-%{dtsversion} -- bash ${top_dir_abs_src_path}/configure \
%else
bash ${top_dir_abs_src_path}/configure \
%endif
@@ -1150,7 +1138,7 @@ function buildjdk() {
%endif
--with-version-build=%{buildver} \
--with-version-pre="%{ea_designator}" \
- --with-version-opt=%{lts_designator} \
+ --with-version-opt="%{lts_designator}" \
--with-vendor-version-string="%{oj_vendor_version}" \
--with-vendor-name="%{oj_vendor}" \
--with-vendor-url="%{oj_vendor_url}" \
@@ -1158,7 +1146,7 @@ function buildjdk() {
--with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
--with-boot-jdk=${buildjdk} \
--with-debug-level=${debuglevel} \
- --with-native-debug-symbols="%{debug_symbols}" \
+ --with-native-debug-symbols="${debug_symbols}" \
--disable-sysconf-nss \
--enable-unlimited-crypto \
--with-zlib=%{link_type} \
@@ -1182,7 +1170,7 @@ function buildjdk() {
cat spec.gmk
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
- scl enable devtoolset-8 -- make \
+ scl enable devtoolset-%{dtsversion} -- make \
%else
make \
%endif
@@ -1190,311 +1178,325 @@ function buildjdk() {
WARNINGS_ARE_ERRORS="-Wno-error" \
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
-
popd
}
-function installjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
- # the build (erroneously) removes read permissions from some jars
- # this is a regression in OpenJDK 7 (our compiler):
- # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
- find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
-
- # Build screws up permissions on binaries
- # https://bugs.openjdk.java.net/browse/JDK-8173610
- find ${imagepath} -iname '*.so' -exec chmod +x {} \;
- find ${imagepath}/bin/ -exec chmod +x {} \;
+function stripjdk() {
+ local outputdir=${1}
+ local jdkimagepath=${outputdir}/images/%{jdkimage}
+ local jreimagepath=${outputdir}/images/%{jreimage}
+ local jmodimagepath=${outputdir}/images/jmods
+ local supportdir=${outputdir}/support
+
+ if [ "x$suffix" = "x" ] ; then
+ # Keep the unstripped version for consumption by RHEL RPMs
+ cp -a ${jdkimagepath}{,.unstripped}
+
+ # Strip the files
+ for file in $(find ${jdkimagepath} ${jreimagepath} ${supportdir} -type f) ; do
+ if file ${file} | grep -q 'ELF'; then
+ noextfile=${file/.so/};
+ objcopy --only-keep-debug ${file} ${noextfile}.debuginfo;
+ objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file};
+ strip -g ${file};
+ fi
+ done
- # Install nss.cfg right away as we will be using the JRE above
- install -m 644 nss.cfg ${imagepath}/conf/security/
+ # Rebuild jmod files against the stripped binaries
+ if [ ! -d ${supportdir} ] ; then
+ echo "Support directory missing.";
+ exit 15
+ fi
+ for cmd in $(find ${supportdir} -name '*.jmod_exec.cmdline') ; do
+ pre=${cmd/_exec/_pre};
+ post=${cmd/_exec/_post};
+ jmod=$(echo ${cmd}|sed 's#.*_create_##'|sed 's#_exec.cmdline##')
+ echo "Rebuilding ${jmod} against stripped binaries...";
+ if [ -e ${pre} ] ; then
+ echo "Executing ${pre}...";
+ cat ${pre} | sh -s ;
+ fi
+ echo "Executing ${cmd}...";
+ cat ${cmd} | sh -s ;
+ if [ -e ${post} ] ; then
+ echo "Executing ${post}...";
+ cat ${post} | sh -s ;
+ fi
+ done
+ rm -rf ${jdkimagepath}/jmods
+ cp -a ${jmodimagepath} ${jdkimagepath}
+ fi
+}
- # Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
- install -m 644 nss.fips.cfg ${imagepath}/conf/security/
+function installjdk() {
+ local outputdir=${1}
+ local installdir=${2}
+ local jdkimagepath=${installdir}/images/%{jdkimage}
+ local jreimagepath=${installdir}/images/%{jreimage}
+ local unstripped=${jdkimagepath}.unstripped
+
+ echo "Installing build from ${outputdir} to ${installdir}..."
+ mkdir -p ${installdir}
+ echo "Installing images..."
+ mv ${outputdir}/images ${installdir}
+ if [ -d ${outputdir}/bundles ] ; then
+ echo "Installing bundles...";
+ mv ${outputdir}/bundles ${installdir} ;
+ fi
- # Create fake alt-java as a placeholder for future alt-java
- if [ -d man/man1 ] ; then
- pushd ${imagepath}
+%if !%{with artifacts}
+ echo "Removing output directory...";
+ rm -rf ${outputdir}
+%endif
+
+ # legacy-jre-image target does not install any man pages for the JRE
+ # We copy the jdk man directory and then remove pages for binaries that
+ # don't exist in the JRE
+ cp -a ${jdkimagepath}/man ${jreimagepath}
+ for manpage in $(find ${jreimagepath}/man -name '*.1'); do
+ filename=$(basename ${manpage});
+ binary=${filename/.1/};
+ if [ ! -f ${jreimagepath}/bin/${binary} ] ; then
+ echo "Removing ${manpage} from JRE for which no binary ${binary} exists";
+ rm -f ${manpage};
+ fi;
+ done
+
+ for imagepath in ${jdkimagepath} ${jreimagepath} ${unstripped}; do
+
+ if [ -d ${imagepath} ] ; then
+ # the build (erroneously) removes read permissions from some jars
+ # this is a regression in OpenJDK 7 (our compiler):
+ # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
+ find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
+
+ # Build screws up permissions on binaries
+ # https://bugs.openjdk.java.net/browse/JDK-8173610
+ find ${imagepath} -iname '*.so' -exec chmod +x {} \;
+ find ${imagepath}/bin/ -exec chmod +x {} \;
+
+ # Install local files which are distributed with the JDK
+ install -m 644 %{SOURCE10} ${imagepath}
+ install -m 644 nss.cfg ${imagepath}/conf/security/
+
+ # Create fake alt-java as a placeholder for future alt-java
+ pushd ${imagepath}
# add alt-java man page
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
- popd
- fi
- fi
+ popd
+
+ # Print release information
+ cat ${imagepath}/release
+ fi
+ done
}
-# Checks on debuginfo must be performed before the files are stripped
-# by the RPM installation stage
-function debugcheckjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
-
- so_suffix="so"
- # Check debug symbols are present and can identify code
- find "${imagepath}" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
- do
- if [ -f "$lib" ] ; then
- echo "Testing $lib for debug symbols"
- # All these tests rely on RPM failing the build if the exit code of any set
- # of piped commands is non-zero.
-
- # Test for .debug_* sections in the shared object. This is the main test
- # Stripped objects will not contain these
- eu-readelf -S "$lib" | grep "] .debug_"
- test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
-
- # Test FILE symbols. These will most likely be removed by anything that
- # manipulates symbol tables because it's generally useless. So a nice test
- # that nothing has messed with symbols
- old_IFS="$IFS"
- IFS=$'\n'
- for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
- do
- # We expect to see .cpp and .S files, except for architectures like aarch64 and
- # s390 where we expect .o and .oS files
- echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
- done
- IFS="$old_IFS"
-
- # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
- if [ "`basename $lib`" = "libjvm.so" ]; then
- eu-readelf -s "$lib" | \
- grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
- fi
-
- # Test that there are no .gnu_debuglink sections pointing to another
- # debuginfo file. There shouldn't be any debuginfo files, so the link makes
- # no sense either
- eu-readelf -S "$lib" | grep 'gnu'
- if eu-readelf -S "$lib" | grep "\] .gnu_debuglink" | grep PROGBITS; then
- echo "bad .gnu_debuglink section."
- eu-readelf -x .gnu_debuglink "$lib"
- false
- fi
- fi
+function genchecksum() {
+ local checkedfile=${1}
+
+ checkdir=$(dirname ${1})
+ checkfile=$(basename ${1})
+
+ echo "Generating checksum for ${checkfile} in ${checkdir}..."
+ pushd ${checkdir}
+ sha256sum ${checkfile} > ${checkfile}.sha256sum
+ sha256sum --check ${checkfile}.sha256sum
+ popd
+}
+
+function packFullPatchedSources() {
+ srcpackagesdir=`pwd`
+ tar -cJf ${srcpackagesdir}/%{jdkportablesourcesarchive -- ""} --transform "s|^|%{jdkportablesourcesname -- ""}/|" %{top_level_dir_name} nss*
+ genchecksum ${srcpackagesdir}/%{jdkportablesourcesarchive -- ""}
+}
+
+function packagejdk() {
+ local imagesdir=$(pwd)/${1}/images
+ local docdir=$(pwd)/${1}/images/docs
+ local bundledir=$(pwd)/${1}/bundles
+ local packagesdir=$(pwd)/${2}
+ local srcdir=$(pwd)/%{top_level_dir_name}
+ local tapsetdir=$(pwd)/tapset
+
+ echo "Packaging build from ${imagesdir} to ${packagesdir}..."
+ mkdir -p ${packagesdir}
+ pushd ${imagesdir}
+
+ if [ "x$suffix" = "x" ] ; then
+ nameSuffix=""
+ else
+ nameSuffix=`echo "$suffix"| sed s/-/./`
+ fi
+
+ jdkname=%{jdkportablename -- "$nameSuffix"}
+ jdkarchive=${packagesdir}/%{jdkportablearchive -- "$nameSuffix"}
+ jrename=%{jreportablename -- "$nameSuffix"}
+ jrearchive=${packagesdir}/%{jreportablearchive -- "$nameSuffix"}
+ staticname=%{staticlibsportablename -- "$nameSuffix"}
+ staticarchive=${packagesdir}/%{staticlibsportablearchive -- "$nameSuffix"}
+ debugarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.debuginfo"}
+ unstrippedarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.unstripped"}
+ if [ "x$suffix" = "x" ] ; then
+ docname=%{docportablename}
+ docarchive=${packagesdir}/%{docportablearchive}
+ built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
+ fi
+ # These are from the source tree so no debug variants
+ miscname=%{miscportablename}
+ miscarchive=${packagesdir}/%{miscportablearchive}
+
+ if [ "x$suffix" = "x" ] ; then
+ # Keep the unstripped version for consumption by RHEL RPMs
+ mv %{jdkimage}.unstripped ${jdkname}
+ tar -cJf ${unstrippedarchive} ${jdkname}
+ genchecksum ${unstrippedarchive}
+ mv ${jdkname} %{jdkimage}.unstripped
+ fi
+
+ # Rename directories for packaging
+ mv %{jdkimage} ${jdkname}
+ mv %{jreimage} ${jrename}
+
+ # Release images have external debug symbols
+ if [ "x$suffix" = "x" ] ; then
+ tar -cJf ${debugarchive} $(find ${jdkname} -name \*.debuginfo)
+ genchecksum ${debugarchive}
+
+ mkdir ${docname}
+ mv ${docdir} ${docname}
+ mv ${bundledir}/${built_doc_archive} ${docname}
+ tar -cJf ${docarchive} ${docname}
+ genchecksum ${docarchive}
+
+ mkdir ${miscname}
+ for s in 16 24 32 48 ; do
+ cp -av ${srcdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png ${miscname}
done
+ cp -a ${srcdir}/src/sample ${miscname}
+%if %{with_systemtap}
+ cp -a ${tapsetdir}* ${miscname}
+%endif
+ tar -cJf ${miscarchive} ${miscname}
+ genchecksum ${miscarchive}
+ fi
- # Make sure gdb can do a backtrace based on line numbers on libjvm.so
- # javaCalls.cpp:58 should map to:
- # http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/shar...
- # Using line number 1 might cause build problems. See:
- # https://bugzilla.redhat.com/show_bug.cgi?id=1539664
- # https://bugzilla.redhat.com/show_bug.cgi?id=1538767
- gdb -q "${imagepath}/bin/java" <<EOF | tee gdb.out
-handle SIGSEGV pass nostop noprint
-handle SIGILL pass nostop noprint
-set breakpoint pending on
-break javaCalls.cpp:58
-commands 1
-backtrace
-quit
-end
-run -version
-EOF
-%ifarch %{gdb_arches}
- grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
+ tar -cJf ${jdkarchive} --exclude='**.debuginfo' ${jdkname}
+ genchecksum ${jdkarchive}
+
+ tar -cJf ${jrearchive} --exclude='**.debuginfo' ${jrename}
+ genchecksum ${jrearchive}
+
+%if %{include_staticlibs}
+ # Static libraries (needed for building graal vm with native image)
+ # Tar as overlay. Transform to the JDK name, since we just want to "add"
+ # static libraries to that folder
+ tar -cJf ${staticarchive} \
+ --transform "s|^%{static_libs_image}/lib/*|${staticname}/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib"
+ genchecksum ${staticarchive}
%endif
- fi
+ # Revert directory renaming so testing will run
+ # TODO: testing should run on the packaged JDK
+ mv ${jdkname} %{jdkimage}
+ mv ${jrename} %{jreimage}
+
+ popd #images
+
}
-pwd
-ls -l
-tar -cJf ../%{jdkportablesourcesarchive -- ""} --transform "s|^|%{jdkportablesourcesname -- ""}/|" openjdk nss*
-sha256sum ../%{jdkportablesourcesarchive -- ""} > ../%{jdkportablesourcesarchive -- ""}.sha256sum
+packFullPatchedSources
%if %{build_hotspot_first}
# Build a fresh libjvm.so first and use it to bootstrap
cp -LR --preserve=mode,timestamps %{bootjdk} newboot
systemjdk=$(pwd)/newboot
- buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
- mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
+ buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled" "internal"
+ mv build/newboot/jdk/lib/%{vm_variant}/libjvm.so newboot/lib/%{vm_variant}
%else
systemjdk=%{bootjdk}
%endif
for suffix in %{build_loop} ; do
+
if [ "x$suffix" = "x" ] ; then
debugbuild=release
else
# change --something to something
debugbuild=`echo $suffix | sed "s/-//g"`
fi
- for loop in %{main_suffix} %{staticlibs_loop} ; do
- builddir=%{buildoutputdir -- ${suffix}${loop}}
- bootbuilddir=boot${builddir}
- if test "x${loop}" = "x%{main_suffix}" ; then
- link_opt="%{link_type}"
-%if %{system_libs}
- # Copy the source tree so we can remove all in-tree libraries
- cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
- # Remove all libraries that are linked
- sh %{SOURCE12} %{top_level_dir_name} full
-%endif
- # Debug builds don't need same targets as release for
- # build speed-up. We also avoid bootstrapping these
- # slower builds.
- if echo $debugbuild | grep -q "debug" ; then
- maketargets="%{debug_targets}"
- run_bootstrap=false
- else
- maketargets="%{release_targets}"
- run_bootstrap=%{bootstrap_build}
- fi
- if ${run_bootstrap} ; then
- buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
- buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
- rm -rf ${bootbuilddir}
- else
- buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
- fi
+ # We build with internal debug symbols and do
+ # our own stripping for one version of the
+ # release build
+ debug_symbols=internal
+
+ builddir=%{buildoutputdir -- ${suffix}}
+ bootbuilddir=boot${builddir}
+ installdir=%{installoutputdir -- ${suffix}}
+ bootinstalldir=boot${installdir}
+ packagesdir=%{packageoutputdir -- ${suffix}}
+
+ link_opt="%{link_type}"
%if %{system_libs}
- # Restore original source tree we modified by removing full in-tree sources
- rm -rf %{top_level_dir_name}
- mv %{top_level_dir_name_backup} %{top_level_dir_name}
-%endif
- else
- # Use bundled libraries for building statically
- link_opt="bundled"
- # Static library cycle only builds the static libraries
- maketargets="%{static_libs_target}"
- # Always just do the one build for the static libraries
- buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
- fi
-
- done # end of main / staticlibs loop
-
- # Final setup on the main image
- top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
- for image in %{jdkimage} %{jreimage} ; do
- imagePath=${top_dir_abs_main_build_path}/images/${image}
- installjdk ${imagePath}
- done
- # Check debug symbols were built into the dynamic libraries; todo, why it passes in JDK only?
- debugcheckjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
-
- # Print release information
- cat ${top_dir_abs_main_build_path}/images/%{jdkimage}/release
+ # Copy the source tree so we can remove all in-tree libraries
+ cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
+ # Remove all libraries that are linked
+ sh %{SOURCE12} %{top_level_dir_name} full
+%endif
+ # Debug builds don't need same targets as release for
+ # build speed-up. We also avoid bootstrapping these
+ # slower builds.
+ if echo $debugbuild | grep -q "debug" ; then
+ maketargets="%{debug_targets}"
+ run_bootstrap=false
+ else
+ maketargets="%{release_targets}"
+ run_bootstrap=%{bootstrap_build}
+ fi
+ if ${run_bootstrap} ; then
+ buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ installjdk ${bootbuilddir} ${bootinstalldir}
+ buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ stripjdk ${builddir}
+ installjdk ${builddir} ${installdir}
+ %{!?with_artifacts:rm -rf ${bootinstalldir}}
+ else
+ buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ stripjdk ${builddir}
+ installjdk ${builddir} ${installdir}
+ fi
+ packagejdk ${installdir} ${packagesdir}
-################################################################################
- pushd ${top_dir_abs_main_build_path}/images
- if [ "x$suffix" == "x" ] ; then
- nameSuffix=""
- else
- nameSuffix=`echo "$suffix"| sed s/-/./`
- fi
- # additional steps needed for fluent repack; most of them done twice, as images are already populated
- # maybe most of them should be done in upstream build?
- for imagedir in %{jdkimage} %{jreimage} ; do
- pushd $imagedir
- # Convert man pages to UTF8 encoding
- if [ -d man/man1 ] ; then # jre do not have man pages...
- for manpage in man/man1/* ; do
- iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
- mv -f $manpage.tmp $manpage
- done
- fi
- # Install release notes
- cp -a %{SOURCE10} `pwd`
- cp -a %{SOURCE10} `pwd`/legal
- # stabilize permissions; aprtially duplicated in instalojdk
- find `pwd` -name "*.so" -exec chmod 755 {} \; -exec echo "set 755 to so {}" \; ;
- find `pwd` -type d -exec chmod 755 {} \; -exec echo "set 755 to dir {}" \; ;
- find `pwd`/legal -type f -exec chmod 644 {} \; -exec echo "set 644 to licences {}" \; ;
- popd # jdkimage/jreimage
- done # jre/sdk work in loop
- # javadoc is done only for release sdkimage
- if ! echo $suffix | grep -q "debug" ; then
- # Install Javadoc documentation
- #cp -a docs %{jdkimage} # not sure if the plaintext javadoc is for some use
- built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
- cp -a `pwd`/../bundles/${built_doc_archive} `pwd`/%{jdkimage}/javadocs.zip || ls -l `pwd`/../bundles
- fi
- # end of additional steps
-
- mv %{jdkimage} %{jdkportablename -- "$nameSuffix"}
- mv %{jreimage} %{jreportablename -- "$nameSuffix"}
- tar -cJf ../../../../%{jdkportablearchive -- "$nameSuffix"} --exclude='**.debuginfo' %{jdkportablename -- "$nameSuffix"}
- sha256sum ../../../../%{jdkportablearchive -- "$nameSuffix"} > ../../../../%{jdkportablearchive -- "$nameSuffix"}.sha256sum
- tar -cJf ../../../../%{jreportablearchive -- "$nameSuffix"} --exclude='**.debuginfo' %{jreportablename -- "$nameSuffix"}
- sha256sum ../../../../%{jreportablearchive -- "$nameSuffix"} > ../../../../%{jreportablearchive -- "$nameSuffix"}.sha256sum
- # copy licenses so they are avialable out of tarball
- cp -rf %{jdkportablename -- "$nameSuffix"}/legal ../../../../%{jdkportablearchive -- "%{normal_suffix}"}-legal
- mv %{jdkportablename -- "$nameSuffix"} %{jdkimage}
- mv %{jreportablename -- "$nameSuffix"} %{jreimage}
- popd #images
-%if %{include_staticlibs}
- top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_suffix}}
- pushd ${top_dir_abs_staticlibs_build_path}/images
- # Static libraries (needed for building graal vm with native image)
- # Tar as overlay. Transform to the JDK name, since we just want to "add"
- # static libraries to that folder
- portableJDKname=%{staticlibsportablename -- "$nameSuffix"}
- tar -cJf ../../../../%{staticlibsportablearchive -- "$nameSuffix"} --transform "s|^%{static_libs_image}/lib/*|$portableJDKname/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib"
- sha256sum ../../../../%{staticlibsportablearchive -- "$nameSuffix"} > ../../../../%{staticlibsportablearchive -- "$nameSuffix"}.sha256sum
- popd #staticlibs-images
+%if %{system_libs}
+ # Restore original source tree we modified by removing full in-tree sources
+ rm -rf %{top_level_dir_name}
+ mv %{top_level_dir_name_backup} %{top_level_dir_name}
%endif
-################################################################################
-# note, currently no debuginfo, consult portbale spec for external (zipped) debuginfo, being tarred alone
-################################################################################
# build cycles
done # end of release / debug cycle loop
-%install
-mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
-mv ../%{jdkportablesourcesarchive -- ""} $RPM_BUILD_ROOT%{_jvmdir}/
-mv ../%{jdkportablesourcesarchive -- ""}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+%check
+# We test debug first as it will give better diagnostics on a crash
for suffix in %{build_loop} ; do
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
-################################################################################
- if [ "x$suffix" == "x" ] ; then
- nameSuffix=""
- else
- nameSuffix=`echo "$suffix"| sed s/-/./`
- fi
- mv ../%{jdkportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jdkportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jreportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jreportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+# portable builds have static_libs embedded, thus top_dir_abs_main_build_path is same as top_dir_abs_staticlibs_build_path
+top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}}
%if %{include_staticlibs}
- mv ../%{staticlibsportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{staticlibsportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
-%endif
- if [ "x$suffix" == "x" ] ; then
- dnameSuffix="$nameSuffix".debuginfo
-# todo handle debuginfo, see note at build (we will need to pack one stripped and one unstripped release build)
-# mv ../%{jdkportablearchive -- "$dnameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
-# mv ../%{jdkportablearchive -- "$dnameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
- fi
-################################################################################
-# end, dual install
-done
-################################################################################
-# the licenses are packed onloy once and shared
-mkdir -p $RPM_BUILD_ROOT%{unpacked_licenses}
-mv ../%{jdkportablearchive -- "%{normal_suffix}"}-legal $RPM_BUILD_ROOT%{unpacked_licenses}/%{jdkportablesourcesarchive -- "%{normal_suffix}"}
-# To show sha in the build log
-for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do ls -l $file ; cat $file ; done
-################################################################################
+top_dir_abs_staticlibs_build_path=${top_dir_abs_main_build_path}
+%endif
-%check
+export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
-# We test debug first as it will give better diagnostics on a crash
-for suffix in %{build_loop} ; do
+# Pre-test setup
-# Tests in the check stage are performed on the installed image
-# rpmbuild operates as follows: build -> install -> test
-# however in portbales, we test built image instead of installed one
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
-export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
+# System security properties are disabled by default on portable.
+# Turn on system security properties
+#sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
+#${JAVA_HOME}/conf/security/java.security
-#check Shenandoah is enabled
+# Check Shenandoah is enabled
%if %{use_shenandoah_hotspot}
$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
%endif
@@ -1507,14 +1509,19 @@ $JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLev
$JAVA_HOME/bin/javac -d . %{SOURCE14}
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
-# Check system crypto (policy) is deactive and can not be enabled
+# Check system crypto (policy) is active and can be disabled
# Test takes a single argument - true or false - to state whether system
# security properties are enabled or not.
$JAVA_HOME/bin/javac -d . %{SOURCE15}
export PROG=$(echo $(basename %{SOURCE15})|sed "s|\.java||")
export SEC_DEBUG="-Djava.security.debug=properties"
+# Specific to portable:System security properties to be off by default
$JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} false
-$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=false ${PROG} false
+$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
+
+# Check correct vendor values have been set
+$JAVA_HOME/bin/javac -d . %{SOURCE16}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
# Check java launcher has no SSB mitigation
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
@@ -1526,14 +1533,10 @@ nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
%endif
-# Check correct vendor values have been set
-$JAVA_HOME/bin/javac -d . %{SOURCE16}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
-
%if ! 0%{?flatpak}
# Check translations are available for new timezones (during flatpak builds, the
# tzdb.dat used by this test is not where the test expects it, so this is
-# disabled for flatpak builds)
+# disabled for flatpak builds)
$JAVA_HOME/bin/javac -d . %{SOURCE18}
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
@@ -1541,9 +1544,83 @@ $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|
%if %{include_staticlibs}
# Check debug symbols in static libraries (smoke test)
-export STATIC_LIBS_HOME=${top_dir_abs_main_build_path}/../../%{buildoutputdir -- ${suffix}%{staticlibs_suffix}}/images/static-libs/lib/
-readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c
-readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c
+export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
+ls -l $STATIC_LIBS_HOME
+ls -l $STATIC_LIBS_HOME/lib
+# they are here, but grep do not find the remainders
+#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
+#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
+%endif
+
+# Release builds strip the debug symbols into external .debuginfo files
+if [ "x$suffix" = "x" ] ; then
+ so_suffix="debuginfo"
+else
+ so_suffix="so"
+fi
+# Check debug symbols are present and can identify code
+find "$JAVA_HOME" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
+do
+ if [ -f "$lib" ] ; then
+ echo "Testing $lib for debug symbols"
+ # All these tests rely on RPM failing the build if the exit code of any set
+ # of piped commands is non-zero.
+
+ # Test for .debug_* sections in the shared object. This is the main test
+ # Stripped objects will not contain these
+ eu-readelf -S "$lib" | grep "] .debug_"
+ test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
+
+ # Test FILE symbols. These will most likely be removed by anything that
+ # manipulates symbol tables because it's generally useless. So a nice test
+ # that nothing has messed with symbols
+ old_IFS="$IFS"
+ IFS=$'\n'
+ for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
+ do
+ # We expect to see .cpp and .S files, except for architectures like aarch64 and
+ # s390 where we expect .o and .oS files
+ echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
+ done
+ IFS="$old_IFS"
+
+ # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
+ if [ "`basename $lib`" = "libjvm.so" ]; then
+ eu-readelf -s "$lib" | \
+ grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
+ fi
+
+ # Test that there are no .gnu_debuglink sections pointing to another
+ # debuginfo file. There shouldn't be any debuginfo files, so the link makes
+ # no sense either
+ eu-readelf -S "$lib" | grep 'gnu'
+ if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
+ echo "bad .gnu_debuglink section."
+ eu-readelf -x .gnu_debuglink "$lib"
+ false
+ fi
+ fi
+done
+
+# Make sure gdb can do a backtrace based on line numbers on libjvm.so
+# javaCalls.cpp:58 should map to:
+# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/shar...
+# Using line number 1 might cause build problems. See:
+# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
+# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
+gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out
+handle SIGSEGV pass nostop noprint
+handle SIGILL pass nostop noprint
+set breakpoint pending on
+break javaCalls.cpp:58
+commands 1
+backtrace
+quit
+end
+run -version
+EOF
+%ifarch %{gdb_arches}
+grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
%endif
# Check src.zip has all sources. See RHBZ#1130490
@@ -1562,12 +1639,70 @@ $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
# build cycles check
done
+%install
+
+ mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
+ mv %{jdkportablesourcesarchive -- ""} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv %{jdkportablesourcesarchive -- ""}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+
+for suffix in %{build_loop} ; do
+
+ packagesdir=%{packageoutputdir -- ${suffix}}
+
+ if [ "x$suffix" == "x" ] ; then
+ nameSuffix=""
+ else
+ nameSuffix=`echo "$suffix"| sed s/-/./`
+ fi
+
+ # These definitions should match those in installjdk
+ jdkarchive=${packagesdir}/%{jdkportablearchive -- "$nameSuffix"}
+ jrearchive=${packagesdir}/%{jreportablearchive -- "$nameSuffix"}
+ staticarchive=${packagesdir}/%{staticlibsportablearchive -- "$nameSuffix"}
+ debugarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.debuginfo"}
+ unstrippedarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.unstripped"}
+
+ mv ${jdkarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jdkarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jrearchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jrearchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+
+%if %{include_staticlibs}
+ mv ${staticarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${staticarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+%endif
+
+ if [ "x$suffix" = "x" ] ; then
+ mv ${debugarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${debugarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${unstrippedarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${unstrippedarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ fi
+done
+
+ if [ "x$suffix" = "x" ] ; then
+ # These definitions should match those in installjdk
+ # Install outside the loop as there are no debug variants
+ docarchive=${packagesdir}/%{docportablearchive}
+ miscarchive=${packagesdir}/%{miscportablearchive}
+ mv ${docarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${docarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${miscarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${miscarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ fi
+
+# To show sha in the build log
+for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do
+ ls -l $file ;
+ cat $file ;
+done
+
%if %{include_normal_build}
+
%files
# main package builds always
%{_jvmdir}/%{jreportablearchiveForFiles}
%{_jvmdir}/%{jreportablearchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%else
%files
# placeholder
@@ -1576,10 +1711,9 @@ done
%if %{include_normal_build}
%files devel
%{_jvmdir}/%{jdkportablearchiveForFiles}
-#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
+%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
%{_jvmdir}/%{jdkportablearchiveForFiles}.sha256sum
-#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
+%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
%endif
%if %{include_normal_build}
@@ -1587,26 +1721,26 @@ done
%files static-libs
%{_jvmdir}/%{staticlibsportablearchiveForFiles}
%{_jvmdir}/%{staticlibsportablearchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
+
+%files unstripped
+%{_jvmdir}/%{jdkportablearchive -- .unstripped}
+%{_jvmdir}/%{jdkportablearchive -- .unstripped}.sha256sum
%endif
%if %{include_debug_build}
%files slowdebug
%{_jvmdir}/%{jreportablearchive -- .slowdebug}
%{_jvmdir}/%{jreportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%files devel-slowdebug
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%if %{include_staticlibs}
%files static-libs-slowdebug
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
%endif
@@ -1614,27 +1748,47 @@ done
%files fastdebug
%{_jvmdir}/%{jreportablearchive -- .fastdebug}
%{_jvmdir}/%{jreportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%files devel-fastdebug
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%if %{include_staticlibs}
%files static-libs-fastdebug
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
%endif
%files sources
%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}
%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
+
+%if %{include_normal_build}
+%files docs
+%{_jvmdir}/%{docportablearchive}
+%{_jvmdir}/%{docportablearchive}.sha256sum
+
+%files misc
+%{_jvmdir}/%{miscportablearchive}
+%{_jvmdir}/%{miscportablearchive}.sha256sum
+%endif
%changelog
+* Wed Nov 22 2023 Jiri Vanek <jvanek(a)redhat.com> - 1:17.0.9.0.9-2
+- updated to OpenJDK 17.0.9 (2023-10-17)
+- adjsuted generate_source_tarball
+- removed icedtea_sync
+- dropped standalone licenses
+- added usntripped subpkg
+- added docs subpkg
+- adjsuted versions of bundled libraries
+- build refactored to several solid methods following gnu_andrew
+- removed no longer needed jdk8305995-footprint_regression_from_jdk_8224957, nss.fips.cfg.in, rh1648644-java_access_bridge_privileged_security.patch
+- added jdk8312489-max_sig_default_increase.patch
+- aligned fips-17u-51e1d00be4e.patch (gnu_andrew)
+- fixed '--without release' build-ability by moving docs and misc to if-release only
+
* Thu Aug 03 2023 Jiri Vanek <jvanekw(a)redhat.com> - 1:17.0.8.0.7-1
- Update to jdk-17.0.8.0+7
- Update release notes to 17.0.8.0+7
diff --git a/jconsole.desktop.in b/jconsole.desktop.in
index 8a3b04d..c1b8f6a 100644
--- a/jconsole.desktop.in
+++ b/jconsole.desktop.in
@@ -1,10 +1 @@
-[Desktop Entry]
-Name=OpenJDK @JAVA_VER@ for @target_cpu@ Monitoring & Management Console (@OPENJDK_VER@)
-Comment=Monitor and manage OpenJDK applications
-Exec=_SDKBINDIR_/jconsole
-Icon=java-@JAVA_VER@-@JAVA_VENDOR@
-Terminal=false
-Type=Application
-StartupWMClass=sun-tools-jconsole-JConsole
-Categories=Development;Profiling;Java;
-Version=1.0
+# this file is intentionally not here, as portable builds do not have desktop integration
diff --git a/jdk8305995-footprint_regression_from_jdk_8224957 b/jdk8305995-footprint_regression_from_jdk_8224957
deleted file mode 100644
index a5119a0..0000000
--- a/jdk8305995-footprint_regression_from_jdk_8224957
+++ /dev/null
@@ -1,1255 +0,0 @@
-diff --git a/src/hotspot/share/opto/node.cpp b/src/hotspot/share/opto/node.cpp
-index 9a9d3f0149a..7c85e73989e 100644
---- a/src/hotspot/share/opto/node.cpp
-+++ b/src/hotspot/share/opto/node.cpp
-@@ -1301,7 +1301,7 @@ bool Node::dominates(Node* sub, Node_List &nlist) {
- } else if (sub == up && sub->is_Region() && sub->req() == 2) {
- // Take in(1) path on the way up to 'dom' for regions with only one input
- up = sub->in(1);
-- } else if (sub == up && sub->is_Region() && sub->req() == 3) {
-+ } else if (sub == up && sub->is_Region()) {
- // Try both paths for Regions with 2 input paths (it may be a loop head).
- // It could give conservative 'false' answer without information
- // which region's input is the entry path.
-diff --git a/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java b/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
-new file mode 100644
-index 00000000000..9b7430ccc13
---- /dev/null
-+++ b/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
-@@ -0,0 +1,1236 @@
-+/*
-+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package org.openjdk.bench.vm.compiler;
-+
-+import org.openjdk.jmh.annotations.Benchmark;
-+import org.openjdk.jmh.annotations.Fork;
-+import org.openjdk.jmh.annotations.Measurement;
-+import org.openjdk.jmh.annotations.OutputTimeUnit;
-+import org.openjdk.jmh.annotations.Scope;
-+import org.openjdk.jmh.annotations.State;
-+import org.openjdk.jmh.annotations.Warmup;
-+
-+import java.util.concurrent.TimeUnit;
-+
-+/*
-+ * This benchmark is used as easy reproducer of JDK-8305995
-+ *
-+ * This benchmark contains simplified and minimized RB-tree
-+ * which is based on fasutils with iterators that jumps.
-+ *
-+ * At the end it contains a tree serialized as lines, and
-+ * maxPattern which is used to search in this tree.
-+ */
-+(a)State(Scope.Thread)
-+(a)OutputTimeUnit(TimeUnit.MICROSECONDS)
-+@Warmup(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
-+@Measurement(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
-+@Fork(value = 3)
-+public class RBTreeSearch {
-+
-+ private final Tree pattern;
-+
-+ private final Tree[] nodes;
-+
-+ private final Tree root;
-+
-+ private final int[] idxStack;
-+ private final Tree[] objStack;
-+
-+ public RBTreeSearch() {
-+ idxStack = new int[maxPattern];
-+
-+ objStack = new Tree[maxPattern];
-+
-+ pattern = new Tree();
-+ for (int i = 0; i <= maxPattern; i++) {
-+ pattern.put(i, i);
-+ }
-+
-+ nodes = new Tree[directions.length];
-+ for (int i = 0; i < directions.length; i++) {
-+ if (directions[i] == null) {
-+ continue;
-+ }
-+ Tree kids = new Tree();
-+ nodes[i] = kids;
-+ for (String pair : directions[i].split(", ")) {
-+ String[] kv = pair.split("=>");
-+ kids.put(Integer.parseInt(kv[0]), Integer.parseInt(kv[1]));
-+ }
-+ }
-+
-+ root = nodes[0];
-+ }
-+
-+ @Benchmark
-+ public void search() {
-+ Tree.Iterator sliceIt = pattern.keyIterator();
-+
-+ int stackSize = 0;
-+ idxStack[stackSize] = pattern.firstIntKey();
-+ objStack[stackSize++] = root;
-+
-+ while (stackSize > 0) {
-+ stackSize--;
-+ Tree node = objStack[stackSize];
-+
-+ final int startPoint = Math.max(idxStack[stackSize], node.firstIntKey()) - 1;
-+ final Tree.Iterator rootIt = node.keyIterator(startPoint);
-+
-+ sliceIt.jump(startPoint);
-+ while (sliceIt.hasNext() && rootIt.hasNext()) {
-+ final int sliceElem = sliceIt.nextInt();
-+ final int rootElem = rootIt.nextInt();
-+ if (sliceElem < rootElem) {
-+ rootIt.previousInt();
-+ if (sliceIt.nextInt() >= rootElem) {
-+ sliceIt.previousInt();
-+ } else {
-+ sliceIt.jump(rootElem - 1);
-+ }
-+ } else if (sliceElem == rootElem) {
-+ final int childrenIdx = node.get(sliceElem);
-+ final Tree children = nodes[childrenIdx];
-+
-+ if (children != null) {
-+ idxStack[stackSize] = sliceElem;
-+ objStack[stackSize++] = children;
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ public static class Tree {
-+
-+ protected transient Entry root;
-+
-+ protected transient Entry firstEntry;
-+
-+ protected transient Entry lastEntry;
-+
-+ private final transient boolean[] dirPath = new boolean[64];
-+
-+ private final transient Entry[] nodePath = new Entry[64];
-+
-+ public int put(final int k, final int v) {
-+ Entry e = add(k);
-+ final int oldValue = e.value;
-+ e.value = v;
-+ return oldValue;
-+ }
-+
-+ private Entry add(final int k) {
-+ int maxDepth = 0;
-+ Entry e;
-+ if (root == null) {
-+ e = root = lastEntry = firstEntry = new Entry(k, 0);
-+ }
-+ else {
-+ Entry p = root;
-+ int cmp, i = 0;
-+ while(true) {
-+ if ((cmp = Integer.compare(k, p.key)) == 0) {
-+ while(i-- != 0) nodePath[i] = null;
-+ return p;
-+ }
-+ nodePath[i] = p;
-+ if (dirPath[i++] = cmp > 0) {
-+ if (p.succ()) {
-+ e = new Entry(k, 0);
-+ if (p.right == null) lastEntry = e;
-+ e.left = p;
-+ e.right = p.right;
-+ p.right(e);
-+ break;
-+ }
-+ p = p.right;
-+ }
-+ else {
-+ if (p.pred()) {
-+ e = new Entry(k, 0);
-+ if (p.left == null) firstEntry = e;
-+ e.right = p;
-+ e.left = p.left;
-+ p.left(e);
-+ break;
-+ }
-+ p = p.left;
-+ }
-+ }
-+ maxDepth = i--;
-+ while(i > 0 && ! nodePath[i].black()) {
-+ if (! dirPath[i - 1]) {
-+ Entry y = nodePath[i - 1].right;
-+ if (! nodePath[i - 1].succ() && ! y.black()) {
-+ nodePath[i].black(true);
-+ y.black(true);
-+ nodePath[i - 1].black(false);
-+ i -= 2;
-+ }
-+ else {
-+ Entry x;
-+ if (! dirPath[i]) y = nodePath[i];
-+ else {
-+ x = nodePath[i];
-+ y = x.right;
-+ x.right = y.left;
-+ y.left = x;
-+ nodePath[i - 1].left = y;
-+ if (y.pred()) {
-+ y.pred(false);
-+ x.succ(y);
-+ }
-+ }
-+ x = nodePath[i - 1];
-+ x.black(false);
-+ y.black(true);
-+ x.left = y.right;
-+ y.right = x;
-+ if (i < 2) root = y;
-+ else {
-+ if (dirPath[i - 2]) nodePath[i - 2].right = y;
-+ else nodePath[i - 2].left = y;
-+ }
-+ if (y.succ()) {
-+ y.succ(false);
-+ x.pred(y);
-+ }
-+ break;
-+ }
-+ }
-+ else {
-+ Entry y = nodePath[i - 1].left;
-+ if (! nodePath[i - 1].pred() && ! y.black()) {
-+ nodePath[i].black(true);
-+ y.black(true);
-+ nodePath[i - 1].black(false);
-+ i -= 2;
-+ }
-+ else {
-+ Entry x;
-+ if (dirPath[i]) y = nodePath[i];
-+ else {
-+ x = nodePath[i];
-+ y = x.left;
-+ x.left = y.right;
-+ y.right = x;
-+ nodePath[i - 1].right = y;
-+ if (y.succ()) {
-+ y.succ(false);
-+ x.pred(y);
-+ }
-+ }
-+ x = nodePath[i - 1];
-+ x.black(false);
-+ y.black(true);
-+ x.right = y.left;
-+ y.left = x;
-+ if (i < 2) root = y;
-+ else {
-+ if (dirPath[i - 2]) nodePath[i - 2].right = y;
-+ else nodePath[i - 2].left = y;
-+ }
-+ if (y.pred()){
-+ y.pred(false);
-+ x.succ(y);
-+ }
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ root.black(true);
-+ while(maxDepth-- != 0) nodePath[maxDepth] = null;
-+ return e;
-+ }
-+
-+ private static final class Entry {
-+ int key;
-+ int value;
-+
-+ private static final int BLACK_MASK = 1;
-+
-+ private static final int SUCC_MASK = 1 << 31;
-+
-+ private static final int PRED_MASK = 1 << 30;
-+
-+ Entry left, right;
-+
-+ int info;
-+
-+ Entry(final int k, final int v) {
-+ key = k;
-+ value = v;
-+ info = SUCC_MASK | PRED_MASK;
-+ }
-+
-+ Entry left() {
-+ return (info & PRED_MASK) != 0 ? null : left;
-+ }
-+
-+ Entry right() {
-+ return (info & SUCC_MASK) != 0 ? null : right;
-+ }
-+
-+ boolean pred() {
-+ return (info & PRED_MASK) != 0;
-+ }
-+
-+ boolean succ() {
-+ return (info & SUCC_MASK) != 0;
-+ }
-+
-+ void pred(final boolean pred) {
-+ if (pred) info |= PRED_MASK;
-+ else info &= ~PRED_MASK;
-+ }
-+
-+ void succ(final boolean succ) {
-+ if (succ) info |= SUCC_MASK;
-+ else info &= ~SUCC_MASK;
-+ }
-+
-+ void pred(final Entry pred) {
-+ info |= PRED_MASK;
-+ left = pred;
-+ }
-+
-+ void succ(final Entry succ) {
-+ info |= SUCC_MASK;
-+ right = succ;
-+ }
-+
-+ void left(final Entry left) {
-+ info &= ~PRED_MASK;
-+ this.left = left;
-+ }
-+
-+ void right(final Entry right) {
-+ info &= ~SUCC_MASK;
-+ this.right = right;
-+ }
-+
-+ boolean black() {
-+ return (info & BLACK_MASK) != 0;
-+ }
-+
-+ void black(final boolean black) {
-+ if (black) info |= BLACK_MASK;
-+ else info &= ~BLACK_MASK;
-+ }
-+
-+ Entry next() {
-+ Entry next = this.right;
-+ if ((info & SUCC_MASK) == 0) while ((next.info & PRED_MASK) == 0) next = next.left;
-+ return next;
-+ }
-+
-+ Entry prev() {
-+ Entry prev = this.left;
-+ if ((info & PRED_MASK) == 0) while ((prev.info & SUCC_MASK) == 0) prev = prev.right;
-+ return prev;
-+ }
-+ }
-+
-+ public int get(final int k) {
-+ Entry e = root;
-+ int cmp;
-+ while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
-+ e = cmp < 0 ? e.left() : e.right();
-+ }
-+ return e == null ? 0 : e.value;
-+ }
-+
-+ public int firstIntKey() {
-+ return firstEntry.key;
-+ }
-+
-+ interface Iterator {
-+ boolean hasNext();
-+ int nextInt();
-+ int previousInt();
-+ void jump(final int fromElement);
-+ }
-+
-+ private class KeyIteratorImpl implements Iterator {
-+ Entry prev;
-+
-+ Entry next;
-+
-+ Entry curr;
-+
-+ int index = 0;
-+
-+ KeyIteratorImpl() {
-+ next = firstEntry;
-+ }
-+
-+ KeyIteratorImpl(final int k) {
-+ if ((next = locateKey(k)) != null) {
-+ if (next.key <= k) {
-+ prev = next;
-+ next = next.next();
-+ }
-+ else prev = next.prev();
-+ }
-+ }
-+
-+ private Entry locateKey(final int k) {
-+ Entry e = root, last = root;
-+ int cmp = 0;
-+ while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
-+ last = e;
-+ e = cmp < 0 ? e.left() : e.right();
-+ }
-+ return cmp == 0 ? e : last;
-+ }
-+
-+ public boolean hasNext() { return next != null; }
-+
-+ Entry nextEntry() {
-+ curr = prev = next;
-+ index++;
-+ next = next.next();
-+ return curr;
-+ }
-+
-+ Entry previousEntry() {
-+ curr = next = prev;
-+ index--;
-+ prev = prev.prev();
-+ return curr;
-+ }
-+ public void jump(final int fromElement) {
-+ if ((next = locateKey(fromElement)) != null) {
-+ if (next.key <= fromElement) {
-+ prev = next;
-+ next = next.next();
-+ }
-+ else prev = next.prev();
-+ }
-+ }
-+
-+ public int nextInt() { return nextEntry().key; }
-+
-+ public int previousInt() { return previousEntry().key; }
-+
-+ }
-+
-+ public Iterator keyIterator() {
-+ return new KeyIteratorImpl();
-+ }
-+
-+ public Iterator keyIterator(final int from) {
-+ return new KeyIteratorImpl(from);
-+ }
-+ }
-+
-+ private static final int maxPattern = 39;
-+
-+ private static final String[] directions = {
-+ "0=>1, 1=>4, 2=>2, 4=>3, 7=>5",
-+ "13=>628, 14=>627, 15=>626, 17=>629, 18=>630",
-+ "13=>473, 14=>472, 15=>471, 17=>474, 18=>475",
-+ "13=>318, 14=>317, 15=>316, 17=>319, 18=>320",
-+ "13=>163, 14=>162, 15=>161, 17=>164, 18=>165",
-+ "13=>8, 14=>7, 15=>6, 17=>9, 18=>10",
-+ "22=>135, 23=>134, 24=>132, 26=>133, 27=>131",
-+ "22=>105, 23=>104, 24=>102, 26=>103, 27=>101",
-+ "22=>75, 23=>74, 24=>72, 26=>73, 27=>71",
-+ "22=>45, 23=>44, 24=>42, 26=>43, 27=>41",
-+ "22=>15, 23=>14, 24=>12, 26=>13, 27=>11",
-+ "31=>38, 32=>39, 33=>36, 34=>40, 35=>37",
-+ "31=>33, 32=>34, 33=>31, 34=>35, 35=>32",
-+ "31=>28, 32=>29, 33=>26, 34=>30, 35=>27",
-+ "31=>23, 32=>24, 33=>21, 34=>25, 35=>22",
-+ "31=>18, 32=>19, 33=>16, 34=>20, 35=>17",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>68, 32=>69, 33=>66, 34=>70, 35=>67",
-+ "31=>63, 32=>64, 33=>61, 34=>65, 35=>62",
-+ "31=>58, 32=>59, 33=>56, 34=>60, 35=>57",
-+ "31=>53, 32=>54, 33=>51, 34=>55, 35=>52",
-+ "31=>48, 32=>49, 33=>46, 34=>50, 35=>47",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>98, 32=>99, 33=>96, 34=>100, 35=>97",
-+ "31=>93, 32=>94, 33=>91, 34=>95, 35=>92",
-+ "31=>88, 32=>89, 33=>86, 34=>90, 35=>87",
-+ "31=>83, 32=>84, 33=>81, 34=>85, 35=>82",
-+ "31=>78, 32=>79, 33=>76, 34=>80, 35=>77",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>128, 32=>129, 33=>126, 34=>130, 35=>127",
-+ "31=>123, 32=>124, 33=>121, 34=>125, 35=>122",
-+ "31=>118, 32=>119, 33=>116, 34=>120, 35=>117",
-+ "31=>113, 32=>114, 33=>111, 34=>115, 35=>112",
-+ "31=>108, 32=>109, 33=>106, 34=>110, 35=>107",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>158, 32=>159, 33=>156, 34=>160, 35=>157",
-+ "31=>153, 32=>154, 33=>151, 34=>155, 35=>152",
-+ "31=>148, 32=>149, 33=>146, 34=>150, 35=>147",
-+ "31=>143, 32=>144, 33=>141, 34=>145, 35=>142",
-+ "31=>138, 32=>139, 33=>136, 34=>140, 35=>137",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>290, 23=>289, 24=>287, 26=>288, 27=>286",
-+ "22=>260, 23=>259, 24=>257, 26=>258, 27=>256",
-+ "22=>230, 23=>229, 24=>227, 26=>228, 27=>226",
-+ "22=>200, 23=>199, 24=>197, 26=>198, 27=>196",
-+ "22=>170, 23=>169, 24=>167, 26=>168, 27=>166",
-+ "31=>193, 32=>194, 33=>191, 34=>195, 35=>192",
-+ "31=>188, 32=>189, 33=>186, 34=>190, 35=>187",
-+ "31=>183, 32=>184, 33=>181, 34=>185, 35=>182",
-+ "31=>178, 32=>179, 33=>176, 34=>180, 35=>177",
-+ "31=>173, 32=>174, 33=>171, 34=>175, 35=>172",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>223, 32=>224, 33=>221, 34=>225, 35=>222",
-+ "31=>218, 32=>219, 33=>216, 34=>220, 35=>217",
-+ "31=>213, 32=>214, 33=>211, 34=>215, 35=>212",
-+ "31=>208, 32=>209, 33=>206, 34=>210, 35=>207",
-+ "31=>203, 32=>204, 33=>201, 34=>205, 35=>202",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>253, 32=>254, 33=>251, 34=>255, 35=>252",
-+ "31=>248, 32=>249, 33=>246, 34=>250, 35=>247",
-+ "31=>243, 32=>244, 33=>241, 34=>245, 35=>242",
-+ "31=>238, 32=>239, 33=>236, 34=>240, 35=>237",
-+ "31=>233, 32=>234, 33=>231, 34=>235, 35=>232",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>283, 32=>284, 33=>281, 34=>285, 35=>282",
-+ "31=>278, 32=>279, 33=>276, 34=>280, 35=>277",
-+ "31=>273, 32=>274, 33=>271, 34=>275, 35=>272",
-+ "31=>268, 32=>269, 33=>266, 34=>270, 35=>267",
-+ "31=>263, 32=>264, 33=>261, 34=>265, 35=>262",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>313, 32=>314, 33=>311, 34=>315, 35=>312",
-+ "31=>308, 32=>309, 33=>306, 34=>310, 35=>307",
-+ "31=>303, 32=>304, 33=>301, 34=>305, 35=>302",
-+ "31=>298, 32=>299, 33=>296, 34=>300, 35=>297",
-+ "31=>293, 32=>294, 33=>291, 34=>295, 35=>292",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>445, 23=>444, 24=>442, 26=>443, 27=>441",
-+ "22=>415, 23=>414, 24=>412, 26=>413, 27=>411",
-+ "22=>385, 23=>384, 24=>382, 26=>383, 27=>381",
-+ "22=>355, 23=>354, 24=>352, 26=>353, 27=>351",
-+ "22=>325, 23=>324, 24=>322, 26=>323, 27=>321",
-+ "31=>348, 32=>349, 33=>346, 34=>350, 35=>347",
-+ "31=>343, 32=>344, 33=>341, 34=>345, 35=>342",
-+ "31=>338, 32=>339, 33=>336, 34=>340, 35=>337",
-+ "31=>333, 32=>334, 33=>331, 34=>335, 35=>332",
-+ "31=>328, 32=>329, 33=>326, 34=>330, 35=>327",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>378, 32=>379, 33=>376, 34=>380, 35=>377",
-+ "31=>373, 32=>374, 33=>371, 34=>375, 35=>372",
-+ "31=>368, 32=>369, 33=>366, 34=>370, 35=>367",
-+ "31=>363, 32=>364, 33=>361, 34=>365, 35=>362",
-+ "31=>358, 32=>359, 33=>356, 34=>360, 35=>357",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>408, 32=>409, 33=>406, 34=>410, 35=>407",
-+ "31=>403, 32=>404, 33=>401, 34=>405, 35=>402",
-+ "31=>398, 32=>399, 33=>396, 34=>400, 35=>397",
-+ "31=>393, 32=>394, 33=>391, 34=>395, 35=>392",
-+ "31=>388, 32=>389, 33=>386, 34=>390, 35=>387",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>438, 32=>439, 33=>436, 34=>440, 35=>437",
-+ "31=>433, 32=>434, 33=>431, 34=>435, 35=>432",
-+ "31=>428, 32=>429, 33=>426, 34=>430, 35=>427",
-+ "31=>423, 32=>424, 33=>421, 34=>425, 35=>422",
-+ "31=>418, 32=>419, 33=>416, 34=>420, 35=>417",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>468, 32=>469, 33=>466, 34=>470, 35=>467",
-+ "31=>463, 32=>464, 33=>461, 34=>465, 35=>462",
-+ "31=>458, 32=>459, 33=>456, 34=>460, 35=>457",
-+ "31=>453, 32=>454, 33=>451, 34=>455, 35=>452",
-+ "31=>448, 32=>449, 33=>446, 34=>450, 35=>447",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>600, 23=>599, 24=>597, 26=>598, 27=>596",
-+ "22=>570, 23=>569, 24=>567, 26=>568, 27=>566",
-+ "22=>540, 23=>539, 24=>537, 26=>538, 27=>536",
-+ "22=>510, 23=>509, 24=>507, 26=>508, 27=>506",
-+ "22=>480, 23=>479, 24=>477, 26=>478, 27=>476",
-+ "31=>503, 32=>504, 33=>501, 34=>505, 35=>502",
-+ "31=>498, 32=>499, 33=>496, 34=>500, 35=>497",
-+ "31=>493, 32=>494, 33=>491, 34=>495, 35=>492",
-+ "31=>488, 32=>489, 33=>486, 34=>490, 35=>487",
-+ "31=>483, 32=>484, 33=>481, 34=>485, 35=>482",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>533, 32=>534, 33=>531, 34=>535, 35=>532",
-+ "31=>528, 32=>529, 33=>526, 34=>530, 35=>527",
-+ "31=>523, 32=>524, 33=>521, 34=>525, 35=>522",
-+ "31=>518, 32=>519, 33=>516, 34=>520, 35=>517",
-+ "31=>513, 32=>514, 33=>511, 34=>515, 35=>512",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>563, 32=>564, 33=>561, 34=>565, 35=>562",
-+ "31=>558, 32=>559, 33=>556, 34=>560, 35=>557",
-+ "31=>553, 32=>554, 33=>551, 34=>555, 35=>552",
-+ "31=>548, 32=>549, 33=>546, 34=>550, 35=>547",
-+ "31=>543, 32=>544, 33=>541, 34=>545, 35=>542",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>593, 32=>594, 33=>591, 34=>595, 35=>592",
-+ "31=>588, 32=>589, 33=>586, 34=>590, 35=>587",
-+ "31=>583, 32=>584, 33=>581, 34=>585, 35=>582",
-+ "31=>578, 32=>579, 33=>576, 34=>580, 35=>577",
-+ "31=>573, 32=>574, 33=>571, 34=>575, 35=>572",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>623, 32=>624, 33=>621, 34=>625, 35=>622",
-+ "31=>618, 32=>619, 33=>616, 34=>620, 35=>617",
-+ "31=>613, 32=>614, 33=>611, 34=>615, 35=>612",
-+ "31=>608, 32=>609, 33=>606, 34=>610, 35=>607",
-+ "31=>603, 32=>604, 33=>601, 34=>605, 35=>602",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>755, 23=>754, 24=>752, 26=>753, 27=>751",
-+ "22=>725, 23=>724, 24=>722, 26=>723, 27=>721",
-+ "22=>695, 23=>694, 24=>692, 26=>693, 27=>691",
-+ "22=>665, 23=>664, 24=>662, 26=>663, 27=>661",
-+ "22=>635, 23=>634, 24=>632, 26=>633, 27=>631",
-+ "31=>658, 32=>659, 33=>656, 34=>660, 35=>657",
-+ "31=>653, 32=>654, 33=>651, 34=>655, 35=>652",
-+ "31=>648, 32=>649, 33=>646, 34=>650, 35=>647",
-+ "31=>643, 32=>644, 33=>641, 34=>645, 35=>642",
-+ "31=>638, 32=>639, 33=>636, 34=>640, 35=>637",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>688, 32=>689, 33=>686, 34=>690, 35=>687",
-+ "31=>683, 32=>684, 33=>681, 34=>685, 35=>682",
-+ "31=>678, 32=>679, 33=>676, 34=>680, 35=>677",
-+ "31=>673, 32=>674, 33=>671, 34=>675, 35=>672",
-+ "31=>668, 32=>669, 33=>666, 34=>670, 35=>667",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>718, 32=>719, 33=>716, 34=>720, 35=>717",
-+ "31=>713, 32=>714, 33=>711, 34=>715, 35=>712",
-+ "31=>708, 32=>709, 33=>706, 34=>710, 35=>707",
-+ "31=>703, 32=>704, 33=>701, 34=>705, 35=>702",
-+ "31=>698, 32=>699, 33=>696, 34=>700, 35=>697",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>748, 32=>749, 33=>746, 34=>750, 35=>747",
-+ "31=>743, 32=>744, 33=>741, 34=>745, 35=>742",
-+ "31=>738, 32=>739, 33=>736, 34=>740, 35=>737",
-+ "31=>733, 32=>734, 33=>731, 34=>735, 35=>732",
-+ "31=>728, 32=>729, 33=>726, 34=>730, 35=>727",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>778, 32=>779, 33=>776, 34=>780, 35=>777",
-+ "31=>773, 32=>774, 33=>771, 34=>775, 35=>772",
-+ "31=>768, 32=>769, 33=>766, 34=>770, 35=>767",
-+ "31=>763, 32=>764, 33=>761, 34=>765, 35=>762",
-+ "31=>758, 32=>759, 33=>756, 34=>760, 35=>757",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null
-+ };
-+}
diff --git a/jdk8312489-max_sig_default_increase.patch b/jdk8312489-max_sig_default_increase.patch
new file mode 100644
index 0000000..8aeb261
--- /dev/null
+++ b/jdk8312489-max_sig_default_increase.patch
@@ -0,0 +1,50 @@
+commit 5b613e3ebed6c141146e743e64c894fe4f39421e
+Author: Andrew John Hughes <andrew(a)openjdk.org>
+Date: Fri Sep 1 15:53:41 2023 +0000
+
+ 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
+
+ Backport-of: e47a84f23dd2608c6f5748093eefe301fb5bf750
+
+diff --git a/src/java.base/share/classes/java/util/jar/JarFile.java b/src/java.base/share/classes/java/util/jar/JarFile.java
+index bd538649a4f..70cf99504e4 100644
+--- a/src/java.base/share/classes/java/util/jar/JarFile.java
++++ b/src/java.base/share/classes/java/util/jar/JarFile.java
+@@ -803,7 +803,9 @@ private byte[] getBytes(ZipEntry ze) throws IOException {
+ throw new IOException("Unsupported size: " + uncompressedSize +
+ " for JarEntry " + ze.getName() +
+ ". Allowed max size: " +
+- SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes");
++ SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes. " +
++ "You can use the jdk.jar.maxSignatureFileSize " +
++ "system property to increase the default value.");
+ }
+ int len = (int)uncompressedSize;
+ int bytesRead;
+diff --git a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
+index 4ea9255ba0a..05acdcb9474 100644
+--- a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
++++ b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
+@@ -856,16 +856,16 @@ private static int initializeMaxSigFileSize() {
+ * the maximum allowed number of bytes for the signature-related files
+ * in a JAR file.
+ */
+- Integer tmp = GetIntegerAction.privilegedGetProperty(
+- "jdk.jar.maxSignatureFileSize", 8000000);
++ int tmp = GetIntegerAction.privilegedGetProperty(
++ "jdk.jar.maxSignatureFileSize", 16000000);
+ if (tmp < 0 || tmp > MAX_ARRAY_SIZE) {
+ if (debug != null) {
+- debug.println("Default signature file size 8000000 bytes " +
+- "is used as the specified size for the " +
+- "jdk.jar.maxSignatureFileSize system property " +
++ debug.println("The default signature file size of 16000000 bytes " +
++ "will be used for the jdk.jar.maxSignatureFileSize " +
++ "system property since the specified value " +
+ "is out of range: " + tmp);
+ }
+- tmp = 8000000;
++ tmp = 16000000;
+ }
+ return tmp;
+ }
diff --git a/nss.fips.cfg.in b/nss.fips.cfg.in
deleted file mode 100644
index 2d9ec35..0000000
--- a/nss.fips.cfg.in
+++ /dev/null
@@ -1,8 +0,0 @@
-name = NSS-FIPS
-nssLibraryDirectory = @NSS_LIBDIR@
-nssSecmodDirectory = sql:/etc/pki/nssdb
-nssDbMode = readOnly
-nssModule = fips
-
-attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }
-
diff --git a/openjdk_news.sh b/openjdk_news.sh
index 560b356..386aa53 100755
--- a/openjdk_news.sh
+++ b/openjdk_news.sh
@@ -18,8 +18,8 @@
OLD_RELEASE=$1
NEW_RELEASE=$2
-SUBDIR=$3
-REPO=$4
+REPO=$3
+SUBDIR=$4
SCRIPT_DIR=$(dirname ${0})
if test "x${SUBDIR}" = "x"; then
diff --git a/rh1648644-java_access_bridge_privileged_security.patch b/rh1648644-java_access_bridge_privileged_security.patch
deleted file mode 100644
index 53026ad..0000000
--- a/rh1648644-java_access_bridge_privileged_security.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- openjdk/src/java.base/share/conf/security/java.security
-+++ openjdk/src/java.base/share/conf/security/java.security
-@@ -304,6 +304,8 @@
- #
- package.access=sun.misc.,\
- sun.reflect.,\
-+ org.GNOME.Accessibility.,\
-+ org.GNOME.Bonobo.,\
-
- #
- # List of comma-separated packages that start with or equal this string
-@@ -316,6 +318,8 @@
- #
- package.definition=sun.misc.,\
- sun.reflect.,\
-+ org.GNOME.Accessibility.,\
-+ org.GNOME.Bonobo.,\
-
- #
- # Determines whether this properties file can be appended to
diff --git a/sources b/sources
index 47996d1..0c780d7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (openjdk-jdk17u-jdk-17.0.8+7.tar.xz) = 52bd1002cffafc6fc613b3ee1c62bfc3f27f31d5e1810ebb8f556a725ebb310508885762079589f15be5da63388214525128b77d2a665bae9fccfc419ab5d6a1
+SHA512 (openjdk-17.0.9+9.tar.xz) = 33225a1070077c9504b4857734305f301e51b93a929274d460ddc3dc042ce15943030f8af928c11962743a928619ea39daa453d8fb1c8ea5a334a4b6490a00ee
6 months, 1 week
Architecture specific change in rpms/java-17-openjdk-portable.git
by githook-noreply@fedoraproject.org
The package rpms/java-17-openjdk-portable.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/java-17-openjdk-portable.git/comm....
Change:
+%ifarch %{gdb_arches}
Thanks.
Full change:
============
commit 289d0e958f24fa8759c01d48b05c8a4b71e599e2
Author: Jiri <jvanek(a)redhat.com>
Date: Thu Nov 23 16:12:18 2023 +0100
updated to OpenJDK 17.0.9 (2023-10-17)
- adjsuted generate_source_tarball
- removed icedtea_sync
- dropped standalone licenses
- added usntripped subpkg
- added docs subpkg
- adjsuted versions of bundled libraries
- build refactored to several solid methods following gnu_andrew
- removed no longer needed jdk8305995-footprint_regression_from_jdk_8224957, nss.fips.cfg.in, rh1648644-java_access_bridge_privileged_security.patch
- added jdk8312489-max_sig_default_increase.patch
- aligned fips-17u-51e1d00be4e.patch (gnu_andrew)
- fixed '--without release' build-ability by moving docs and misc to
if-release only
diff --git a/.gitignore b/.gitignore
index 6c2c596..f79d052 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,4 @@
/openjdk-jdk17u-jdk-17.0.6+10.tar.xz
/openjdk-jdk17u-jdk-17.0.7+7.tar.xz
/openjdk-jdk17u-jdk-17.0.8+7.tar.xz
+/openjdk-17.0.9+9.tar.xz
diff --git a/NEWS b/NEWS
index a7be73f..4edebb8 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,490 @@ Key:
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
+New in release OpenJDK 17.0.9 (2023-10-17):
+===========================================
+Live versions of these release notes can be found at:
+ * https://bit.ly/openjdk1709
+
+* CVEs
+ - CVE-2023-22081
+ - CVE-2023-22025
+* Security fixes
+ - JDK-8286503, JDK-8312367: Enhance security classes
+ - JDK-8296581: Better system proxy support
+ - JDK-8297856: Improve handling of Bidi characters
+ - JDK-8305815, JDK-8307278: Update Libpng to 1.6.39
+ - JDK-8306881, JDK-8307286: Update FreeType to 2.13.0
+ - JDK-8309966: Enhanced TLS connections
+ - JDK-8312248: Enhanced archival support redux
+ - JDK-8314649: Enhanced archival support redux
+ - JDK-8317121: vector_masked_load instruction is moved too early after JDK-8286941
+* New features
+ - JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port
+* Other changes
+ - JDK-6176679: Application freezes when copying an animated gif image to the system clipboard
+ - JDK-6381945: (cal) Japanese calendar unit test system should avoid multiple static imports
+ - JDK-8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded()
+ - JDK-8153837: AArch64: Handle special cases for MaxINode & MinINode
+ - JDK-8156889: ListKeychainStore.sh fails in some virtualized environments
+ - JDK-8171221: Remove -XX:+CheckMemoryInitialization
+ - JDK-8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test
+ - JDK-8195589: T6587786.java failed after JDK-8189997
+ - JDK-8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE"
+ - JDK-8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows
+ - JDK-8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27)
+ - JDK-8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver.
+ - JDK-8255548: Missing coverage for javax.xml.crypto.dom.DOMCryptoContext
+ - JDK-8263044: jdk/jfr/jvm/TestDumpOnCrash.java timed out
+ - JDK-8267188: gc/stringdedup/TestStringDeduplicationInterned.java fails with Shenandoah
+ - JDK-8267341: macos attempt_reserve_memory_at(arg1, arg2, true) failure
+ - JDK-8267517: async logging for stdout and stderr
+ - JDK-8267860: Off-by-one bug when searching arrays in AlpnGreaseTest
+ - JDK-8268852: AsyncLogWriter should not overide is_Named_thread()
+ - JDK-8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4
+ - JDK-8269466: Factor out the common code for initializing and starting internal VM JavaThreads
+ - JDK-8270331: [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/InitToBlack.java
+ - JDK-8270794: Avoid loading Klass* twice in TypeArrayKlass::oop_size()
+ - JDK-8270894: Use acquire semantics in ObjectSynchronizer::read_stable_mark()
+ - JDK-8271707: migrate tests to use jdk.test.whitebox.WhiteBox
+ - JDK-8271898: disable os.release_multi_mappings_vm on macOS-X64
+ - JDK-8272586: emit abstract machine code in hs-err logs
+ - JDK-8272654: Mark word accesses should not use Access API
+ - JDK-8273092: Sort classlist in JDK image
+ - JDK-8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java
+ - JDK-8274986: max code printed in hs-err logs should be configurable
+ - JDK-8275031: runtime/ErrorHandling/MachCodeFramesInErrorFile.java fails when hsdis is present
+ - JDK-8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver
+ - JDK-8275415: Prepare Leak Profiler for Lilliput
+ - JDK-8275662: remove test/lib/sun/hotspot
+ - JDK-8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant"
+ - JDK-8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0
+ - JDK-8276696: ParallelObjectIterator freed at the wrong time in VM_HeapDumper
+ - JDK-8277102: Dubious PrintCompilation output
+ - JDK-8277353: java/security/MessageDigest/ThreadSafetyTest.java test times out
+ - JDK-8277417: C1 LIR instruction for load-klass
+ - JDK-8277427: Update jib-profiles.js to use JMH 1.33 devkit
+ - JDK-8277654: Shenandoah: Don't produce new memory state in C2 LRB runtime call
+ - JDK-8277860: PPC: Remove duplicate info != NULL check
+ - JDK-8278141: LIR_OpLoadKlass::_info shadows the field of the same name from LIR_Op
+ - JDK-8278456: Define jtreg jdk_desktop test group time-based sub-tasks for use by headful testing.
+ - JDK-8279545: Buffer overrun in reverse_words of sharedRuntime_x86_64.cpp:3517
+ - JDK-8280032: Update jib-profiles.js to use JMH 1.34 devkit
+ - JDK-8280396: G1: Full gc mark stack draining should prefer to make work available to other threads
+ - JDK-8280885: Shenandoah: Some tests failed with "EA: missing allocation reference path"
+ - JDK-8281507: Two javac tests have bad jtreg `@clean` tags
+ - JDK-8281717: Cover logout method for several LoginModule
+ - JDK-8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time"
+ - JDK-8282651: ZGC: vmTestbase/gc/ArrayJuggle/ tests fails intermittently with exit code 97
+ - JDK-8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
+ - JDK-8283056: show abstract machine code in hs-err for all VM crashes
+ - JDK-8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs
+ - JDK-8283326: Implement SafeFetch statically
+ - JDK-8283724: Incorrect description for jtreg-failure-handler option
+ - JDK-8283756: (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes
+ - JDK-8283865: riscv: Break down -XX:+UseRVB into seperate options for each bitmanip extension
+ - JDK-8283929: GHA: Add RISC-V build config
+ - JDK-8284068: riscv: should call Atomic::release_store in JavaThread::set_thread_state
+ - JDK-8284090: com/sun/security/auth/module/AllPlatforms.java fails to compile
+ - JDK-8284273: Early crashes in os::print_context on AArch64
+ - JDK-8284760: Correct type/array element offset in LibraryCallKit::get_state_from_digest_object()
+ - JDK-8284772: GHA: Use GCC Major Version Dependencies Only
+ - JDK-8284910: Buffer clean in PasswordCallback
+ - JDK-8284937: riscv: should not allocate special register for temp
+ - JDK-8284997: arm32 build crashes since JDK-8283326
+ - JDK-8285303: riscv: Incorrect register mask in call_native_base
+ - JDK-8285437: riscv: Fix MachNode size mismatch for MacroAssembler::verify_oops*
+ - JDK-8285630: Fix a configure error in RISC-V cross build
+ - JDK-8285675: Temporary fix for arm32 SafeFetch
+ - JDK-8285699: riscv: Provide information when hitting a HaltNode
+ - JDK-8285711: riscv: RVC: Support disassembler show-bytes option
+ - JDK-8285756: clean up use of bad arguments for `@clean` in langtools tests
+ - JDK-8285980: Several tests in compiler/c2/irTests miss @requires vm.compiler2.enabled
+ - JDK-8286481: Exception printed to stdout on Windows when storing transparent image in clipboard
+ - JDK-8286620: Create regression test for verifying setMargin() of JRadioButton
+ - JDK-8286623: Bundle zlib by default with JDK on macos aarch64
+ - JDK-8287227: Shenandoah: A couple of virtual thread tests failed with iu mode even without Loom enabled.
+ - JDK-8287418: riscv: Fix correctness issue of MacroAssembler::movptr
+ - JDK-8287552: riscv: Fix comment typo in li64
+ - JDK-8287970: riscv: jdk/incubator/vector/*VectorTests failing
+ - JDK-8288719: [arm32] SafeFetch32 thumb interleaving causes random crashes
+ - JDK-8289077: Add manual tests to open
+ - JDK-8289238: Refactoring changes to PassFailJFrame Test Framework
+ - JDK-8289510: Improve test coverage for XPath Axes: namespace
+ - JDK-8289512: Fix GCC 12 warnings for adlc output_c.cpp
+ - JDK-8289547: Update javax/swing/Popup/TaskbarPositionTest.java
+ - JDK-8289646: configure script failed on WSL
+ - JDK-8289688: jfr command hangs when it processes invalid file
+ - JDK-8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
+ - JDK-8289797: tools/launcher/I18NArgTest.java fails on Japanese Windows environment
+ - JDK-8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong
+ - JDK-8290137: riscv: small refactoring for add_memory_int32/64
+ - JDK-8290164: compiler/runtime/TestConstantsInError.java fails on riscv
+ - JDK-8290464: Optimize ResourceArea zapping on ResourceMark release
+ - JDK-8290469: Add new positioning options to PassFailJFrame test framework
+ - JDK-8290496: riscv: Fix build warnings-as-errors with GCC 11
+ - JDK-8291444: GHA builds/tests won't run manually if disabled from automatic running
+ - JDK-8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero
+ - JDK-8291893: riscv: remove fence.i used in user space
+ - JDK-8291947: riscv: fail to build after JDK-8290840
+ - JDK-8291952: riscv: Remove PRAGMA_NONNULL_IGNORED
+ - JDK-8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar
+ - JDK-8292315: Tests should not rely on specific JAR file names (hotspot)
+ - JDK-8292316: Tests should not rely on specific JAR file names (jpackage)
+ - JDK-8292683: Remove BadKeyUsageTest.java from Problem List
+ - JDK-8292698: Improve performance of DataInputStream
+ - JDK-8292716: Configure should check that jtreg is of the required version
+ - JDK-8292763: JDK-8292716 breaks configure without jtreg
+ - JDK-8292867: RISC-V: Simplify weak CAS return value handling
+ - JDK-8293012: ConstantPool::print_on can crash if _cache is NULL
+ - JDK-8293050: RISC-V: Remove redundant non-null assertions about macro-assembler
+ - JDK-8293098: GHA: Harmonize GCC version handling for host and cross builds
+ - JDK-8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub
+ - JDK-8293107: GHA: Bump to Ubuntu 22.04
+ - JDK-8293114: JVM should trim the native heap
+ - JDK-8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64
+ - JDK-8293177: Verify version numbers in legal files
+ - JDK-8293180: JQuery UI license file not updated
+ - JDK-8293252: Shenandoah: ThreadMXBean synchronizer tests crash with aggressive heuristics
+ - JDK-8293361: GHA: dump config.log in case of configure failure
+ - JDK-8293474: RISC-V: Unify the way of moving function pointer
+ - JDK-8293524: RISC-V: Use macro-assembler functions as appropriate
+ - JDK-8293566: RISC-V: Clean up push and pop registers
+ - JDK-8293811: Provide a reason for PassFailJFrame.forceFail
+ - JDK-8293851: hs_err should print more stack in hex dump
+ - JDK-8294012: RISC-V: get/put_native_u8 missing the case when address&7 is 6
+ - JDK-8294083: RISC-V: Minimal build failed with --disable-precompiled-headers
+ - JDK-8294086: RISC-V: Cleanup InstructionMark usages in the backend
+ - JDK-8294087: RISC-V: RVC: Fix a potential alignment issue and add more alignment assertions for the patchable calls/nops
+ - JDK-8294149: JMH 1.34 and later requires jopt-simple 5.0.4
+ - JDK-8294187: RISC-V: Unify all relocations for the backend into AbstractAssembler::relocate()
+ - JDK-8294366: RISC-V: Partially mark out incompressible regions
+ - JDK-8294430: RISC-V: Small refactoring for movptr_with_offset
+ - JDK-8294492: RISC-V: Use li instead of patchable movptr at non-patchable callsites
+ - JDK-8294679: RISC-V: Misc crash dump improvements
+ - JDK-8294941: GHA: Cut down cross-compilation sysroots
+ - JDK-8294956: GHA: qemu-debootstrap is deprecated, use the regular one
+ - JDK-8295110: RISC-V: Mark out relocations as incompressible
+ - JDK-8295213: Run GHA manually with user-specified make and configure arguments
+ - JDK-8295270: RISC-V: Clean up and refactoring for assembler functions
+ - JDK-8295396: RISC-V: Cleanup useless CompressibleRegions
+ - JDK-8295657: SA: Allow larger object alignments
+ - JDK-8295737: macOS: Print content cut off when width > height with portrait orientation
+ - JDK-8295811: serviceability/sa/TestObjectAlignment.java fails on x86_32
+ - JDK-8295812: Skip the "half float" support in LittleCMS during the build
+ - JDK-8295894: Remove SECOM certificate that is expiring in September 2023
+ - JDK-8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic
+ - JDK-8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0
+ - JDK-8296384: [TESTBUG] sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java intermittently timeout
+ - JDK-8296435: RISC-V: Small refactoring for increment/decrement
+ - JDK-8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec
+ - JDK-8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
+ - JDK-8296602: RISC-V: improve performance of copy_memory stub
+ - JDK-8296771: RISC-V: C2: assert(false) failed: bad AD file
+ - JDK-8296796: Provide clean, platform-agnostic interface to C-heap trimming
+ - JDK-8296916: RISC-V: Move some small macro-assembler functions to header file
+ - JDK-8297350: Update JMH devkit to 1.36
+ - JDK-8297359: RISC-V: improve performance of floating Max Min intrinsics
+ - JDK-8297476: Increase InlineSmallCode default from 1000 to 2500 for RISC-V
+ - JDK-8297644: RISC-V: Compilation error when shenandoah is disabled
+ - JDK-8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit
+ - JDK-8297697: RISC-V: Add support for SATP mode detection
+ - JDK-8297715: RISC-V: C2: Use single-bit instructions from the Zbs extension
+ - JDK-8297887: Update Siphash
+ - JDK-8297923: java.awt.ScrollPane broken after multiple scroll up/down
+ - JDK-8298138: Shenandoah: HdrSeq asserts "sub-bucket index (512) overflow for value ( 1.00)"
+ - JDK-8298921: Create a regression test for JDK-8139581
+ - JDK-8298974: Add ftcolor.c to imported freetype sources
+ - JDK-8299158: Improve MD5 intrinsic on AArch64
+ - JDK-8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops*
+ - JDK-8299330: Minor improvements in MSYS2 Workflow handling
+ - JDK-8299617: CurrencySymbols.properties is missing the copyright notice
+ - JDK-8299658: C1 compilation crashes in LinearScan::resolve_exception_edge
+ - JDK-8299713: Test javax/swing/JTableHeader/6889007/bug6889007.java failed: Wrong type of cursor
+ - JDK-8299827: Add resolved IP address in connection exception for sockets
+ - JDK-8299847: RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes
+ - JDK-8299962: Speed up compiler/intrinsics/unsafe/DirectByteBufferTest.java and HeapByteBufferTest.java
+ - JDK-8300053: Shenandoah: Handle more GCCauses in ShenandoahControlThread::request_gc
+ - JDK-8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3
+ - JDK-8300109: RISC-V: Improve code generation for MinI/MaxI nodes
+ - JDK-8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case
+ - JDK-8300584: Accelerate AVX-512 CRC32C for small buffers
+ - JDK-8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values
+ - JDK-8300693: Lower the compile threshold and reduce the iterations of warmup loop in VarHandles tests
+ - JDK-8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb
+ - JDK-8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler
+ - JDK-8301067: RISC-V: better error message when reporting unsupported satp modes
+ - JDK-8301074: Replace NULL with nullptr in share/opto/
+ - JDK-8301097: Update GHA XCode to 12.5.1
+ - JDK-8301153: RISC-V: pipeline class for several instructions is not set correctly
+ - JDK-8301167: Update VerifySignedJar to actually exercise and test verification
+ - JDK-8301187: Memory leaks in OopMapCache
+ - JDK-8301269: Update Commons BCEL to Version 6.7.0
+ - JDK-8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule
+ - JDK-8301367: Add exception handler method to the BaseLdapServer
+ - JDK-8301628: RISC-V: c2 fix pipeline class for several instructions
+ - JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit
+ - JDK-8301818: RISC-V: Factor out function mvw from MacroAssembler
+ - JDK-8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed
+ - JDK-8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work
+ - JDK-8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818
+ - JDK-8302150: Speed up compiler/codegen/Test7100757.java
+ - JDK-8302161: Upgrade jQuery UI to version 1.13.2
+ - JDK-8302182: Update Public Suffix List to 88467c9
+ - JDK-8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible
+ - JDK-8302736: Major performance regression in Math.log on aarch64
+ - JDK-8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET
+ - JDK-8303047: avoid NULL after 8301661
+ - JDK-8303154: Investigate and improve instruction cache flushing during compilation
+ - JDK-8303215: Make thread stacks not use huge pages
+ - JDK-8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if
+ - JDK-8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1
+ - JDK-8304314: StackWalkTest.java fails after CODETOOLS-7903373
+ - JDK-8304353: Add lib-test tier1 testing in GHA
+ - JDK-8304725: AsyncGetCallTrace can cause SIGBUS on M1
+ - JDK-8304845: Update PCSC-Lite for Suse Linux to 1.9.9 and fix incomplete license wording
+ - JDK-8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree()
+ - JDK-8305006: Use correct register in riscv_enc_fast_unlock()
+ - JDK-8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp
+ - JDK-8305112: RISC-V: Typo fix for RVC description
+ - JDK-8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051
+ - JDK-8305421: Work around JDK-8305420 in CDSJDITest.java
+ - JDK-8305425: Thread.isAlive0 doesn't need to call into the VM
+ - JDK-8305512: RISC-V: Enable RVC extension by default on supported hardware
+ - JDK-8305670: Performance regression in LockSupport.unpark with lots of idle threads
+ - JDK-8305728: RISC-V: Use bexti instruction to do single-bit testing
+ - JDK-8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance
+ - JDK-8305766: ProblemList runtime/CompressedOops/CompressedClassPointers.java
+ - JDK-8305858: Resolve multiple definition of 'handleSocketError' when statically linking with JDK native libraries
+ - JDK-8305950: Have -XshowSettings option display tzdata version
+ - JDK-8305995: Footprint regression from JDK-8224957
+ - JDK-8306060: Open source few AWT Insets related tests
+ - JDK-8306076: Open source AWT misc tests
+ - JDK-8306134: Open source some AWT tests relating to Button and a few other classes
+ - JDK-8306135: Clean up and open source some AWT tests
+ - JDK-8306137: Open source several AWT ScrollPane related tests
+ - JDK-8306281: function isWsl() returns false on WSL2
+ - JDK-8306372: Open source AWT CardLayout and Checkbox tests
+ - JDK-8306428: RunThese30M.java crashed with assert(early->flag() == current->flag() || early->flag() == mtNone)
+ - JDK-8306430: Open source some AWT tests related to TextComponent and Toolkit
+ - JDK-8306435: Juggle04/TestDescription.java should be a booleanArr test and not a byteArr one
+ - JDK-8306484: Open source several AWT Choice jtreg tests
+ - JDK-8306566: Open source several clipboard AWT tests
+ - JDK-8306575: Clean up and open source four Dialog related tests
+ - JDK-8306636: Disable compiler/c2/Test6905845.java with -XX:TieredStopAtLevel=3
+ - JDK-8306638: Open source some AWT tests related to datatransfer and Toolkit
+ - JDK-8306667: RISC-V: Fix storeImmN0 matching rule by using zr register
+ - JDK-8306682: Open source a few more AWT Choice tests
+ - JDK-8306718: Optimize and opensource some old AWT tests
+ - JDK-8306738: Select num workers for safepoint ParallelCleanupTask
+ - JDK-8306765: Some client related jtreg problem list entries are malformed
+ - JDK-8306812: Open source several AWT Miscellaneous tests
+ - JDK-8307067: remove broken EnableThreadSMRExtraValidityChecks option
+ - JDK-8307068: store a JavaThread* in the java.lang.Thread object after the JavaThread* is added to the main ThreadsList
+ - JDK-8307078: Opensource and clean up five more AWT Focus related tests
+ - JDK-8307079: Update test java/awt/Choice/DragOffNoSelect.java
+ - JDK-8307083: Open source some drag and drop tests 3
+ - JDK-8307147: [x86] Dangling pointer warning for Assembler::_attributes
+ - JDK-8307150: RISC-V: Remove remaining StoreLoad barrier with UseCondCardMark for Serial/Parallel GC
+ - JDK-8307156: native_thread not protected by TLH
+ - JDK-8307165: java/awt/dnd/NoFormatsDropTest/NoFormatsDropTest.java timed out
+ - JDK-8307299: Move more DnD tests to open
+ - JDK-8307301: Update HarfBuzz to 7.2.0
+ - JDK-8307348: Parallelize heap walk for ObjectCount(AfterGC) JFR event collection
+ - JDK-8307395: Add missing STS to Shenandoah
+ - JDK-8307446: RISC-V: Improve performance of floating point to integer conversion
+ - JDK-8307526: [JFR] Better handling of tampered JFR repository
+ - JDK-8307555: Reduce memory reads in x86 MD5 intrinsic
+ - JDK-8307569: Build with gcc8 is broken after JDK-8307301
+ - JDK-8307572: AArch64: Vector registers are clobbered by some macroassemblers
+ - JDK-8307603: [AIX] Broken build after JDK-8307301
+ - JDK-8307604: gcc12 based Alpine build broken build after JDK-8307301
+ - JDK-8307651: RISC-V: stringL_indexof_char instruction has wrong format string
+ - JDK-8307653: Adjust delay time and gc log argument in TestAbortOnVMOperationTimeout
+ - JDK-8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition
+ - JDK-8307766: Linux: Provide the option to override the timer slack
+ - JDK-8308089: [riscv-port-jdk17u] Intrinsify Unsafe.storeStoreFence
+ - JDK-8308090: Add container tests for on-the-fly resource quota updates
+ - JDK-8308152: PropertyDescriptor should work with overridden generic getter method
+ - JDK-8308156: VerifyCACerts.java misses blank in error output
+ - JDK-8308192: Error in parsing replay file when staticfield is an array of single dimension
+ - JDK-8308232: nsk/jdb tests don't pass -verbose flag to the debuggee
+ - JDK-8308277: RISC-V: Improve vectorization of Match.sqrt() on floats
+ - JDK-8308283: Build failure with GCC12 & GCC13
+ - JDK-8308300: enhance exceptions in MappedMemoryUtils.c
+ - JDK-8308643: Incorrect value of 'used' jvmstat counter
+ - JDK-8308766: TLAB initialization may cause div by zero
+ - JDK-8308803: Improve java/util/UUID/UUIDTest.java
+ - JDK-8308872: enhance logging and some exception in krb5/Config.java
+ - JDK-8308997: RISC-V: Sign extend when comparing 32-bit value with zero instead of testing the sign bit
+ - JDK-8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
+ - JDK-8309095: Remove UTF-8 character from TaskbarPositionTest.java
+ - JDK-8309107: Bump update version for OpenJDK: jdk-17.0.9
+ - JDK-8309119: [17u/11u] Redo JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication
+ - JDK-8309138: Fix container tests for jdks with symlinked conf dir
+ - JDK-8309228: Clarify EXPERIMENTAL flags comment in hotspot/share/runtime/globals.hpp
+ - JDK-8309254: Implement fast-path for ASCII-compatible CharsetEncoders on RISC-V
+ - JDK-8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer
+ - JDK-8309297: Adjust ShenandoahHeap print_heap_regions_on
+ - JDK-8309340: Provide sctpHandleSocketErrorWithMessage
+ - JDK-8309427: [riscv-port-jdk17u] Remove unused RoundDoubleModeV C2 node
+ - JDK-8309550: jdk.jfr.internal.Utils::formatDataAmount method should gracefully handle amounts equal to Long.MIN_VALUE
+ - JDK-8309591: Socket.setOption(TCP_QUICKACK) uses wrong level
+ - JDK-8309613: [Windows] hs_err files sometimes miss information about the code containing the error
+ - JDK-8309746: Reconfigure check should include make/conf/version-numbers.conf
+ - JDK-8309862: Unsafe list operations in JfrStringPool
+ - JDK-8309956: Shenandoah: Strengthen the mark word check in string dedup
+ - JDK-8309959: JFR: Display N/A for missing data amount
+ - JDK-8310054: ScrollPane insets are incorrect
+ - JDK-8310126: C1: Missing receiver null check in Reference::get intrinsic
+ - JDK-8310259: Pin msys2/setup-msys2 github action to a specific commit
+ - JDK-8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns
+ - JDK-8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt
+ - JDK-8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V
+ - JDK-8311033: [macos] PrinterJob does not take into account Sides attribute
+ - JDK-8311249: Remove unused MemAllocator::obj_memory_range
+ - JDK-8311285: report some fontconfig related environment variables in hs_err file
+ - JDK-8311689: Wrong visible amount in Adjustable of ScrollPane
+ - JDK-8311862: RISC-V: small improvements to shift immediate instructions
+ - JDK-8311923: TestIRMatching.java fails on RISC-V
+ - JDK-8312029: Add CriticalNative tests to ProblemList for 8312028
+ - JDK-8312511: GHA: Bump cross-compile runner to Ubuntu 22.04
+ - JDK-8312525: New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction
+ - JDK-8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
+ - JDK-8313262: C2: Sinking node may cause required cast to be dropped
+ - JDK-8313402: C1: Incorrect LoadIndexed value numbering
+ - JDK-8313428: GHA: Bump GCC versions for July 2023 updates
+ - JDK-8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0
+ - JDK-8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly
+ - JDK-8313678: SymbolTable can leak Symbols during cleanup
+ - JDK-8313701: GHA: RISC-V should use the official repository for bootstrap
+ - JDK-8313707: GHA: Bootstrap sysroots with --variant=minbase
+ - JDK-8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer
+ - JDK-8313815: The exception messages printed by jcmd ManagementAgent.start are corrupted on Japanese Windows
+ - JDK-8313874: JNI NewWeakGlobalRef throws exception for null arg
+ - JDK-8314020: Print instruction blocks in byte units
+ - JDK-8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java
+ - JDK-8314118: Update JMH devkit to 1.37
+ - JDK-8314262: GHA: Cut down cross-compilation sysroots deeper
+ - JDK-8314426: runtime/os/TestTrimNative.java is failing on slow machines
+ - JDK-8314501: Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails
+ - JDK-8314517: some tests fail in case ipv6 is disabled on the machine
+ - JDK-8314552: Fix javadoc tests to work with jtreg 7
+ - JDK-8314658: [17u] GHA: Sync up debian-version for cross-builds
+ - JDK-8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev
+ - JDK-8314960: Add Certigna Root CA - 2
+ - JDK-8317040: Exclude cleaner test failing on older releases
+ - JDK-8317643: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.9
+
+Notes on individual issues:
+===========================
+
+hotspot/compiler:
+
+JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port
+=========================================================
+https://openjdk.org/jeps/422
+
+RISC-V is a free and open-source RISC instruction set architecture
+(ISA) designed originally at the University of California, Berkeley,
+and now developed collaboratively under the sponsorship of RISC-V
+International. It is already supported by a wide range of language
+toolchains. With the increasing availability of RISC-V hardware, the
+JDK port has been backported to 17u, following introduction in 19.
+
+security-libs/javax.net.ssl:
+
+JDK-8301700: The Default TLS Diffie-Hellman Group Size Has Been Increased from 1024-bit to 2048-bit
+===================================================================================================
+The JDK implementation of TLS 1.2 now uses a default Diffie Hellman
+keysize of 2048 bits when a TLS_DHE cipher suite is negotiated and
+either the client or server does not support FFDHE.
+
+The JDK TLS implementation supports FFDHE, which can negotiate a
+stronger keysize, and this is enabled by default.
+
+As a workaround, users can revert to the previous key size by setting
+the `jdk.tls.ephemeralDHKeySize` system property to 1024 (at their own
+risk).
+
+This change does not affect TLS 1.3 as the minimum DH group size is
+already 2048 bits.
+
+tools/launcher:
+
+JDK-8305950: `-XshowSettings:locale` Output Now Includes Tzdata Version
+=======================================================================
+The `-XshowSettings` launcher option has been enhanced to print the
+tzdata version used by the JDK. The tzdata version is displayed as
+part of the `locale` showSettings option.
+
+Example output using `-X:showSettings:locale`:
+
+Locale settings:
+ default locale = English
+ default display locale = English
+ default format locale = English
+ tzdata version = 2023c
+
+security-libs/java.security:
+
+JDK-8295894: Removed SECOM Trust System's RootCA1 Root Certificate
+==================================================================
+The following root certificate from SECOM Trust System has been
+removed from the `cacerts` keystore:
+
+Alias Name: secomscrootca1 [jdk]
+Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
+
+JDK-8314960: Added Certigna Root CA Certificate
+===============================================
+The following root certificate has been added to the cacerts
+truststore:
+
+Name: Certigna (Dhimyotis)
+Alias Name: certignarootca
+Distinguished Name: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
+
+New in release OpenJDK 17.0.8.1 (2023-08-24):
+=============================================
+Live versions of these release notes can be found at:
+ * https://bit.ly/openjdk17081
+
+* Other changes
+ - JDK-8313765: Invalid CEN header (invalid zip64 extra data field size)
+ - JDK-8314677: Bump update version for OpenJDK: jdk-17.0.8.1
+
+Notes on individual issues:
+===========================
+
+core-libs/java.util.jar:
+
+JDK-8313765: Invalid CEN header (invalid zip64 extra data field size)
+=====================================================================
+Additional validity checks in the handling of Zip64 files,
+JDK-8302483, introduced in 17.0.8, caused the use of some valid zip
+files to now fail with the error, `Invalid CEN header (invalid zip64
+extra data field size)`
+
+This release, 17.0.8.1, allows for zero length headers and additional
+padding produced by some Zip64 creation tools.
+
+The following third party tools have also released patches to better
+adhere to the ZIP File Format Specification:
+
+* Apache Commons Compress fix for Empty CEN Zip64 Extra Headers fixed in Commons Compress release 1.11
+* Apache Ant fix for Empty CEN Zip64 Extra Headers fixed in Ant 1.10.14
+* BND issue with writing invalid Extra Headers fixed in BND 5.3
+
+The maven-bundle-plugin 5.1.5 includes the BND 5.3 patch.
+
+If these improved validation checks cause issues for deployed zip or
+jar files, check how the file was created and whether patches are
+available from the generating software to resolve the issue. With
+both JDK releases, the checks can be disabled by setting the new
+system property, `jdk.util.zip.disableZip64ExtraFieldValidation` to
+`true`.
+
New in release OpenJDK 17.0.8 (2023-07-18):
===========================================
Live versions of these release notes can be found at:
@@ -2913,4 +3397,3 @@ its introduction and the effort required to maintain it is
significant. Retain the experimental Java-level JVM compiler
interface (JVMCI) so that developers can continue to use
externally-built versions of the compiler for JIT compilation.
-
diff --git a/discover_trees.sh b/discover_trees.sh
new file mode 100755
index 0000000..8c31278
--- /dev/null
+++ b/discover_trees.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Copyright (C) 2020 Red Hat, Inc.
+# Written by Andrew John Hughes <gnu.andrew(a)redhat.com>.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+TREE=${1}
+
+if test "x${TREE}" = "x"; then
+ TREE=${PWD}
+fi
+
+if [ -e ${TREE}/nashorn/.hg -o -e ${TREE}/nashorn/merge.changeset ] ; then
+ NASHORN="nashorn" ;
+fi
+
+if [ -e ${TREE}/corba/.hg -o -e ${TREE}/corba/merge.changeset ] ; then
+ CORBA="corba";
+fi
+
+if [ -e ${TREE}/jaxp/.hg -o -e ${TREE}/jaxp/merge.changeset ] ; then
+ JAXP="jaxp";
+fi
+
+if [ -e ${TREE}/jaxws/.hg -o -e ${TREE}/jaxws/merge.changeset ] ; then
+ JAXWS="jaxws";
+fi
+
+if [ -e ${TREE}/langtools/.hg -o -e ${TREE}/langtools/merge.changeset ] ; then
+ LANGTOOLS="langtools";
+fi
+
+if [ -e ${TREE}/jdk/.hg -o -e ${TREE}/jdk/merge.changeset ] ; then
+ JDK="jdk";
+fi
+
+if [ -e ${TREE}/hotspot/.hg -o -e ${TREE}/hotspot/merge.changeset ] ; then
+ HOTSPOT="hotspot";
+fi
+
+SUBTREES="${CORBA} ${JAXP} ${JAXWS} ${LANGTOOLS} ${NASHORN} ${JDK} ${HOTSPOT}";
+echo ${SUBTREES}
diff --git a/fips-17u-bf363eecce3.patch b/fips-17u-51e1d00be4e.patch
similarity index 99%
rename from fips-17u-bf363eecce3.patch
rename to fips-17u-51e1d00be4e.patch
index cd8565c..da1df4d 100644
--- a/fips-17u-bf363eecce3.patch
+++ b/fips-17u-51e1d00be4e.patch
@@ -116,7 +116,7 @@ index 00000000000..f48fc7f7e80
+ AC_SUBST(NSS_LIBDIR)
+])
diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
-index a65d91ee974..a8f054c1397 100644
+index 366682cf044..1f8d782f419 100644
--- a/make/autoconf/libraries.m4
+++ b/make/autoconf/libraries.m4
@@ -33,6 +33,7 @@ m4_include([lib-std.m4])
@@ -2508,7 +2508,7 @@ index 00000000000..dc8bc72fccb
+ }
+}
diff --git a/src/java.base/share/conf/security/java.security b/src/java.base/share/conf/security/java.security
-index fab52688c04..29337576f37 100644
+index 9be02033877..4dd055a9ccf 100644
--- a/src/java.base/share/conf/security/java.security
+++ b/src/java.base/share/conf/security/java.security
@@ -82,6 +82,17 @@ security.provider.tbd=Apple
@@ -3496,7 +3496,7 @@ index 00000000000..f8d505ca815
+}
\ No newline at end of file
diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
-index 9b69072280e..5696b904979 100644
+index 0736ce997e4..0a937fef377 100644
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
@@ -37,6 +37,8 @@ import javax.crypto.*;
@@ -3518,18 +3518,18 @@ index 9b69072280e..5696b904979 100644
private static final long serialVersionUID = -2575874101938349339L;
private static final String PUBLIC = "public";
-@@ -136,9 +141,7 @@ abstract class P11Key implements Key, Length {
+@@ -139,9 +144,7 @@ abstract class P11Key implements Key, Length {
this.tokenObject = tokenObject;
this.sensitive = sensitive;
this.extractable = extractable;
- char[] tokenLabel = this.token.tokenInfo.label;
-- boolean isNSS = (tokenLabel[0] == 'N' && tokenLabel[1] == 'S'
+- isNSS = (tokenLabel[0] == 'N' && tokenLabel[1] == 'S'
- && tokenLabel[2] == 'S');
-+ boolean isNSS = P11Util.isNSS(this.token);
++ isNSS = P11Util.isNSS(this.token);
boolean extractKeyInfo = (!DISABLE_NATIVE_KEYS_EXTRACTION && isNSS &&
extractable && !tokenObject);
this.keyIDHolder = new NativeKeyHolder(this, keyID, session,
-@@ -379,7 +382,9 @@ abstract class P11Key implements Key, Length {
+@@ -383,7 +386,9 @@ abstract class P11Key implements Key, Length {
new CK_ATTRIBUTE(CKA_SENSITIVE),
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
});
@@ -3540,13 +3540,13 @@ index 9b69072280e..5696b904979 100644
return new P11PrivateKey
(session, keyID, algorithm, keyLength, attributes);
} else {
-@@ -461,7 +466,8 @@ abstract class P11Key implements Key, Length {
+@@ -465,7 +470,8 @@ abstract class P11Key implements Key, Length {
}
public String getFormat() {
token.ensureValid();
-- if (sensitive || (extractable == false)) {
+- if (sensitive || !extractable || (isNSS && tokenObject)) {
+ if (!plainKeySupportEnabled &&
-+ (sensitive || (extractable == false))) {
++ (sensitive || !extractable || (isNSS && tokenObject))) {
return null;
} else {
return "RAW";
diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh
index fc8662a..7ff27d6 100755
--- a/generate_source_tarball.sh
+++ b/generate_source_tarball.sh
@@ -8,7 +8,7 @@
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
# PROJECT_NAME=openjdk
# REPO_NAME=jdk17u
-# VERSION=jdk-17.0.7+7
+# VERSION=jdk-17.0.7+9
# or to eg prepare systemtap:
# icedtea7's jstack and other tapsets
# VERSION=6327cf1cea9e
@@ -29,8 +29,6 @@ set -e
OPENJDK_URL_DEFAULT=https://github.com
COMPRESSION_DEFAULT=xz
-# Corresponding IcedTea version
-ICEDTEA_VERSION=12.0
if [ "x$1" = "xhelp" ] ; then
echo -e "Behaviour may be specified by setting the following variables:\n"
@@ -40,8 +38,8 @@ if [ "x$1" = "xhelp" ] ; then
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
- echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME)"
- echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
+ echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
+ echo "TO_COMPRESS - what part of clone to pack (default is ${VERSION})"
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
exit 1;
fi
@@ -52,6 +50,7 @@ if [ "x$VERSION" = "x" ] ; then
exit 2
fi
echo "Version: ${VERSION}"
+
NUM_VER=${VERSION##jdk-}
RELEASE_VER=${NUM_VER%%+*}
BUILD_VER=${NUM_VER##*+}
@@ -117,8 +116,8 @@ if [ "x$REPO_ROOT" = "x" ] ; then
fi;
if [ "x$TO_COMPRESS" = "x" ] ; then
- TO_COMPRESS="openjdk"
- echo "No targets to be compressed specified, ; default to ${TO_COMPRESS}"
+ TO_COMPRESS="${VERSION}"
+ echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
fi;
echo -e "Settings:"
@@ -140,9 +139,10 @@ else
mkdir "${FILE_NAME_ROOT}"
pushd "${FILE_NAME_ROOT}"
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
- git clone -b ${VERSION} ${REPO_ROOT} openjdk
+ git clone -b ${VERSION} ${REPO_ROOT} ${VERSION}
popd
fi
+
pushd "${FILE_NAME_ROOT}"
# Generate .src-rev so build has knowledge of the revision the tarball was created from
mkdir build
@@ -153,22 +153,22 @@ pushd "${FILE_NAME_ROOT}"
rm -rf build
# Remove commit checks
- echo "Removing $(find openjdk -name '.jcheck' -print)"
- find openjdk -name '.jcheck' -print0 | xargs -0 rm -rf
+ echo "Removing $(find ${VERSION} -name '.jcheck' -print)"
+ find ${VERSION} -name '.jcheck' -print0 | xargs -0 rm -r
# Remove history and GHA
- echo "find openjdk -name '.hgtags'"
- find openjdk -name '.hgtags' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.hgignore'"
- find openjdk -name '.hgignore' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.gitattributes'"
- find openjdk -name '.gitattributes' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.gitignore'"
- find openjdk -name '.gitignore' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.git'"
- find openjdk -name '.git' -exec rm -rfv '{}' '+'
- echo "find openjdk -name '.github'"
- find openjdk -name '.github' -exec rm -rfv '{}' '+'
+ echo "find ${VERSION} -name '.hgtags'"
+ find ${VERSION} -name '.hgtags' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.hgignore'"
+ find ${VERSION} -name '.hgignore' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.gitattributes'"
+ find ${VERSION} -name '.gitattributes' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.gitignore'"
+ find ${VERSION} -name '.gitignore' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.git'"
+ find ${VERSION} -name '.git' -exec rm -rfv '{}' '+'
+ echo "find ${VERSION} -name '.github'"
+ find ${VERSION} -name '.github' -exec rm -rfv '{}' '+'
echo "Compressing remaining forest"
if [ "X$COMPRESSION" = "Xxz" ] ; then
diff --git a/icedtea_sync.sh b/icedtea_sync.sh
index e5c54f3..c1b8f6a 100755
--- a/icedtea_sync.sh
+++ b/icedtea_sync.sh
@@ -1,192 +1 @@
-#!/bin/bash
-
-# Copyright (C) 2019 Red Hat, Inc.
-# Written by Andrew John Hughes <gnu.andrew(a)redhat.com>.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-ICEDTEA_USE_VCS=true
-
-ICEDTEA_VERSION=3.15.0
-ICEDTEA_URL=https://icedtea.classpath.org/download/source
-ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
-
-ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea11
-
-set -e
-
-RPM_DIR=${PWD}
-if [ ! -f ${RPM_DIR}/jconsole.desktop.in ] ; then
- echo "Not in RPM source tree.";
- exit 1;
-fi
-
-if test "x${TMPDIR}" = "x"; then
- TMPDIR=/tmp;
-fi
-WORKDIR=${TMPDIR}/it.sync
-
-echo "Using working directory ${WORKDIR}"
-mkdir ${WORKDIR}
-pushd ${WORKDIR}
-
-if test "x${WGET}" = "x"; then
- WGET=$(which wget);
- if test "x${WGET}" = "x"; then
- echo "wget not found";
- exit 1;
- fi
-fi
-
-if test "x${TAR}" = "x"; then
- TAR=$(which tar)
- if test "x${TAR}" = "x"; then
- echo "tar not found";
- exit 2;
- fi
-fi
-
-echo "Dependencies:";
-echo -e "\tWGET: ${WGET}";
-echo -e "\tTAR: ${TAR}\n";
-
-if test "x${ICEDTEA_USE_VCS}" = "xtrue"; then
- echo "Mode: Using VCS";
-
- if test "x${GREP}" = "x"; then
- GREP=$(which grep);
- if test "x${GREP}" = "x"; then
- echo "grep not found";
- exit 3;
- fi
- fi
-
- if test "x${CUT}" = "x"; then
- CUT=$(which cut);
- if test "x${CUT}" = "x"; then
- echo "cut not found";
- exit 4;
- fi
- fi
-
- if test "x${TR}" = "x"; then
- TR=$(which tr);
- if test "x${TR}" = "x"; then
- echo "tr not found";
- exit 5;
- fi
- fi
-
- if test "x${HG}" = "x"; then
- HG=$(which hg);
- if test "x${HG}" = "x"; then
- echo "hg not found";
- exit 6;
- fi
- fi
-
- echo "Dependencies:";
- echo -e "\tGREP: ${GREP}";
- echo -e "\tCUT: ${CUT}";
- echo -e "\tTR: ${TR}";
- echo -e "\tHG: ${HG}";
-
- echo "Checking out repository from VCS...";
- ${HG} clone ${ICEDTEA_HG_URL} icedtea
-
- echo "Obtaining version from configure.ac...";
- ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
- echo "Root version from configure: ${ROOT_VER}";
-
- VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
- echo "VCS revision: ${VCS_REV}";
-
- ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
- echo "Creating icedtea-${ICEDTEA_VERSION}";
- mkdir icedtea-${ICEDTEA_VERSION}
- echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
- # Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
- #cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
- cp -a ${RPM_DIR}/jconsole.desktop.in icedtea-${ICEDTEA_VERSION}
- cp -a icedtea/tapset icedtea-${ICEDTEA_VERSION}
-
- rm -rf icedtea
-else
- echo "Mode: Using tarball";
-
- if test "x${ICEDTEA_VERSION}" = "x"; then
- echo "No IcedTea version specified for tarball download.";
- exit 3;
- fi
-
- if test "x${CHECKSUM}" = "x"; then
- CHECKSUM=$(which sha256sum)
- if test "x${CHECKSUM}" = "x"; then
- echo "sha256sum not found";
- exit 4;
- fi
- fi
-
- if test "x${PGP}" = "x"; then
- PGP=$(which gpg)
- if test "x${PGP}" = "x"; then
- echo "gpg not found";
- exit 5;
- fi
- fi
-
- echo "Dependencies:";
- echo -e "\tCHECKSUM: ${CHECKSUM}";
- echo -e "\tPGP: ${PGP}\n";
-
- echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
- if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
- echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
- exit 6;
- fi
-
- echo "Downloading IcedTea release tarball...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
- echo "Downloading IcedTea tarball signature...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
- echo "Downloading IcedTea tarball checksums...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
-
- echo "Verifying checksums...";
- ${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
-
- echo "Checking signature...";
- ${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
-
- echo "Extracting files...";
- ${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
- icedtea-${ICEDTEA_VERSION}/tapset \
- icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in
-
- rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
- rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
- rm -vf icedtea-${ICEDTEA_VERSION}.sha256
-fi
-
-echo "Replacing desktop files...";
-mv -v icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in ${RPM_DIR}
-
-echo "Creating new tapset tarball...";
-mv -v icedtea-${ICEDTEA_VERSION} openjdk
-${TAR} cJf ${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz openjdk
-
-rm -rvf openjdk
-
-popd
-rm -rf ${WORKDIR}
+# this file is intentionally not here, as portable builds do not have desktop integration
diff --git a/java-17-openjdk-portable.spec b/java-17-openjdk-portable.spec
index 655ccd1..c4526aa 100644
--- a/java-17-openjdk-portable.spec
+++ b/java-17-openjdk-portable.spec
@@ -30,7 +30,7 @@
# Enable static library builds by default.
%bcond_without staticlibs
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
-%bcond_without fresh_libjvm
+%bcond_with fresh_libjvm
# Build with system libraries
%bcond_with system_libs
@@ -41,8 +41,6 @@
%define __os_install_post %{nil}
%endif
-%global unpacked_licenses %{_datarootdir}/licenses
-
# Workaround for stripping of debug symbols from static libraries
%if %{with staticlibs}
%define __brp_strip_static_archive %{nil}
@@ -66,10 +64,6 @@
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
%global _find_debuginfo_opts -g
-# With LTO flags enabled, debuginfo checks fail for some reason. Disable
-# LTO for a passing build. This really needs to be looked at.
-%define _lto_cflags %{nil}
-
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
# see the difference between global and define:
@@ -147,16 +141,16 @@
# Set of architectures which support the serviceability agent
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
# Set of architectures which support class data sharing
-# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
-# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
-%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
+# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
+# However, it does segfault on the Zero assembler port, so currently JIT only
+%global share_arches %{jit_arches}
# Set of architectures for which we build the Shenandoah garbage collector
%global shenandoah_arches x86_64 %{aarch64}
# Set of architectures for which we build the Z garbage collector
%global zgc_arches x86_64
# Set of architectures for which alt-java has SSB mitigation
%global ssbd_arches x86_64
-# Set of architectures for which java has short vector math library (libsvml.so)
+# Set of architectures for which java has short vector math library (libjsvml.so)
%global svml_arches x86_64
# Set of architectures where we verify backtraces with gdb
# s390x fails on RHEL 7 so we exclude it there
@@ -166,7 +160,7 @@
%global gdb_arches %{jit_arches} %{zero_arches}
%endif
-# By default, we build a debug build during main build on JIT architectures
+# By default, we build a slowdebug build during main build on JIT architectures
%if %{with slowdebug}
%ifarch %{debug_arches}
%global include_debug_build 1
@@ -237,17 +231,24 @@
%global static_libs_target %{nil}
%endif
-# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
-%global debug_symbols internal
-
-# unlike portables,the rpms have to use static_libs_target very dynamically
-%global bootstrap_targets images legacy-jre-image
-%global release_targets images docs-zip legacy-jre-image
+# The static libraries are produced under the same configuration as the main
+# build for portables, as we expect in-tree libraries to be used throughout.
+# If system libraries are enabled, the static libraries will also use them
+# which may cause issues.
+%global bootstrap_targets images %{static_libs_target} legacy-jre-image
+%global release_targets images docs-zip %{static_libs_target} legacy-jre-image
# No docs nor bootcycle for debug builds
-%global debug_targets images legacy-jre-image
+%global debug_targets images %{static_libs_target} legacy-jre-image
# Target to use to just build HotSpot
%global hotspot_target hotspot
+# DTS toolset to use to provide gcc & binutils
+%global dtsversion 10
+
+# Disable LTO as this causes build failures at the moment.
+# See RHBZ#1861401
+%define _lto_cflags %{nil}
+
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
@@ -333,20 +334,20 @@
# New Version-String scheme-style defines
%global featurever 17
%global interimver 0
-%global updatever 8
+%global updatever 9
%global patchver 0
# buildjdkver is usually same as %%{featurever},
# but in time of bootstrap of next jdk, it is featurever-1,
# and this it is better to change it here, on single place
-%global buildjdkver %{featurever}
+%global buildjdkver 17
# We don't add any LTS designator for STS packages (Fedora and EPEL).
# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
%if 0%{?rhel} && !0%{?epel}
%global lts_designator "LTS"
%global lts_designator_zip -%{lts_designator}
%else
- %global lts_designator ""
- %global lts_designator_zip ""
+ %global lts_designator ""
+ %global lts_designator_zip ""
%endif
# JDK to use for bootstrapping
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
@@ -372,26 +373,34 @@
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name...
%else
%if 0%{?rhel}
-%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%...
+%global oj_vendor_bug_url https://access.redhat.com/support/cases/
%else
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
%endif
%endif
%endif
-%global oj_vendor_version (Red_Hat-%{version}-%{release})
+%global oj_vendor_version (Red_Hat-%{version}-%{rpmrelease})
# Define IcedTea version used for SystemTap tapsets and desktop file
%global icedteaver 6.0.0pre00-c848b93a8598
# Define current Git revision for the FIPS support patches
-%global fipsver bf363eecce3
+%global fipsver 51e1d00be4e
+# Define JDK versions
+%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
+%global javaver %{featurever}
+# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
+%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
+# The tag used to create the OpenJDK tarball
+%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Standard JPackage naming and versioning defines
%global origin openjdk
%global origin_nice OpenJDK
-%global top_level_dir_name %{origin}
+%global top_level_dir_name %{vcstag}
%global top_level_dir_name_backup %{top_level_dir_name}-backup
-%global buildver 7
-%global rpmrelease 1
+%global buildver 9
+%global rpmrelease 2
+#%%global tagsuffix %%{nil}
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
%if %is_system_jdk
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
@@ -404,14 +413,6 @@
# for techpreview, using 1, so slowdebugs can have 0
%global priority %( printf '%08d' 1 )
%endif
-%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
-%global javaver %{featurever}
-
-# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
-%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
-
-# The tag used to create the OpenJDK tarball
-%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Define milestone (EA for pre-releases, GA for releases)
# Release will be (where N is usually a number starting at 1):
@@ -421,7 +422,7 @@
%if %{is_ga}
%global build_type GA
%global ea_designator ""
-%global ea_designator_zip ""
+%global ea_designator_zip %{nil}
%global extraver %{nil}
%global eaprefix %{nil}
%else
@@ -438,12 +439,10 @@
# images directories from upstream build
%global jdkimage jdk
%global static_libs_image static-libs
-# installation directory for static libraries
-%global static_libs_root lib/static
-%global static_libs_arch_dir %{static_libs_root}/linux-%{archinstall}
-%global static_libs_install_dir %{static_libs_arch_dir}/glibc
# output dir stub
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
+%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
+%define packageoutputdir() %{expand:packages/jdk%{featurever}.packages%{?1}}
# we can copy the javadoc to not arched dir, or make it not noarch
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
# main id and dir of this jdk
@@ -464,6 +463,10 @@
# Intentionally use jdkportablenameimpl here since we want to have static-libs files overlayed on
# top of the JDK archive
%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
+%define docportablename() %(echo %{uniquesuffix ""} | sed "s;%{version}-%{release};\\0.portable.docs;g" | sed "s;openjdkportable;el;g")
+%define docportablearchive() %{docportablename}.tar.xz
+%define miscportablename() %(echo %{uniquesuffix ""} | sed "s;%{version}-%{release};\\0.portable.misc;g" | sed "s;openjdkportable;el;g")
+%define miscportablearchive() %{miscportablename}.tar.xz
# RPM 4.19 no longer accept our double percentaged %%{nil} passed to %%{1}
# so we have to pass in "" but evaluate it, otherwise files record will include it
@@ -493,6 +496,12 @@
%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
%endif
+# VM variant being built
+%ifarch %{zero_arches}
+%global vm_variant zero
+%else
+%global vm_variant server
+%endif
%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
@@ -515,20 +524,6 @@
%global alternatives_requires %{_sbindir}/alternatives
%endif
-%if %{with_systemtap}
-# Where to install systemtap tapset (links)
-# We would like these to be in a package specific sub-dir,
-# but currently systemtap doesn't support that, so we have to
-# use the root tapset dir for now. To distinguish between 64
-# and 32 bit architectures we place the tapsets under the arch
-# specific dir (note that systemtap will only pickup the tapset
-# for the primary arch for now). Systemtap uses the machine name
-# aka target_cpu as architecture specific directory name.
-%global tapsetroot /usr/share/systemtap
-%global tapsetdirttapset %{tapsetroot}/tapset/
-%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
-%endif
-
# x86 is no longer supported
%if 0%{?java_arches:1}
ExclusiveArch: %{java_arches}
@@ -536,8 +531,8 @@ ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
%endif
-# Portables have no rpo (requires/provides), but thsoe are awesome for orientation in spec
-# also scriptlets are hapily missing and files are handled old fashion
+# Portables have no repo (requires/provides), but these are awesome for orientation in spec
+# Also scriptlets are happily missing and files are handled old fashion
# not-duplicated requires/provides/obsoletes for normal/debug packages
%define java_rpo() %{expand:
}
@@ -548,14 +543,18 @@ ExcludeArch: %{ix86}
%define java_static_libs_rpo() %{expand:
}
+%define java_unstripped_rpo() %{expand:
+}
+
+%define java_docs_rpo() %{expand:
+}
+
+%define java_misc_rpo() %{expand:
+}
# Prevent brp-java-repack-jars from being run
%global __jar_repack 0
-# portables have grown out of its component, moving back to java-x-vendor
-# this expression, when declared as global, filled component with java-x-vendor portable
-%define component %(echo %{name} | sed "s;-portable;;g")
-
Name: java-%{javaver}-%{origin}-portable
Version: %{newjavaver}.%{buildver}
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
@@ -570,6 +569,11 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
Epoch: 1
+
+# portables have grown out of its component, moving back to java-x-vendor
+# this expression, when declared as global, filled component with java-x-vendor portable
+%define component %(echo %{name} | sed "s;-portable;;g")
+
Summary: %{origin_nice} %{featurever} Runtime Environment portable edition
# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
@@ -593,9 +597,8 @@ Group: Development/Languages
License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA
URL: http://openjdk.java.net/
-
# The source tarball, generated using generate_source_tarball.sh
-Source0: openjdk-jdk%{featurever}u-%{vcstag}.tar.xz
+Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_de...
# Use 'icedtea_sync.sh' to update the following
# They are based on code contained in the IcedTea project (6.x).
@@ -614,8 +617,7 @@ Source10: NEWS
Source11: nss.cfg.in
# Removed libraries that we link instead
-# Disabled in portables
-#Source12: remove-intree-libraries.sh
+Source12: remove-intree-libraries.sh
# Ensure we aren't using the limited crypto policy
Source13: TestCryptoLevel.java
@@ -629,37 +631,22 @@ Source15: TestSecurityProperties.java
# Ensure vendor settings are correct
Source16: CheckVendor.java
-# nss fips configuration file
-Source17: nss.fips.cfg.in
-
# Ensure translations are available for new timezones
Source18: TestTranslations.java
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-# boot jdk for portable build root on
-Source1001: ojdk17-aarch64-17.35.tar.gz
-Source1002: ojdk17-ppc64le-17.35.tar.gz
-Source1003: ojdk17-x86_64-17.35.tar.gz
-Source1004: ojdk17-s390x-17.35.tar.gz
-%endif
-
############################################
#
# RPM/distribution specific patches
#
############################################
-# NSS via SunPKCS11 Provider (disabled comment
-# due to memory leak).
-Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
-# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
-Patch600: rh1750419-redhat_alt_java.patch
-
# Ignore AWTError when assistive technologies are loaded
Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
-# Restrict access to java-atk-wrapper classes
-Patch2: rh1648644-java_access_bridge_privileged_security.patch
Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
+# NSS via SunPKCS11 Provider (disabled due to memory leak).
+Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
+# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
+Patch600: rh1750419-redhat_alt_java.patch
# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
@@ -707,12 +694,27 @@ Patch1001: fips-17u-%{fipsver}.patch
#
#############################################
+# Currently empty
+
+#############################################
+#
+# OpenJDK patches appearing in 17.0.10
+#
+#############################################
+# JDK-8312489, OJ2095: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
+Patch2000: jdk8312489-max_sig_default_increase.patch
+
#############################################
#
-# OpenJDK patches appearing in 17.0.8
+# Portable build specific patches
+#
+#############################################
+
+#############################################
+#
+# OpenJDK patches targetted for 17.0.6
#
#############################################
-Patch2003: jdk8305995-footprint_regression_from_jdk_8224957
BuildRequires: autoconf
BuildRequires: automake
@@ -722,11 +724,11 @@ BuildRequires: cups-devel
BuildRequires: desktop-file-utils
# elfutils only are OK for build without AOT
BuildRequires: elfutils-devel
+BuildRequires: file
BuildRequires: fontconfig-devel
-BuildRequires: freetype-devel
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-BuildRequires: devtoolset-8-gcc
-BuildRequires: devtoolset-8-gcc-c++
+BuildRequires: devtoolset-%{dtsversion}-gcc
+BuildRequires: devtoolset-%{dtsversion}-gcc-c++
%else
BuildRequires: gcc
# gcc-c++ is already needed
@@ -746,12 +748,11 @@ BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXt-devel
BuildRequires: libXtst-devel
-# Requirement for setting up nss.cfg and nss.fips.cfg
+# Requirement for setting up nss.cfg
BuildRequires: nss-devel
# Requirement for system security property test
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-BuildRequires: crypto-policies
-%endif
+# N/A for portable. RHEL7 doesn't provide them
+#BuildRequires: crypto-policies
BuildRequires: pkgconfig
BuildRequires: xorg-x11-proto-devel
BuildRequires: zip
@@ -761,16 +762,18 @@ BuildRequires: unzip
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
# No javapackages-filesystem on el7,nor is needed for portables
%else
-BuildRequires: javapackages-filesystem
+# BuildRequires: javapackages-filesystem
BuildRequires: java-%{buildjdkver}-openjdk-devel
%endif
# Zero-assembler build requirement
%ifarch %{zero_arches}
BuildRequires: libffi-devel
%endif
+# Full documentation build requirements
+BuildRequires: graphviz
+BuildRequires: pandoc
# 2023c required as of JDK-8305113
BuildRequires: tzdata-java >= 2023c
-
# cacerts build requirement in portable mode
BuildRequires: ca-certificates
# Earlier versions have a bug in tree vectorization on PPC
@@ -789,18 +792,18 @@ BuildRequires: lcms2-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
%else
-# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
-Provides: bundled(freetype) = 2.12.1
+# Version in src/java.desktop/share/legal/freetype.md
+Provides: bundled(freetype) = 2.13.0
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
Provides: bundled(giflib) = 5.2.1
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
-Provides: bundled(harfbuzz) = 4.4.1
+Provides: bundled(harfbuzz) = 7.2.0
# Version in src/java.desktop/share/native/liblcms/lcms2.h
-Provides: bundled(lcms2) = 2.12.0
+Provides: bundled(lcms2) = 2.15.0
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
Provides: bundled(libjpeg) = 6b
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
-Provides: bundled(libpng) = 1.6.37
+Provides: bundled(libpng) = 1.6.39
# We link statically against libstdc++ to increase portability
BuildRequires: libstdc++-static
%endif
@@ -875,7 +878,7 @@ Group: Development/Tools
%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
%description devel-fastdebug
-The %{origin_nice} %{featurever} development tools - portable edition.
+The %{origin_nice} %{featurever} runtime environment and development tools - portable edition
%{fastdebug_warning}
%endif
@@ -883,7 +886,7 @@ The %{origin_nice} %{featurever} development tools - portable edition.
%if %{include_normal_build}
%package static-libs
-Summary: %{origin_nice} %{featurever} libraries for static linking - portable edition.
+Summary: %{origin_nice} %{featurever} libraries for static linking - portable edition
%{java_static_libs_rpo %{nil}}
@@ -898,7 +901,7 @@ Summary: %{origin_nice} %{featurever} libraries for static linking - portable ed
%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
%description static-libs-slowdebug
-The %{origin_nice} %{featurever} libraries for static linking - portable edition.
+The %{origin_nice} %{featurever} libraries for static linking - portable edition
%{debug_warning}
%endif
@@ -909,13 +912,42 @@ Summary: %{origin_nice} %{featurever} libraries for static linking - portable ed
%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
%description static-libs-fastdebug
-The %{origin_nice} %{featurever} libraries for static linking - portable edition.
+The %{origin_nice} %{featurever} libraries for static linking - portable edition
%{fastdebug_warning}
%endif
# staticlibs
%endif
+%if %{include_normal_build}
+%package unstripped
+Summary: The %{origin_nice} %{featurever} runtime environment.
+
+%{java_unstripped_rpo %{nil}}
+
+%description unstripped
+The %{origin_nice} %{featurever} runtime environment.
+
+%endif
+
+%if %{include_normal_build}
+%package docs
+Summary: %{origin_nice} %{featurever} API documentation
+
+%{java_docs_rpo %{nil}}
+
+%description docs
+The %{origin_nice} %{featurever} API documentation.
+
+%package misc
+Summary: %{origin_nice} %{featurever} miscellany
+
+%{java_misc_rpo %{nil}}
+
+%description misc
+The %{origin_nice} %{featurever} miscellany.
+%endif
+
%package sources
Summary: %{origin_nice} %{featurever} full patched sources of portable JDK
@@ -951,7 +983,6 @@ else
echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no"
exit 13
fi
-
if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{include_fastdebug_build} -eq 0 ] ; then
echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
exit 14
@@ -980,17 +1011,18 @@ sh %{SOURCE12} %{top_level_dir_name}
# Patch the JDK
pushd %{top_level_dir_name}
%patch1 -p1
-%patch2 -p1
%patch3 -p1
%patch6 -p1
# Add crypto policy and FIPS support
%patch1001 -p1
# nss.cfg PKCS11 support; must come last as it also alters java.security
%patch1000 -p1
-%patch2003 -p1
+# JDK-8312489 backport, coming in 17.0.10
+%patch2000 -p1
+# alt-java support
+%patch600 -p1
popd # openjdk
-%patch600
# The OpenJDK version file includes the current
# upstream version information. For some reason,
@@ -1009,37 +1041,12 @@ if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
echo "WARNING: Designator mismatch";
echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
- exit 17
+ # Temporarily commented out as local copy of jdk-17.0.8+7 has the wrong setting
+ # This is fixed in the final upstream version
+ # exit 17
fi
-# Extract systemtap tapsets
-%if %{with_systemtap}
-tar --strip-components=1 -x -I xz -f %{SOURCE8}
-%if %{include_debug_build}
-cp -r tapset tapset%{debug_suffix}
-%endif
-%if %{include_fastdebug_build}
-cp -r tapset tapset%{fastdebug_suffix}
-%endif
-
-for suffix in %{build_loop} ; do
- for file in "tapset"$suffix/*.in; do
- OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
- sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
- sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2
-# TODO find out which architectures other than i686 have a client vm
-%ifarch %{ix86}
- sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
-%else
- sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
-%endif
- sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
- sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
- sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
- done
-done
-# systemtap tapsets ends
-%endif
+# Systemtap is processed in rpms
# Prepare desktop files
# Portables do not have desktop integration
@@ -1047,30 +1054,7 @@ done
# Setup nss.cfg
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
-# Setup nss.fips.cfg
-sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg
-
%build
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-mkdir bootjdk
-pushd bootjdk
-%ifarch %{aarch64}
-tar --strip-components=1 -xf %{SOURCE1001}
-%endif
-%ifarch %{ppc64le}
-tar --strip-components=1 -xf %{SOURCE1002}
-%endif
-%ifarch x86_64
-tar --strip-components=1 -xf %{SOURCE1003}
-%endif
-%ifarch s390x
-tar --strip-components=1 -xf %{SOURCE1004}
-%endif
-BOOT_JDK=$PWD
-popd
-%else
-BOOT_JDK=%{bootjdk}
-%endif
# How many CPU's do we have?
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
@@ -1104,12 +1088,15 @@ EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming
%endif
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
+echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
+
function buildjdk() {
local outputdir=${1}
local buildjdk=${2}
local maketargets="${3}"
local debuglevel=${4}
local link_opt=${5}
+ local debug_symbols=${6}
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
local top_dir_abs_build_path=$(pwd)/${outputdir}
@@ -1128,6 +1115,7 @@ function buildjdk() {
echo "Using make targets: ${maketargets}"
echo "Using debuglevel: ${debuglevel}"
echo "Using link_opt: ${link_opt}"
+ echo "Using debug_symbols: ${debug_symbols}"
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
mkdir -p ${outputdir}
@@ -1138,7 +1126,7 @@ function buildjdk() {
# are always used in a system_libs build, even
# for the static library build
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
- scl enable devtoolset-8 -- bash ${top_dir_abs_src_path}/configure \
+ scl enable devtoolset-%{dtsversion} -- bash ${top_dir_abs_src_path}/configure \
%else
bash ${top_dir_abs_src_path}/configure \
%endif
@@ -1150,7 +1138,7 @@ function buildjdk() {
%endif
--with-version-build=%{buildver} \
--with-version-pre="%{ea_designator}" \
- --with-version-opt=%{lts_designator} \
+ --with-version-opt="%{lts_designator}" \
--with-vendor-version-string="%{oj_vendor_version}" \
--with-vendor-name="%{oj_vendor}" \
--with-vendor-url="%{oj_vendor_url}" \
@@ -1158,7 +1146,7 @@ function buildjdk() {
--with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
--with-boot-jdk=${buildjdk} \
--with-debug-level=${debuglevel} \
- --with-native-debug-symbols="%{debug_symbols}" \
+ --with-native-debug-symbols="${debug_symbols}" \
--disable-sysconf-nss \
--enable-unlimited-crypto \
--with-zlib=%{link_type} \
@@ -1182,7 +1170,7 @@ function buildjdk() {
cat spec.gmk
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
- scl enable devtoolset-8 -- make \
+ scl enable devtoolset-%{dtsversion} -- make \
%else
make \
%endif
@@ -1190,311 +1178,325 @@ function buildjdk() {
WARNINGS_ARE_ERRORS="-Wno-error" \
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
-
popd
}
-function installjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
- # the build (erroneously) removes read permissions from some jars
- # this is a regression in OpenJDK 7 (our compiler):
- # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
- find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
-
- # Build screws up permissions on binaries
- # https://bugs.openjdk.java.net/browse/JDK-8173610
- find ${imagepath} -iname '*.so' -exec chmod +x {} \;
- find ${imagepath}/bin/ -exec chmod +x {} \;
+function stripjdk() {
+ local outputdir=${1}
+ local jdkimagepath=${outputdir}/images/%{jdkimage}
+ local jreimagepath=${outputdir}/images/%{jreimage}
+ local jmodimagepath=${outputdir}/images/jmods
+ local supportdir=${outputdir}/support
+
+ if [ "x$suffix" = "x" ] ; then
+ # Keep the unstripped version for consumption by RHEL RPMs
+ cp -a ${jdkimagepath}{,.unstripped}
+
+ # Strip the files
+ for file in $(find ${jdkimagepath} ${jreimagepath} ${supportdir} -type f) ; do
+ if file ${file} | grep -q 'ELF'; then
+ noextfile=${file/.so/};
+ objcopy --only-keep-debug ${file} ${noextfile}.debuginfo;
+ objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file};
+ strip -g ${file};
+ fi
+ done
- # Install nss.cfg right away as we will be using the JRE above
- install -m 644 nss.cfg ${imagepath}/conf/security/
+ # Rebuild jmod files against the stripped binaries
+ if [ ! -d ${supportdir} ] ; then
+ echo "Support directory missing.";
+ exit 15
+ fi
+ for cmd in $(find ${supportdir} -name '*.jmod_exec.cmdline') ; do
+ pre=${cmd/_exec/_pre};
+ post=${cmd/_exec/_post};
+ jmod=$(echo ${cmd}|sed 's#.*_create_##'|sed 's#_exec.cmdline##')
+ echo "Rebuilding ${jmod} against stripped binaries...";
+ if [ -e ${pre} ] ; then
+ echo "Executing ${pre}...";
+ cat ${pre} | sh -s ;
+ fi
+ echo "Executing ${cmd}...";
+ cat ${cmd} | sh -s ;
+ if [ -e ${post} ] ; then
+ echo "Executing ${post}...";
+ cat ${post} | sh -s ;
+ fi
+ done
+ rm -rf ${jdkimagepath}/jmods
+ cp -a ${jmodimagepath} ${jdkimagepath}
+ fi
+}
- # Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
- install -m 644 nss.fips.cfg ${imagepath}/conf/security/
+function installjdk() {
+ local outputdir=${1}
+ local installdir=${2}
+ local jdkimagepath=${installdir}/images/%{jdkimage}
+ local jreimagepath=${installdir}/images/%{jreimage}
+ local unstripped=${jdkimagepath}.unstripped
+
+ echo "Installing build from ${outputdir} to ${installdir}..."
+ mkdir -p ${installdir}
+ echo "Installing images..."
+ mv ${outputdir}/images ${installdir}
+ if [ -d ${outputdir}/bundles ] ; then
+ echo "Installing bundles...";
+ mv ${outputdir}/bundles ${installdir} ;
+ fi
- # Create fake alt-java as a placeholder for future alt-java
- if [ -d man/man1 ] ; then
- pushd ${imagepath}
+%if !%{with artifacts}
+ echo "Removing output directory...";
+ rm -rf ${outputdir}
+%endif
+
+ # legacy-jre-image target does not install any man pages for the JRE
+ # We copy the jdk man directory and then remove pages for binaries that
+ # don't exist in the JRE
+ cp -a ${jdkimagepath}/man ${jreimagepath}
+ for manpage in $(find ${jreimagepath}/man -name '*.1'); do
+ filename=$(basename ${manpage});
+ binary=${filename/.1/};
+ if [ ! -f ${jreimagepath}/bin/${binary} ] ; then
+ echo "Removing ${manpage} from JRE for which no binary ${binary} exists";
+ rm -f ${manpage};
+ fi;
+ done
+
+ for imagepath in ${jdkimagepath} ${jreimagepath} ${unstripped}; do
+
+ if [ -d ${imagepath} ] ; then
+ # the build (erroneously) removes read permissions from some jars
+ # this is a regression in OpenJDK 7 (our compiler):
+ # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
+ find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
+
+ # Build screws up permissions on binaries
+ # https://bugs.openjdk.java.net/browse/JDK-8173610
+ find ${imagepath} -iname '*.so' -exec chmod +x {} \;
+ find ${imagepath}/bin/ -exec chmod +x {} \;
+
+ # Install local files which are distributed with the JDK
+ install -m 644 %{SOURCE10} ${imagepath}
+ install -m 644 nss.cfg ${imagepath}/conf/security/
+
+ # Create fake alt-java as a placeholder for future alt-java
+ pushd ${imagepath}
# add alt-java man page
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
- popd
- fi
- fi
+ popd
+
+ # Print release information
+ cat ${imagepath}/release
+ fi
+ done
}
-# Checks on debuginfo must be performed before the files are stripped
-# by the RPM installation stage
-function debugcheckjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
-
- so_suffix="so"
- # Check debug symbols are present and can identify code
- find "${imagepath}" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
- do
- if [ -f "$lib" ] ; then
- echo "Testing $lib for debug symbols"
- # All these tests rely on RPM failing the build if the exit code of any set
- # of piped commands is non-zero.
-
- # Test for .debug_* sections in the shared object. This is the main test
- # Stripped objects will not contain these
- eu-readelf -S "$lib" | grep "] .debug_"
- test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
-
- # Test FILE symbols. These will most likely be removed by anything that
- # manipulates symbol tables because it's generally useless. So a nice test
- # that nothing has messed with symbols
- old_IFS="$IFS"
- IFS=$'\n'
- for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
- do
- # We expect to see .cpp and .S files, except for architectures like aarch64 and
- # s390 where we expect .o and .oS files
- echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
- done
- IFS="$old_IFS"
-
- # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
- if [ "`basename $lib`" = "libjvm.so" ]; then
- eu-readelf -s "$lib" | \
- grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
- fi
-
- # Test that there are no .gnu_debuglink sections pointing to another
- # debuginfo file. There shouldn't be any debuginfo files, so the link makes
- # no sense either
- eu-readelf -S "$lib" | grep 'gnu'
- if eu-readelf -S "$lib" | grep "\] .gnu_debuglink" | grep PROGBITS; then
- echo "bad .gnu_debuglink section."
- eu-readelf -x .gnu_debuglink "$lib"
- false
- fi
- fi
+function genchecksum() {
+ local checkedfile=${1}
+
+ checkdir=$(dirname ${1})
+ checkfile=$(basename ${1})
+
+ echo "Generating checksum for ${checkfile} in ${checkdir}..."
+ pushd ${checkdir}
+ sha256sum ${checkfile} > ${checkfile}.sha256sum
+ sha256sum --check ${checkfile}.sha256sum
+ popd
+}
+
+function packFullPatchedSources() {
+ srcpackagesdir=`pwd`
+ tar -cJf ${srcpackagesdir}/%{jdkportablesourcesarchive -- ""} --transform "s|^|%{jdkportablesourcesname -- ""}/|" %{top_level_dir_name} nss*
+ genchecksum ${srcpackagesdir}/%{jdkportablesourcesarchive -- ""}
+}
+
+function packagejdk() {
+ local imagesdir=$(pwd)/${1}/images
+ local docdir=$(pwd)/${1}/images/docs
+ local bundledir=$(pwd)/${1}/bundles
+ local packagesdir=$(pwd)/${2}
+ local srcdir=$(pwd)/%{top_level_dir_name}
+ local tapsetdir=$(pwd)/tapset
+
+ echo "Packaging build from ${imagesdir} to ${packagesdir}..."
+ mkdir -p ${packagesdir}
+ pushd ${imagesdir}
+
+ if [ "x$suffix" = "x" ] ; then
+ nameSuffix=""
+ else
+ nameSuffix=`echo "$suffix"| sed s/-/./`
+ fi
+
+ jdkname=%{jdkportablename -- "$nameSuffix"}
+ jdkarchive=${packagesdir}/%{jdkportablearchive -- "$nameSuffix"}
+ jrename=%{jreportablename -- "$nameSuffix"}
+ jrearchive=${packagesdir}/%{jreportablearchive -- "$nameSuffix"}
+ staticname=%{staticlibsportablename -- "$nameSuffix"}
+ staticarchive=${packagesdir}/%{staticlibsportablearchive -- "$nameSuffix"}
+ debugarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.debuginfo"}
+ unstrippedarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.unstripped"}
+ if [ "x$suffix" = "x" ] ; then
+ docname=%{docportablename}
+ docarchive=${packagesdir}/%{docportablearchive}
+ built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
+ fi
+ # These are from the source tree so no debug variants
+ miscname=%{miscportablename}
+ miscarchive=${packagesdir}/%{miscportablearchive}
+
+ if [ "x$suffix" = "x" ] ; then
+ # Keep the unstripped version for consumption by RHEL RPMs
+ mv %{jdkimage}.unstripped ${jdkname}
+ tar -cJf ${unstrippedarchive} ${jdkname}
+ genchecksum ${unstrippedarchive}
+ mv ${jdkname} %{jdkimage}.unstripped
+ fi
+
+ # Rename directories for packaging
+ mv %{jdkimage} ${jdkname}
+ mv %{jreimage} ${jrename}
+
+ # Release images have external debug symbols
+ if [ "x$suffix" = "x" ] ; then
+ tar -cJf ${debugarchive} $(find ${jdkname} -name \*.debuginfo)
+ genchecksum ${debugarchive}
+
+ mkdir ${docname}
+ mv ${docdir} ${docname}
+ mv ${bundledir}/${built_doc_archive} ${docname}
+ tar -cJf ${docarchive} ${docname}
+ genchecksum ${docarchive}
+
+ mkdir ${miscname}
+ for s in 16 24 32 48 ; do
+ cp -av ${srcdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png ${miscname}
done
+ cp -a ${srcdir}/src/sample ${miscname}
+%if %{with_systemtap}
+ cp -a ${tapsetdir}* ${miscname}
+%endif
+ tar -cJf ${miscarchive} ${miscname}
+ genchecksum ${miscarchive}
+ fi
- # Make sure gdb can do a backtrace based on line numbers on libjvm.so
- # javaCalls.cpp:58 should map to:
- # http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/shar...
- # Using line number 1 might cause build problems. See:
- # https://bugzilla.redhat.com/show_bug.cgi?id=1539664
- # https://bugzilla.redhat.com/show_bug.cgi?id=1538767
- gdb -q "${imagepath}/bin/java" <<EOF | tee gdb.out
-handle SIGSEGV pass nostop noprint
-handle SIGILL pass nostop noprint
-set breakpoint pending on
-break javaCalls.cpp:58
-commands 1
-backtrace
-quit
-end
-run -version
-EOF
-%ifarch %{gdb_arches}
- grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
+ tar -cJf ${jdkarchive} --exclude='**.debuginfo' ${jdkname}
+ genchecksum ${jdkarchive}
+
+ tar -cJf ${jrearchive} --exclude='**.debuginfo' ${jrename}
+ genchecksum ${jrearchive}
+
+%if %{include_staticlibs}
+ # Static libraries (needed for building graal vm with native image)
+ # Tar as overlay. Transform to the JDK name, since we just want to "add"
+ # static libraries to that folder
+ tar -cJf ${staticarchive} \
+ --transform "s|^%{static_libs_image}/lib/*|${staticname}/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib"
+ genchecksum ${staticarchive}
%endif
- fi
+ # Revert directory renaming so testing will run
+ # TODO: testing should run on the packaged JDK
+ mv ${jdkname} %{jdkimage}
+ mv ${jrename} %{jreimage}
+
+ popd #images
+
}
-pwd
-ls -l
-tar -cJf ../%{jdkportablesourcesarchive -- ""} --transform "s|^|%{jdkportablesourcesname -- ""}/|" openjdk nss*
-sha256sum ../%{jdkportablesourcesarchive -- ""} > ../%{jdkportablesourcesarchive -- ""}.sha256sum
+packFullPatchedSources
%if %{build_hotspot_first}
# Build a fresh libjvm.so first and use it to bootstrap
cp -LR --preserve=mode,timestamps %{bootjdk} newboot
systemjdk=$(pwd)/newboot
- buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
- mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
+ buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled" "internal"
+ mv build/newboot/jdk/lib/%{vm_variant}/libjvm.so newboot/lib/%{vm_variant}
%else
systemjdk=%{bootjdk}
%endif
for suffix in %{build_loop} ; do
+
if [ "x$suffix" = "x" ] ; then
debugbuild=release
else
# change --something to something
debugbuild=`echo $suffix | sed "s/-//g"`
fi
- for loop in %{main_suffix} %{staticlibs_loop} ; do
- builddir=%{buildoutputdir -- ${suffix}${loop}}
- bootbuilddir=boot${builddir}
- if test "x${loop}" = "x%{main_suffix}" ; then
- link_opt="%{link_type}"
-%if %{system_libs}
- # Copy the source tree so we can remove all in-tree libraries
- cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
- # Remove all libraries that are linked
- sh %{SOURCE12} %{top_level_dir_name} full
-%endif
- # Debug builds don't need same targets as release for
- # build speed-up. We also avoid bootstrapping these
- # slower builds.
- if echo $debugbuild | grep -q "debug" ; then
- maketargets="%{debug_targets}"
- run_bootstrap=false
- else
- maketargets="%{release_targets}"
- run_bootstrap=%{bootstrap_build}
- fi
- if ${run_bootstrap} ; then
- buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
- buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
- rm -rf ${bootbuilddir}
- else
- buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
- fi
+ # We build with internal debug symbols and do
+ # our own stripping for one version of the
+ # release build
+ debug_symbols=internal
+
+ builddir=%{buildoutputdir -- ${suffix}}
+ bootbuilddir=boot${builddir}
+ installdir=%{installoutputdir -- ${suffix}}
+ bootinstalldir=boot${installdir}
+ packagesdir=%{packageoutputdir -- ${suffix}}
+
+ link_opt="%{link_type}"
%if %{system_libs}
- # Restore original source tree we modified by removing full in-tree sources
- rm -rf %{top_level_dir_name}
- mv %{top_level_dir_name_backup} %{top_level_dir_name}
-%endif
- else
- # Use bundled libraries for building statically
- link_opt="bundled"
- # Static library cycle only builds the static libraries
- maketargets="%{static_libs_target}"
- # Always just do the one build for the static libraries
- buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
- fi
-
- done # end of main / staticlibs loop
-
- # Final setup on the main image
- top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
- for image in %{jdkimage} %{jreimage} ; do
- imagePath=${top_dir_abs_main_build_path}/images/${image}
- installjdk ${imagePath}
- done
- # Check debug symbols were built into the dynamic libraries; todo, why it passes in JDK only?
- debugcheckjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
-
- # Print release information
- cat ${top_dir_abs_main_build_path}/images/%{jdkimage}/release
+ # Copy the source tree so we can remove all in-tree libraries
+ cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
+ # Remove all libraries that are linked
+ sh %{SOURCE12} %{top_level_dir_name} full
+%endif
+ # Debug builds don't need same targets as release for
+ # build speed-up. We also avoid bootstrapping these
+ # slower builds.
+ if echo $debugbuild | grep -q "debug" ; then
+ maketargets="%{debug_targets}"
+ run_bootstrap=false
+ else
+ maketargets="%{release_targets}"
+ run_bootstrap=%{bootstrap_build}
+ fi
+ if ${run_bootstrap} ; then
+ buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ installjdk ${bootbuilddir} ${bootinstalldir}
+ buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ stripjdk ${builddir}
+ installjdk ${builddir} ${installdir}
+ %{!?with_artifacts:rm -rf ${bootinstalldir}}
+ else
+ buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ stripjdk ${builddir}
+ installjdk ${builddir} ${installdir}
+ fi
+ packagejdk ${installdir} ${packagesdir}
-################################################################################
- pushd ${top_dir_abs_main_build_path}/images
- if [ "x$suffix" == "x" ] ; then
- nameSuffix=""
- else
- nameSuffix=`echo "$suffix"| sed s/-/./`
- fi
- # additional steps needed for fluent repack; most of them done twice, as images are already populated
- # maybe most of them should be done in upstream build?
- for imagedir in %{jdkimage} %{jreimage} ; do
- pushd $imagedir
- # Convert man pages to UTF8 encoding
- if [ -d man/man1 ] ; then # jre do not have man pages...
- for manpage in man/man1/* ; do
- iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
- mv -f $manpage.tmp $manpage
- done
- fi
- # Install release notes
- cp -a %{SOURCE10} `pwd`
- cp -a %{SOURCE10} `pwd`/legal
- # stabilize permissions; aprtially duplicated in instalojdk
- find `pwd` -name "*.so" -exec chmod 755 {} \; -exec echo "set 755 to so {}" \; ;
- find `pwd` -type d -exec chmod 755 {} \; -exec echo "set 755 to dir {}" \; ;
- find `pwd`/legal -type f -exec chmod 644 {} \; -exec echo "set 644 to licences {}" \; ;
- popd # jdkimage/jreimage
- done # jre/sdk work in loop
- # javadoc is done only for release sdkimage
- if ! echo $suffix | grep -q "debug" ; then
- # Install Javadoc documentation
- #cp -a docs %{jdkimage} # not sure if the plaintext javadoc is for some use
- built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
- cp -a `pwd`/../bundles/${built_doc_archive} `pwd`/%{jdkimage}/javadocs.zip || ls -l `pwd`/../bundles
- fi
- # end of additional steps
-
- mv %{jdkimage} %{jdkportablename -- "$nameSuffix"}
- mv %{jreimage} %{jreportablename -- "$nameSuffix"}
- tar -cJf ../../../../%{jdkportablearchive -- "$nameSuffix"} --exclude='**.debuginfo' %{jdkportablename -- "$nameSuffix"}
- sha256sum ../../../../%{jdkportablearchive -- "$nameSuffix"} > ../../../../%{jdkportablearchive -- "$nameSuffix"}.sha256sum
- tar -cJf ../../../../%{jreportablearchive -- "$nameSuffix"} --exclude='**.debuginfo' %{jreportablename -- "$nameSuffix"}
- sha256sum ../../../../%{jreportablearchive -- "$nameSuffix"} > ../../../../%{jreportablearchive -- "$nameSuffix"}.sha256sum
- # copy licenses so they are avialable out of tarball
- cp -rf %{jdkportablename -- "$nameSuffix"}/legal ../../../../%{jdkportablearchive -- "%{normal_suffix}"}-legal
- mv %{jdkportablename -- "$nameSuffix"} %{jdkimage}
- mv %{jreportablename -- "$nameSuffix"} %{jreimage}
- popd #images
-%if %{include_staticlibs}
- top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_suffix}}
- pushd ${top_dir_abs_staticlibs_build_path}/images
- # Static libraries (needed for building graal vm with native image)
- # Tar as overlay. Transform to the JDK name, since we just want to "add"
- # static libraries to that folder
- portableJDKname=%{staticlibsportablename -- "$nameSuffix"}
- tar -cJf ../../../../%{staticlibsportablearchive -- "$nameSuffix"} --transform "s|^%{static_libs_image}/lib/*|$portableJDKname/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib"
- sha256sum ../../../../%{staticlibsportablearchive -- "$nameSuffix"} > ../../../../%{staticlibsportablearchive -- "$nameSuffix"}.sha256sum
- popd #staticlibs-images
+%if %{system_libs}
+ # Restore original source tree we modified by removing full in-tree sources
+ rm -rf %{top_level_dir_name}
+ mv %{top_level_dir_name_backup} %{top_level_dir_name}
%endif
-################################################################################
-# note, currently no debuginfo, consult portbale spec for external (zipped) debuginfo, being tarred alone
-################################################################################
# build cycles
done # end of release / debug cycle loop
-%install
-mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
-mv ../%{jdkportablesourcesarchive -- ""} $RPM_BUILD_ROOT%{_jvmdir}/
-mv ../%{jdkportablesourcesarchive -- ""}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+%check
+# We test debug first as it will give better diagnostics on a crash
for suffix in %{build_loop} ; do
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
-################################################################################
- if [ "x$suffix" == "x" ] ; then
- nameSuffix=""
- else
- nameSuffix=`echo "$suffix"| sed s/-/./`
- fi
- mv ../%{jdkportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jdkportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jreportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jreportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+# portable builds have static_libs embedded, thus top_dir_abs_main_build_path is same as top_dir_abs_staticlibs_build_path
+top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}}
%if %{include_staticlibs}
- mv ../%{staticlibsportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{staticlibsportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
-%endif
- if [ "x$suffix" == "x" ] ; then
- dnameSuffix="$nameSuffix".debuginfo
-# todo handle debuginfo, see note at build (we will need to pack one stripped and one unstripped release build)
-# mv ../%{jdkportablearchive -- "$dnameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
-# mv ../%{jdkportablearchive -- "$dnameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
- fi
-################################################################################
-# end, dual install
-done
-################################################################################
-# the licenses are packed onloy once and shared
-mkdir -p $RPM_BUILD_ROOT%{unpacked_licenses}
-mv ../%{jdkportablearchive -- "%{normal_suffix}"}-legal $RPM_BUILD_ROOT%{unpacked_licenses}/%{jdkportablesourcesarchive -- "%{normal_suffix}"}
-# To show sha in the build log
-for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do ls -l $file ; cat $file ; done
-################################################################################
+top_dir_abs_staticlibs_build_path=${top_dir_abs_main_build_path}
+%endif
-%check
+export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
-# We test debug first as it will give better diagnostics on a crash
-for suffix in %{build_loop} ; do
+# Pre-test setup
-# Tests in the check stage are performed on the installed image
-# rpmbuild operates as follows: build -> install -> test
-# however in portbales, we test built image instead of installed one
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
-export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
+# System security properties are disabled by default on portable.
+# Turn on system security properties
+#sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
+#${JAVA_HOME}/conf/security/java.security
-#check Shenandoah is enabled
+# Check Shenandoah is enabled
%if %{use_shenandoah_hotspot}
$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
%endif
@@ -1507,14 +1509,19 @@ $JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLev
$JAVA_HOME/bin/javac -d . %{SOURCE14}
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
-# Check system crypto (policy) is deactive and can not be enabled
+# Check system crypto (policy) is active and can be disabled
# Test takes a single argument - true or false - to state whether system
# security properties are enabled or not.
$JAVA_HOME/bin/javac -d . %{SOURCE15}
export PROG=$(echo $(basename %{SOURCE15})|sed "s|\.java||")
export SEC_DEBUG="-Djava.security.debug=properties"
+# Specific to portable:System security properties to be off by default
$JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} false
-$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=false ${PROG} false
+$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
+
+# Check correct vendor values have been set
+$JAVA_HOME/bin/javac -d . %{SOURCE16}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
# Check java launcher has no SSB mitigation
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
@@ -1526,14 +1533,10 @@ nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
%endif
-# Check correct vendor values have been set
-$JAVA_HOME/bin/javac -d . %{SOURCE16}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
-
%if ! 0%{?flatpak}
# Check translations are available for new timezones (during flatpak builds, the
# tzdb.dat used by this test is not where the test expects it, so this is
-# disabled for flatpak builds)
+# disabled for flatpak builds)
$JAVA_HOME/bin/javac -d . %{SOURCE18}
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
@@ -1541,9 +1544,83 @@ $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|
%if %{include_staticlibs}
# Check debug symbols in static libraries (smoke test)
-export STATIC_LIBS_HOME=${top_dir_abs_main_build_path}/../../%{buildoutputdir -- ${suffix}%{staticlibs_suffix}}/images/static-libs/lib/
-readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c
-readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c
+export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
+ls -l $STATIC_LIBS_HOME
+ls -l $STATIC_LIBS_HOME/lib
+# they are here, but grep do not find the remainders
+#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
+#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
+%endif
+
+# Release builds strip the debug symbols into external .debuginfo files
+if [ "x$suffix" = "x" ] ; then
+ so_suffix="debuginfo"
+else
+ so_suffix="so"
+fi
+# Check debug symbols are present and can identify code
+find "$JAVA_HOME" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
+do
+ if [ -f "$lib" ] ; then
+ echo "Testing $lib for debug symbols"
+ # All these tests rely on RPM failing the build if the exit code of any set
+ # of piped commands is non-zero.
+
+ # Test for .debug_* sections in the shared object. This is the main test
+ # Stripped objects will not contain these
+ eu-readelf -S "$lib" | grep "] .debug_"
+ test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
+
+ # Test FILE symbols. These will most likely be removed by anything that
+ # manipulates symbol tables because it's generally useless. So a nice test
+ # that nothing has messed with symbols
+ old_IFS="$IFS"
+ IFS=$'\n'
+ for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
+ do
+ # We expect to see .cpp and .S files, except for architectures like aarch64 and
+ # s390 where we expect .o and .oS files
+ echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
+ done
+ IFS="$old_IFS"
+
+ # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
+ if [ "`basename $lib`" = "libjvm.so" ]; then
+ eu-readelf -s "$lib" | \
+ grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
+ fi
+
+ # Test that there are no .gnu_debuglink sections pointing to another
+ # debuginfo file. There shouldn't be any debuginfo files, so the link makes
+ # no sense either
+ eu-readelf -S "$lib" | grep 'gnu'
+ if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
+ echo "bad .gnu_debuglink section."
+ eu-readelf -x .gnu_debuglink "$lib"
+ false
+ fi
+ fi
+done
+
+# Make sure gdb can do a backtrace based on line numbers on libjvm.so
+# javaCalls.cpp:58 should map to:
+# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/shar...
+# Using line number 1 might cause build problems. See:
+# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
+# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
+gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out
+handle SIGSEGV pass nostop noprint
+handle SIGILL pass nostop noprint
+set breakpoint pending on
+break javaCalls.cpp:58
+commands 1
+backtrace
+quit
+end
+run -version
+EOF
+%ifarch %{gdb_arches}
+grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
%endif
# Check src.zip has all sources. See RHBZ#1130490
@@ -1562,12 +1639,70 @@ $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
# build cycles check
done
+%install
+
+ mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
+ mv %{jdkportablesourcesarchive -- ""} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv %{jdkportablesourcesarchive -- ""}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+
+for suffix in %{build_loop} ; do
+
+ packagesdir=%{packageoutputdir -- ${suffix}}
+
+ if [ "x$suffix" == "x" ] ; then
+ nameSuffix=""
+ else
+ nameSuffix=`echo "$suffix"| sed s/-/./`
+ fi
+
+ # These definitions should match those in installjdk
+ jdkarchive=${packagesdir}/%{jdkportablearchive -- "$nameSuffix"}
+ jrearchive=${packagesdir}/%{jreportablearchive -- "$nameSuffix"}
+ staticarchive=${packagesdir}/%{staticlibsportablearchive -- "$nameSuffix"}
+ debugarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.debuginfo"}
+ unstrippedarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.unstripped"}
+
+ mv ${jdkarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jdkarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jrearchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jrearchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+
+%if %{include_staticlibs}
+ mv ${staticarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${staticarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+%endif
+
+ if [ "x$suffix" = "x" ] ; then
+ mv ${debugarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${debugarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${unstrippedarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${unstrippedarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ fi
+done
+
+ if [ "x$suffix" = "x" ] ; then
+ # These definitions should match those in installjdk
+ # Install outside the loop as there are no debug variants
+ docarchive=${packagesdir}/%{docportablearchive}
+ miscarchive=${packagesdir}/%{miscportablearchive}
+ mv ${docarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${docarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${miscarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${miscarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ fi
+
+# To show sha in the build log
+for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do
+ ls -l $file ;
+ cat $file ;
+done
+
%if %{include_normal_build}
+
%files
# main package builds always
%{_jvmdir}/%{jreportablearchiveForFiles}
%{_jvmdir}/%{jreportablearchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%else
%files
# placeholder
@@ -1576,10 +1711,9 @@ done
%if %{include_normal_build}
%files devel
%{_jvmdir}/%{jdkportablearchiveForFiles}
-#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
+%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
%{_jvmdir}/%{jdkportablearchiveForFiles}.sha256sum
-#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
+%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
%endif
%if %{include_normal_build}
@@ -1587,26 +1721,26 @@ done
%files static-libs
%{_jvmdir}/%{staticlibsportablearchiveForFiles}
%{_jvmdir}/%{staticlibsportablearchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
+
+%files unstripped
+%{_jvmdir}/%{jdkportablearchive -- .unstripped}
+%{_jvmdir}/%{jdkportablearchive -- .unstripped}.sha256sum
%endif
%if %{include_debug_build}
%files slowdebug
%{_jvmdir}/%{jreportablearchive -- .slowdebug}
%{_jvmdir}/%{jreportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%files devel-slowdebug
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%if %{include_staticlibs}
%files static-libs-slowdebug
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
%endif
@@ -1614,27 +1748,47 @@ done
%files fastdebug
%{_jvmdir}/%{jreportablearchive -- .fastdebug}
%{_jvmdir}/%{jreportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%files devel-fastdebug
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%if %{include_staticlibs}
%files static-libs-fastdebug
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
%endif
%files sources
%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}
%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
+
+%if %{include_normal_build}
+%files docs
+%{_jvmdir}/%{docportablearchive}
+%{_jvmdir}/%{docportablearchive}.sha256sum
+
+%files misc
+%{_jvmdir}/%{miscportablearchive}
+%{_jvmdir}/%{miscportablearchive}.sha256sum
+%endif
%changelog
+* Wed Nov 22 2023 Jiri Vanek <jvanek(a)redhat.com> - 1:17.0.9.0.9-2
+- updated to OpenJDK 17.0.9 (2023-10-17)
+- adjsuted generate_source_tarball
+- removed icedtea_sync
+- dropped standalone licenses
+- added usntripped subpkg
+- added docs subpkg
+- adjsuted versions of bundled libraries
+- build refactored to several solid methods following gnu_andrew
+- removed no longer needed jdk8305995-footprint_regression_from_jdk_8224957, nss.fips.cfg.in, rh1648644-java_access_bridge_privileged_security.patch
+- added jdk8312489-max_sig_default_increase.patch
+- aligned fips-17u-51e1d00be4e.patch (gnu_andrew)
+- fixed '--without release' build-ability by moving docs and misc to if-release only
+
* Thu Aug 03 2023 Jiri Vanek <jvanekw(a)redhat.com> - 1:17.0.8.0.7-1
- Update to jdk-17.0.8.0+7
- Update release notes to 17.0.8.0+7
diff --git a/jconsole.desktop.in b/jconsole.desktop.in
index 8a3b04d..c1b8f6a 100644
--- a/jconsole.desktop.in
+++ b/jconsole.desktop.in
@@ -1,10 +1 @@
-[Desktop Entry]
-Name=OpenJDK @JAVA_VER@ for @target_cpu@ Monitoring & Management Console (@OPENJDK_VER@)
-Comment=Monitor and manage OpenJDK applications
-Exec=_SDKBINDIR_/jconsole
-Icon=java-@JAVA_VER@-@JAVA_VENDOR@
-Terminal=false
-Type=Application
-StartupWMClass=sun-tools-jconsole-JConsole
-Categories=Development;Profiling;Java;
-Version=1.0
+# this file is intentionally not here, as portable builds do not have desktop integration
diff --git a/jdk8305995-footprint_regression_from_jdk_8224957 b/jdk8305995-footprint_regression_from_jdk_8224957
deleted file mode 100644
index a5119a0..0000000
--- a/jdk8305995-footprint_regression_from_jdk_8224957
+++ /dev/null
@@ -1,1255 +0,0 @@
-diff --git a/src/hotspot/share/opto/node.cpp b/src/hotspot/share/opto/node.cpp
-index 9a9d3f0149a..7c85e73989e 100644
---- a/src/hotspot/share/opto/node.cpp
-+++ b/src/hotspot/share/opto/node.cpp
-@@ -1301,7 +1301,7 @@ bool Node::dominates(Node* sub, Node_List &nlist) {
- } else if (sub == up && sub->is_Region() && sub->req() == 2) {
- // Take in(1) path on the way up to 'dom' for regions with only one input
- up = sub->in(1);
-- } else if (sub == up && sub->is_Region() && sub->req() == 3) {
-+ } else if (sub == up && sub->is_Region()) {
- // Try both paths for Regions with 2 input paths (it may be a loop head).
- // It could give conservative 'false' answer without information
- // which region's input is the entry path.
-diff --git a/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java b/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
-new file mode 100644
-index 00000000000..9b7430ccc13
---- /dev/null
-+++ b/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
-@@ -0,0 +1,1236 @@
-+/*
-+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package org.openjdk.bench.vm.compiler;
-+
-+import org.openjdk.jmh.annotations.Benchmark;
-+import org.openjdk.jmh.annotations.Fork;
-+import org.openjdk.jmh.annotations.Measurement;
-+import org.openjdk.jmh.annotations.OutputTimeUnit;
-+import org.openjdk.jmh.annotations.Scope;
-+import org.openjdk.jmh.annotations.State;
-+import org.openjdk.jmh.annotations.Warmup;
-+
-+import java.util.concurrent.TimeUnit;
-+
-+/*
-+ * This benchmark is used as easy reproducer of JDK-8305995
-+ *
-+ * This benchmark contains simplified and minimized RB-tree
-+ * which is based on fasutils with iterators that jumps.
-+ *
-+ * At the end it contains a tree serialized as lines, and
-+ * maxPattern which is used to search in this tree.
-+ */
-+(a)State(Scope.Thread)
-+(a)OutputTimeUnit(TimeUnit.MICROSECONDS)
-+@Warmup(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
-+@Measurement(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
-+@Fork(value = 3)
-+public class RBTreeSearch {
-+
-+ private final Tree pattern;
-+
-+ private final Tree[] nodes;
-+
-+ private final Tree root;
-+
-+ private final int[] idxStack;
-+ private final Tree[] objStack;
-+
-+ public RBTreeSearch() {
-+ idxStack = new int[maxPattern];
-+
-+ objStack = new Tree[maxPattern];
-+
-+ pattern = new Tree();
-+ for (int i = 0; i <= maxPattern; i++) {
-+ pattern.put(i, i);
-+ }
-+
-+ nodes = new Tree[directions.length];
-+ for (int i = 0; i < directions.length; i++) {
-+ if (directions[i] == null) {
-+ continue;
-+ }
-+ Tree kids = new Tree();
-+ nodes[i] = kids;
-+ for (String pair : directions[i].split(", ")) {
-+ String[] kv = pair.split("=>");
-+ kids.put(Integer.parseInt(kv[0]), Integer.parseInt(kv[1]));
-+ }
-+ }
-+
-+ root = nodes[0];
-+ }
-+
-+ @Benchmark
-+ public void search() {
-+ Tree.Iterator sliceIt = pattern.keyIterator();
-+
-+ int stackSize = 0;
-+ idxStack[stackSize] = pattern.firstIntKey();
-+ objStack[stackSize++] = root;
-+
-+ while (stackSize > 0) {
-+ stackSize--;
-+ Tree node = objStack[stackSize];
-+
-+ final int startPoint = Math.max(idxStack[stackSize], node.firstIntKey()) - 1;
-+ final Tree.Iterator rootIt = node.keyIterator(startPoint);
-+
-+ sliceIt.jump(startPoint);
-+ while (sliceIt.hasNext() && rootIt.hasNext()) {
-+ final int sliceElem = sliceIt.nextInt();
-+ final int rootElem = rootIt.nextInt();
-+ if (sliceElem < rootElem) {
-+ rootIt.previousInt();
-+ if (sliceIt.nextInt() >= rootElem) {
-+ sliceIt.previousInt();
-+ } else {
-+ sliceIt.jump(rootElem - 1);
-+ }
-+ } else if (sliceElem == rootElem) {
-+ final int childrenIdx = node.get(sliceElem);
-+ final Tree children = nodes[childrenIdx];
-+
-+ if (children != null) {
-+ idxStack[stackSize] = sliceElem;
-+ objStack[stackSize++] = children;
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ public static class Tree {
-+
-+ protected transient Entry root;
-+
-+ protected transient Entry firstEntry;
-+
-+ protected transient Entry lastEntry;
-+
-+ private final transient boolean[] dirPath = new boolean[64];
-+
-+ private final transient Entry[] nodePath = new Entry[64];
-+
-+ public int put(final int k, final int v) {
-+ Entry e = add(k);
-+ final int oldValue = e.value;
-+ e.value = v;
-+ return oldValue;
-+ }
-+
-+ private Entry add(final int k) {
-+ int maxDepth = 0;
-+ Entry e;
-+ if (root == null) {
-+ e = root = lastEntry = firstEntry = new Entry(k, 0);
-+ }
-+ else {
-+ Entry p = root;
-+ int cmp, i = 0;
-+ while(true) {
-+ if ((cmp = Integer.compare(k, p.key)) == 0) {
-+ while(i-- != 0) nodePath[i] = null;
-+ return p;
-+ }
-+ nodePath[i] = p;
-+ if (dirPath[i++] = cmp > 0) {
-+ if (p.succ()) {
-+ e = new Entry(k, 0);
-+ if (p.right == null) lastEntry = e;
-+ e.left = p;
-+ e.right = p.right;
-+ p.right(e);
-+ break;
-+ }
-+ p = p.right;
-+ }
-+ else {
-+ if (p.pred()) {
-+ e = new Entry(k, 0);
-+ if (p.left == null) firstEntry = e;
-+ e.right = p;
-+ e.left = p.left;
-+ p.left(e);
-+ break;
-+ }
-+ p = p.left;
-+ }
-+ }
-+ maxDepth = i--;
-+ while(i > 0 && ! nodePath[i].black()) {
-+ if (! dirPath[i - 1]) {
-+ Entry y = nodePath[i - 1].right;
-+ if (! nodePath[i - 1].succ() && ! y.black()) {
-+ nodePath[i].black(true);
-+ y.black(true);
-+ nodePath[i - 1].black(false);
-+ i -= 2;
-+ }
-+ else {
-+ Entry x;
-+ if (! dirPath[i]) y = nodePath[i];
-+ else {
-+ x = nodePath[i];
-+ y = x.right;
-+ x.right = y.left;
-+ y.left = x;
-+ nodePath[i - 1].left = y;
-+ if (y.pred()) {
-+ y.pred(false);
-+ x.succ(y);
-+ }
-+ }
-+ x = nodePath[i - 1];
-+ x.black(false);
-+ y.black(true);
-+ x.left = y.right;
-+ y.right = x;
-+ if (i < 2) root = y;
-+ else {
-+ if (dirPath[i - 2]) nodePath[i - 2].right = y;
-+ else nodePath[i - 2].left = y;
-+ }
-+ if (y.succ()) {
-+ y.succ(false);
-+ x.pred(y);
-+ }
-+ break;
-+ }
-+ }
-+ else {
-+ Entry y = nodePath[i - 1].left;
-+ if (! nodePath[i - 1].pred() && ! y.black()) {
-+ nodePath[i].black(true);
-+ y.black(true);
-+ nodePath[i - 1].black(false);
-+ i -= 2;
-+ }
-+ else {
-+ Entry x;
-+ if (dirPath[i]) y = nodePath[i];
-+ else {
-+ x = nodePath[i];
-+ y = x.left;
-+ x.left = y.right;
-+ y.right = x;
-+ nodePath[i - 1].right = y;
-+ if (y.succ()) {
-+ y.succ(false);
-+ x.pred(y);
-+ }
-+ }
-+ x = nodePath[i - 1];
-+ x.black(false);
-+ y.black(true);
-+ x.right = y.left;
-+ y.left = x;
-+ if (i < 2) root = y;
-+ else {
-+ if (dirPath[i - 2]) nodePath[i - 2].right = y;
-+ else nodePath[i - 2].left = y;
-+ }
-+ if (y.pred()){
-+ y.pred(false);
-+ x.succ(y);
-+ }
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ root.black(true);
-+ while(maxDepth-- != 0) nodePath[maxDepth] = null;
-+ return e;
-+ }
-+
-+ private static final class Entry {
-+ int key;
-+ int value;
-+
-+ private static final int BLACK_MASK = 1;
-+
-+ private static final int SUCC_MASK = 1 << 31;
-+
-+ private static final int PRED_MASK = 1 << 30;
-+
-+ Entry left, right;
-+
-+ int info;
-+
-+ Entry(final int k, final int v) {
-+ key = k;
-+ value = v;
-+ info = SUCC_MASK | PRED_MASK;
-+ }
-+
-+ Entry left() {
-+ return (info & PRED_MASK) != 0 ? null : left;
-+ }
-+
-+ Entry right() {
-+ return (info & SUCC_MASK) != 0 ? null : right;
-+ }
-+
-+ boolean pred() {
-+ return (info & PRED_MASK) != 0;
-+ }
-+
-+ boolean succ() {
-+ return (info & SUCC_MASK) != 0;
-+ }
-+
-+ void pred(final boolean pred) {
-+ if (pred) info |= PRED_MASK;
-+ else info &= ~PRED_MASK;
-+ }
-+
-+ void succ(final boolean succ) {
-+ if (succ) info |= SUCC_MASK;
-+ else info &= ~SUCC_MASK;
-+ }
-+
-+ void pred(final Entry pred) {
-+ info |= PRED_MASK;
-+ left = pred;
-+ }
-+
-+ void succ(final Entry succ) {
-+ info |= SUCC_MASK;
-+ right = succ;
-+ }
-+
-+ void left(final Entry left) {
-+ info &= ~PRED_MASK;
-+ this.left = left;
-+ }
-+
-+ void right(final Entry right) {
-+ info &= ~SUCC_MASK;
-+ this.right = right;
-+ }
-+
-+ boolean black() {
-+ return (info & BLACK_MASK) != 0;
-+ }
-+
-+ void black(final boolean black) {
-+ if (black) info |= BLACK_MASK;
-+ else info &= ~BLACK_MASK;
-+ }
-+
-+ Entry next() {
-+ Entry next = this.right;
-+ if ((info & SUCC_MASK) == 0) while ((next.info & PRED_MASK) == 0) next = next.left;
-+ return next;
-+ }
-+
-+ Entry prev() {
-+ Entry prev = this.left;
-+ if ((info & PRED_MASK) == 0) while ((prev.info & SUCC_MASK) == 0) prev = prev.right;
-+ return prev;
-+ }
-+ }
-+
-+ public int get(final int k) {
-+ Entry e = root;
-+ int cmp;
-+ while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
-+ e = cmp < 0 ? e.left() : e.right();
-+ }
-+ return e == null ? 0 : e.value;
-+ }
-+
-+ public int firstIntKey() {
-+ return firstEntry.key;
-+ }
-+
-+ interface Iterator {
-+ boolean hasNext();
-+ int nextInt();
-+ int previousInt();
-+ void jump(final int fromElement);
-+ }
-+
-+ private class KeyIteratorImpl implements Iterator {
-+ Entry prev;
-+
-+ Entry next;
-+
-+ Entry curr;
-+
-+ int index = 0;
-+
-+ KeyIteratorImpl() {
-+ next = firstEntry;
-+ }
-+
-+ KeyIteratorImpl(final int k) {
-+ if ((next = locateKey(k)) != null) {
-+ if (next.key <= k) {
-+ prev = next;
-+ next = next.next();
-+ }
-+ else prev = next.prev();
-+ }
-+ }
-+
-+ private Entry locateKey(final int k) {
-+ Entry e = root, last = root;
-+ int cmp = 0;
-+ while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
-+ last = e;
-+ e = cmp < 0 ? e.left() : e.right();
-+ }
-+ return cmp == 0 ? e : last;
-+ }
-+
-+ public boolean hasNext() { return next != null; }
-+
-+ Entry nextEntry() {
-+ curr = prev = next;
-+ index++;
-+ next = next.next();
-+ return curr;
-+ }
-+
-+ Entry previousEntry() {
-+ curr = next = prev;
-+ index--;
-+ prev = prev.prev();
-+ return curr;
-+ }
-+ public void jump(final int fromElement) {
-+ if ((next = locateKey(fromElement)) != null) {
-+ if (next.key <= fromElement) {
-+ prev = next;
-+ next = next.next();
-+ }
-+ else prev = next.prev();
-+ }
-+ }
-+
-+ public int nextInt() { return nextEntry().key; }
-+
-+ public int previousInt() { return previousEntry().key; }
-+
-+ }
-+
-+ public Iterator keyIterator() {
-+ return new KeyIteratorImpl();
-+ }
-+
-+ public Iterator keyIterator(final int from) {
-+ return new KeyIteratorImpl(from);
-+ }
-+ }
-+
-+ private static final int maxPattern = 39;
-+
-+ private static final String[] directions = {
-+ "0=>1, 1=>4, 2=>2, 4=>3, 7=>5",
-+ "13=>628, 14=>627, 15=>626, 17=>629, 18=>630",
-+ "13=>473, 14=>472, 15=>471, 17=>474, 18=>475",
-+ "13=>318, 14=>317, 15=>316, 17=>319, 18=>320",
-+ "13=>163, 14=>162, 15=>161, 17=>164, 18=>165",
-+ "13=>8, 14=>7, 15=>6, 17=>9, 18=>10",
-+ "22=>135, 23=>134, 24=>132, 26=>133, 27=>131",
-+ "22=>105, 23=>104, 24=>102, 26=>103, 27=>101",
-+ "22=>75, 23=>74, 24=>72, 26=>73, 27=>71",
-+ "22=>45, 23=>44, 24=>42, 26=>43, 27=>41",
-+ "22=>15, 23=>14, 24=>12, 26=>13, 27=>11",
-+ "31=>38, 32=>39, 33=>36, 34=>40, 35=>37",
-+ "31=>33, 32=>34, 33=>31, 34=>35, 35=>32",
-+ "31=>28, 32=>29, 33=>26, 34=>30, 35=>27",
-+ "31=>23, 32=>24, 33=>21, 34=>25, 35=>22",
-+ "31=>18, 32=>19, 33=>16, 34=>20, 35=>17",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>68, 32=>69, 33=>66, 34=>70, 35=>67",
-+ "31=>63, 32=>64, 33=>61, 34=>65, 35=>62",
-+ "31=>58, 32=>59, 33=>56, 34=>60, 35=>57",
-+ "31=>53, 32=>54, 33=>51, 34=>55, 35=>52",
-+ "31=>48, 32=>49, 33=>46, 34=>50, 35=>47",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>98, 32=>99, 33=>96, 34=>100, 35=>97",
-+ "31=>93, 32=>94, 33=>91, 34=>95, 35=>92",
-+ "31=>88, 32=>89, 33=>86, 34=>90, 35=>87",
-+ "31=>83, 32=>84, 33=>81, 34=>85, 35=>82",
-+ "31=>78, 32=>79, 33=>76, 34=>80, 35=>77",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>128, 32=>129, 33=>126, 34=>130, 35=>127",
-+ "31=>123, 32=>124, 33=>121, 34=>125, 35=>122",
-+ "31=>118, 32=>119, 33=>116, 34=>120, 35=>117",
-+ "31=>113, 32=>114, 33=>111, 34=>115, 35=>112",
-+ "31=>108, 32=>109, 33=>106, 34=>110, 35=>107",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>158, 32=>159, 33=>156, 34=>160, 35=>157",
-+ "31=>153, 32=>154, 33=>151, 34=>155, 35=>152",
-+ "31=>148, 32=>149, 33=>146, 34=>150, 35=>147",
-+ "31=>143, 32=>144, 33=>141, 34=>145, 35=>142",
-+ "31=>138, 32=>139, 33=>136, 34=>140, 35=>137",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>290, 23=>289, 24=>287, 26=>288, 27=>286",
-+ "22=>260, 23=>259, 24=>257, 26=>258, 27=>256",
-+ "22=>230, 23=>229, 24=>227, 26=>228, 27=>226",
-+ "22=>200, 23=>199, 24=>197, 26=>198, 27=>196",
-+ "22=>170, 23=>169, 24=>167, 26=>168, 27=>166",
-+ "31=>193, 32=>194, 33=>191, 34=>195, 35=>192",
-+ "31=>188, 32=>189, 33=>186, 34=>190, 35=>187",
-+ "31=>183, 32=>184, 33=>181, 34=>185, 35=>182",
-+ "31=>178, 32=>179, 33=>176, 34=>180, 35=>177",
-+ "31=>173, 32=>174, 33=>171, 34=>175, 35=>172",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>223, 32=>224, 33=>221, 34=>225, 35=>222",
-+ "31=>218, 32=>219, 33=>216, 34=>220, 35=>217",
-+ "31=>213, 32=>214, 33=>211, 34=>215, 35=>212",
-+ "31=>208, 32=>209, 33=>206, 34=>210, 35=>207",
-+ "31=>203, 32=>204, 33=>201, 34=>205, 35=>202",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>253, 32=>254, 33=>251, 34=>255, 35=>252",
-+ "31=>248, 32=>249, 33=>246, 34=>250, 35=>247",
-+ "31=>243, 32=>244, 33=>241, 34=>245, 35=>242",
-+ "31=>238, 32=>239, 33=>236, 34=>240, 35=>237",
-+ "31=>233, 32=>234, 33=>231, 34=>235, 35=>232",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>283, 32=>284, 33=>281, 34=>285, 35=>282",
-+ "31=>278, 32=>279, 33=>276, 34=>280, 35=>277",
-+ "31=>273, 32=>274, 33=>271, 34=>275, 35=>272",
-+ "31=>268, 32=>269, 33=>266, 34=>270, 35=>267",
-+ "31=>263, 32=>264, 33=>261, 34=>265, 35=>262",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>313, 32=>314, 33=>311, 34=>315, 35=>312",
-+ "31=>308, 32=>309, 33=>306, 34=>310, 35=>307",
-+ "31=>303, 32=>304, 33=>301, 34=>305, 35=>302",
-+ "31=>298, 32=>299, 33=>296, 34=>300, 35=>297",
-+ "31=>293, 32=>294, 33=>291, 34=>295, 35=>292",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>445, 23=>444, 24=>442, 26=>443, 27=>441",
-+ "22=>415, 23=>414, 24=>412, 26=>413, 27=>411",
-+ "22=>385, 23=>384, 24=>382, 26=>383, 27=>381",
-+ "22=>355, 23=>354, 24=>352, 26=>353, 27=>351",
-+ "22=>325, 23=>324, 24=>322, 26=>323, 27=>321",
-+ "31=>348, 32=>349, 33=>346, 34=>350, 35=>347",
-+ "31=>343, 32=>344, 33=>341, 34=>345, 35=>342",
-+ "31=>338, 32=>339, 33=>336, 34=>340, 35=>337",
-+ "31=>333, 32=>334, 33=>331, 34=>335, 35=>332",
-+ "31=>328, 32=>329, 33=>326, 34=>330, 35=>327",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>378, 32=>379, 33=>376, 34=>380, 35=>377",
-+ "31=>373, 32=>374, 33=>371, 34=>375, 35=>372",
-+ "31=>368, 32=>369, 33=>366, 34=>370, 35=>367",
-+ "31=>363, 32=>364, 33=>361, 34=>365, 35=>362",
-+ "31=>358, 32=>359, 33=>356, 34=>360, 35=>357",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>408, 32=>409, 33=>406, 34=>410, 35=>407",
-+ "31=>403, 32=>404, 33=>401, 34=>405, 35=>402",
-+ "31=>398, 32=>399, 33=>396, 34=>400, 35=>397",
-+ "31=>393, 32=>394, 33=>391, 34=>395, 35=>392",
-+ "31=>388, 32=>389, 33=>386, 34=>390, 35=>387",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>438, 32=>439, 33=>436, 34=>440, 35=>437",
-+ "31=>433, 32=>434, 33=>431, 34=>435, 35=>432",
-+ "31=>428, 32=>429, 33=>426, 34=>430, 35=>427",
-+ "31=>423, 32=>424, 33=>421, 34=>425, 35=>422",
-+ "31=>418, 32=>419, 33=>416, 34=>420, 35=>417",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>468, 32=>469, 33=>466, 34=>470, 35=>467",
-+ "31=>463, 32=>464, 33=>461, 34=>465, 35=>462",
-+ "31=>458, 32=>459, 33=>456, 34=>460, 35=>457",
-+ "31=>453, 32=>454, 33=>451, 34=>455, 35=>452",
-+ "31=>448, 32=>449, 33=>446, 34=>450, 35=>447",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>600, 23=>599, 24=>597, 26=>598, 27=>596",
-+ "22=>570, 23=>569, 24=>567, 26=>568, 27=>566",
-+ "22=>540, 23=>539, 24=>537, 26=>538, 27=>536",
-+ "22=>510, 23=>509, 24=>507, 26=>508, 27=>506",
-+ "22=>480, 23=>479, 24=>477, 26=>478, 27=>476",
-+ "31=>503, 32=>504, 33=>501, 34=>505, 35=>502",
-+ "31=>498, 32=>499, 33=>496, 34=>500, 35=>497",
-+ "31=>493, 32=>494, 33=>491, 34=>495, 35=>492",
-+ "31=>488, 32=>489, 33=>486, 34=>490, 35=>487",
-+ "31=>483, 32=>484, 33=>481, 34=>485, 35=>482",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>533, 32=>534, 33=>531, 34=>535, 35=>532",
-+ "31=>528, 32=>529, 33=>526, 34=>530, 35=>527",
-+ "31=>523, 32=>524, 33=>521, 34=>525, 35=>522",
-+ "31=>518, 32=>519, 33=>516, 34=>520, 35=>517",
-+ "31=>513, 32=>514, 33=>511, 34=>515, 35=>512",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>563, 32=>564, 33=>561, 34=>565, 35=>562",
-+ "31=>558, 32=>559, 33=>556, 34=>560, 35=>557",
-+ "31=>553, 32=>554, 33=>551, 34=>555, 35=>552",
-+ "31=>548, 32=>549, 33=>546, 34=>550, 35=>547",
-+ "31=>543, 32=>544, 33=>541, 34=>545, 35=>542",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>593, 32=>594, 33=>591, 34=>595, 35=>592",
-+ "31=>588, 32=>589, 33=>586, 34=>590, 35=>587",
-+ "31=>583, 32=>584, 33=>581, 34=>585, 35=>582",
-+ "31=>578, 32=>579, 33=>576, 34=>580, 35=>577",
-+ "31=>573, 32=>574, 33=>571, 34=>575, 35=>572",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>623, 32=>624, 33=>621, 34=>625, 35=>622",
-+ "31=>618, 32=>619, 33=>616, 34=>620, 35=>617",
-+ "31=>613, 32=>614, 33=>611, 34=>615, 35=>612",
-+ "31=>608, 32=>609, 33=>606, 34=>610, 35=>607",
-+ "31=>603, 32=>604, 33=>601, 34=>605, 35=>602",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>755, 23=>754, 24=>752, 26=>753, 27=>751",
-+ "22=>725, 23=>724, 24=>722, 26=>723, 27=>721",
-+ "22=>695, 23=>694, 24=>692, 26=>693, 27=>691",
-+ "22=>665, 23=>664, 24=>662, 26=>663, 27=>661",
-+ "22=>635, 23=>634, 24=>632, 26=>633, 27=>631",
-+ "31=>658, 32=>659, 33=>656, 34=>660, 35=>657",
-+ "31=>653, 32=>654, 33=>651, 34=>655, 35=>652",
-+ "31=>648, 32=>649, 33=>646, 34=>650, 35=>647",
-+ "31=>643, 32=>644, 33=>641, 34=>645, 35=>642",
-+ "31=>638, 32=>639, 33=>636, 34=>640, 35=>637",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>688, 32=>689, 33=>686, 34=>690, 35=>687",
-+ "31=>683, 32=>684, 33=>681, 34=>685, 35=>682",
-+ "31=>678, 32=>679, 33=>676, 34=>680, 35=>677",
-+ "31=>673, 32=>674, 33=>671, 34=>675, 35=>672",
-+ "31=>668, 32=>669, 33=>666, 34=>670, 35=>667",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>718, 32=>719, 33=>716, 34=>720, 35=>717",
-+ "31=>713, 32=>714, 33=>711, 34=>715, 35=>712",
-+ "31=>708, 32=>709, 33=>706, 34=>710, 35=>707",
-+ "31=>703, 32=>704, 33=>701, 34=>705, 35=>702",
-+ "31=>698, 32=>699, 33=>696, 34=>700, 35=>697",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>748, 32=>749, 33=>746, 34=>750, 35=>747",
-+ "31=>743, 32=>744, 33=>741, 34=>745, 35=>742",
-+ "31=>738, 32=>739, 33=>736, 34=>740, 35=>737",
-+ "31=>733, 32=>734, 33=>731, 34=>735, 35=>732",
-+ "31=>728, 32=>729, 33=>726, 34=>730, 35=>727",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>778, 32=>779, 33=>776, 34=>780, 35=>777",
-+ "31=>773, 32=>774, 33=>771, 34=>775, 35=>772",
-+ "31=>768, 32=>769, 33=>766, 34=>770, 35=>767",
-+ "31=>763, 32=>764, 33=>761, 34=>765, 35=>762",
-+ "31=>758, 32=>759, 33=>756, 34=>760, 35=>757",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null
-+ };
-+}
diff --git a/jdk8312489-max_sig_default_increase.patch b/jdk8312489-max_sig_default_increase.patch
new file mode 100644
index 0000000..8aeb261
--- /dev/null
+++ b/jdk8312489-max_sig_default_increase.patch
@@ -0,0 +1,50 @@
+commit 5b613e3ebed6c141146e743e64c894fe4f39421e
+Author: Andrew John Hughes <andrew(a)openjdk.org>
+Date: Fri Sep 1 15:53:41 2023 +0000
+
+ 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
+
+ Backport-of: e47a84f23dd2608c6f5748093eefe301fb5bf750
+
+diff --git a/src/java.base/share/classes/java/util/jar/JarFile.java b/src/java.base/share/classes/java/util/jar/JarFile.java
+index bd538649a4f..70cf99504e4 100644
+--- a/src/java.base/share/classes/java/util/jar/JarFile.java
++++ b/src/java.base/share/classes/java/util/jar/JarFile.java
+@@ -803,7 +803,9 @@ private byte[] getBytes(ZipEntry ze) throws IOException {
+ throw new IOException("Unsupported size: " + uncompressedSize +
+ " for JarEntry " + ze.getName() +
+ ". Allowed max size: " +
+- SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes");
++ SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes. " +
++ "You can use the jdk.jar.maxSignatureFileSize " +
++ "system property to increase the default value.");
+ }
+ int len = (int)uncompressedSize;
+ int bytesRead;
+diff --git a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
+index 4ea9255ba0a..05acdcb9474 100644
+--- a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
++++ b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
+@@ -856,16 +856,16 @@ private static int initializeMaxSigFileSize() {
+ * the maximum allowed number of bytes for the signature-related files
+ * in a JAR file.
+ */
+- Integer tmp = GetIntegerAction.privilegedGetProperty(
+- "jdk.jar.maxSignatureFileSize", 8000000);
++ int tmp = GetIntegerAction.privilegedGetProperty(
++ "jdk.jar.maxSignatureFileSize", 16000000);
+ if (tmp < 0 || tmp > MAX_ARRAY_SIZE) {
+ if (debug != null) {
+- debug.println("Default signature file size 8000000 bytes " +
+- "is used as the specified size for the " +
+- "jdk.jar.maxSignatureFileSize system property " +
++ debug.println("The default signature file size of 16000000 bytes " +
++ "will be used for the jdk.jar.maxSignatureFileSize " +
++ "system property since the specified value " +
+ "is out of range: " + tmp);
+ }
+- tmp = 8000000;
++ tmp = 16000000;
+ }
+ return tmp;
+ }
diff --git a/nss.fips.cfg.in b/nss.fips.cfg.in
deleted file mode 100644
index 2d9ec35..0000000
--- a/nss.fips.cfg.in
+++ /dev/null
@@ -1,8 +0,0 @@
-name = NSS-FIPS
-nssLibraryDirectory = @NSS_LIBDIR@
-nssSecmodDirectory = sql:/etc/pki/nssdb
-nssDbMode = readOnly
-nssModule = fips
-
-attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }
-
diff --git a/openjdk_news.sh b/openjdk_news.sh
index 560b356..386aa53 100755
--- a/openjdk_news.sh
+++ b/openjdk_news.sh
@@ -18,8 +18,8 @@
OLD_RELEASE=$1
NEW_RELEASE=$2
-SUBDIR=$3
-REPO=$4
+REPO=$3
+SUBDIR=$4
SCRIPT_DIR=$(dirname ${0})
if test "x${SUBDIR}" = "x"; then
diff --git a/rh1648644-java_access_bridge_privileged_security.patch b/rh1648644-java_access_bridge_privileged_security.patch
deleted file mode 100644
index 53026ad..0000000
--- a/rh1648644-java_access_bridge_privileged_security.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- openjdk/src/java.base/share/conf/security/java.security
-+++ openjdk/src/java.base/share/conf/security/java.security
-@@ -304,6 +304,8 @@
- #
- package.access=sun.misc.,\
- sun.reflect.,\
-+ org.GNOME.Accessibility.,\
-+ org.GNOME.Bonobo.,\
-
- #
- # List of comma-separated packages that start with or equal this string
-@@ -316,6 +318,8 @@
- #
- package.definition=sun.misc.,\
- sun.reflect.,\
-+ org.GNOME.Accessibility.,\
-+ org.GNOME.Bonobo.,\
-
- #
- # Determines whether this properties file can be appended to
diff --git a/sources b/sources
index 47996d1..0c780d7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (openjdk-jdk17u-jdk-17.0.8+7.tar.xz) = 52bd1002cffafc6fc613b3ee1c62bfc3f27f31d5e1810ebb8f556a725ebb310508885762079589f15be5da63388214525128b77d2a665bae9fccfc419ab5d6a1
+SHA512 (openjdk-17.0.9+9.tar.xz) = 33225a1070077c9504b4857734305f301e51b93a929274d460ddc3dc042ce15943030f8af928c11962743a928619ea39daa453d8fb1c8ea5a334a4b6490a00ee
6 months, 1 week
Architecture specific change in rpms/java-17-openjdk-portable.git
by githook-noreply@fedoraproject.org
The package rpms/java-17-openjdk-portable.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/java-17-openjdk-portable.git/comm....
Change:
+%ifarch %{gdb_arches}
Thanks.
Full change:
============
commit 289d0e958f24fa8759c01d48b05c8a4b71e599e2
Author: Jiri <jvanek(a)redhat.com>
Date: Thu Nov 23 16:12:18 2023 +0100
updated to OpenJDK 17.0.9 (2023-10-17)
- adjsuted generate_source_tarball
- removed icedtea_sync
- dropped standalone licenses
- added usntripped subpkg
- added docs subpkg
- adjsuted versions of bundled libraries
- build refactored to several solid methods following gnu_andrew
- removed no longer needed jdk8305995-footprint_regression_from_jdk_8224957, nss.fips.cfg.in, rh1648644-java_access_bridge_privileged_security.patch
- added jdk8312489-max_sig_default_increase.patch
- aligned fips-17u-51e1d00be4e.patch (gnu_andrew)
- fixed '--without release' build-ability by moving docs and misc to
if-release only
diff --git a/.gitignore b/.gitignore
index 6c2c596..f79d052 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,3 +37,4 @@
/openjdk-jdk17u-jdk-17.0.6+10.tar.xz
/openjdk-jdk17u-jdk-17.0.7+7.tar.xz
/openjdk-jdk17u-jdk-17.0.8+7.tar.xz
+/openjdk-17.0.9+9.tar.xz
diff --git a/NEWS b/NEWS
index a7be73f..4edebb8 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,490 @@ Key:
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
+New in release OpenJDK 17.0.9 (2023-10-17):
+===========================================
+Live versions of these release notes can be found at:
+ * https://bit.ly/openjdk1709
+
+* CVEs
+ - CVE-2023-22081
+ - CVE-2023-22025
+* Security fixes
+ - JDK-8286503, JDK-8312367: Enhance security classes
+ - JDK-8296581: Better system proxy support
+ - JDK-8297856: Improve handling of Bidi characters
+ - JDK-8305815, JDK-8307278: Update Libpng to 1.6.39
+ - JDK-8306881, JDK-8307286: Update FreeType to 2.13.0
+ - JDK-8309966: Enhanced TLS connections
+ - JDK-8312248: Enhanced archival support redux
+ - JDK-8314649: Enhanced archival support redux
+ - JDK-8317121: vector_masked_load instruction is moved too early after JDK-8286941
+* New features
+ - JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port
+* Other changes
+ - JDK-6176679: Application freezes when copying an animated gif image to the system clipboard
+ - JDK-6381945: (cal) Japanese calendar unit test system should avoid multiple static imports
+ - JDK-8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded()
+ - JDK-8153837: AArch64: Handle special cases for MaxINode & MinINode
+ - JDK-8156889: ListKeychainStore.sh fails in some virtualized environments
+ - JDK-8171221: Remove -XX:+CheckMemoryInitialization
+ - JDK-8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test
+ - JDK-8195589: T6587786.java failed after JDK-8189997
+ - JDK-8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE"
+ - JDK-8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows
+ - JDK-8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27)
+ - JDK-8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver.
+ - JDK-8255548: Missing coverage for javax.xml.crypto.dom.DOMCryptoContext
+ - JDK-8263044: jdk/jfr/jvm/TestDumpOnCrash.java timed out
+ - JDK-8267188: gc/stringdedup/TestStringDeduplicationInterned.java fails with Shenandoah
+ - JDK-8267341: macos attempt_reserve_memory_at(arg1, arg2, true) failure
+ - JDK-8267517: async logging for stdout and stderr
+ - JDK-8267860: Off-by-one bug when searching arrays in AlpnGreaseTest
+ - JDK-8268852: AsyncLogWriter should not overide is_Named_thread()
+ - JDK-8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4
+ - JDK-8269466: Factor out the common code for initializing and starting internal VM JavaThreads
+ - JDK-8270331: [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/InitToBlack.java
+ - JDK-8270794: Avoid loading Klass* twice in TypeArrayKlass::oop_size()
+ - JDK-8270894: Use acquire semantics in ObjectSynchronizer::read_stable_mark()
+ - JDK-8271707: migrate tests to use jdk.test.whitebox.WhiteBox
+ - JDK-8271898: disable os.release_multi_mappings_vm on macOS-X64
+ - JDK-8272586: emit abstract machine code in hs-err logs
+ - JDK-8272654: Mark word accesses should not use Access API
+ - JDK-8273092: Sort classlist in JDK image
+ - JDK-8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java
+ - JDK-8274986: max code printed in hs-err logs should be configurable
+ - JDK-8275031: runtime/ErrorHandling/MachCodeFramesInErrorFile.java fails when hsdis is present
+ - JDK-8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver
+ - JDK-8275415: Prepare Leak Profiler for Lilliput
+ - JDK-8275662: remove test/lib/sun/hotspot
+ - JDK-8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant"
+ - JDK-8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0
+ - JDK-8276696: ParallelObjectIterator freed at the wrong time in VM_HeapDumper
+ - JDK-8277102: Dubious PrintCompilation output
+ - JDK-8277353: java/security/MessageDigest/ThreadSafetyTest.java test times out
+ - JDK-8277417: C1 LIR instruction for load-klass
+ - JDK-8277427: Update jib-profiles.js to use JMH 1.33 devkit
+ - JDK-8277654: Shenandoah: Don't produce new memory state in C2 LRB runtime call
+ - JDK-8277860: PPC: Remove duplicate info != NULL check
+ - JDK-8278141: LIR_OpLoadKlass::_info shadows the field of the same name from LIR_Op
+ - JDK-8278456: Define jtreg jdk_desktop test group time-based sub-tasks for use by headful testing.
+ - JDK-8279545: Buffer overrun in reverse_words of sharedRuntime_x86_64.cpp:3517
+ - JDK-8280032: Update jib-profiles.js to use JMH 1.34 devkit
+ - JDK-8280396: G1: Full gc mark stack draining should prefer to make work available to other threads
+ - JDK-8280885: Shenandoah: Some tests failed with "EA: missing allocation reference path"
+ - JDK-8281507: Two javac tests have bad jtreg `@clean` tags
+ - JDK-8281717: Cover logout method for several LoginModule
+ - JDK-8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time"
+ - JDK-8282651: ZGC: vmTestbase/gc/ArrayJuggle/ tests fails intermittently with exit code 97
+ - JDK-8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
+ - JDK-8283056: show abstract machine code in hs-err for all VM crashes
+ - JDK-8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs
+ - JDK-8283326: Implement SafeFetch statically
+ - JDK-8283724: Incorrect description for jtreg-failure-handler option
+ - JDK-8283756: (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes
+ - JDK-8283865: riscv: Break down -XX:+UseRVB into seperate options for each bitmanip extension
+ - JDK-8283929: GHA: Add RISC-V build config
+ - JDK-8284068: riscv: should call Atomic::release_store in JavaThread::set_thread_state
+ - JDK-8284090: com/sun/security/auth/module/AllPlatforms.java fails to compile
+ - JDK-8284273: Early crashes in os::print_context on AArch64
+ - JDK-8284760: Correct type/array element offset in LibraryCallKit::get_state_from_digest_object()
+ - JDK-8284772: GHA: Use GCC Major Version Dependencies Only
+ - JDK-8284910: Buffer clean in PasswordCallback
+ - JDK-8284937: riscv: should not allocate special register for temp
+ - JDK-8284997: arm32 build crashes since JDK-8283326
+ - JDK-8285303: riscv: Incorrect register mask in call_native_base
+ - JDK-8285437: riscv: Fix MachNode size mismatch for MacroAssembler::verify_oops*
+ - JDK-8285630: Fix a configure error in RISC-V cross build
+ - JDK-8285675: Temporary fix for arm32 SafeFetch
+ - JDK-8285699: riscv: Provide information when hitting a HaltNode
+ - JDK-8285711: riscv: RVC: Support disassembler show-bytes option
+ - JDK-8285756: clean up use of bad arguments for `@clean` in langtools tests
+ - JDK-8285980: Several tests in compiler/c2/irTests miss @requires vm.compiler2.enabled
+ - JDK-8286481: Exception printed to stdout on Windows when storing transparent image in clipboard
+ - JDK-8286620: Create regression test for verifying setMargin() of JRadioButton
+ - JDK-8286623: Bundle zlib by default with JDK on macos aarch64
+ - JDK-8287227: Shenandoah: A couple of virtual thread tests failed with iu mode even without Loom enabled.
+ - JDK-8287418: riscv: Fix correctness issue of MacroAssembler::movptr
+ - JDK-8287552: riscv: Fix comment typo in li64
+ - JDK-8287970: riscv: jdk/incubator/vector/*VectorTests failing
+ - JDK-8288719: [arm32] SafeFetch32 thumb interleaving causes random crashes
+ - JDK-8289077: Add manual tests to open
+ - JDK-8289238: Refactoring changes to PassFailJFrame Test Framework
+ - JDK-8289510: Improve test coverage for XPath Axes: namespace
+ - JDK-8289512: Fix GCC 12 warnings for adlc output_c.cpp
+ - JDK-8289547: Update javax/swing/Popup/TaskbarPositionTest.java
+ - JDK-8289646: configure script failed on WSL
+ - JDK-8289688: jfr command hangs when it processes invalid file
+ - JDK-8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
+ - JDK-8289797: tools/launcher/I18NArgTest.java fails on Japanese Windows environment
+ - JDK-8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong
+ - JDK-8290137: riscv: small refactoring for add_memory_int32/64
+ - JDK-8290164: compiler/runtime/TestConstantsInError.java fails on riscv
+ - JDK-8290464: Optimize ResourceArea zapping on ResourceMark release
+ - JDK-8290469: Add new positioning options to PassFailJFrame test framework
+ - JDK-8290496: riscv: Fix build warnings-as-errors with GCC 11
+ - JDK-8291444: GHA builds/tests won't run manually if disabled from automatic running
+ - JDK-8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero
+ - JDK-8291893: riscv: remove fence.i used in user space
+ - JDK-8291947: riscv: fail to build after JDK-8290840
+ - JDK-8291952: riscv: Remove PRAGMA_NONNULL_IGNORED
+ - JDK-8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar
+ - JDK-8292315: Tests should not rely on specific JAR file names (hotspot)
+ - JDK-8292316: Tests should not rely on specific JAR file names (jpackage)
+ - JDK-8292683: Remove BadKeyUsageTest.java from Problem List
+ - JDK-8292698: Improve performance of DataInputStream
+ - JDK-8292716: Configure should check that jtreg is of the required version
+ - JDK-8292763: JDK-8292716 breaks configure without jtreg
+ - JDK-8292867: RISC-V: Simplify weak CAS return value handling
+ - JDK-8293012: ConstantPool::print_on can crash if _cache is NULL
+ - JDK-8293050: RISC-V: Remove redundant non-null assertions about macro-assembler
+ - JDK-8293098: GHA: Harmonize GCC version handling for host and cross builds
+ - JDK-8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub
+ - JDK-8293107: GHA: Bump to Ubuntu 22.04
+ - JDK-8293114: JVM should trim the native heap
+ - JDK-8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64
+ - JDK-8293177: Verify version numbers in legal files
+ - JDK-8293180: JQuery UI license file not updated
+ - JDK-8293252: Shenandoah: ThreadMXBean synchronizer tests crash with aggressive heuristics
+ - JDK-8293361: GHA: dump config.log in case of configure failure
+ - JDK-8293474: RISC-V: Unify the way of moving function pointer
+ - JDK-8293524: RISC-V: Use macro-assembler functions as appropriate
+ - JDK-8293566: RISC-V: Clean up push and pop registers
+ - JDK-8293811: Provide a reason for PassFailJFrame.forceFail
+ - JDK-8293851: hs_err should print more stack in hex dump
+ - JDK-8294012: RISC-V: get/put_native_u8 missing the case when address&7 is 6
+ - JDK-8294083: RISC-V: Minimal build failed with --disable-precompiled-headers
+ - JDK-8294086: RISC-V: Cleanup InstructionMark usages in the backend
+ - JDK-8294087: RISC-V: RVC: Fix a potential alignment issue and add more alignment assertions for the patchable calls/nops
+ - JDK-8294149: JMH 1.34 and later requires jopt-simple 5.0.4
+ - JDK-8294187: RISC-V: Unify all relocations for the backend into AbstractAssembler::relocate()
+ - JDK-8294366: RISC-V: Partially mark out incompressible regions
+ - JDK-8294430: RISC-V: Small refactoring for movptr_with_offset
+ - JDK-8294492: RISC-V: Use li instead of patchable movptr at non-patchable callsites
+ - JDK-8294679: RISC-V: Misc crash dump improvements
+ - JDK-8294941: GHA: Cut down cross-compilation sysroots
+ - JDK-8294956: GHA: qemu-debootstrap is deprecated, use the regular one
+ - JDK-8295110: RISC-V: Mark out relocations as incompressible
+ - JDK-8295213: Run GHA manually with user-specified make and configure arguments
+ - JDK-8295270: RISC-V: Clean up and refactoring for assembler functions
+ - JDK-8295396: RISC-V: Cleanup useless CompressibleRegions
+ - JDK-8295657: SA: Allow larger object alignments
+ - JDK-8295737: macOS: Print content cut off when width > height with portrait orientation
+ - JDK-8295811: serviceability/sa/TestObjectAlignment.java fails on x86_32
+ - JDK-8295812: Skip the "half float" support in LittleCMS during the build
+ - JDK-8295894: Remove SECOM certificate that is expiring in September 2023
+ - JDK-8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic
+ - JDK-8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0
+ - JDK-8296384: [TESTBUG] sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java intermittently timeout
+ - JDK-8296435: RISC-V: Small refactoring for increment/decrement
+ - JDK-8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec
+ - JDK-8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
+ - JDK-8296602: RISC-V: improve performance of copy_memory stub
+ - JDK-8296771: RISC-V: C2: assert(false) failed: bad AD file
+ - JDK-8296796: Provide clean, platform-agnostic interface to C-heap trimming
+ - JDK-8296916: RISC-V: Move some small macro-assembler functions to header file
+ - JDK-8297350: Update JMH devkit to 1.36
+ - JDK-8297359: RISC-V: improve performance of floating Max Min intrinsics
+ - JDK-8297476: Increase InlineSmallCode default from 1000 to 2500 for RISC-V
+ - JDK-8297644: RISC-V: Compilation error when shenandoah is disabled
+ - JDK-8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit
+ - JDK-8297697: RISC-V: Add support for SATP mode detection
+ - JDK-8297715: RISC-V: C2: Use single-bit instructions from the Zbs extension
+ - JDK-8297887: Update Siphash
+ - JDK-8297923: java.awt.ScrollPane broken after multiple scroll up/down
+ - JDK-8298138: Shenandoah: HdrSeq asserts "sub-bucket index (512) overflow for value ( 1.00)"
+ - JDK-8298921: Create a regression test for JDK-8139581
+ - JDK-8298974: Add ftcolor.c to imported freetype sources
+ - JDK-8299158: Improve MD5 intrinsic on AArch64
+ - JDK-8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops*
+ - JDK-8299330: Minor improvements in MSYS2 Workflow handling
+ - JDK-8299617: CurrencySymbols.properties is missing the copyright notice
+ - JDK-8299658: C1 compilation crashes in LinearScan::resolve_exception_edge
+ - JDK-8299713: Test javax/swing/JTableHeader/6889007/bug6889007.java failed: Wrong type of cursor
+ - JDK-8299827: Add resolved IP address in connection exception for sockets
+ - JDK-8299847: RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes
+ - JDK-8299962: Speed up compiler/intrinsics/unsafe/DirectByteBufferTest.java and HeapByteBufferTest.java
+ - JDK-8300053: Shenandoah: Handle more GCCauses in ShenandoahControlThread::request_gc
+ - JDK-8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3
+ - JDK-8300109: RISC-V: Improve code generation for MinI/MaxI nodes
+ - JDK-8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case
+ - JDK-8300584: Accelerate AVX-512 CRC32C for small buffers
+ - JDK-8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values
+ - JDK-8300693: Lower the compile threshold and reduce the iterations of warmup loop in VarHandles tests
+ - JDK-8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb
+ - JDK-8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler
+ - JDK-8301067: RISC-V: better error message when reporting unsupported satp modes
+ - JDK-8301074: Replace NULL with nullptr in share/opto/
+ - JDK-8301097: Update GHA XCode to 12.5.1
+ - JDK-8301153: RISC-V: pipeline class for several instructions is not set correctly
+ - JDK-8301167: Update VerifySignedJar to actually exercise and test verification
+ - JDK-8301187: Memory leaks in OopMapCache
+ - JDK-8301269: Update Commons BCEL to Version 6.7.0
+ - JDK-8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule
+ - JDK-8301367: Add exception handler method to the BaseLdapServer
+ - JDK-8301628: RISC-V: c2 fix pipeline class for several instructions
+ - JDK-8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit
+ - JDK-8301818: RISC-V: Factor out function mvw from MacroAssembler
+ - JDK-8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed
+ - JDK-8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work
+ - JDK-8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818
+ - JDK-8302150: Speed up compiler/codegen/Test7100757.java
+ - JDK-8302161: Upgrade jQuery UI to version 1.13.2
+ - JDK-8302182: Update Public Suffix List to 88467c9
+ - JDK-8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible
+ - JDK-8302736: Major performance regression in Math.log on aarch64
+ - JDK-8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET
+ - JDK-8303047: avoid NULL after 8301661
+ - JDK-8303154: Investigate and improve instruction cache flushing during compilation
+ - JDK-8303215: Make thread stacks not use huge pages
+ - JDK-8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if
+ - JDK-8304293: RISC-V: JDK-8276799 missed atomic intrinsic support for C1
+ - JDK-8304314: StackWalkTest.java fails after CODETOOLS-7903373
+ - JDK-8304353: Add lib-test tier1 testing in GHA
+ - JDK-8304725: AsyncGetCallTrace can cause SIGBUS on M1
+ - JDK-8304845: Update PCSC-Lite for Suse Linux to 1.9.9 and fix incomplete license wording
+ - JDK-8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree()
+ - JDK-8305006: Use correct register in riscv_enc_fast_unlock()
+ - JDK-8305008: RISC-V: Factor out immediate checking functions from assembler_riscv.inline.hpp
+ - JDK-8305112: RISC-V: Typo fix for RVC description
+ - JDK-8305236: Some LoadLoad barriers in the interpreter are unnecessary after JDK-8220051
+ - JDK-8305421: Work around JDK-8305420 in CDSJDITest.java
+ - JDK-8305425: Thread.isAlive0 doesn't need to call into the VM
+ - JDK-8305512: RISC-V: Enable RVC extension by default on supported hardware
+ - JDK-8305670: Performance regression in LockSupport.unpark with lots of idle threads
+ - JDK-8305728: RISC-V: Use bexti instruction to do single-bit testing
+ - JDK-8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance
+ - JDK-8305766: ProblemList runtime/CompressedOops/CompressedClassPointers.java
+ - JDK-8305858: Resolve multiple definition of 'handleSocketError' when statically linking with JDK native libraries
+ - JDK-8305950: Have -XshowSettings option display tzdata version
+ - JDK-8305995: Footprint regression from JDK-8224957
+ - JDK-8306060: Open source few AWT Insets related tests
+ - JDK-8306076: Open source AWT misc tests
+ - JDK-8306134: Open source some AWT tests relating to Button and a few other classes
+ - JDK-8306135: Clean up and open source some AWT tests
+ - JDK-8306137: Open source several AWT ScrollPane related tests
+ - JDK-8306281: function isWsl() returns false on WSL2
+ - JDK-8306372: Open source AWT CardLayout and Checkbox tests
+ - JDK-8306428: RunThese30M.java crashed with assert(early->flag() == current->flag() || early->flag() == mtNone)
+ - JDK-8306430: Open source some AWT tests related to TextComponent and Toolkit
+ - JDK-8306435: Juggle04/TestDescription.java should be a booleanArr test and not a byteArr one
+ - JDK-8306484: Open source several AWT Choice jtreg tests
+ - JDK-8306566: Open source several clipboard AWT tests
+ - JDK-8306575: Clean up and open source four Dialog related tests
+ - JDK-8306636: Disable compiler/c2/Test6905845.java with -XX:TieredStopAtLevel=3
+ - JDK-8306638: Open source some AWT tests related to datatransfer and Toolkit
+ - JDK-8306667: RISC-V: Fix storeImmN0 matching rule by using zr register
+ - JDK-8306682: Open source a few more AWT Choice tests
+ - JDK-8306718: Optimize and opensource some old AWT tests
+ - JDK-8306738: Select num workers for safepoint ParallelCleanupTask
+ - JDK-8306765: Some client related jtreg problem list entries are malformed
+ - JDK-8306812: Open source several AWT Miscellaneous tests
+ - JDK-8307067: remove broken EnableThreadSMRExtraValidityChecks option
+ - JDK-8307068: store a JavaThread* in the java.lang.Thread object after the JavaThread* is added to the main ThreadsList
+ - JDK-8307078: Opensource and clean up five more AWT Focus related tests
+ - JDK-8307079: Update test java/awt/Choice/DragOffNoSelect.java
+ - JDK-8307083: Open source some drag and drop tests 3
+ - JDK-8307147: [x86] Dangling pointer warning for Assembler::_attributes
+ - JDK-8307150: RISC-V: Remove remaining StoreLoad barrier with UseCondCardMark for Serial/Parallel GC
+ - JDK-8307156: native_thread not protected by TLH
+ - JDK-8307165: java/awt/dnd/NoFormatsDropTest/NoFormatsDropTest.java timed out
+ - JDK-8307299: Move more DnD tests to open
+ - JDK-8307301: Update HarfBuzz to 7.2.0
+ - JDK-8307348: Parallelize heap walk for ObjectCount(AfterGC) JFR event collection
+ - JDK-8307395: Add missing STS to Shenandoah
+ - JDK-8307446: RISC-V: Improve performance of floating point to integer conversion
+ - JDK-8307526: [JFR] Better handling of tampered JFR repository
+ - JDK-8307555: Reduce memory reads in x86 MD5 intrinsic
+ - JDK-8307569: Build with gcc8 is broken after JDK-8307301
+ - JDK-8307572: AArch64: Vector registers are clobbered by some macroassemblers
+ - JDK-8307603: [AIX] Broken build after JDK-8307301
+ - JDK-8307604: gcc12 based Alpine build broken build after JDK-8307301
+ - JDK-8307651: RISC-V: stringL_indexof_char instruction has wrong format string
+ - JDK-8307653: Adjust delay time and gc log argument in TestAbortOnVMOperationTimeout
+ - JDK-8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition
+ - JDK-8307766: Linux: Provide the option to override the timer slack
+ - JDK-8308089: [riscv-port-jdk17u] Intrinsify Unsafe.storeStoreFence
+ - JDK-8308090: Add container tests for on-the-fly resource quota updates
+ - JDK-8308152: PropertyDescriptor should work with overridden generic getter method
+ - JDK-8308156: VerifyCACerts.java misses blank in error output
+ - JDK-8308192: Error in parsing replay file when staticfield is an array of single dimension
+ - JDK-8308232: nsk/jdb tests don't pass -verbose flag to the debuggee
+ - JDK-8308277: RISC-V: Improve vectorization of Match.sqrt() on floats
+ - JDK-8308283: Build failure with GCC12 & GCC13
+ - JDK-8308300: enhance exceptions in MappedMemoryUtils.c
+ - JDK-8308643: Incorrect value of 'used' jvmstat counter
+ - JDK-8308766: TLAB initialization may cause div by zero
+ - JDK-8308803: Improve java/util/UUID/UUIDTest.java
+ - JDK-8308872: enhance logging and some exception in krb5/Config.java
+ - JDK-8308997: RISC-V: Sign extend when comparing 32-bit value with zero instead of testing the sign bit
+ - JDK-8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
+ - JDK-8309095: Remove UTF-8 character from TaskbarPositionTest.java
+ - JDK-8309107: Bump update version for OpenJDK: jdk-17.0.9
+ - JDK-8309119: [17u/11u] Redo JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication
+ - JDK-8309138: Fix container tests for jdks with symlinked conf dir
+ - JDK-8309228: Clarify EXPERIMENTAL flags comment in hotspot/share/runtime/globals.hpp
+ - JDK-8309254: Implement fast-path for ASCII-compatible CharsetEncoders on RISC-V
+ - JDK-8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer
+ - JDK-8309297: Adjust ShenandoahHeap print_heap_regions_on
+ - JDK-8309340: Provide sctpHandleSocketErrorWithMessage
+ - JDK-8309427: [riscv-port-jdk17u] Remove unused RoundDoubleModeV C2 node
+ - JDK-8309550: jdk.jfr.internal.Utils::formatDataAmount method should gracefully handle amounts equal to Long.MIN_VALUE
+ - JDK-8309591: Socket.setOption(TCP_QUICKACK) uses wrong level
+ - JDK-8309613: [Windows] hs_err files sometimes miss information about the code containing the error
+ - JDK-8309746: Reconfigure check should include make/conf/version-numbers.conf
+ - JDK-8309862: Unsafe list operations in JfrStringPool
+ - JDK-8309956: Shenandoah: Strengthen the mark word check in string dedup
+ - JDK-8309959: JFR: Display N/A for missing data amount
+ - JDK-8310054: ScrollPane insets are incorrect
+ - JDK-8310126: C1: Missing receiver null check in Reference::get intrinsic
+ - JDK-8310259: Pin msys2/setup-msys2 github action to a specific commit
+ - JDK-8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns
+ - JDK-8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt
+ - JDK-8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V
+ - JDK-8311033: [macos] PrinterJob does not take into account Sides attribute
+ - JDK-8311249: Remove unused MemAllocator::obj_memory_range
+ - JDK-8311285: report some fontconfig related environment variables in hs_err file
+ - JDK-8311689: Wrong visible amount in Adjustable of ScrollPane
+ - JDK-8311862: RISC-V: small improvements to shift immediate instructions
+ - JDK-8311923: TestIRMatching.java fails on RISC-V
+ - JDK-8312029: Add CriticalNative tests to ProblemList for 8312028
+ - JDK-8312511: GHA: Bump cross-compile runner to Ubuntu 22.04
+ - JDK-8312525: New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction
+ - JDK-8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
+ - JDK-8313262: C2: Sinking node may cause required cast to be dropped
+ - JDK-8313402: C1: Incorrect LoadIndexed value numbering
+ - JDK-8313428: GHA: Bump GCC versions for July 2023 updates
+ - JDK-8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0
+ - JDK-8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly
+ - JDK-8313678: SymbolTable can leak Symbols during cleanup
+ - JDK-8313701: GHA: RISC-V should use the official repository for bootstrap
+ - JDK-8313707: GHA: Bootstrap sysroots with --variant=minbase
+ - JDK-8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer
+ - JDK-8313815: The exception messages printed by jcmd ManagementAgent.start are corrupted on Japanese Windows
+ - JDK-8313874: JNI NewWeakGlobalRef throws exception for null arg
+ - JDK-8314020: Print instruction blocks in byte units
+ - JDK-8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java
+ - JDK-8314118: Update JMH devkit to 1.37
+ - JDK-8314262: GHA: Cut down cross-compilation sysroots deeper
+ - JDK-8314426: runtime/os/TestTrimNative.java is failing on slow machines
+ - JDK-8314501: Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails
+ - JDK-8314517: some tests fail in case ipv6 is disabled on the machine
+ - JDK-8314552: Fix javadoc tests to work with jtreg 7
+ - JDK-8314658: [17u] GHA: Sync up debian-version for cross-builds
+ - JDK-8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev
+ - JDK-8314960: Add Certigna Root CA - 2
+ - JDK-8317040: Exclude cleaner test failing on older releases
+ - JDK-8317643: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.9
+
+Notes on individual issues:
+===========================
+
+hotspot/compiler:
+
+JDK-8276799: Implementation of JEP 422: Linux/RISC-V Port
+=========================================================
+https://openjdk.org/jeps/422
+
+RISC-V is a free and open-source RISC instruction set architecture
+(ISA) designed originally at the University of California, Berkeley,
+and now developed collaboratively under the sponsorship of RISC-V
+International. It is already supported by a wide range of language
+toolchains. With the increasing availability of RISC-V hardware, the
+JDK port has been backported to 17u, following introduction in 19.
+
+security-libs/javax.net.ssl:
+
+JDK-8301700: The Default TLS Diffie-Hellman Group Size Has Been Increased from 1024-bit to 2048-bit
+===================================================================================================
+The JDK implementation of TLS 1.2 now uses a default Diffie Hellman
+keysize of 2048 bits when a TLS_DHE cipher suite is negotiated and
+either the client or server does not support FFDHE.
+
+The JDK TLS implementation supports FFDHE, which can negotiate a
+stronger keysize, and this is enabled by default.
+
+As a workaround, users can revert to the previous key size by setting
+the `jdk.tls.ephemeralDHKeySize` system property to 1024 (at their own
+risk).
+
+This change does not affect TLS 1.3 as the minimum DH group size is
+already 2048 bits.
+
+tools/launcher:
+
+JDK-8305950: `-XshowSettings:locale` Output Now Includes Tzdata Version
+=======================================================================
+The `-XshowSettings` launcher option has been enhanced to print the
+tzdata version used by the JDK. The tzdata version is displayed as
+part of the `locale` showSettings option.
+
+Example output using `-X:showSettings:locale`:
+
+Locale settings:
+ default locale = English
+ default display locale = English
+ default format locale = English
+ tzdata version = 2023c
+
+security-libs/java.security:
+
+JDK-8295894: Removed SECOM Trust System's RootCA1 Root Certificate
+==================================================================
+The following root certificate from SECOM Trust System has been
+removed from the `cacerts` keystore:
+
+Alias Name: secomscrootca1 [jdk]
+Distinguished Name: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
+
+JDK-8314960: Added Certigna Root CA Certificate
+===============================================
+The following root certificate has been added to the cacerts
+truststore:
+
+Name: Certigna (Dhimyotis)
+Alias Name: certignarootca
+Distinguished Name: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
+
+New in release OpenJDK 17.0.8.1 (2023-08-24):
+=============================================
+Live versions of these release notes can be found at:
+ * https://bit.ly/openjdk17081
+
+* Other changes
+ - JDK-8313765: Invalid CEN header (invalid zip64 extra data field size)
+ - JDK-8314677: Bump update version for OpenJDK: jdk-17.0.8.1
+
+Notes on individual issues:
+===========================
+
+core-libs/java.util.jar:
+
+JDK-8313765: Invalid CEN header (invalid zip64 extra data field size)
+=====================================================================
+Additional validity checks in the handling of Zip64 files,
+JDK-8302483, introduced in 17.0.8, caused the use of some valid zip
+files to now fail with the error, `Invalid CEN header (invalid zip64
+extra data field size)`
+
+This release, 17.0.8.1, allows for zero length headers and additional
+padding produced by some Zip64 creation tools.
+
+The following third party tools have also released patches to better
+adhere to the ZIP File Format Specification:
+
+* Apache Commons Compress fix for Empty CEN Zip64 Extra Headers fixed in Commons Compress release 1.11
+* Apache Ant fix for Empty CEN Zip64 Extra Headers fixed in Ant 1.10.14
+* BND issue with writing invalid Extra Headers fixed in BND 5.3
+
+The maven-bundle-plugin 5.1.5 includes the BND 5.3 patch.
+
+If these improved validation checks cause issues for deployed zip or
+jar files, check how the file was created and whether patches are
+available from the generating software to resolve the issue. With
+both JDK releases, the checks can be disabled by setting the new
+system property, `jdk.util.zip.disableZip64ExtraFieldValidation` to
+`true`.
+
New in release OpenJDK 17.0.8 (2023-07-18):
===========================================
Live versions of these release notes can be found at:
@@ -2913,4 +3397,3 @@ its introduction and the effort required to maintain it is
significant. Retain the experimental Java-level JVM compiler
interface (JVMCI) so that developers can continue to use
externally-built versions of the compiler for JIT compilation.
-
diff --git a/discover_trees.sh b/discover_trees.sh
new file mode 100755
index 0000000..8c31278
--- /dev/null
+++ b/discover_trees.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Copyright (C) 2020 Red Hat, Inc.
+# Written by Andrew John Hughes <gnu.andrew(a)redhat.com>.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+TREE=${1}
+
+if test "x${TREE}" = "x"; then
+ TREE=${PWD}
+fi
+
+if [ -e ${TREE}/nashorn/.hg -o -e ${TREE}/nashorn/merge.changeset ] ; then
+ NASHORN="nashorn" ;
+fi
+
+if [ -e ${TREE}/corba/.hg -o -e ${TREE}/corba/merge.changeset ] ; then
+ CORBA="corba";
+fi
+
+if [ -e ${TREE}/jaxp/.hg -o -e ${TREE}/jaxp/merge.changeset ] ; then
+ JAXP="jaxp";
+fi
+
+if [ -e ${TREE}/jaxws/.hg -o -e ${TREE}/jaxws/merge.changeset ] ; then
+ JAXWS="jaxws";
+fi
+
+if [ -e ${TREE}/langtools/.hg -o -e ${TREE}/langtools/merge.changeset ] ; then
+ LANGTOOLS="langtools";
+fi
+
+if [ -e ${TREE}/jdk/.hg -o -e ${TREE}/jdk/merge.changeset ] ; then
+ JDK="jdk";
+fi
+
+if [ -e ${TREE}/hotspot/.hg -o -e ${TREE}/hotspot/merge.changeset ] ; then
+ HOTSPOT="hotspot";
+fi
+
+SUBTREES="${CORBA} ${JAXP} ${JAXWS} ${LANGTOOLS} ${NASHORN} ${JDK} ${HOTSPOT}";
+echo ${SUBTREES}
diff --git a/fips-17u-bf363eecce3.patch b/fips-17u-51e1d00be4e.patch
similarity index 99%
rename from fips-17u-bf363eecce3.patch
rename to fips-17u-51e1d00be4e.patch
index cd8565c..da1df4d 100644
--- a/fips-17u-bf363eecce3.patch
+++ b/fips-17u-51e1d00be4e.patch
@@ -116,7 +116,7 @@ index 00000000000..f48fc7f7e80
+ AC_SUBST(NSS_LIBDIR)
+])
diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
-index a65d91ee974..a8f054c1397 100644
+index 366682cf044..1f8d782f419 100644
--- a/make/autoconf/libraries.m4
+++ b/make/autoconf/libraries.m4
@@ -33,6 +33,7 @@ m4_include([lib-std.m4])
@@ -2508,7 +2508,7 @@ index 00000000000..dc8bc72fccb
+ }
+}
diff --git a/src/java.base/share/conf/security/java.security b/src/java.base/share/conf/security/java.security
-index fab52688c04..29337576f37 100644
+index 9be02033877..4dd055a9ccf 100644
--- a/src/java.base/share/conf/security/java.security
+++ b/src/java.base/share/conf/security/java.security
@@ -82,6 +82,17 @@ security.provider.tbd=Apple
@@ -3496,7 +3496,7 @@ index 00000000000..f8d505ca815
+}
\ No newline at end of file
diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
-index 9b69072280e..5696b904979 100644
+index 0736ce997e4..0a937fef377 100644
--- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Key.java
@@ -37,6 +37,8 @@ import javax.crypto.*;
@@ -3518,18 +3518,18 @@ index 9b69072280e..5696b904979 100644
private static final long serialVersionUID = -2575874101938349339L;
private static final String PUBLIC = "public";
-@@ -136,9 +141,7 @@ abstract class P11Key implements Key, Length {
+@@ -139,9 +144,7 @@ abstract class P11Key implements Key, Length {
this.tokenObject = tokenObject;
this.sensitive = sensitive;
this.extractable = extractable;
- char[] tokenLabel = this.token.tokenInfo.label;
-- boolean isNSS = (tokenLabel[0] == 'N' && tokenLabel[1] == 'S'
+- isNSS = (tokenLabel[0] == 'N' && tokenLabel[1] == 'S'
- && tokenLabel[2] == 'S');
-+ boolean isNSS = P11Util.isNSS(this.token);
++ isNSS = P11Util.isNSS(this.token);
boolean extractKeyInfo = (!DISABLE_NATIVE_KEYS_EXTRACTION && isNSS &&
extractable && !tokenObject);
this.keyIDHolder = new NativeKeyHolder(this, keyID, session,
-@@ -379,7 +382,9 @@ abstract class P11Key implements Key, Length {
+@@ -383,7 +386,9 @@ abstract class P11Key implements Key, Length {
new CK_ATTRIBUTE(CKA_SENSITIVE),
new CK_ATTRIBUTE(CKA_EXTRACTABLE),
});
@@ -3540,13 +3540,13 @@ index 9b69072280e..5696b904979 100644
return new P11PrivateKey
(session, keyID, algorithm, keyLength, attributes);
} else {
-@@ -461,7 +466,8 @@ abstract class P11Key implements Key, Length {
+@@ -465,7 +470,8 @@ abstract class P11Key implements Key, Length {
}
public String getFormat() {
token.ensureValid();
-- if (sensitive || (extractable == false)) {
+- if (sensitive || !extractable || (isNSS && tokenObject)) {
+ if (!plainKeySupportEnabled &&
-+ (sensitive || (extractable == false))) {
++ (sensitive || !extractable || (isNSS && tokenObject))) {
return null;
} else {
return "RAW";
diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh
index fc8662a..7ff27d6 100755
--- a/generate_source_tarball.sh
+++ b/generate_source_tarball.sh
@@ -8,7 +8,7 @@
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
# PROJECT_NAME=openjdk
# REPO_NAME=jdk17u
-# VERSION=jdk-17.0.7+7
+# VERSION=jdk-17.0.7+9
# or to eg prepare systemtap:
# icedtea7's jstack and other tapsets
# VERSION=6327cf1cea9e
@@ -29,8 +29,6 @@ set -e
OPENJDK_URL_DEFAULT=https://github.com
COMPRESSION_DEFAULT=xz
-# Corresponding IcedTea version
-ICEDTEA_VERSION=12.0
if [ "x$1" = "xhelp" ] ; then
echo -e "Behaviour may be specified by setting the following variables:\n"
@@ -40,8 +38,8 @@ if [ "x$1" = "xhelp" ] ; then
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
- echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME)"
- echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
+ echo "REPO_ROOT - the location of the Git repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
+ echo "TO_COMPRESS - what part of clone to pack (default is ${VERSION})"
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
exit 1;
fi
@@ -52,6 +50,7 @@ if [ "x$VERSION" = "x" ] ; then
exit 2
fi
echo "Version: ${VERSION}"
+
NUM_VER=${VERSION##jdk-}
RELEASE_VER=${NUM_VER%%+*}
BUILD_VER=${NUM_VER##*+}
@@ -117,8 +116,8 @@ if [ "x$REPO_ROOT" = "x" ] ; then
fi;
if [ "x$TO_COMPRESS" = "x" ] ; then
- TO_COMPRESS="openjdk"
- echo "No targets to be compressed specified, ; default to ${TO_COMPRESS}"
+ TO_COMPRESS="${VERSION}"
+ echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
fi;
echo -e "Settings:"
@@ -140,9 +139,10 @@ else
mkdir "${FILE_NAME_ROOT}"
pushd "${FILE_NAME_ROOT}"
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
- git clone -b ${VERSION} ${REPO_ROOT} openjdk
+ git clone -b ${VERSION} ${REPO_ROOT} ${VERSION}
popd
fi
+
pushd "${FILE_NAME_ROOT}"
# Generate .src-rev so build has knowledge of the revision the tarball was created from
mkdir build
@@ -153,22 +153,22 @@ pushd "${FILE_NAME_ROOT}"
rm -rf build
# Remove commit checks
- echo "Removing $(find openjdk -name '.jcheck' -print)"
- find openjdk -name '.jcheck' -print0 | xargs -0 rm -rf
+ echo "Removing $(find ${VERSION} -name '.jcheck' -print)"
+ find ${VERSION} -name '.jcheck' -print0 | xargs -0 rm -r
# Remove history and GHA
- echo "find openjdk -name '.hgtags'"
- find openjdk -name '.hgtags' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.hgignore'"
- find openjdk -name '.hgignore' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.gitattributes'"
- find openjdk -name '.gitattributes' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.gitignore'"
- find openjdk -name '.gitignore' -exec rm -fv '{}' '+'
- echo "find openjdk -name '.git'"
- find openjdk -name '.git' -exec rm -rfv '{}' '+'
- echo "find openjdk -name '.github'"
- find openjdk -name '.github' -exec rm -rfv '{}' '+'
+ echo "find ${VERSION} -name '.hgtags'"
+ find ${VERSION} -name '.hgtags' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.hgignore'"
+ find ${VERSION} -name '.hgignore' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.gitattributes'"
+ find ${VERSION} -name '.gitattributes' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.gitignore'"
+ find ${VERSION} -name '.gitignore' -exec rm -fv '{}' '+'
+ echo "find ${VERSION} -name '.git'"
+ find ${VERSION} -name '.git' -exec rm -rfv '{}' '+'
+ echo "find ${VERSION} -name '.github'"
+ find ${VERSION} -name '.github' -exec rm -rfv '{}' '+'
echo "Compressing remaining forest"
if [ "X$COMPRESSION" = "Xxz" ] ; then
diff --git a/icedtea_sync.sh b/icedtea_sync.sh
index e5c54f3..c1b8f6a 100755
--- a/icedtea_sync.sh
+++ b/icedtea_sync.sh
@@ -1,192 +1 @@
-#!/bin/bash
-
-# Copyright (C) 2019 Red Hat, Inc.
-# Written by Andrew John Hughes <gnu.andrew(a)redhat.com>.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-ICEDTEA_USE_VCS=true
-
-ICEDTEA_VERSION=3.15.0
-ICEDTEA_URL=https://icedtea.classpath.org/download/source
-ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
-
-ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea11
-
-set -e
-
-RPM_DIR=${PWD}
-if [ ! -f ${RPM_DIR}/jconsole.desktop.in ] ; then
- echo "Not in RPM source tree.";
- exit 1;
-fi
-
-if test "x${TMPDIR}" = "x"; then
- TMPDIR=/tmp;
-fi
-WORKDIR=${TMPDIR}/it.sync
-
-echo "Using working directory ${WORKDIR}"
-mkdir ${WORKDIR}
-pushd ${WORKDIR}
-
-if test "x${WGET}" = "x"; then
- WGET=$(which wget);
- if test "x${WGET}" = "x"; then
- echo "wget not found";
- exit 1;
- fi
-fi
-
-if test "x${TAR}" = "x"; then
- TAR=$(which tar)
- if test "x${TAR}" = "x"; then
- echo "tar not found";
- exit 2;
- fi
-fi
-
-echo "Dependencies:";
-echo -e "\tWGET: ${WGET}";
-echo -e "\tTAR: ${TAR}\n";
-
-if test "x${ICEDTEA_USE_VCS}" = "xtrue"; then
- echo "Mode: Using VCS";
-
- if test "x${GREP}" = "x"; then
- GREP=$(which grep);
- if test "x${GREP}" = "x"; then
- echo "grep not found";
- exit 3;
- fi
- fi
-
- if test "x${CUT}" = "x"; then
- CUT=$(which cut);
- if test "x${CUT}" = "x"; then
- echo "cut not found";
- exit 4;
- fi
- fi
-
- if test "x${TR}" = "x"; then
- TR=$(which tr);
- if test "x${TR}" = "x"; then
- echo "tr not found";
- exit 5;
- fi
- fi
-
- if test "x${HG}" = "x"; then
- HG=$(which hg);
- if test "x${HG}" = "x"; then
- echo "hg not found";
- exit 6;
- fi
- fi
-
- echo "Dependencies:";
- echo -e "\tGREP: ${GREP}";
- echo -e "\tCUT: ${CUT}";
- echo -e "\tTR: ${TR}";
- echo -e "\tHG: ${HG}";
-
- echo "Checking out repository from VCS...";
- ${HG} clone ${ICEDTEA_HG_URL} icedtea
-
- echo "Obtaining version from configure.ac...";
- ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
- echo "Root version from configure: ${ROOT_VER}";
-
- VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
- echo "VCS revision: ${VCS_REV}";
-
- ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
- echo "Creating icedtea-${ICEDTEA_VERSION}";
- mkdir icedtea-${ICEDTEA_VERSION}
- echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
- # Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
- #cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
- cp -a ${RPM_DIR}/jconsole.desktop.in icedtea-${ICEDTEA_VERSION}
- cp -a icedtea/tapset icedtea-${ICEDTEA_VERSION}
-
- rm -rf icedtea
-else
- echo "Mode: Using tarball";
-
- if test "x${ICEDTEA_VERSION}" = "x"; then
- echo "No IcedTea version specified for tarball download.";
- exit 3;
- fi
-
- if test "x${CHECKSUM}" = "x"; then
- CHECKSUM=$(which sha256sum)
- if test "x${CHECKSUM}" = "x"; then
- echo "sha256sum not found";
- exit 4;
- fi
- fi
-
- if test "x${PGP}" = "x"; then
- PGP=$(which gpg)
- if test "x${PGP}" = "x"; then
- echo "gpg not found";
- exit 5;
- fi
- fi
-
- echo "Dependencies:";
- echo -e "\tCHECKSUM: ${CHECKSUM}";
- echo -e "\tPGP: ${PGP}\n";
-
- echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
- if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
- echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
- exit 6;
- fi
-
- echo "Downloading IcedTea release tarball...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
- echo "Downloading IcedTea tarball signature...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
- echo "Downloading IcedTea tarball checksums...";
- ${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
-
- echo "Verifying checksums...";
- ${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
-
- echo "Checking signature...";
- ${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
-
- echo "Extracting files...";
- ${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
- icedtea-${ICEDTEA_VERSION}/tapset \
- icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in
-
- rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
- rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
- rm -vf icedtea-${ICEDTEA_VERSION}.sha256
-fi
-
-echo "Replacing desktop files...";
-mv -v icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in ${RPM_DIR}
-
-echo "Creating new tapset tarball...";
-mv -v icedtea-${ICEDTEA_VERSION} openjdk
-${TAR} cJf ${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz openjdk
-
-rm -rvf openjdk
-
-popd
-rm -rf ${WORKDIR}
+# this file is intentionally not here, as portable builds do not have desktop integration
diff --git a/java-17-openjdk-portable.spec b/java-17-openjdk-portable.spec
index 655ccd1..c4526aa 100644
--- a/java-17-openjdk-portable.spec
+++ b/java-17-openjdk-portable.spec
@@ -30,7 +30,7 @@
# Enable static library builds by default.
%bcond_without staticlibs
# Build a fresh libjvm.so for use in a copy of the bootstrap JDK
-%bcond_without fresh_libjvm
+%bcond_with fresh_libjvm
# Build with system libraries
%bcond_with system_libs
@@ -41,8 +41,6 @@
%define __os_install_post %{nil}
%endif
-%global unpacked_licenses %{_datarootdir}/licenses
-
# Workaround for stripping of debug symbols from static libraries
%if %{with staticlibs}
%define __brp_strip_static_archive %{nil}
@@ -66,10 +64,6 @@
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
%global _find_debuginfo_opts -g
-# With LTO flags enabled, debuginfo checks fail for some reason. Disable
-# LTO for a passing build. This really needs to be looked at.
-%define _lto_cflags %{nil}
-
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
# see the difference between global and define:
@@ -147,16 +141,16 @@
# Set of architectures which support the serviceability agent
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
# Set of architectures which support class data sharing
-# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
-# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
-%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
+# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
+# However, it does segfault on the Zero assembler port, so currently JIT only
+%global share_arches %{jit_arches}
# Set of architectures for which we build the Shenandoah garbage collector
%global shenandoah_arches x86_64 %{aarch64}
# Set of architectures for which we build the Z garbage collector
%global zgc_arches x86_64
# Set of architectures for which alt-java has SSB mitigation
%global ssbd_arches x86_64
-# Set of architectures for which java has short vector math library (libsvml.so)
+# Set of architectures for which java has short vector math library (libjsvml.so)
%global svml_arches x86_64
# Set of architectures where we verify backtraces with gdb
# s390x fails on RHEL 7 so we exclude it there
@@ -166,7 +160,7 @@
%global gdb_arches %{jit_arches} %{zero_arches}
%endif
-# By default, we build a debug build during main build on JIT architectures
+# By default, we build a slowdebug build during main build on JIT architectures
%if %{with slowdebug}
%ifarch %{debug_arches}
%global include_debug_build 1
@@ -237,17 +231,24 @@
%global static_libs_target %{nil}
%endif
-# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
-%global debug_symbols internal
-
-# unlike portables,the rpms have to use static_libs_target very dynamically
-%global bootstrap_targets images legacy-jre-image
-%global release_targets images docs-zip legacy-jre-image
+# The static libraries are produced under the same configuration as the main
+# build for portables, as we expect in-tree libraries to be used throughout.
+# If system libraries are enabled, the static libraries will also use them
+# which may cause issues.
+%global bootstrap_targets images %{static_libs_target} legacy-jre-image
+%global release_targets images docs-zip %{static_libs_target} legacy-jre-image
# No docs nor bootcycle for debug builds
-%global debug_targets images legacy-jre-image
+%global debug_targets images %{static_libs_target} legacy-jre-image
# Target to use to just build HotSpot
%global hotspot_target hotspot
+# DTS toolset to use to provide gcc & binutils
+%global dtsversion 10
+
+# Disable LTO as this causes build failures at the moment.
+# See RHBZ#1861401
+%define _lto_cflags %{nil}
+
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
@@ -333,20 +334,20 @@
# New Version-String scheme-style defines
%global featurever 17
%global interimver 0
-%global updatever 8
+%global updatever 9
%global patchver 0
# buildjdkver is usually same as %%{featurever},
# but in time of bootstrap of next jdk, it is featurever-1,
# and this it is better to change it here, on single place
-%global buildjdkver %{featurever}
+%global buildjdkver 17
# We don't add any LTS designator for STS packages (Fedora and EPEL).
# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
%if 0%{?rhel} && !0%{?epel}
%global lts_designator "LTS"
%global lts_designator_zip -%{lts_designator}
%else
- %global lts_designator ""
- %global lts_designator_zip ""
+ %global lts_designator ""
+ %global lts_designator_zip ""
%endif
# JDK to use for bootstrapping
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
@@ -372,26 +373,34 @@
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name...
%else
%if 0%{?rhel}
-%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%...
+%global oj_vendor_bug_url https://access.redhat.com/support/cases/
%else
%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
%endif
%endif
%endif
-%global oj_vendor_version (Red_Hat-%{version}-%{release})
+%global oj_vendor_version (Red_Hat-%{version}-%{rpmrelease})
# Define IcedTea version used for SystemTap tapsets and desktop file
%global icedteaver 6.0.0pre00-c848b93a8598
# Define current Git revision for the FIPS support patches
-%global fipsver bf363eecce3
+%global fipsver 51e1d00be4e
+# Define JDK versions
+%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
+%global javaver %{featurever}
+# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
+%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
+# The tag used to create the OpenJDK tarball
+%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Standard JPackage naming and versioning defines
%global origin openjdk
%global origin_nice OpenJDK
-%global top_level_dir_name %{origin}
+%global top_level_dir_name %{vcstag}
%global top_level_dir_name_backup %{top_level_dir_name}-backup
-%global buildver 7
-%global rpmrelease 1
+%global buildver 9
+%global rpmrelease 2
+#%%global tagsuffix %%{nil}
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
%if %is_system_jdk
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
@@ -404,14 +413,6 @@
# for techpreview, using 1, so slowdebugs can have 0
%global priority %( printf '%08d' 1 )
%endif
-%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
-%global javaver %{featurever}
-
-# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
-%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
-
-# The tag used to create the OpenJDK tarball
-%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Define milestone (EA for pre-releases, GA for releases)
# Release will be (where N is usually a number starting at 1):
@@ -421,7 +422,7 @@
%if %{is_ga}
%global build_type GA
%global ea_designator ""
-%global ea_designator_zip ""
+%global ea_designator_zip %{nil}
%global extraver %{nil}
%global eaprefix %{nil}
%else
@@ -438,12 +439,10 @@
# images directories from upstream build
%global jdkimage jdk
%global static_libs_image static-libs
-# installation directory for static libraries
-%global static_libs_root lib/static
-%global static_libs_arch_dir %{static_libs_root}/linux-%{archinstall}
-%global static_libs_install_dir %{static_libs_arch_dir}/glibc
# output dir stub
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
+%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
+%define packageoutputdir() %{expand:packages/jdk%{featurever}.packages%{?1}}
# we can copy the javadoc to not arched dir, or make it not noarch
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
# main id and dir of this jdk
@@ -464,6 +463,10 @@
# Intentionally use jdkportablenameimpl here since we want to have static-libs files overlayed on
# top of the JDK archive
%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
+%define docportablename() %(echo %{uniquesuffix ""} | sed "s;%{version}-%{release};\\0.portable.docs;g" | sed "s;openjdkportable;el;g")
+%define docportablearchive() %{docportablename}.tar.xz
+%define miscportablename() %(echo %{uniquesuffix ""} | sed "s;%{version}-%{release};\\0.portable.misc;g" | sed "s;openjdkportable;el;g")
+%define miscportablearchive() %{miscportablename}.tar.xz
# RPM 4.19 no longer accept our double percentaged %%{nil} passed to %%{1}
# so we have to pass in "" but evaluate it, otherwise files record will include it
@@ -493,6 +496,12 @@
%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
%endif
+# VM variant being built
+%ifarch %{zero_arches}
+%global vm_variant zero
+%else
+%global vm_variant server
+%endif
%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
@@ -515,20 +524,6 @@
%global alternatives_requires %{_sbindir}/alternatives
%endif
-%if %{with_systemtap}
-# Where to install systemtap tapset (links)
-# We would like these to be in a package specific sub-dir,
-# but currently systemtap doesn't support that, so we have to
-# use the root tapset dir for now. To distinguish between 64
-# and 32 bit architectures we place the tapsets under the arch
-# specific dir (note that systemtap will only pickup the tapset
-# for the primary arch for now). Systemtap uses the machine name
-# aka target_cpu as architecture specific directory name.
-%global tapsetroot /usr/share/systemtap
-%global tapsetdirttapset %{tapsetroot}/tapset/
-%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
-%endif
-
# x86 is no longer supported
%if 0%{?java_arches:1}
ExclusiveArch: %{java_arches}
@@ -536,8 +531,8 @@ ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
%endif
-# Portables have no rpo (requires/provides), but thsoe are awesome for orientation in spec
-# also scriptlets are hapily missing and files are handled old fashion
+# Portables have no repo (requires/provides), but these are awesome for orientation in spec
+# Also scriptlets are happily missing and files are handled old fashion
# not-duplicated requires/provides/obsoletes for normal/debug packages
%define java_rpo() %{expand:
}
@@ -548,14 +543,18 @@ ExcludeArch: %{ix86}
%define java_static_libs_rpo() %{expand:
}
+%define java_unstripped_rpo() %{expand:
+}
+
+%define java_docs_rpo() %{expand:
+}
+
+%define java_misc_rpo() %{expand:
+}
# Prevent brp-java-repack-jars from being run
%global __jar_repack 0
-# portables have grown out of its component, moving back to java-x-vendor
-# this expression, when declared as global, filled component with java-x-vendor portable
-%define component %(echo %{name} | sed "s;-portable;;g")
-
Name: java-%{javaver}-%{origin}-portable
Version: %{newjavaver}.%{buildver}
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
@@ -570,6 +569,11 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
Epoch: 1
+
+# portables have grown out of its component, moving back to java-x-vendor
+# this expression, when declared as global, filled component with java-x-vendor portable
+%define component %(echo %{name} | sed "s;-portable;;g")
+
Summary: %{origin_nice} %{featurever} Runtime Environment portable edition
# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
@@ -593,9 +597,8 @@ Group: Development/Languages
License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA
URL: http://openjdk.java.net/
-
# The source tarball, generated using generate_source_tarball.sh
-Source0: openjdk-jdk%{featurever}u-%{vcstag}.tar.xz
+Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_de...
# Use 'icedtea_sync.sh' to update the following
# They are based on code contained in the IcedTea project (6.x).
@@ -614,8 +617,7 @@ Source10: NEWS
Source11: nss.cfg.in
# Removed libraries that we link instead
-# Disabled in portables
-#Source12: remove-intree-libraries.sh
+Source12: remove-intree-libraries.sh
# Ensure we aren't using the limited crypto policy
Source13: TestCryptoLevel.java
@@ -629,37 +631,22 @@ Source15: TestSecurityProperties.java
# Ensure vendor settings are correct
Source16: CheckVendor.java
-# nss fips configuration file
-Source17: nss.fips.cfg.in
-
# Ensure translations are available for new timezones
Source18: TestTranslations.java
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-# boot jdk for portable build root on
-Source1001: ojdk17-aarch64-17.35.tar.gz
-Source1002: ojdk17-ppc64le-17.35.tar.gz
-Source1003: ojdk17-x86_64-17.35.tar.gz
-Source1004: ojdk17-s390x-17.35.tar.gz
-%endif
-
############################################
#
# RPM/distribution specific patches
#
############################################
-# NSS via SunPKCS11 Provider (disabled comment
-# due to memory leak).
-Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
-# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
-Patch600: rh1750419-redhat_alt_java.patch
-
# Ignore AWTError when assistive technologies are loaded
Patch1: rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
-# Restrict access to java-atk-wrapper classes
-Patch2: rh1648644-java_access_bridge_privileged_security.patch
Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
+# NSS via SunPKCS11 Provider (disabled due to memory leak).
+Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
+# RH1750419: enable build of speculative store bypass hardened alt-java (CVE-2018-3639)
+Patch600: rh1750419-redhat_alt_java.patch
# Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
@@ -707,12 +694,27 @@ Patch1001: fips-17u-%{fipsver}.patch
#
#############################################
+# Currently empty
+
+#############################################
+#
+# OpenJDK patches appearing in 17.0.10
+#
+#############################################
+# JDK-8312489, OJ2095: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
+Patch2000: jdk8312489-max_sig_default_increase.patch
+
#############################################
#
-# OpenJDK patches appearing in 17.0.8
+# Portable build specific patches
+#
+#############################################
+
+#############################################
+#
+# OpenJDK patches targetted for 17.0.6
#
#############################################
-Patch2003: jdk8305995-footprint_regression_from_jdk_8224957
BuildRequires: autoconf
BuildRequires: automake
@@ -722,11 +724,11 @@ BuildRequires: cups-devel
BuildRequires: desktop-file-utils
# elfutils only are OK for build without AOT
BuildRequires: elfutils-devel
+BuildRequires: file
BuildRequires: fontconfig-devel
-BuildRequires: freetype-devel
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-BuildRequires: devtoolset-8-gcc
-BuildRequires: devtoolset-8-gcc-c++
+BuildRequires: devtoolset-%{dtsversion}-gcc
+BuildRequires: devtoolset-%{dtsversion}-gcc-c++
%else
BuildRequires: gcc
# gcc-c++ is already needed
@@ -746,12 +748,11 @@ BuildRequires: libXrandr-devel
BuildRequires: libXrender-devel
BuildRequires: libXt-devel
BuildRequires: libXtst-devel
-# Requirement for setting up nss.cfg and nss.fips.cfg
+# Requirement for setting up nss.cfg
BuildRequires: nss-devel
# Requirement for system security property test
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-BuildRequires: crypto-policies
-%endif
+# N/A for portable. RHEL7 doesn't provide them
+#BuildRequires: crypto-policies
BuildRequires: pkgconfig
BuildRequires: xorg-x11-proto-devel
BuildRequires: zip
@@ -761,16 +762,18 @@ BuildRequires: unzip
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
# No javapackages-filesystem on el7,nor is needed for portables
%else
-BuildRequires: javapackages-filesystem
+# BuildRequires: javapackages-filesystem
BuildRequires: java-%{buildjdkver}-openjdk-devel
%endif
# Zero-assembler build requirement
%ifarch %{zero_arches}
BuildRequires: libffi-devel
%endif
+# Full documentation build requirements
+BuildRequires: graphviz
+BuildRequires: pandoc
# 2023c required as of JDK-8305113
BuildRequires: tzdata-java >= 2023c
-
# cacerts build requirement in portable mode
BuildRequires: ca-certificates
# Earlier versions have a bug in tree vectorization on PPC
@@ -789,18 +792,18 @@ BuildRequires: lcms2-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
%else
-# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
-Provides: bundled(freetype) = 2.12.1
+# Version in src/java.desktop/share/legal/freetype.md
+Provides: bundled(freetype) = 2.13.0
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
Provides: bundled(giflib) = 5.2.1
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
-Provides: bundled(harfbuzz) = 4.4.1
+Provides: bundled(harfbuzz) = 7.2.0
# Version in src/java.desktop/share/native/liblcms/lcms2.h
-Provides: bundled(lcms2) = 2.12.0
+Provides: bundled(lcms2) = 2.15.0
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
Provides: bundled(libjpeg) = 6b
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
-Provides: bundled(libpng) = 1.6.37
+Provides: bundled(libpng) = 1.6.39
# We link statically against libstdc++ to increase portability
BuildRequires: libstdc++-static
%endif
@@ -875,7 +878,7 @@ Group: Development/Tools
%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
%description devel-fastdebug
-The %{origin_nice} %{featurever} development tools - portable edition.
+The %{origin_nice} %{featurever} runtime environment and development tools - portable edition
%{fastdebug_warning}
%endif
@@ -883,7 +886,7 @@ The %{origin_nice} %{featurever} development tools - portable edition.
%if %{include_normal_build}
%package static-libs
-Summary: %{origin_nice} %{featurever} libraries for static linking - portable edition.
+Summary: %{origin_nice} %{featurever} libraries for static linking - portable edition
%{java_static_libs_rpo %{nil}}
@@ -898,7 +901,7 @@ Summary: %{origin_nice} %{featurever} libraries for static linking - portable ed
%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
%description static-libs-slowdebug
-The %{origin_nice} %{featurever} libraries for static linking - portable edition.
+The %{origin_nice} %{featurever} libraries for static linking - portable edition
%{debug_warning}
%endif
@@ -909,13 +912,42 @@ Summary: %{origin_nice} %{featurever} libraries for static linking - portable ed
%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
%description static-libs-fastdebug
-The %{origin_nice} %{featurever} libraries for static linking - portable edition.
+The %{origin_nice} %{featurever} libraries for static linking - portable edition
%{fastdebug_warning}
%endif
# staticlibs
%endif
+%if %{include_normal_build}
+%package unstripped
+Summary: The %{origin_nice} %{featurever} runtime environment.
+
+%{java_unstripped_rpo %{nil}}
+
+%description unstripped
+The %{origin_nice} %{featurever} runtime environment.
+
+%endif
+
+%if %{include_normal_build}
+%package docs
+Summary: %{origin_nice} %{featurever} API documentation
+
+%{java_docs_rpo %{nil}}
+
+%description docs
+The %{origin_nice} %{featurever} API documentation.
+
+%package misc
+Summary: %{origin_nice} %{featurever} miscellany
+
+%{java_misc_rpo %{nil}}
+
+%description misc
+The %{origin_nice} %{featurever} miscellany.
+%endif
+
%package sources
Summary: %{origin_nice} %{featurever} full patched sources of portable JDK
@@ -951,7 +983,6 @@ else
echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no"
exit 13
fi
-
if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{include_fastdebug_build} -eq 0 ] ; then
echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
exit 14
@@ -980,17 +1011,18 @@ sh %{SOURCE12} %{top_level_dir_name}
# Patch the JDK
pushd %{top_level_dir_name}
%patch1 -p1
-%patch2 -p1
%patch3 -p1
%patch6 -p1
# Add crypto policy and FIPS support
%patch1001 -p1
# nss.cfg PKCS11 support; must come last as it also alters java.security
%patch1000 -p1
-%patch2003 -p1
+# JDK-8312489 backport, coming in 17.0.10
+%patch2000 -p1
+# alt-java support
+%patch600 -p1
popd # openjdk
-%patch600
# The OpenJDK version file includes the current
# upstream version information. For some reason,
@@ -1009,37 +1041,12 @@ if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
echo "WARNING: Designator mismatch";
echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
- exit 17
+ # Temporarily commented out as local copy of jdk-17.0.8+7 has the wrong setting
+ # This is fixed in the final upstream version
+ # exit 17
fi
-# Extract systemtap tapsets
-%if %{with_systemtap}
-tar --strip-components=1 -x -I xz -f %{SOURCE8}
-%if %{include_debug_build}
-cp -r tapset tapset%{debug_suffix}
-%endif
-%if %{include_fastdebug_build}
-cp -r tapset tapset%{fastdebug_suffix}
-%endif
-
-for suffix in %{build_loop} ; do
- for file in "tapset"$suffix/*.in; do
- OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
- sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
- sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2
-# TODO find out which architectures other than i686 have a client vm
-%ifarch %{ix86}
- sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
-%else
- sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
-%endif
- sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
- sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
- sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
- done
-done
-# systemtap tapsets ends
-%endif
+# Systemtap is processed in rpms
# Prepare desktop files
# Portables do not have desktop integration
@@ -1047,30 +1054,7 @@ done
# Setup nss.cfg
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
-# Setup nss.fips.cfg
-sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg
-
%build
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-mkdir bootjdk
-pushd bootjdk
-%ifarch %{aarch64}
-tar --strip-components=1 -xf %{SOURCE1001}
-%endif
-%ifarch %{ppc64le}
-tar --strip-components=1 -xf %{SOURCE1002}
-%endif
-%ifarch x86_64
-tar --strip-components=1 -xf %{SOURCE1003}
-%endif
-%ifarch s390x
-tar --strip-components=1 -xf %{SOURCE1004}
-%endif
-BOOT_JDK=$PWD
-popd
-%else
-BOOT_JDK=%{bootjdk}
-%endif
# How many CPU's do we have?
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
@@ -1104,12 +1088,15 @@ EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming
%endif
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
+echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
+
function buildjdk() {
local outputdir=${1}
local buildjdk=${2}
local maketargets="${3}"
local debuglevel=${4}
local link_opt=${5}
+ local debug_symbols=${6}
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
local top_dir_abs_build_path=$(pwd)/${outputdir}
@@ -1128,6 +1115,7 @@ function buildjdk() {
echo "Using make targets: ${maketargets}"
echo "Using debuglevel: ${debuglevel}"
echo "Using link_opt: ${link_opt}"
+ echo "Using debug_symbols: ${debug_symbols}"
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
mkdir -p ${outputdir}
@@ -1138,7 +1126,7 @@ function buildjdk() {
# are always used in a system_libs build, even
# for the static library build
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
- scl enable devtoolset-8 -- bash ${top_dir_abs_src_path}/configure \
+ scl enable devtoolset-%{dtsversion} -- bash ${top_dir_abs_src_path}/configure \
%else
bash ${top_dir_abs_src_path}/configure \
%endif
@@ -1150,7 +1138,7 @@ function buildjdk() {
%endif
--with-version-build=%{buildver} \
--with-version-pre="%{ea_designator}" \
- --with-version-opt=%{lts_designator} \
+ --with-version-opt="%{lts_designator}" \
--with-vendor-version-string="%{oj_vendor_version}" \
--with-vendor-name="%{oj_vendor}" \
--with-vendor-url="%{oj_vendor_url}" \
@@ -1158,7 +1146,7 @@ function buildjdk() {
--with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
--with-boot-jdk=${buildjdk} \
--with-debug-level=${debuglevel} \
- --with-native-debug-symbols="%{debug_symbols}" \
+ --with-native-debug-symbols="${debug_symbols}" \
--disable-sysconf-nss \
--enable-unlimited-crypto \
--with-zlib=%{link_type} \
@@ -1182,7 +1170,7 @@ function buildjdk() {
cat spec.gmk
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
- scl enable devtoolset-8 -- make \
+ scl enable devtoolset-%{dtsversion} -- make \
%else
make \
%endif
@@ -1190,311 +1178,325 @@ function buildjdk() {
WARNINGS_ARE_ERRORS="-Wno-error" \
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
-
popd
}
-function installjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
- # the build (erroneously) removes read permissions from some jars
- # this is a regression in OpenJDK 7 (our compiler):
- # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
- find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
-
- # Build screws up permissions on binaries
- # https://bugs.openjdk.java.net/browse/JDK-8173610
- find ${imagepath} -iname '*.so' -exec chmod +x {} \;
- find ${imagepath}/bin/ -exec chmod +x {} \;
+function stripjdk() {
+ local outputdir=${1}
+ local jdkimagepath=${outputdir}/images/%{jdkimage}
+ local jreimagepath=${outputdir}/images/%{jreimage}
+ local jmodimagepath=${outputdir}/images/jmods
+ local supportdir=${outputdir}/support
+
+ if [ "x$suffix" = "x" ] ; then
+ # Keep the unstripped version for consumption by RHEL RPMs
+ cp -a ${jdkimagepath}{,.unstripped}
+
+ # Strip the files
+ for file in $(find ${jdkimagepath} ${jreimagepath} ${supportdir} -type f) ; do
+ if file ${file} | grep -q 'ELF'; then
+ noextfile=${file/.so/};
+ objcopy --only-keep-debug ${file} ${noextfile}.debuginfo;
+ objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file};
+ strip -g ${file};
+ fi
+ done
- # Install nss.cfg right away as we will be using the JRE above
- install -m 644 nss.cfg ${imagepath}/conf/security/
+ # Rebuild jmod files against the stripped binaries
+ if [ ! -d ${supportdir} ] ; then
+ echo "Support directory missing.";
+ exit 15
+ fi
+ for cmd in $(find ${supportdir} -name '*.jmod_exec.cmdline') ; do
+ pre=${cmd/_exec/_pre};
+ post=${cmd/_exec/_post};
+ jmod=$(echo ${cmd}|sed 's#.*_create_##'|sed 's#_exec.cmdline##')
+ echo "Rebuilding ${jmod} against stripped binaries...";
+ if [ -e ${pre} ] ; then
+ echo "Executing ${pre}...";
+ cat ${pre} | sh -s ;
+ fi
+ echo "Executing ${cmd}...";
+ cat ${cmd} | sh -s ;
+ if [ -e ${post} ] ; then
+ echo "Executing ${post}...";
+ cat ${post} | sh -s ;
+ fi
+ done
+ rm -rf ${jdkimagepath}/jmods
+ cp -a ${jmodimagepath} ${jdkimagepath}
+ fi
+}
- # Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
- install -m 644 nss.fips.cfg ${imagepath}/conf/security/
+function installjdk() {
+ local outputdir=${1}
+ local installdir=${2}
+ local jdkimagepath=${installdir}/images/%{jdkimage}
+ local jreimagepath=${installdir}/images/%{jreimage}
+ local unstripped=${jdkimagepath}.unstripped
+
+ echo "Installing build from ${outputdir} to ${installdir}..."
+ mkdir -p ${installdir}
+ echo "Installing images..."
+ mv ${outputdir}/images ${installdir}
+ if [ -d ${outputdir}/bundles ] ; then
+ echo "Installing bundles...";
+ mv ${outputdir}/bundles ${installdir} ;
+ fi
- # Create fake alt-java as a placeholder for future alt-java
- if [ -d man/man1 ] ; then
- pushd ${imagepath}
+%if !%{with artifacts}
+ echo "Removing output directory...";
+ rm -rf ${outputdir}
+%endif
+
+ # legacy-jre-image target does not install any man pages for the JRE
+ # We copy the jdk man directory and then remove pages for binaries that
+ # don't exist in the JRE
+ cp -a ${jdkimagepath}/man ${jreimagepath}
+ for manpage in $(find ${jreimagepath}/man -name '*.1'); do
+ filename=$(basename ${manpage});
+ binary=${filename/.1/};
+ if [ ! -f ${jreimagepath}/bin/${binary} ] ; then
+ echo "Removing ${manpage} from JRE for which no binary ${binary} exists";
+ rm -f ${manpage};
+ fi;
+ done
+
+ for imagepath in ${jdkimagepath} ${jreimagepath} ${unstripped}; do
+
+ if [ -d ${imagepath} ] ; then
+ # the build (erroneously) removes read permissions from some jars
+ # this is a regression in OpenJDK 7 (our compiler):
+ # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
+ find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
+
+ # Build screws up permissions on binaries
+ # https://bugs.openjdk.java.net/browse/JDK-8173610
+ find ${imagepath} -iname '*.so' -exec chmod +x {} \;
+ find ${imagepath}/bin/ -exec chmod +x {} \;
+
+ # Install local files which are distributed with the JDK
+ install -m 644 %{SOURCE10} ${imagepath}
+ install -m 644 nss.cfg ${imagepath}/conf/security/
+
+ # Create fake alt-java as a placeholder for future alt-java
+ pushd ${imagepath}
# add alt-java man page
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
- popd
- fi
- fi
+ popd
+
+ # Print release information
+ cat ${imagepath}/release
+ fi
+ done
}
-# Checks on debuginfo must be performed before the files are stripped
-# by the RPM installation stage
-function debugcheckjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
-
- so_suffix="so"
- # Check debug symbols are present and can identify code
- find "${imagepath}" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
- do
- if [ -f "$lib" ] ; then
- echo "Testing $lib for debug symbols"
- # All these tests rely on RPM failing the build if the exit code of any set
- # of piped commands is non-zero.
-
- # Test for .debug_* sections in the shared object. This is the main test
- # Stripped objects will not contain these
- eu-readelf -S "$lib" | grep "] .debug_"
- test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
-
- # Test FILE symbols. These will most likely be removed by anything that
- # manipulates symbol tables because it's generally useless. So a nice test
- # that nothing has messed with symbols
- old_IFS="$IFS"
- IFS=$'\n'
- for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
- do
- # We expect to see .cpp and .S files, except for architectures like aarch64 and
- # s390 where we expect .o and .oS files
- echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
- done
- IFS="$old_IFS"
-
- # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
- if [ "`basename $lib`" = "libjvm.so" ]; then
- eu-readelf -s "$lib" | \
- grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
- fi
-
- # Test that there are no .gnu_debuglink sections pointing to another
- # debuginfo file. There shouldn't be any debuginfo files, so the link makes
- # no sense either
- eu-readelf -S "$lib" | grep 'gnu'
- if eu-readelf -S "$lib" | grep "\] .gnu_debuglink" | grep PROGBITS; then
- echo "bad .gnu_debuglink section."
- eu-readelf -x .gnu_debuglink "$lib"
- false
- fi
- fi
+function genchecksum() {
+ local checkedfile=${1}
+
+ checkdir=$(dirname ${1})
+ checkfile=$(basename ${1})
+
+ echo "Generating checksum for ${checkfile} in ${checkdir}..."
+ pushd ${checkdir}
+ sha256sum ${checkfile} > ${checkfile}.sha256sum
+ sha256sum --check ${checkfile}.sha256sum
+ popd
+}
+
+function packFullPatchedSources() {
+ srcpackagesdir=`pwd`
+ tar -cJf ${srcpackagesdir}/%{jdkportablesourcesarchive -- ""} --transform "s|^|%{jdkportablesourcesname -- ""}/|" %{top_level_dir_name} nss*
+ genchecksum ${srcpackagesdir}/%{jdkportablesourcesarchive -- ""}
+}
+
+function packagejdk() {
+ local imagesdir=$(pwd)/${1}/images
+ local docdir=$(pwd)/${1}/images/docs
+ local bundledir=$(pwd)/${1}/bundles
+ local packagesdir=$(pwd)/${2}
+ local srcdir=$(pwd)/%{top_level_dir_name}
+ local tapsetdir=$(pwd)/tapset
+
+ echo "Packaging build from ${imagesdir} to ${packagesdir}..."
+ mkdir -p ${packagesdir}
+ pushd ${imagesdir}
+
+ if [ "x$suffix" = "x" ] ; then
+ nameSuffix=""
+ else
+ nameSuffix=`echo "$suffix"| sed s/-/./`
+ fi
+
+ jdkname=%{jdkportablename -- "$nameSuffix"}
+ jdkarchive=${packagesdir}/%{jdkportablearchive -- "$nameSuffix"}
+ jrename=%{jreportablename -- "$nameSuffix"}
+ jrearchive=${packagesdir}/%{jreportablearchive -- "$nameSuffix"}
+ staticname=%{staticlibsportablename -- "$nameSuffix"}
+ staticarchive=${packagesdir}/%{staticlibsportablearchive -- "$nameSuffix"}
+ debugarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.debuginfo"}
+ unstrippedarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.unstripped"}
+ if [ "x$suffix" = "x" ] ; then
+ docname=%{docportablename}
+ docarchive=${packagesdir}/%{docportablearchive}
+ built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
+ fi
+ # These are from the source tree so no debug variants
+ miscname=%{miscportablename}
+ miscarchive=${packagesdir}/%{miscportablearchive}
+
+ if [ "x$suffix" = "x" ] ; then
+ # Keep the unstripped version for consumption by RHEL RPMs
+ mv %{jdkimage}.unstripped ${jdkname}
+ tar -cJf ${unstrippedarchive} ${jdkname}
+ genchecksum ${unstrippedarchive}
+ mv ${jdkname} %{jdkimage}.unstripped
+ fi
+
+ # Rename directories for packaging
+ mv %{jdkimage} ${jdkname}
+ mv %{jreimage} ${jrename}
+
+ # Release images have external debug symbols
+ if [ "x$suffix" = "x" ] ; then
+ tar -cJf ${debugarchive} $(find ${jdkname} -name \*.debuginfo)
+ genchecksum ${debugarchive}
+
+ mkdir ${docname}
+ mv ${docdir} ${docname}
+ mv ${bundledir}/${built_doc_archive} ${docname}
+ tar -cJf ${docarchive} ${docname}
+ genchecksum ${docarchive}
+
+ mkdir ${miscname}
+ for s in 16 24 32 48 ; do
+ cp -av ${srcdir}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png ${miscname}
done
+ cp -a ${srcdir}/src/sample ${miscname}
+%if %{with_systemtap}
+ cp -a ${tapsetdir}* ${miscname}
+%endif
+ tar -cJf ${miscarchive} ${miscname}
+ genchecksum ${miscarchive}
+ fi
- # Make sure gdb can do a backtrace based on line numbers on libjvm.so
- # javaCalls.cpp:58 should map to:
- # http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/shar...
- # Using line number 1 might cause build problems. See:
- # https://bugzilla.redhat.com/show_bug.cgi?id=1539664
- # https://bugzilla.redhat.com/show_bug.cgi?id=1538767
- gdb -q "${imagepath}/bin/java" <<EOF | tee gdb.out
-handle SIGSEGV pass nostop noprint
-handle SIGILL pass nostop noprint
-set breakpoint pending on
-break javaCalls.cpp:58
-commands 1
-backtrace
-quit
-end
-run -version
-EOF
-%ifarch %{gdb_arches}
- grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
+ tar -cJf ${jdkarchive} --exclude='**.debuginfo' ${jdkname}
+ genchecksum ${jdkarchive}
+
+ tar -cJf ${jrearchive} --exclude='**.debuginfo' ${jrename}
+ genchecksum ${jrearchive}
+
+%if %{include_staticlibs}
+ # Static libraries (needed for building graal vm with native image)
+ # Tar as overlay. Transform to the JDK name, since we just want to "add"
+ # static libraries to that folder
+ tar -cJf ${staticarchive} \
+ --transform "s|^%{static_libs_image}/lib/*|${staticname}/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib"
+ genchecksum ${staticarchive}
%endif
- fi
+ # Revert directory renaming so testing will run
+ # TODO: testing should run on the packaged JDK
+ mv ${jdkname} %{jdkimage}
+ mv ${jrename} %{jreimage}
+
+ popd #images
+
}
-pwd
-ls -l
-tar -cJf ../%{jdkportablesourcesarchive -- ""} --transform "s|^|%{jdkportablesourcesname -- ""}/|" openjdk nss*
-sha256sum ../%{jdkportablesourcesarchive -- ""} > ../%{jdkportablesourcesarchive -- ""}.sha256sum
+packFullPatchedSources
%if %{build_hotspot_first}
# Build a fresh libjvm.so first and use it to bootstrap
cp -LR --preserve=mode,timestamps %{bootjdk} newboot
systemjdk=$(pwd)/newboot
- buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
- mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
+ buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled" "internal"
+ mv build/newboot/jdk/lib/%{vm_variant}/libjvm.so newboot/lib/%{vm_variant}
%else
systemjdk=%{bootjdk}
%endif
for suffix in %{build_loop} ; do
+
if [ "x$suffix" = "x" ] ; then
debugbuild=release
else
# change --something to something
debugbuild=`echo $suffix | sed "s/-//g"`
fi
- for loop in %{main_suffix} %{staticlibs_loop} ; do
- builddir=%{buildoutputdir -- ${suffix}${loop}}
- bootbuilddir=boot${builddir}
- if test "x${loop}" = "x%{main_suffix}" ; then
- link_opt="%{link_type}"
-%if %{system_libs}
- # Copy the source tree so we can remove all in-tree libraries
- cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
- # Remove all libraries that are linked
- sh %{SOURCE12} %{top_level_dir_name} full
-%endif
- # Debug builds don't need same targets as release for
- # build speed-up. We also avoid bootstrapping these
- # slower builds.
- if echo $debugbuild | grep -q "debug" ; then
- maketargets="%{debug_targets}"
- run_bootstrap=false
- else
- maketargets="%{release_targets}"
- run_bootstrap=%{bootstrap_build}
- fi
- if ${run_bootstrap} ; then
- buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
- buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
- rm -rf ${bootbuilddir}
- else
- buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
- fi
+ # We build with internal debug symbols and do
+ # our own stripping for one version of the
+ # release build
+ debug_symbols=internal
+
+ builddir=%{buildoutputdir -- ${suffix}}
+ bootbuilddir=boot${builddir}
+ installdir=%{installoutputdir -- ${suffix}}
+ bootinstalldir=boot${installdir}
+ packagesdir=%{packageoutputdir -- ${suffix}}
+
+ link_opt="%{link_type}"
%if %{system_libs}
- # Restore original source tree we modified by removing full in-tree sources
- rm -rf %{top_level_dir_name}
- mv %{top_level_dir_name_backup} %{top_level_dir_name}
-%endif
- else
- # Use bundled libraries for building statically
- link_opt="bundled"
- # Static library cycle only builds the static libraries
- maketargets="%{static_libs_target}"
- # Always just do the one build for the static libraries
- buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
- fi
-
- done # end of main / staticlibs loop
-
- # Final setup on the main image
- top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
- for image in %{jdkimage} %{jreimage} ; do
- imagePath=${top_dir_abs_main_build_path}/images/${image}
- installjdk ${imagePath}
- done
- # Check debug symbols were built into the dynamic libraries; todo, why it passes in JDK only?
- debugcheckjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
-
- # Print release information
- cat ${top_dir_abs_main_build_path}/images/%{jdkimage}/release
+ # Copy the source tree so we can remove all in-tree libraries
+ cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
+ # Remove all libraries that are linked
+ sh %{SOURCE12} %{top_level_dir_name} full
+%endif
+ # Debug builds don't need same targets as release for
+ # build speed-up. We also avoid bootstrapping these
+ # slower builds.
+ if echo $debugbuild | grep -q "debug" ; then
+ maketargets="%{debug_targets}"
+ run_bootstrap=false
+ else
+ maketargets="%{release_targets}"
+ run_bootstrap=%{bootstrap_build}
+ fi
+ if ${run_bootstrap} ; then
+ buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ installjdk ${bootbuilddir} ${bootinstalldir}
+ buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ stripjdk ${builddir}
+ installjdk ${builddir} ${installdir}
+ %{!?with_artifacts:rm -rf ${bootinstalldir}}
+ else
+ buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} ${debug_symbols}
+ stripjdk ${builddir}
+ installjdk ${builddir} ${installdir}
+ fi
+ packagejdk ${installdir} ${packagesdir}
-################################################################################
- pushd ${top_dir_abs_main_build_path}/images
- if [ "x$suffix" == "x" ] ; then
- nameSuffix=""
- else
- nameSuffix=`echo "$suffix"| sed s/-/./`
- fi
- # additional steps needed for fluent repack; most of them done twice, as images are already populated
- # maybe most of them should be done in upstream build?
- for imagedir in %{jdkimage} %{jreimage} ; do
- pushd $imagedir
- # Convert man pages to UTF8 encoding
- if [ -d man/man1 ] ; then # jre do not have man pages...
- for manpage in man/man1/* ; do
- iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
- mv -f $manpage.tmp $manpage
- done
- fi
- # Install release notes
- cp -a %{SOURCE10} `pwd`
- cp -a %{SOURCE10} `pwd`/legal
- # stabilize permissions; aprtially duplicated in instalojdk
- find `pwd` -name "*.so" -exec chmod 755 {} \; -exec echo "set 755 to so {}" \; ;
- find `pwd` -type d -exec chmod 755 {} \; -exec echo "set 755 to dir {}" \; ;
- find `pwd`/legal -type f -exec chmod 644 {} \; -exec echo "set 644 to licences {}" \; ;
- popd # jdkimage/jreimage
- done # jre/sdk work in loop
- # javadoc is done only for release sdkimage
- if ! echo $suffix | grep -q "debug" ; then
- # Install Javadoc documentation
- #cp -a docs %{jdkimage} # not sure if the plaintext javadoc is for some use
- built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
- cp -a `pwd`/../bundles/${built_doc_archive} `pwd`/%{jdkimage}/javadocs.zip || ls -l `pwd`/../bundles
- fi
- # end of additional steps
-
- mv %{jdkimage} %{jdkportablename -- "$nameSuffix"}
- mv %{jreimage} %{jreportablename -- "$nameSuffix"}
- tar -cJf ../../../../%{jdkportablearchive -- "$nameSuffix"} --exclude='**.debuginfo' %{jdkportablename -- "$nameSuffix"}
- sha256sum ../../../../%{jdkportablearchive -- "$nameSuffix"} > ../../../../%{jdkportablearchive -- "$nameSuffix"}.sha256sum
- tar -cJf ../../../../%{jreportablearchive -- "$nameSuffix"} --exclude='**.debuginfo' %{jreportablename -- "$nameSuffix"}
- sha256sum ../../../../%{jreportablearchive -- "$nameSuffix"} > ../../../../%{jreportablearchive -- "$nameSuffix"}.sha256sum
- # copy licenses so they are avialable out of tarball
- cp -rf %{jdkportablename -- "$nameSuffix"}/legal ../../../../%{jdkportablearchive -- "%{normal_suffix}"}-legal
- mv %{jdkportablename -- "$nameSuffix"} %{jdkimage}
- mv %{jreportablename -- "$nameSuffix"} %{jreimage}
- popd #images
-%if %{include_staticlibs}
- top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_suffix}}
- pushd ${top_dir_abs_staticlibs_build_path}/images
- # Static libraries (needed for building graal vm with native image)
- # Tar as overlay. Transform to the JDK name, since we just want to "add"
- # static libraries to that folder
- portableJDKname=%{staticlibsportablename -- "$nameSuffix"}
- tar -cJf ../../../../%{staticlibsportablearchive -- "$nameSuffix"} --transform "s|^%{static_libs_image}/lib/*|$portableJDKname/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib"
- sha256sum ../../../../%{staticlibsportablearchive -- "$nameSuffix"} > ../../../../%{staticlibsportablearchive -- "$nameSuffix"}.sha256sum
- popd #staticlibs-images
+%if %{system_libs}
+ # Restore original source tree we modified by removing full in-tree sources
+ rm -rf %{top_level_dir_name}
+ mv %{top_level_dir_name_backup} %{top_level_dir_name}
%endif
-################################################################################
-# note, currently no debuginfo, consult portbale spec for external (zipped) debuginfo, being tarred alone
-################################################################################
# build cycles
done # end of release / debug cycle loop
-%install
-mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
-mv ../%{jdkportablesourcesarchive -- ""} $RPM_BUILD_ROOT%{_jvmdir}/
-mv ../%{jdkportablesourcesarchive -- ""}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+%check
+# We test debug first as it will give better diagnostics on a crash
for suffix in %{build_loop} ; do
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
-################################################################################
- if [ "x$suffix" == "x" ] ; then
- nameSuffix=""
- else
- nameSuffix=`echo "$suffix"| sed s/-/./`
- fi
- mv ../%{jdkportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jdkportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jreportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{jreportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+# portable builds have static_libs embedded, thus top_dir_abs_main_build_path is same as top_dir_abs_staticlibs_build_path
+top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}}
%if %{include_staticlibs}
- mv ../%{staticlibsportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
- mv ../%{staticlibsportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
-%endif
- if [ "x$suffix" == "x" ] ; then
- dnameSuffix="$nameSuffix".debuginfo
-# todo handle debuginfo, see note at build (we will need to pack one stripped and one unstripped release build)
-# mv ../%{jdkportablearchive -- "$dnameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
-# mv ../%{jdkportablearchive -- "$dnameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
- fi
-################################################################################
-# end, dual install
-done
-################################################################################
-# the licenses are packed onloy once and shared
-mkdir -p $RPM_BUILD_ROOT%{unpacked_licenses}
-mv ../%{jdkportablearchive -- "%{normal_suffix}"}-legal $RPM_BUILD_ROOT%{unpacked_licenses}/%{jdkportablesourcesarchive -- "%{normal_suffix}"}
-# To show sha in the build log
-for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do ls -l $file ; cat $file ; done
-################################################################################
+top_dir_abs_staticlibs_build_path=${top_dir_abs_main_build_path}
+%endif
-%check
+export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
-# We test debug first as it will give better diagnostics on a crash
-for suffix in %{build_loop} ; do
+# Pre-test setup
-# Tests in the check stage are performed on the installed image
-# rpmbuild operates as follows: build -> install -> test
-# however in portbales, we test built image instead of installed one
-top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
-export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
+# System security properties are disabled by default on portable.
+# Turn on system security properties
+#sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
+#${JAVA_HOME}/conf/security/java.security
-#check Shenandoah is enabled
+# Check Shenandoah is enabled
%if %{use_shenandoah_hotspot}
$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
%endif
@@ -1507,14 +1509,19 @@ $JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLev
$JAVA_HOME/bin/javac -d . %{SOURCE14}
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
-# Check system crypto (policy) is deactive and can not be enabled
+# Check system crypto (policy) is active and can be disabled
# Test takes a single argument - true or false - to state whether system
# security properties are enabled or not.
$JAVA_HOME/bin/javac -d . %{SOURCE15}
export PROG=$(echo $(basename %{SOURCE15})|sed "s|\.java||")
export SEC_DEBUG="-Djava.security.debug=properties"
+# Specific to portable:System security properties to be off by default
$JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} false
-$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=false ${PROG} false
+$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
+
+# Check correct vendor values have been set
+$JAVA_HOME/bin/javac -d . %{SOURCE16}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
# Check java launcher has no SSB mitigation
if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
@@ -1526,14 +1533,10 @@ nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
%endif
-# Check correct vendor values have been set
-$JAVA_HOME/bin/javac -d . %{SOURCE16}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
-
%if ! 0%{?flatpak}
# Check translations are available for new timezones (during flatpak builds, the
# tzdb.dat used by this test is not where the test expects it, so this is
-# disabled for flatpak builds)
+# disabled for flatpak builds)
$JAVA_HOME/bin/javac -d . %{SOURCE18}
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
@@ -1541,9 +1544,83 @@ $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|
%if %{include_staticlibs}
# Check debug symbols in static libraries (smoke test)
-export STATIC_LIBS_HOME=${top_dir_abs_main_build_path}/../../%{buildoutputdir -- ${suffix}%{staticlibs_suffix}}/images/static-libs/lib/
-readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c
-readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c
+export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
+ls -l $STATIC_LIBS_HOME
+ls -l $STATIC_LIBS_HOME/lib
+# they are here, but grep do not find the remainders
+#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
+#readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
+%endif
+
+# Release builds strip the debug symbols into external .debuginfo files
+if [ "x$suffix" = "x" ] ; then
+ so_suffix="debuginfo"
+else
+ so_suffix="so"
+fi
+# Check debug symbols are present and can identify code
+find "$JAVA_HOME" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
+do
+ if [ -f "$lib" ] ; then
+ echo "Testing $lib for debug symbols"
+ # All these tests rely on RPM failing the build if the exit code of any set
+ # of piped commands is non-zero.
+
+ # Test for .debug_* sections in the shared object. This is the main test
+ # Stripped objects will not contain these
+ eu-readelf -S "$lib" | grep "] .debug_"
+ test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
+
+ # Test FILE symbols. These will most likely be removed by anything that
+ # manipulates symbol tables because it's generally useless. So a nice test
+ # that nothing has messed with symbols
+ old_IFS="$IFS"
+ IFS=$'\n'
+ for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
+ do
+ # We expect to see .cpp and .S files, except for architectures like aarch64 and
+ # s390 where we expect .o and .oS files
+ echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
+ done
+ IFS="$old_IFS"
+
+ # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
+ if [ "`basename $lib`" = "libjvm.so" ]; then
+ eu-readelf -s "$lib" | \
+ grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
+ fi
+
+ # Test that there are no .gnu_debuglink sections pointing to another
+ # debuginfo file. There shouldn't be any debuginfo files, so the link makes
+ # no sense either
+ eu-readelf -S "$lib" | grep 'gnu'
+ if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
+ echo "bad .gnu_debuglink section."
+ eu-readelf -x .gnu_debuglink "$lib"
+ false
+ fi
+ fi
+done
+
+# Make sure gdb can do a backtrace based on line numbers on libjvm.so
+# javaCalls.cpp:58 should map to:
+# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/shar...
+# Using line number 1 might cause build problems. See:
+# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
+# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
+gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out
+handle SIGSEGV pass nostop noprint
+handle SIGILL pass nostop noprint
+set breakpoint pending on
+break javaCalls.cpp:58
+commands 1
+backtrace
+quit
+end
+run -version
+EOF
+%ifarch %{gdb_arches}
+grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
%endif
# Check src.zip has all sources. See RHBZ#1130490
@@ -1562,12 +1639,70 @@ $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
# build cycles check
done
+%install
+
+ mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
+ mv %{jdkportablesourcesarchive -- ""} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv %{jdkportablesourcesarchive -- ""}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+
+for suffix in %{build_loop} ; do
+
+ packagesdir=%{packageoutputdir -- ${suffix}}
+
+ if [ "x$suffix" == "x" ] ; then
+ nameSuffix=""
+ else
+ nameSuffix=`echo "$suffix"| sed s/-/./`
+ fi
+
+ # These definitions should match those in installjdk
+ jdkarchive=${packagesdir}/%{jdkportablearchive -- "$nameSuffix"}
+ jrearchive=${packagesdir}/%{jreportablearchive -- "$nameSuffix"}
+ staticarchive=${packagesdir}/%{staticlibsportablearchive -- "$nameSuffix"}
+ debugarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.debuginfo"}
+ unstrippedarchive=${packagesdir}/%{jdkportablearchive -- "${nameSuffix}.unstripped"}
+
+ mv ${jdkarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jdkarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jrearchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${jrearchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+
+%if %{include_staticlibs}
+ mv ${staticarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${staticarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+%endif
+
+ if [ "x$suffix" = "x" ] ; then
+ mv ${debugarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${debugarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${unstrippedarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${unstrippedarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ fi
+done
+
+ if [ "x$suffix" = "x" ] ; then
+ # These definitions should match those in installjdk
+ # Install outside the loop as there are no debug variants
+ docarchive=${packagesdir}/%{docportablearchive}
+ miscarchive=${packagesdir}/%{miscportablearchive}
+ mv ${docarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${docarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${miscarchive} $RPM_BUILD_ROOT%{_jvmdir}/
+ mv ${miscarchive}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
+ fi
+
+# To show sha in the build log
+for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do
+ ls -l $file ;
+ cat $file ;
+done
+
%if %{include_normal_build}
+
%files
# main package builds always
%{_jvmdir}/%{jreportablearchiveForFiles}
%{_jvmdir}/%{jreportablearchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%else
%files
# placeholder
@@ -1576,10 +1711,9 @@ done
%if %{include_normal_build}
%files devel
%{_jvmdir}/%{jdkportablearchiveForFiles}
-#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
+%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
%{_jvmdir}/%{jdkportablearchiveForFiles}.sha256sum
-#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
+%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
%endif
%if %{include_normal_build}
@@ -1587,26 +1721,26 @@ done
%files static-libs
%{_jvmdir}/%{staticlibsportablearchiveForFiles}
%{_jvmdir}/%{staticlibsportablearchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
+
+%files unstripped
+%{_jvmdir}/%{jdkportablearchive -- .unstripped}
+%{_jvmdir}/%{jdkportablearchive -- .unstripped}.sha256sum
%endif
%if %{include_debug_build}
%files slowdebug
%{_jvmdir}/%{jreportablearchive -- .slowdebug}
%{_jvmdir}/%{jreportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%files devel-slowdebug
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%if %{include_staticlibs}
%files static-libs-slowdebug
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
%endif
@@ -1614,27 +1748,47 @@ done
%files fastdebug
%{_jvmdir}/%{jreportablearchive -- .fastdebug}
%{_jvmdir}/%{jreportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%files devel-fastdebug
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%if %{include_staticlibs}
%files static-libs-fastdebug
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
%endif
%endif
%files sources
%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}
%{_jvmdir}/%{jdkportablesourcesarchiveForFiles}.sha256sum
-%license %{unpacked_licenses}/%{jdkportablesourcesarchiveForFiles}
+
+%if %{include_normal_build}
+%files docs
+%{_jvmdir}/%{docportablearchive}
+%{_jvmdir}/%{docportablearchive}.sha256sum
+
+%files misc
+%{_jvmdir}/%{miscportablearchive}
+%{_jvmdir}/%{miscportablearchive}.sha256sum
+%endif
%changelog
+* Wed Nov 22 2023 Jiri Vanek <jvanek(a)redhat.com> - 1:17.0.9.0.9-2
+- updated to OpenJDK 17.0.9 (2023-10-17)
+- adjsuted generate_source_tarball
+- removed icedtea_sync
+- dropped standalone licenses
+- added usntripped subpkg
+- added docs subpkg
+- adjsuted versions of bundled libraries
+- build refactored to several solid methods following gnu_andrew
+- removed no longer needed jdk8305995-footprint_regression_from_jdk_8224957, nss.fips.cfg.in, rh1648644-java_access_bridge_privileged_security.patch
+- added jdk8312489-max_sig_default_increase.patch
+- aligned fips-17u-51e1d00be4e.patch (gnu_andrew)
+- fixed '--without release' build-ability by moving docs and misc to if-release only
+
* Thu Aug 03 2023 Jiri Vanek <jvanekw(a)redhat.com> - 1:17.0.8.0.7-1
- Update to jdk-17.0.8.0+7
- Update release notes to 17.0.8.0+7
diff --git a/jconsole.desktop.in b/jconsole.desktop.in
index 8a3b04d..c1b8f6a 100644
--- a/jconsole.desktop.in
+++ b/jconsole.desktop.in
@@ -1,10 +1 @@
-[Desktop Entry]
-Name=OpenJDK @JAVA_VER@ for @target_cpu@ Monitoring & Management Console (@OPENJDK_VER@)
-Comment=Monitor and manage OpenJDK applications
-Exec=_SDKBINDIR_/jconsole
-Icon=java-@JAVA_VER@-@JAVA_VENDOR@
-Terminal=false
-Type=Application
-StartupWMClass=sun-tools-jconsole-JConsole
-Categories=Development;Profiling;Java;
-Version=1.0
+# this file is intentionally not here, as portable builds do not have desktop integration
diff --git a/jdk8305995-footprint_regression_from_jdk_8224957 b/jdk8305995-footprint_regression_from_jdk_8224957
deleted file mode 100644
index a5119a0..0000000
--- a/jdk8305995-footprint_regression_from_jdk_8224957
+++ /dev/null
@@ -1,1255 +0,0 @@
-diff --git a/src/hotspot/share/opto/node.cpp b/src/hotspot/share/opto/node.cpp
-index 9a9d3f0149a..7c85e73989e 100644
---- a/src/hotspot/share/opto/node.cpp
-+++ b/src/hotspot/share/opto/node.cpp
-@@ -1301,7 +1301,7 @@ bool Node::dominates(Node* sub, Node_List &nlist) {
- } else if (sub == up && sub->is_Region() && sub->req() == 2) {
- // Take in(1) path on the way up to 'dom' for regions with only one input
- up = sub->in(1);
-- } else if (sub == up && sub->is_Region() && sub->req() == 3) {
-+ } else if (sub == up && sub->is_Region()) {
- // Try both paths for Regions with 2 input paths (it may be a loop head).
- // It could give conservative 'false' answer without information
- // which region's input is the entry path.
-diff --git a/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java b/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
-new file mode 100644
-index 00000000000..9b7430ccc13
---- /dev/null
-+++ b/test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
-@@ -0,0 +1,1236 @@
-+/*
-+ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package org.openjdk.bench.vm.compiler;
-+
-+import org.openjdk.jmh.annotations.Benchmark;
-+import org.openjdk.jmh.annotations.Fork;
-+import org.openjdk.jmh.annotations.Measurement;
-+import org.openjdk.jmh.annotations.OutputTimeUnit;
-+import org.openjdk.jmh.annotations.Scope;
-+import org.openjdk.jmh.annotations.State;
-+import org.openjdk.jmh.annotations.Warmup;
-+
-+import java.util.concurrent.TimeUnit;
-+
-+/*
-+ * This benchmark is used as easy reproducer of JDK-8305995
-+ *
-+ * This benchmark contains simplified and minimized RB-tree
-+ * which is based on fasutils with iterators that jumps.
-+ *
-+ * At the end it contains a tree serialized as lines, and
-+ * maxPattern which is used to search in this tree.
-+ */
-+(a)State(Scope.Thread)
-+(a)OutputTimeUnit(TimeUnit.MICROSECONDS)
-+@Warmup(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
-+@Measurement(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
-+@Fork(value = 3)
-+public class RBTreeSearch {
-+
-+ private final Tree pattern;
-+
-+ private final Tree[] nodes;
-+
-+ private final Tree root;
-+
-+ private final int[] idxStack;
-+ private final Tree[] objStack;
-+
-+ public RBTreeSearch() {
-+ idxStack = new int[maxPattern];
-+
-+ objStack = new Tree[maxPattern];
-+
-+ pattern = new Tree();
-+ for (int i = 0; i <= maxPattern; i++) {
-+ pattern.put(i, i);
-+ }
-+
-+ nodes = new Tree[directions.length];
-+ for (int i = 0; i < directions.length; i++) {
-+ if (directions[i] == null) {
-+ continue;
-+ }
-+ Tree kids = new Tree();
-+ nodes[i] = kids;
-+ for (String pair : directions[i].split(", ")) {
-+ String[] kv = pair.split("=>");
-+ kids.put(Integer.parseInt(kv[0]), Integer.parseInt(kv[1]));
-+ }
-+ }
-+
-+ root = nodes[0];
-+ }
-+
-+ @Benchmark
-+ public void search() {
-+ Tree.Iterator sliceIt = pattern.keyIterator();
-+
-+ int stackSize = 0;
-+ idxStack[stackSize] = pattern.firstIntKey();
-+ objStack[stackSize++] = root;
-+
-+ while (stackSize > 0) {
-+ stackSize--;
-+ Tree node = objStack[stackSize];
-+
-+ final int startPoint = Math.max(idxStack[stackSize], node.firstIntKey()) - 1;
-+ final Tree.Iterator rootIt = node.keyIterator(startPoint);
-+
-+ sliceIt.jump(startPoint);
-+ while (sliceIt.hasNext() && rootIt.hasNext()) {
-+ final int sliceElem = sliceIt.nextInt();
-+ final int rootElem = rootIt.nextInt();
-+ if (sliceElem < rootElem) {
-+ rootIt.previousInt();
-+ if (sliceIt.nextInt() >= rootElem) {
-+ sliceIt.previousInt();
-+ } else {
-+ sliceIt.jump(rootElem - 1);
-+ }
-+ } else if (sliceElem == rootElem) {
-+ final int childrenIdx = node.get(sliceElem);
-+ final Tree children = nodes[childrenIdx];
-+
-+ if (children != null) {
-+ idxStack[stackSize] = sliceElem;
-+ objStack[stackSize++] = children;
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ public static class Tree {
-+
-+ protected transient Entry root;
-+
-+ protected transient Entry firstEntry;
-+
-+ protected transient Entry lastEntry;
-+
-+ private final transient boolean[] dirPath = new boolean[64];
-+
-+ private final transient Entry[] nodePath = new Entry[64];
-+
-+ public int put(final int k, final int v) {
-+ Entry e = add(k);
-+ final int oldValue = e.value;
-+ e.value = v;
-+ return oldValue;
-+ }
-+
-+ private Entry add(final int k) {
-+ int maxDepth = 0;
-+ Entry e;
-+ if (root == null) {
-+ e = root = lastEntry = firstEntry = new Entry(k, 0);
-+ }
-+ else {
-+ Entry p = root;
-+ int cmp, i = 0;
-+ while(true) {
-+ if ((cmp = Integer.compare(k, p.key)) == 0) {
-+ while(i-- != 0) nodePath[i] = null;
-+ return p;
-+ }
-+ nodePath[i] = p;
-+ if (dirPath[i++] = cmp > 0) {
-+ if (p.succ()) {
-+ e = new Entry(k, 0);
-+ if (p.right == null) lastEntry = e;
-+ e.left = p;
-+ e.right = p.right;
-+ p.right(e);
-+ break;
-+ }
-+ p = p.right;
-+ }
-+ else {
-+ if (p.pred()) {
-+ e = new Entry(k, 0);
-+ if (p.left == null) firstEntry = e;
-+ e.right = p;
-+ e.left = p.left;
-+ p.left(e);
-+ break;
-+ }
-+ p = p.left;
-+ }
-+ }
-+ maxDepth = i--;
-+ while(i > 0 && ! nodePath[i].black()) {
-+ if (! dirPath[i - 1]) {
-+ Entry y = nodePath[i - 1].right;
-+ if (! nodePath[i - 1].succ() && ! y.black()) {
-+ nodePath[i].black(true);
-+ y.black(true);
-+ nodePath[i - 1].black(false);
-+ i -= 2;
-+ }
-+ else {
-+ Entry x;
-+ if (! dirPath[i]) y = nodePath[i];
-+ else {
-+ x = nodePath[i];
-+ y = x.right;
-+ x.right = y.left;
-+ y.left = x;
-+ nodePath[i - 1].left = y;
-+ if (y.pred()) {
-+ y.pred(false);
-+ x.succ(y);
-+ }
-+ }
-+ x = nodePath[i - 1];
-+ x.black(false);
-+ y.black(true);
-+ x.left = y.right;
-+ y.right = x;
-+ if (i < 2) root = y;
-+ else {
-+ if (dirPath[i - 2]) nodePath[i - 2].right = y;
-+ else nodePath[i - 2].left = y;
-+ }
-+ if (y.succ()) {
-+ y.succ(false);
-+ x.pred(y);
-+ }
-+ break;
-+ }
-+ }
-+ else {
-+ Entry y = nodePath[i - 1].left;
-+ if (! nodePath[i - 1].pred() && ! y.black()) {
-+ nodePath[i].black(true);
-+ y.black(true);
-+ nodePath[i - 1].black(false);
-+ i -= 2;
-+ }
-+ else {
-+ Entry x;
-+ if (dirPath[i]) y = nodePath[i];
-+ else {
-+ x = nodePath[i];
-+ y = x.left;
-+ x.left = y.right;
-+ y.right = x;
-+ nodePath[i - 1].right = y;
-+ if (y.succ()) {
-+ y.succ(false);
-+ x.pred(y);
-+ }
-+ }
-+ x = nodePath[i - 1];
-+ x.black(false);
-+ y.black(true);
-+ x.right = y.left;
-+ y.left = x;
-+ if (i < 2) root = y;
-+ else {
-+ if (dirPath[i - 2]) nodePath[i - 2].right = y;
-+ else nodePath[i - 2].left = y;
-+ }
-+ if (y.pred()){
-+ y.pred(false);
-+ x.succ(y);
-+ }
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ root.black(true);
-+ while(maxDepth-- != 0) nodePath[maxDepth] = null;
-+ return e;
-+ }
-+
-+ private static final class Entry {
-+ int key;
-+ int value;
-+
-+ private static final int BLACK_MASK = 1;
-+
-+ private static final int SUCC_MASK = 1 << 31;
-+
-+ private static final int PRED_MASK = 1 << 30;
-+
-+ Entry left, right;
-+
-+ int info;
-+
-+ Entry(final int k, final int v) {
-+ key = k;
-+ value = v;
-+ info = SUCC_MASK | PRED_MASK;
-+ }
-+
-+ Entry left() {
-+ return (info & PRED_MASK) != 0 ? null : left;
-+ }
-+
-+ Entry right() {
-+ return (info & SUCC_MASK) != 0 ? null : right;
-+ }
-+
-+ boolean pred() {
-+ return (info & PRED_MASK) != 0;
-+ }
-+
-+ boolean succ() {
-+ return (info & SUCC_MASK) != 0;
-+ }
-+
-+ void pred(final boolean pred) {
-+ if (pred) info |= PRED_MASK;
-+ else info &= ~PRED_MASK;
-+ }
-+
-+ void succ(final boolean succ) {
-+ if (succ) info |= SUCC_MASK;
-+ else info &= ~SUCC_MASK;
-+ }
-+
-+ void pred(final Entry pred) {
-+ info |= PRED_MASK;
-+ left = pred;
-+ }
-+
-+ void succ(final Entry succ) {
-+ info |= SUCC_MASK;
-+ right = succ;
-+ }
-+
-+ void left(final Entry left) {
-+ info &= ~PRED_MASK;
-+ this.left = left;
-+ }
-+
-+ void right(final Entry right) {
-+ info &= ~SUCC_MASK;
-+ this.right = right;
-+ }
-+
-+ boolean black() {
-+ return (info & BLACK_MASK) != 0;
-+ }
-+
-+ void black(final boolean black) {
-+ if (black) info |= BLACK_MASK;
-+ else info &= ~BLACK_MASK;
-+ }
-+
-+ Entry next() {
-+ Entry next = this.right;
-+ if ((info & SUCC_MASK) == 0) while ((next.info & PRED_MASK) == 0) next = next.left;
-+ return next;
-+ }
-+
-+ Entry prev() {
-+ Entry prev = this.left;
-+ if ((info & PRED_MASK) == 0) while ((prev.info & SUCC_MASK) == 0) prev = prev.right;
-+ return prev;
-+ }
-+ }
-+
-+ public int get(final int k) {
-+ Entry e = root;
-+ int cmp;
-+ while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
-+ e = cmp < 0 ? e.left() : e.right();
-+ }
-+ return e == null ? 0 : e.value;
-+ }
-+
-+ public int firstIntKey() {
-+ return firstEntry.key;
-+ }
-+
-+ interface Iterator {
-+ boolean hasNext();
-+ int nextInt();
-+ int previousInt();
-+ void jump(final int fromElement);
-+ }
-+
-+ private class KeyIteratorImpl implements Iterator {
-+ Entry prev;
-+
-+ Entry next;
-+
-+ Entry curr;
-+
-+ int index = 0;
-+
-+ KeyIteratorImpl() {
-+ next = firstEntry;
-+ }
-+
-+ KeyIteratorImpl(final int k) {
-+ if ((next = locateKey(k)) != null) {
-+ if (next.key <= k) {
-+ prev = next;
-+ next = next.next();
-+ }
-+ else prev = next.prev();
-+ }
-+ }
-+
-+ private Entry locateKey(final int k) {
-+ Entry e = root, last = root;
-+ int cmp = 0;
-+ while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
-+ last = e;
-+ e = cmp < 0 ? e.left() : e.right();
-+ }
-+ return cmp == 0 ? e : last;
-+ }
-+
-+ public boolean hasNext() { return next != null; }
-+
-+ Entry nextEntry() {
-+ curr = prev = next;
-+ index++;
-+ next = next.next();
-+ return curr;
-+ }
-+
-+ Entry previousEntry() {
-+ curr = next = prev;
-+ index--;
-+ prev = prev.prev();
-+ return curr;
-+ }
-+ public void jump(final int fromElement) {
-+ if ((next = locateKey(fromElement)) != null) {
-+ if (next.key <= fromElement) {
-+ prev = next;
-+ next = next.next();
-+ }
-+ else prev = next.prev();
-+ }
-+ }
-+
-+ public int nextInt() { return nextEntry().key; }
-+
-+ public int previousInt() { return previousEntry().key; }
-+
-+ }
-+
-+ public Iterator keyIterator() {
-+ return new KeyIteratorImpl();
-+ }
-+
-+ public Iterator keyIterator(final int from) {
-+ return new KeyIteratorImpl(from);
-+ }
-+ }
-+
-+ private static final int maxPattern = 39;
-+
-+ private static final String[] directions = {
-+ "0=>1, 1=>4, 2=>2, 4=>3, 7=>5",
-+ "13=>628, 14=>627, 15=>626, 17=>629, 18=>630",
-+ "13=>473, 14=>472, 15=>471, 17=>474, 18=>475",
-+ "13=>318, 14=>317, 15=>316, 17=>319, 18=>320",
-+ "13=>163, 14=>162, 15=>161, 17=>164, 18=>165",
-+ "13=>8, 14=>7, 15=>6, 17=>9, 18=>10",
-+ "22=>135, 23=>134, 24=>132, 26=>133, 27=>131",
-+ "22=>105, 23=>104, 24=>102, 26=>103, 27=>101",
-+ "22=>75, 23=>74, 24=>72, 26=>73, 27=>71",
-+ "22=>45, 23=>44, 24=>42, 26=>43, 27=>41",
-+ "22=>15, 23=>14, 24=>12, 26=>13, 27=>11",
-+ "31=>38, 32=>39, 33=>36, 34=>40, 35=>37",
-+ "31=>33, 32=>34, 33=>31, 34=>35, 35=>32",
-+ "31=>28, 32=>29, 33=>26, 34=>30, 35=>27",
-+ "31=>23, 32=>24, 33=>21, 34=>25, 35=>22",
-+ "31=>18, 32=>19, 33=>16, 34=>20, 35=>17",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>68, 32=>69, 33=>66, 34=>70, 35=>67",
-+ "31=>63, 32=>64, 33=>61, 34=>65, 35=>62",
-+ "31=>58, 32=>59, 33=>56, 34=>60, 35=>57",
-+ "31=>53, 32=>54, 33=>51, 34=>55, 35=>52",
-+ "31=>48, 32=>49, 33=>46, 34=>50, 35=>47",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>98, 32=>99, 33=>96, 34=>100, 35=>97",
-+ "31=>93, 32=>94, 33=>91, 34=>95, 35=>92",
-+ "31=>88, 32=>89, 33=>86, 34=>90, 35=>87",
-+ "31=>83, 32=>84, 33=>81, 34=>85, 35=>82",
-+ "31=>78, 32=>79, 33=>76, 34=>80, 35=>77",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>128, 32=>129, 33=>126, 34=>130, 35=>127",
-+ "31=>123, 32=>124, 33=>121, 34=>125, 35=>122",
-+ "31=>118, 32=>119, 33=>116, 34=>120, 35=>117",
-+ "31=>113, 32=>114, 33=>111, 34=>115, 35=>112",
-+ "31=>108, 32=>109, 33=>106, 34=>110, 35=>107",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>158, 32=>159, 33=>156, 34=>160, 35=>157",
-+ "31=>153, 32=>154, 33=>151, 34=>155, 35=>152",
-+ "31=>148, 32=>149, 33=>146, 34=>150, 35=>147",
-+ "31=>143, 32=>144, 33=>141, 34=>145, 35=>142",
-+ "31=>138, 32=>139, 33=>136, 34=>140, 35=>137",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>290, 23=>289, 24=>287, 26=>288, 27=>286",
-+ "22=>260, 23=>259, 24=>257, 26=>258, 27=>256",
-+ "22=>230, 23=>229, 24=>227, 26=>228, 27=>226",
-+ "22=>200, 23=>199, 24=>197, 26=>198, 27=>196",
-+ "22=>170, 23=>169, 24=>167, 26=>168, 27=>166",
-+ "31=>193, 32=>194, 33=>191, 34=>195, 35=>192",
-+ "31=>188, 32=>189, 33=>186, 34=>190, 35=>187",
-+ "31=>183, 32=>184, 33=>181, 34=>185, 35=>182",
-+ "31=>178, 32=>179, 33=>176, 34=>180, 35=>177",
-+ "31=>173, 32=>174, 33=>171, 34=>175, 35=>172",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>223, 32=>224, 33=>221, 34=>225, 35=>222",
-+ "31=>218, 32=>219, 33=>216, 34=>220, 35=>217",
-+ "31=>213, 32=>214, 33=>211, 34=>215, 35=>212",
-+ "31=>208, 32=>209, 33=>206, 34=>210, 35=>207",
-+ "31=>203, 32=>204, 33=>201, 34=>205, 35=>202",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>253, 32=>254, 33=>251, 34=>255, 35=>252",
-+ "31=>248, 32=>249, 33=>246, 34=>250, 35=>247",
-+ "31=>243, 32=>244, 33=>241, 34=>245, 35=>242",
-+ "31=>238, 32=>239, 33=>236, 34=>240, 35=>237",
-+ "31=>233, 32=>234, 33=>231, 34=>235, 35=>232",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>283, 32=>284, 33=>281, 34=>285, 35=>282",
-+ "31=>278, 32=>279, 33=>276, 34=>280, 35=>277",
-+ "31=>273, 32=>274, 33=>271, 34=>275, 35=>272",
-+ "31=>268, 32=>269, 33=>266, 34=>270, 35=>267",
-+ "31=>263, 32=>264, 33=>261, 34=>265, 35=>262",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>313, 32=>314, 33=>311, 34=>315, 35=>312",
-+ "31=>308, 32=>309, 33=>306, 34=>310, 35=>307",
-+ "31=>303, 32=>304, 33=>301, 34=>305, 35=>302",
-+ "31=>298, 32=>299, 33=>296, 34=>300, 35=>297",
-+ "31=>293, 32=>294, 33=>291, 34=>295, 35=>292",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>445, 23=>444, 24=>442, 26=>443, 27=>441",
-+ "22=>415, 23=>414, 24=>412, 26=>413, 27=>411",
-+ "22=>385, 23=>384, 24=>382, 26=>383, 27=>381",
-+ "22=>355, 23=>354, 24=>352, 26=>353, 27=>351",
-+ "22=>325, 23=>324, 24=>322, 26=>323, 27=>321",
-+ "31=>348, 32=>349, 33=>346, 34=>350, 35=>347",
-+ "31=>343, 32=>344, 33=>341, 34=>345, 35=>342",
-+ "31=>338, 32=>339, 33=>336, 34=>340, 35=>337",
-+ "31=>333, 32=>334, 33=>331, 34=>335, 35=>332",
-+ "31=>328, 32=>329, 33=>326, 34=>330, 35=>327",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>378, 32=>379, 33=>376, 34=>380, 35=>377",
-+ "31=>373, 32=>374, 33=>371, 34=>375, 35=>372",
-+ "31=>368, 32=>369, 33=>366, 34=>370, 35=>367",
-+ "31=>363, 32=>364, 33=>361, 34=>365, 35=>362",
-+ "31=>358, 32=>359, 33=>356, 34=>360, 35=>357",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>408, 32=>409, 33=>406, 34=>410, 35=>407",
-+ "31=>403, 32=>404, 33=>401, 34=>405, 35=>402",
-+ "31=>398, 32=>399, 33=>396, 34=>400, 35=>397",
-+ "31=>393, 32=>394, 33=>391, 34=>395, 35=>392",
-+ "31=>388, 32=>389, 33=>386, 34=>390, 35=>387",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>438, 32=>439, 33=>436, 34=>440, 35=>437",
-+ "31=>433, 32=>434, 33=>431, 34=>435, 35=>432",
-+ "31=>428, 32=>429, 33=>426, 34=>430, 35=>427",
-+ "31=>423, 32=>424, 33=>421, 34=>425, 35=>422",
-+ "31=>418, 32=>419, 33=>416, 34=>420, 35=>417",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>468, 32=>469, 33=>466, 34=>470, 35=>467",
-+ "31=>463, 32=>464, 33=>461, 34=>465, 35=>462",
-+ "31=>458, 32=>459, 33=>456, 34=>460, 35=>457",
-+ "31=>453, 32=>454, 33=>451, 34=>455, 35=>452",
-+ "31=>448, 32=>449, 33=>446, 34=>450, 35=>447",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>600, 23=>599, 24=>597, 26=>598, 27=>596",
-+ "22=>570, 23=>569, 24=>567, 26=>568, 27=>566",
-+ "22=>540, 23=>539, 24=>537, 26=>538, 27=>536",
-+ "22=>510, 23=>509, 24=>507, 26=>508, 27=>506",
-+ "22=>480, 23=>479, 24=>477, 26=>478, 27=>476",
-+ "31=>503, 32=>504, 33=>501, 34=>505, 35=>502",
-+ "31=>498, 32=>499, 33=>496, 34=>500, 35=>497",
-+ "31=>493, 32=>494, 33=>491, 34=>495, 35=>492",
-+ "31=>488, 32=>489, 33=>486, 34=>490, 35=>487",
-+ "31=>483, 32=>484, 33=>481, 34=>485, 35=>482",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>533, 32=>534, 33=>531, 34=>535, 35=>532",
-+ "31=>528, 32=>529, 33=>526, 34=>530, 35=>527",
-+ "31=>523, 32=>524, 33=>521, 34=>525, 35=>522",
-+ "31=>518, 32=>519, 33=>516, 34=>520, 35=>517",
-+ "31=>513, 32=>514, 33=>511, 34=>515, 35=>512",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>563, 32=>564, 33=>561, 34=>565, 35=>562",
-+ "31=>558, 32=>559, 33=>556, 34=>560, 35=>557",
-+ "31=>553, 32=>554, 33=>551, 34=>555, 35=>552",
-+ "31=>548, 32=>549, 33=>546, 34=>550, 35=>547",
-+ "31=>543, 32=>544, 33=>541, 34=>545, 35=>542",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>593, 32=>594, 33=>591, 34=>595, 35=>592",
-+ "31=>588, 32=>589, 33=>586, 34=>590, 35=>587",
-+ "31=>583, 32=>584, 33=>581, 34=>585, 35=>582",
-+ "31=>578, 32=>579, 33=>576, 34=>580, 35=>577",
-+ "31=>573, 32=>574, 33=>571, 34=>575, 35=>572",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>623, 32=>624, 33=>621, 34=>625, 35=>622",
-+ "31=>618, 32=>619, 33=>616, 34=>620, 35=>617",
-+ "31=>613, 32=>614, 33=>611, 34=>615, 35=>612",
-+ "31=>608, 32=>609, 33=>606, 34=>610, 35=>607",
-+ "31=>603, 32=>604, 33=>601, 34=>605, 35=>602",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "22=>755, 23=>754, 24=>752, 26=>753, 27=>751",
-+ "22=>725, 23=>724, 24=>722, 26=>723, 27=>721",
-+ "22=>695, 23=>694, 24=>692, 26=>693, 27=>691",
-+ "22=>665, 23=>664, 24=>662, 26=>663, 27=>661",
-+ "22=>635, 23=>634, 24=>632, 26=>633, 27=>631",
-+ "31=>658, 32=>659, 33=>656, 34=>660, 35=>657",
-+ "31=>653, 32=>654, 33=>651, 34=>655, 35=>652",
-+ "31=>648, 32=>649, 33=>646, 34=>650, 35=>647",
-+ "31=>643, 32=>644, 33=>641, 34=>645, 35=>642",
-+ "31=>638, 32=>639, 33=>636, 34=>640, 35=>637",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>688, 32=>689, 33=>686, 34=>690, 35=>687",
-+ "31=>683, 32=>684, 33=>681, 34=>685, 35=>682",
-+ "31=>678, 32=>679, 33=>676, 34=>680, 35=>677",
-+ "31=>673, 32=>674, 33=>671, 34=>675, 35=>672",
-+ "31=>668, 32=>669, 33=>666, 34=>670, 35=>667",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>718, 32=>719, 33=>716, 34=>720, 35=>717",
-+ "31=>713, 32=>714, 33=>711, 34=>715, 35=>712",
-+ "31=>708, 32=>709, 33=>706, 34=>710, 35=>707",
-+ "31=>703, 32=>704, 33=>701, 34=>705, 35=>702",
-+ "31=>698, 32=>699, 33=>696, 34=>700, 35=>697",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>748, 32=>749, 33=>746, 34=>750, 35=>747",
-+ "31=>743, 32=>744, 33=>741, 34=>745, 35=>742",
-+ "31=>738, 32=>739, 33=>736, 34=>740, 35=>737",
-+ "31=>733, 32=>734, 33=>731, 34=>735, 35=>732",
-+ "31=>728, 32=>729, 33=>726, 34=>730, 35=>727",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ "31=>778, 32=>779, 33=>776, 34=>780, 35=>777",
-+ "31=>773, 32=>774, 33=>771, 34=>775, 35=>772",
-+ "31=>768, 32=>769, 33=>766, 34=>770, 35=>767",
-+ "31=>763, 32=>764, 33=>761, 34=>765, 35=>762",
-+ "31=>758, 32=>759, 33=>756, 34=>760, 35=>757",
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null,
-+ null
-+ };
-+}
diff --git a/jdk8312489-max_sig_default_increase.patch b/jdk8312489-max_sig_default_increase.patch
new file mode 100644
index 0000000..8aeb261
--- /dev/null
+++ b/jdk8312489-max_sig_default_increase.patch
@@ -0,0 +1,50 @@
+commit 5b613e3ebed6c141146e743e64c894fe4f39421e
+Author: Andrew John Hughes <andrew(a)openjdk.org>
+Date: Fri Sep 1 15:53:41 2023 +0000
+
+ 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
+
+ Backport-of: e47a84f23dd2608c6f5748093eefe301fb5bf750
+
+diff --git a/src/java.base/share/classes/java/util/jar/JarFile.java b/src/java.base/share/classes/java/util/jar/JarFile.java
+index bd538649a4f..70cf99504e4 100644
+--- a/src/java.base/share/classes/java/util/jar/JarFile.java
++++ b/src/java.base/share/classes/java/util/jar/JarFile.java
+@@ -803,7 +803,9 @@ private byte[] getBytes(ZipEntry ze) throws IOException {
+ throw new IOException("Unsupported size: " + uncompressedSize +
+ " for JarEntry " + ze.getName() +
+ ". Allowed max size: " +
+- SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes");
++ SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes. " +
++ "You can use the jdk.jar.maxSignatureFileSize " +
++ "system property to increase the default value.");
+ }
+ int len = (int)uncompressedSize;
+ int bytesRead;
+diff --git a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
+index 4ea9255ba0a..05acdcb9474 100644
+--- a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
++++ b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
+@@ -856,16 +856,16 @@ private static int initializeMaxSigFileSize() {
+ * the maximum allowed number of bytes for the signature-related files
+ * in a JAR file.
+ */
+- Integer tmp = GetIntegerAction.privilegedGetProperty(
+- "jdk.jar.maxSignatureFileSize", 8000000);
++ int tmp = GetIntegerAction.privilegedGetProperty(
++ "jdk.jar.maxSignatureFileSize", 16000000);
+ if (tmp < 0 || tmp > MAX_ARRAY_SIZE) {
+ if (debug != null) {
+- debug.println("Default signature file size 8000000 bytes " +
+- "is used as the specified size for the " +
+- "jdk.jar.maxSignatureFileSize system property " +
++ debug.println("The default signature file size of 16000000 bytes " +
++ "will be used for the jdk.jar.maxSignatureFileSize " +
++ "system property since the specified value " +
+ "is out of range: " + tmp);
+ }
+- tmp = 8000000;
++ tmp = 16000000;
+ }
+ return tmp;
+ }
diff --git a/nss.fips.cfg.in b/nss.fips.cfg.in
deleted file mode 100644
index 2d9ec35..0000000
--- a/nss.fips.cfg.in
+++ /dev/null
@@ -1,8 +0,0 @@
-name = NSS-FIPS
-nssLibraryDirectory = @NSS_LIBDIR@
-nssSecmodDirectory = sql:/etc/pki/nssdb
-nssDbMode = readOnly
-nssModule = fips
-
-attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }
-
diff --git a/openjdk_news.sh b/openjdk_news.sh
index 560b356..386aa53 100755
--- a/openjdk_news.sh
+++ b/openjdk_news.sh
@@ -18,8 +18,8 @@
OLD_RELEASE=$1
NEW_RELEASE=$2
-SUBDIR=$3
-REPO=$4
+REPO=$3
+SUBDIR=$4
SCRIPT_DIR=$(dirname ${0})
if test "x${SUBDIR}" = "x"; then
diff --git a/rh1648644-java_access_bridge_privileged_security.patch b/rh1648644-java_access_bridge_privileged_security.patch
deleted file mode 100644
index 53026ad..0000000
--- a/rh1648644-java_access_bridge_privileged_security.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- openjdk/src/java.base/share/conf/security/java.security
-+++ openjdk/src/java.base/share/conf/security/java.security
-@@ -304,6 +304,8 @@
- #
- package.access=sun.misc.,\
- sun.reflect.,\
-+ org.GNOME.Accessibility.,\
-+ org.GNOME.Bonobo.,\
-
- #
- # List of comma-separated packages that start with or equal this string
-@@ -316,6 +318,8 @@
- #
- package.definition=sun.misc.,\
- sun.reflect.,\
-+ org.GNOME.Accessibility.,\
-+ org.GNOME.Bonobo.,\
-
- #
- # Determines whether this properties file can be appended to
diff --git a/sources b/sources
index 47996d1..0c780d7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (openjdk-jdk17u-jdk-17.0.8+7.tar.xz) = 52bd1002cffafc6fc613b3ee1c62bfc3f27f31d5e1810ebb8f556a725ebb310508885762079589f15be5da63388214525128b77d2a665bae9fccfc419ab5d6a1
+SHA512 (openjdk-17.0.9+9.tar.xz) = 33225a1070077c9504b4857734305f301e51b93a929274d460ddc3dc042ce15943030f8af928c11962743a928619ea39daa453d8fb1c8ea5a334a4b6490a00ee
6 months, 1 week
Architecture specific change in rpms/rust-fs-set-times.git
by githook-noreply@fedoraproject.org
The package rpms/rust-fs-set-times.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-fs-set-times.git/commit/?id=...
https://src.fedoraproject.org/cgit/rpms/rust-fs-set-times.git/commit/?id=...
https://src.fedoraproject.org/cgit/rpms/rust-fs-set-times.git/commit/?id=...
https://src.fedoraproject.org/cgit/rpms/rust-fs-set-times.git/commit/?id=....
Change:
-ExclusiveArch: %{rust_arches}
+ExclusiveArch: %{rust_arches}
-ExclusiveArch: %{rust_arches}
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit cdfea05af58f8fcf76d96658abd920ca32dd4345
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Thu Nov 23 14:43:52 2023 +0100
Update to version 0.20.0
diff --git a/.gitignore b/.gitignore
index 0d68e52..de2ef8a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/fs-set-times-0.14.0.crate
/fs-set-times-0.14.1.crate
/fs-set-times-0.15.0.crate
+/fs-set-times-0.20.0.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index f464679..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-fs-set-times
-
-The rust-fs-set-times package
diff --git a/changelog b/changelog
index 5247ecb..d3a48e6 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,15 @@
+* Thu Nov 23 2023 Fabio Valentini <decathorpe(a)gmail.com> 0.20.0-1
+- Update to version 0.20.0
+
+* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> 0.15.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Wed Apr 13 2022 Fabio Valentini <decathorpe(a)gmail.com> 0.15.0-1
+- Update to version 0.15.0
+
+* Fri Feb 04 2022 Fabio Valentini <decathorpe(a)gmail.com> 0.14.1-1
+- Update to version 0.14.1
+
* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
diff --git a/fs-set-times-fix-metadata-auto.diff b/fs-set-times-fix-metadata-auto.diff
new file mode 100644
index 0000000..e5d706b
--- /dev/null
+++ b/fs-set-times-fix-metadata-auto.diff
@@ -0,0 +1,12 @@
+--- fs-set-times-0.20.0/Cargo.toml 1970-01-01T00:00:01+00:00
++++ fs-set-times-0.20.0/Cargo.toml 2023-11-05T00:03:34.202139+00:00
+@@ -37,9 +37,3 @@
+ "time",
+ ]
+
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.48.0"
+-features = [
+- "Win32_Foundation",
+- "Win32_Storage_FileSystem",
+-]
diff --git a/fs-set-times-fix-metadata.diff b/fs-set-times-fix-metadata.diff
deleted file mode 100644
index b22620b..0000000
--- a/fs-set-times-fix-metadata.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- fs-set-times-0.15.0/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ fs-set-times-0.15.0/Cargo.toml 2022-04-13T22:35:23.127723+00:00
-@@ -26,8 +26,5 @@
- default-features = false
- [target."cfg(not(windows))".dependencies.rustix]
- version = "0.33.0"
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3.9"
--features = ["winerror"]
- [badges.maintenance]
- status = "actively-developed"
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
index 2dbda91..0c38b26 100644
--- a/rust-fs-set-times.spec
+++ b/rust-fs-set-times.spec
@@ -1,25 +1,21 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 25
%bcond_without check
%global debug_package %{nil}
%global crate fs-set-times
-Name: rust-%{crate}
-Version: 0.15.0
+Name: rust-fs-set-times
+Version: 0.20.0
Release: %autorelease
Summary: Set filesystem timestamps
-# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-License: ASL 2.0 or MIT
+License: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
URL: https://crates.io/crates/fs-set-times
Source: %{crates_source}
-# Initial patched metadata
-# * drop windows-specific dependencies
-Patch0: fs-set-times-fix-metadata.diff
+# Automatically generated patch to strip dependencies and normalize metadata
+Patch: fs-set-times-fix-metadata-auto.diff
-ExclusiveArch: %{rust_arches}
-
-BuildRequires: rust-packaging >= 21
+BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
Set filesystem timestamps.}
@@ -59,7 +55,7 @@ use the "default" feature of the "%{crate}" crate.
%ghost %{crate_instdir}/Cargo.toml
%prep
-%autosetup -n %{crate}-%{version_no_tilde} -p1
+%autosetup -n %{crate}-%{version} -p1
%cargo_prep
%generate_buildrequires
diff --git a/sources b/sources
index bb6e9f3..522e7c9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (fs-set-times-0.15.0.crate) = 27018526e807f6e265e833465ea390295cbfa7083a0b49ff03668f503c3f249e9bfa4adf86d1722e83e898192f4aded65b5881be6d13ad20d84354c87a4d1f30
+SHA512 (fs-set-times-0.20.0.crate) = e51001c743ab03c02a95e14ff4c0dc9834ba97b41c491ca54d709e0d5aee119ffbad0755a6c2e810fad842eed0bcab2519d117745152176be78feedd047631c7
commit e468e0443d0c2ee08f094c3f80df5edf41af61ac
Author: Tomas Hrcka <thrcka(a)redhat.com>
Date: Thu Nov 23 08:32:24 2023 +0100
Unretirement request: https://pagure.io/releng/issue/11799
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0d68e52
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/fs-set-times-0.3.1.crate
+/fs-set-times-0.14.0.crate
+/fs-set-times-0.14.1.crate
+/fs-set-times-0.15.0.crate
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f464679
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# rust-fs-set-times
+
+The rust-fs-set-times package
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..5247ecb
--- /dev/null
+++ b/changelog
@@ -0,0 +1,12 @@
+* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Sat Dec 4 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.14.0-1
+- Update to upstream 0.14.0 (fixes rhbz#1976478)
+
+* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.3.1-2
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 31 20:37:18 CEST 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.3.1-1
+- Initial package
diff --git a/dead.package b/dead.package
deleted file mode 100644
index 0d143d3..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-unused as effort to package wasmtime is abandoned
diff --git a/fs-set-times-fix-metadata.diff b/fs-set-times-fix-metadata.diff
new file mode 100644
index 0000000..b22620b
--- /dev/null
+++ b/fs-set-times-fix-metadata.diff
@@ -0,0 +1,11 @@
+--- fs-set-times-0.15.0/Cargo.toml 1970-01-01T00:00:01+00:00
++++ fs-set-times-0.15.0/Cargo.toml 2022-04-13T22:35:23.127723+00:00
+@@ -26,8 +26,5 @@
+ default-features = false
+ [target."cfg(not(windows))".dependencies.rustix]
+ version = "0.33.0"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = ["winerror"]
+ [badges.maintenance]
+ status = "actively-developed"
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
new file mode 100644
index 0000000..2dbda91
--- /dev/null
+++ b/rust-fs-set-times.spec
@@ -0,0 +1,80 @@
+# Generated by rust2rpm 21
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate fs-set-times
+
+Name: rust-%{crate}
+Version: 0.15.0
+Release: %autorelease
+Summary: Set filesystem timestamps
+
+# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+License: ASL 2.0 or MIT
+URL: https://crates.io/crates/fs-set-times
+Source: %{crates_source}
+# Initial patched metadata
+# * drop windows-specific dependencies
+Patch0: fs-set-times-fix-metadata.diff
+
+ExclusiveArch: %{rust_arches}
+
+BuildRequires: rust-packaging >= 21
+
+%global _description %{expand:
+Set filesystem timestamps.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
+
+%files devel
+%license %{crate_instdir}/COPYRIGHT
+%license %{crate_instdir}/LICENSE-APACHE
+%license %{crate_instdir}/LICENSE-Apache-2.0_WITH_LLVM-exception
+%license %{crate_instdir}/LICENSE-MIT
+%doc %{crate_instdir}/CODE_OF_CONDUCT.md
+%doc %{crate_instdir}/ORG_CODE_OF_CONDUCT.md
+%doc %{crate_instdir}/README.md
+%doc %{crate_instdir}/SECURITY.md
+%{crate_instdir}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog
diff --git a/sources b/sources
new file mode 100644
index 0000000..bb6e9f3
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (fs-set-times-0.15.0.crate) = 27018526e807f6e265e833465ea390295cbfa7083a0b49ff03668f503c3f249e9bfa4adf86d1722e83e898192f4aded65b5881be6d13ad20d84354c87a4d1f30
commit 5165a5a30e0e56d8f0272742d3417a55aec456f8
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Tue Aug 9 18:37:11 2022 +0200
unused as effort to package wasmtime is abandoned
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 0d68e52..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/fs-set-times-0.3.1.crate
-/fs-set-times-0.14.0.crate
-/fs-set-times-0.14.1.crate
-/fs-set-times-0.15.0.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index f464679..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-fs-set-times
-
-The rust-fs-set-times package
diff --git a/changelog b/changelog
deleted file mode 100644
index 5247ecb..0000000
--- a/changelog
+++ /dev/null
@@ -1,12 +0,0 @@
-* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Sat Dec 4 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.14.0-1
-- Update to upstream 0.14.0 (fixes rhbz#1976478)
-
-* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.3.1-2
-- Second attempt - Rebuilt for
- https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Mon May 31 20:37:18 CEST 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.3.1-1
-- Initial package
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..0d143d3
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+unused as effort to package wasmtime is abandoned
diff --git a/fs-set-times-fix-metadata.diff b/fs-set-times-fix-metadata.diff
deleted file mode 100644
index b22620b..0000000
--- a/fs-set-times-fix-metadata.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- fs-set-times-0.15.0/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ fs-set-times-0.15.0/Cargo.toml 2022-04-13T22:35:23.127723+00:00
-@@ -26,8 +26,5 @@
- default-features = false
- [target."cfg(not(windows))".dependencies.rustix]
- version = "0.33.0"
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3.9"
--features = ["winerror"]
- [badges.maintenance]
- status = "actively-developed"
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
deleted file mode 100644
index 2dbda91..0000000
--- a/rust-fs-set-times.spec
+++ /dev/null
@@ -1,80 +0,0 @@
-# Generated by rust2rpm 21
-%bcond_without check
-%global debug_package %{nil}
-
-%global crate fs-set-times
-
-Name: rust-%{crate}
-Version: 0.15.0
-Release: %autorelease
-Summary: Set filesystem timestamps
-
-# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-License: ASL 2.0 or MIT
-URL: https://crates.io/crates/fs-set-times
-Source: %{crates_source}
-# Initial patched metadata
-# * drop windows-specific dependencies
-Patch0: fs-set-times-fix-metadata.diff
-
-ExclusiveArch: %{rust_arches}
-
-BuildRequires: rust-packaging >= 21
-
-%global _description %{expand:
-Set filesystem timestamps.}
-
-%description %{_description}
-
-%package devel
-Summary: %{summary}
-BuildArch: noarch
-
-%description devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "%{crate}" crate.
-
-%files devel
-%license %{crate_instdir}/COPYRIGHT
-%license %{crate_instdir}/LICENSE-APACHE
-%license %{crate_instdir}/LICENSE-Apache-2.0_WITH_LLVM-exception
-%license %{crate_instdir}/LICENSE-MIT
-%doc %{crate_instdir}/CODE_OF_CONDUCT.md
-%doc %{crate_instdir}/ORG_CODE_OF_CONDUCT.md
-%doc %{crate_instdir}/README.md
-%doc %{crate_instdir}/SECURITY.md
-%{crate_instdir}/
-
-%package -n %{name}+default-devel
-Summary: %{summary}
-BuildArch: noarch
-
-%description -n %{name}+default-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "default" feature of the "%{crate}" crate.
-
-%files -n %{name}+default-devel
-%ghost %{crate_instdir}/Cargo.toml
-
-%prep
-%autosetup -n %{crate}-%{version_no_tilde} -p1
-%cargo_prep
-
-%generate_buildrequires
-%cargo_generate_buildrequires
-
-%build
-%cargo_build
-
-%install
-%cargo_install
-
-%if %{with check}
-%check
-%cargo_test
-%endif
-
-%changelog
-%autochangelog
diff --git a/sources b/sources
deleted file mode 100644
index bb6e9f3..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (fs-set-times-0.15.0.crate) = 27018526e807f6e265e833465ea390295cbfa7083a0b49ff03668f503c3f249e9bfa4adf86d1722e83e898192f4aded65b5881be6d13ad20d84354c87a4d1f30
commit 0e28095ea459d39b3f0feaf7a4f94a5782a5da07
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jul 23 04:10:51 2022 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit 4e1b68409ec2208be973ea12e0bc6038a151ec93
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Thu Apr 14 00:37:16 2022 +0200
Update to version 0.15.0
diff --git a/.gitignore b/.gitignore
index 30af372..0d68e52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/fs-set-times-0.3.1.crate
/fs-set-times-0.14.0.crate
/fs-set-times-0.14.1.crate
+/fs-set-times-0.15.0.crate
diff --git a/fs-set-times-fix-metadata.diff b/fs-set-times-fix-metadata.diff
index 38af50c..b22620b 100644
--- a/fs-set-times-fix-metadata.diff
+++ b/fs-set-times-fix-metadata.diff
@@ -1,9 +1,9 @@
---- fs-set-times-0.14.1/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ fs-set-times-0.14.1/Cargo.toml 2022-02-03T18:39:27.910002+00:00
+--- fs-set-times-0.15.0/Cargo.toml 1970-01-01T00:00:01+00:00
++++ fs-set-times-0.15.0/Cargo.toml 2022-04-13T22:35:23.127723+00:00
@@ -26,8 +26,5 @@
default-features = false
[target."cfg(not(windows))".dependencies.rustix]
- version = "0.31.0"
+ version = "0.33.0"
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3.9"
-features = ["winerror"]
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
index 940d0d0..2dbda91 100644
--- a/rust-fs-set-times.spec
+++ b/rust-fs-set-times.spec
@@ -1,11 +1,11 @@
-# Generated by rust2rpm 20
+# Generated by rust2rpm 21
%bcond_without check
%global debug_package %{nil}
%global crate fs-set-times
Name: rust-%{crate}
-Version: 0.14.1
+Version: 0.15.0
Release: %autorelease
Summary: Set filesystem timestamps
@@ -19,7 +19,7 @@ Patch0: fs-set-times-fix-metadata.diff
ExclusiveArch: %{rust_arches}
-BuildRequires: rust-packaging
+BuildRequires: rust-packaging >= 21
%global _description %{expand:
Set filesystem timestamps.}
@@ -36,9 +36,15 @@ This package contains library source intended for building other packages which
use the "%{crate}" crate.
%files devel
-%license COPYRIGHT LICENSE-APACHE LICENSE-Apache-2.0_WITH_LLVM-exception LICENSE-MIT
-%doc CODE_OF_CONDUCT.md ORG_CODE_OF_CONDUCT.md README.md SECURITY.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/COPYRIGHT
+%license %{crate_instdir}/LICENSE-APACHE
+%license %{crate_instdir}/LICENSE-Apache-2.0_WITH_LLVM-exception
+%license %{crate_instdir}/LICENSE-MIT
+%doc %{crate_instdir}/CODE_OF_CONDUCT.md
+%doc %{crate_instdir}/ORG_CODE_OF_CONDUCT.md
+%doc %{crate_instdir}/README.md
+%doc %{crate_instdir}/SECURITY.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -50,7 +56,7 @@ This package contains library source intended for building other packages which
use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
diff --git a/sources b/sources
index 4569e30..bb6e9f3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (fs-set-times-0.14.1.crate) = b0ea07a1501a40392c36518f980eadd8560f2698b02a5da6b695aaba5dd4173abc6906b1925fa80a5b78b5147f1b4281e0a68ea1bd5642c15f8571914454f2d3
+SHA512 (fs-set-times-0.15.0.crate) = 27018526e807f6e265e833465ea390295cbfa7083a0b49ff03668f503c3f249e9bfa4adf86d1722e83e898192f4aded65b5881be6d13ad20d84354c87a4d1f30
commit 2c3e4dea3bcb3ce58bfad94c0bbb4253c505157c
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Fri Feb 4 17:02:14 2022 +0100
Update to version 0.14.1
diff --git a/.gitignore b/.gitignore
index 171ab11..30af372 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/fs-set-times-0.3.1.crate
/fs-set-times-0.14.0.crate
+/fs-set-times-0.14.1.crate
diff --git a/fs-set-times-fix-metadata.diff b/fs-set-times-fix-metadata.diff
index 677b32a..38af50c 100644
--- a/fs-set-times-fix-metadata.diff
+++ b/fs-set-times-fix-metadata.diff
@@ -1,13 +1,11 @@
---- fs-set-times-0.14.0/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ fs-set-times-0.14.0/Cargo.toml 2021-12-04T18:33:27.301436+00:00
-@@ -25,9 +25,6 @@
- version = "0.4.0"
+--- fs-set-times-0.14.1/Cargo.toml 1970-01-01T00:00:01+00:00
++++ fs-set-times-0.14.1/Cargo.toml 2022-02-03T18:39:27.910002+00:00
+@@ -26,8 +26,5 @@
default-features = false
[target."cfg(not(windows))".dependencies.rustix]
--version = "0.27.0"
+ version = "0.31.0"
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3.9"
-features = ["winerror"]
-+version = "0.29"
[badges.maintenance]
status = "actively-developed"
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
index 188c1eb..940d0d0 100644
--- a/rust-fs-set-times.spec
+++ b/rust-fs-set-times.spec
@@ -1,35 +1,28 @@
-# Generated by rust2rpm 18
+# Generated by rust2rpm 20
%bcond_without check
%global debug_package %{nil}
%global crate fs-set-times
Name: rust-%{crate}
-Version: 0.14.0
+Version: 0.14.1
Release: %autorelease
Summary: Set filesystem timestamps
# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
-License: ASL 2.0 with exceptions or ASL 2.0 or MIT
+License: ASL 2.0 or MIT
URL: https://crates.io/crates/fs-set-times
Source: %{crates_source}
# Initial patched metadata
-# - Remove windows-only dependency winapi
-# - Bump rustix
+# * drop windows-specific dependencies
Patch0: fs-set-times-fix-metadata.diff
ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
BuildRequires: rust-packaging
%global _description %{expand:
-Set filesystem timestamps.
-
-Rust crate fs-set-times provides functions to set timestamps on files,
-directories, and other filesystem objects.}
+Set filesystem timestamps.}
%description %{_description}
@@ -39,14 +32,12 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%doc README.md SECURITY.md
-%doc CODE_OF_CONDUCT.md ORG_CODE_OF_CONDUCT.md
-%license LICENSE-APACHE LICENSE-MIT COPYRIGHT
-%license LICENSE-Apache-2.0_WITH_LLVM-exception
+%license COPYRIGHT LICENSE-APACHE LICENSE-Apache-2.0_WITH_LLVM-exception LICENSE-MIT
+%doc CODE_OF_CONDUCT.md ORG_CODE_OF_CONDUCT.md README.md SECURITY.md
%{cargo_registry}/%{crate}-%{version_no_tilde}/
%package -n %{name}+default-devel
@@ -55,8 +46,8 @@ BuildArch: noarch
%description -n %{name}+default-devel %{_description}
-This package contains library source intended for building other packages
-which use "default" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
diff --git a/sources b/sources
index 5ff0d07..4569e30 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (fs-set-times-0.14.0.crate) = 8d83aa78939082439c514b768c31ec6ed7b64b8584904d9531bbadeecd0a8aeea526ec48e8769cddd7bac6c13cf9b5d7ec8c0211635e9c2abd3837562c8170d4
+SHA512 (fs-set-times-0.14.1.crate) = b0ea07a1501a40392c36518f980eadd8560f2698b02a5da6b695aaba5dd4173abc6906b1925fa80a5b78b5147f1b4281e0a68ea1bd5642c15f8571914454f2d3
commit 93b2659df3304b8fc13cac423947687bd86875b7
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Thu Feb 3 19:39:04 2022 +0100
convert to rpmautospec
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..5247ecb
--- /dev/null
+++ b/changelog
@@ -0,0 +1,12 @@
+* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Sat Dec 4 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.14.0-1
+- Update to upstream 0.14.0 (fixes rhbz#1976478)
+
+* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.3.1-2
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 31 20:37:18 CEST 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.3.1-1
+- Initial package
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
index b334377..188c1eb 100644
--- a/rust-fs-set-times.spec
+++ b/rust-fs-set-times.spec
@@ -6,7 +6,7 @@
Name: rust-%{crate}
Version: 0.14.0
-Release: 2%{?dist}
+Release: %autorelease
Summary: Set filesystem timestamps
# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
@@ -80,15 +80,4 @@ which use "default" feature of "%{crate}" crate.
%endif
%changelog
-* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Sat Dec 4 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.14.0-1
-- Update to upstream 0.14.0 (fixes rhbz#1976478)
-
-* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.3.1-2
-- Second attempt - Rebuilt for
- https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Mon May 31 20:37:18 CEST 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.3.1-1
-- Initial package
+%autochangelog
commit 38da6c49f430093324bcb79107c5b7f5de5eb497
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 21 20:59:29 2022 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
index 2b025ed..b334377 100644
--- a/rust-fs-set-times.spec
+++ b/rust-fs-set-times.spec
@@ -6,7 +6,7 @@
Name: rust-%{crate}
Version: 0.14.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Set filesystem timestamps
# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
@@ -80,6 +80,9 @@ which use "default" feature of "%{crate}" crate.
%endif
%changelog
+* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.14.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
* Sat Dec 4 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.14.0-1
- Update to upstream 0.14.0 (fixes rhbz#1976478)
commit 4a2402bbee77906839d927351a8447186c982223
Author: Olivier Lemasle <o.lemasle(a)gmail.com>
Date: Sat Dec 4 19:36:59 2021 +0100
Update to upstream 0.14.0 (fixes rhbz#1976478)
diff --git a/.gitignore b/.gitignore
index 03e74d3..171ab11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/fs-set-times-0.3.1.crate
+/fs-set-times-0.14.0.crate
diff --git a/fs-set-times-fix-metadata.diff b/fs-set-times-fix-metadata.diff
index 1298536..677b32a 100644
--- a/fs-set-times-fix-metadata.diff
+++ b/fs-set-times-fix-metadata.diff
@@ -1,11 +1,13 @@
---- fs-set-times-0.3.1/Cargo.toml 1970-01-01T00:00:00+00:00
-+++ fs-set-times-0.3.1/Cargo.toml 2021-05-29T19:36:17.987792+00:00
-@@ -26,8 +26,5 @@
- version = "0.6.0"
- [target."cfg(not(windows))".dependencies.posish]
- version = "0.6.1"
+--- fs-set-times-0.14.0/Cargo.toml 1970-01-01T00:00:01+00:00
++++ fs-set-times-0.14.0/Cargo.toml 2021-12-04T18:33:27.301436+00:00
+@@ -25,9 +25,6 @@
+ version = "0.4.0"
+ default-features = false
+ [target."cfg(not(windows))".dependencies.rustix]
+-version = "0.27.0"
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3.9"
-features = ["winerror"]
++version = "0.29"
[badges.maintenance]
status = "actively-developed"
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
index 30dac76..2b025ed 100644
--- a/rust-fs-set-times.spec
+++ b/rust-fs-set-times.spec
@@ -1,12 +1,12 @@
-# Generated by rust2rpm 17
+# Generated by rust2rpm 18
%bcond_without check
%global debug_package %{nil}
%global crate fs-set-times
Name: rust-%{crate}
-Version: 0.3.1
-Release: 2%{?dist}
+Version: 0.14.0
+Release: 1%{?dist}
Summary: Set filesystem timestamps
# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
@@ -14,7 +14,8 @@ License: ASL 2.0 with exceptions or ASL 2.0 or MIT
URL: https://crates.io/crates/fs-set-times
Source: %{crates_source}
# Initial patched metadata
-# Remove windows-only dependency winapi
+# - Remove windows-only dependency winapi
+# - Bump rustix
Patch0: fs-set-times-fix-metadata.diff
ExclusiveArch: %{rust_arches}
@@ -79,6 +80,9 @@ which use "default" feature of "%{crate}" crate.
%endif
%changelog
+* Sat Dec 4 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.14.0-1
+- Update to upstream 0.14.0 (fixes rhbz#1976478)
+
* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.3.1-2
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
diff --git a/sources b/sources
index d770559..5ff0d07 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (fs-set-times-0.3.1.crate) = 2dc4c72e4d2caac9f3d6fc7399a903f80e797c7880e043c31f83ebbaed555c2a05eb9531944975b3a23880bfc90c2ca07763522f92ebbb3ae82204b24bc5dfa7
+SHA512 (fs-set-times-0.14.0.crate) = 8d83aa78939082439c514b768c31ec6ed7b64b8584904d9531bbadeecd0a8aeea526ec48e8769cddd7bac6c13cf9b5d7ec8c0211635e9c2abd3837562c8170d4
commit 7839ff790c95f74950df1b946fa641125503c40b
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Tue Jul 27 09:01:04 2021 +0000
- Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
index aeca1e2..30dac76 100644
--- a/rust-fs-set-times.spec
+++ b/rust-fs-set-times.spec
@@ -6,7 +6,7 @@
Name: rust-%{crate}
Version: 0.3.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Set filesystem timestamps
# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
@@ -79,5 +79,9 @@ which use "default" feature of "%{crate}" crate.
%endif
%changelog
+* Tue Jul 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.3.1-2
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
* Mon May 31 20:37:18 CEST 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.3.1-1
- Initial package
commit 369f2209295678fa52c51c302d5b4bae7346d688
Author: Olivier Lemasle <o.lemasle(a)gmail.com>
Date: Mon Jun 7 22:18:03 2021 +0200
Initial import (#1966284)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..03e74d3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/fs-set-times-0.3.1.crate
diff --git a/fs-set-times-fix-metadata.diff b/fs-set-times-fix-metadata.diff
new file mode 100644
index 0000000..1298536
--- /dev/null
+++ b/fs-set-times-fix-metadata.diff
@@ -0,0 +1,11 @@
+--- fs-set-times-0.3.1/Cargo.toml 1970-01-01T00:00:00+00:00
++++ fs-set-times-0.3.1/Cargo.toml 2021-05-29T19:36:17.987792+00:00
+@@ -26,8 +26,5 @@
+ version = "0.6.0"
+ [target."cfg(not(windows))".dependencies.posish]
+ version = "0.6.1"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = ["winerror"]
+ [badges.maintenance]
+ status = "actively-developed"
diff --git a/rust-fs-set-times.spec b/rust-fs-set-times.spec
new file mode 100644
index 0000000..aeca1e2
--- /dev/null
+++ b/rust-fs-set-times.spec
@@ -0,0 +1,83 @@
+# Generated by rust2rpm 17
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate fs-set-times
+
+Name: rust-%{crate}
+Version: 0.3.1
+Release: 1%{?dist}
+Summary: Set filesystem timestamps
+
+# Upstream license specification: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+License: ASL 2.0 with exceptions or ASL 2.0 or MIT
+URL: https://crates.io/crates/fs-set-times
+Source: %{crates_source}
+# Initial patched metadata
+# Remove windows-only dependency winapi
+Patch0: fs-set-times-fix-metadata.diff
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Set filesystem timestamps.
+
+Rust crate fs-set-times provides functions to set timestamps on files,
+directories, and other filesystem objects.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%doc README.md SECURITY.md
+%doc CODE_OF_CONDUCT.md ORG_CODE_OF_CONDUCT.md
+%license LICENSE-APACHE LICENSE-MIT COPYRIGHT
+%license LICENSE-Apache-2.0_WITH_LLVM-exception
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Mon May 31 20:37:18 CEST 2021 Olivier Lemasle <o.lemasle(a)gmail.com> - 0.3.1-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..d770559
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (fs-set-times-0.3.1.crate) = 2dc4c72e4d2caac9f3d6fc7399a903f80e797c7880e043c31f83ebbaed555c2a05eb9531944975b3a23880bfc90c2ca07763522f92ebbb3ae82204b24bc5dfa7
6 months, 1 week