Architecture specific change in rpms/ispc.git
by githook-noreply@fedoraproject.org
The package rpms/ispc.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/ispc.git/commit/?id=3e4984621b891....
Change:
+ExcludeArch: ppc64le s390x
Thanks.
Full change:
============
commit 3e4984621b8914ef5fc035e2bf32e81b1f55dea7
Author: Luya Tshimbalanga <luya(a)fedoraproject.org>
Date: Tue Jun 9 01:34:31 2020 -0700
Update to 1.13.0 (#1827516)
Disable warning treated as error message
Only exclude ppc64le and s390x architectures
diff --git a/ispc.spec b/ispc.spec
index b1eee86..e21316d 100644
--- a/ispc.spec
+++ b/ispc.spec
@@ -27,16 +27,19 @@ BuildRequires: gcc-c++
BuildRequires: llvm-devel
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(python3)
-ExclusiveArch: %{arm} %{ix86} x86_64
+
# Hardcoded path from 32-bit glibc-devel needed to build
# See https://github.com/ispc/ispc/wiki/Building-ispc:-Linux-and-Mac-OS-X
%ifarch x86_64
BuildRequires: /usr/lib/crt1.o
%endif
-BuildRequires: zlib-devel
+BuildRequires: pkgconfig(zlib)
+
+# Exlcude architectures failing to build
+ExcludeArch: ppc64le s390x
# https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component...
-Patch0: 0001-Link-against-libclang-cpp.so.patch
+Patch0: 0001-Link-against-libclang-cpp.so.patch
%description
A compiler for a variant of the C programming language, with extensions for
@@ -56,6 +59,9 @@ sed -i 's|set(CMAKE_CXX_COMPILER "clang++")|set(CMAKE_CXX_COMPILER "g++")|g' CMa
# Delete unrecognized command options from gcc-c++
sed -i 's|-Wno-c99-extensions -Wno-deprecated-register||g' CMakeLists.txt
+# Suppress warning message as error
+sed -i 's| -Werror ||g' CMakeLists.txt
+
# Fix all Python shebangs recursively in .
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" .
@@ -88,6 +94,8 @@ popd
%changelog
* Fri Apr 24 2020 Fedora Release Monitoring <release-monitoring(a)fedoraproject.org> - 1.13.0-1
- Update to 1.13.0 (#1827516)
+- Disable warning treated as error message
+- Only exclude ppc64le and s390x architectures
* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.12.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
commit 5faa42b7d8bb216c193f75c301d12641f5002aa3
Author: Luya Tshimbalanga <luya(a)fedoraproject.org>
Date: Mon Jun 8 22:35:18 2020 -0700
Update to 1.13.0 (#1827516)
diff --git a/0001-Link-against-libclang-cpp.so.patch b/0001-Link-against-libclang-cpp.so.patch
index b4aa01c..faf8ae4 100644
--- a/0001-Link-against-libclang-cpp.so.patch
+++ b/0001-Link-against-libclang-cpp.so.patch
@@ -11,15 +11,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index bd3483ab..edc97376 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -164,7 +164,7 @@ set (ISPC_TARGETS
- avx512skx-i32x8 avx512skx-i32x16
- generic-1 generic-4 generic-8 generic-16 generic-32 generic-64)
+@@ -209,7 +209,7 @@
+ endif()
+ endif()
-set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
+set(CLANG_LIBRARY_LIST clang-cpp)
- set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker)
- # Component "option" was introduced in 3.3 and starting with 3.4 it is required for the link step.
- if (${LLVM_VERSION_NUMBER} VERSION_GREATER "3.3.0")
+ set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker option)
+
+ if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "10.0.0")
--
2.20.1
diff --git a/ispc.spec b/ispc.spec
index 8808540..b1eee86 100644
--- a/ispc.spec
+++ b/ispc.spec
@@ -25,9 +25,8 @@ BuildRequires: doxygen
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: llvm-devel
-BuildRequires: ncurses-devel
+BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(python3)
-BuildRequires: /usr/bin/pathfix.py
ExclusiveArch: %{arm} %{ix86} x86_64
# Hardcoded path from 32-bit glibc-devel needed to build
# See https://github.com/ispc/ispc/wiki/Building-ispc:-Linux-and-Mac-OS-X
@@ -39,9 +38,6 @@ BuildRequires: zlib-devel
# https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component...
Patch0: 0001-Link-against-libclang-cpp.so.patch
-# Remove uses of llvm dump
-# Patch1: 0001-Remove-uses-of-LLVM-dump-functions.patch
-
%description
A compiler for a variant of the C programming language, with extensions for
"single program, multiple data" (SPMD) programming.
@@ -57,6 +53,9 @@ A compiler for a variant of the C programming language, with extensions for
sed -i 's|set(CMAKE_C_COMPILER "clang")|set(CMAKE_C_COMPILER "gcc")|g' CMakeLists.txt
sed -i 's|set(CMAKE_CXX_COMPILER "clang++")|set(CMAKE_CXX_COMPILER "g++")|g' CMakeLists.txt
+# Delete unrecognized command options from gcc-c++
+sed -i 's|-Wno-c99-extensions -Wno-deprecated-register||g' CMakeLists.txt
+
# Fix all Python shebangs recursively in .
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" .
@@ -66,7 +65,7 @@ mkdir build
pushd build
# Disable examples otherwise build fails
%cmake \
- -DCMAKE_BUILD_TYPE=release \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_EXE_LINKER_FLAGS="%{optflags} -fPIE" \
-DISPC_INCLUDE_EXAMPLES=OFF \
commit 04afd46ab1f7c32d08ff393b3ed96e592ab6108f
Author: Luya Tshimbalanga <luya(a)fedoraproject.org>
Date: Mon Jun 8 19:57:25 2020 -0700
Update to 1.13.0 (#1827516)
diff --git a/.gitignore b/.gitignore
index 3888d0f..5790cd1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
/ispc-34da2d2.tar.gz
/ispc-1.11.0.tar.gz
/ispc-1.12.0.tar.gz
+/ispc-1.13.0.tar.gz
diff --git a/ispc.spec b/ispc.spec
index f5c7de7..8808540 100644
--- a/ispc.spec
+++ b/ispc.spec
@@ -3,11 +3,11 @@
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: ispc
-Version: 1.12.0
+Version: 1.13.0
%if %{with_snapshot}
Release: 20190306.%{shortcommit}%{?dist}
%else
-Release: 4%{?dist}
+Release: 1%{?dist}
%endif
Summary: C-based SPMD programming language compiler
@@ -87,6 +87,9 @@ popd
%{_bindir}/check_isa
%changelog
+* Fri Apr 24 2020 Fedora Release Monitoring <release-monitoring(a)fedoraproject.org> - 1.13.0-1
+- Update to 1.13.0 (#1827516)
+
* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.12.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/sources b/sources
index bc6d05d..8fbd196 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (ispc-1.12.0.tar.gz) = 13b6b701326d8466c8da661002480b40958d4bb94495b10c29f069ecf6eb8fefaadf716481006bca6331b28139ee7a58e589c90f0150b3c327806d76cd9c334d
+SHA512 (ispc-1.13.0.tar.gz) = d23c127beb9bb17e1ad2509f9ad51dd660c473458b939a6b64ca7f6319b3c2f25318ea2ceac00e4100a059f3f67fb97b6973f18e3432c82ff9691f2a08d15d5d
3 years, 10 months
Architecture specific change in rpms/ispc.git
by githook-noreply@fedoraproject.org
The package rpms/ispc.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/ispc.git/commit/?id=3e4984621b891....
Change:
+ExcludeArch: ppc64le s390x
Thanks.
Full change:
============
commit 3e4984621b8914ef5fc035e2bf32e81b1f55dea7
Author: Luya Tshimbalanga <luya(a)fedoraproject.org>
Date: Tue Jun 9 01:34:31 2020 -0700
Update to 1.13.0 (#1827516)
Disable warning treated as error message
Only exclude ppc64le and s390x architectures
diff --git a/ispc.spec b/ispc.spec
index b1eee86..e21316d 100644
--- a/ispc.spec
+++ b/ispc.spec
@@ -27,16 +27,19 @@ BuildRequires: gcc-c++
BuildRequires: llvm-devel
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(python3)
-ExclusiveArch: %{arm} %{ix86} x86_64
+
# Hardcoded path from 32-bit glibc-devel needed to build
# See https://github.com/ispc/ispc/wiki/Building-ispc:-Linux-and-Mac-OS-X
%ifarch x86_64
BuildRequires: /usr/lib/crt1.o
%endif
-BuildRequires: zlib-devel
+BuildRequires: pkgconfig(zlib)
+
+# Exlcude architectures failing to build
+ExcludeArch: ppc64le s390x
# https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component...
-Patch0: 0001-Link-against-libclang-cpp.so.patch
+Patch0: 0001-Link-against-libclang-cpp.so.patch
%description
A compiler for a variant of the C programming language, with extensions for
@@ -56,6 +59,9 @@ sed -i 's|set(CMAKE_CXX_COMPILER "clang++")|set(CMAKE_CXX_COMPILER "g++")|g' CMa
# Delete unrecognized command options from gcc-c++
sed -i 's|-Wno-c99-extensions -Wno-deprecated-register||g' CMakeLists.txt
+# Suppress warning message as error
+sed -i 's| -Werror ||g' CMakeLists.txt
+
# Fix all Python shebangs recursively in .
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" .
@@ -88,6 +94,8 @@ popd
%changelog
* Fri Apr 24 2020 Fedora Release Monitoring <release-monitoring(a)fedoraproject.org> - 1.13.0-1
- Update to 1.13.0 (#1827516)
+- Disable warning treated as error message
+- Only exclude ppc64le and s390x architectures
* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.12.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
3 years, 10 months
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (2756)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: x86_64 %{ix86} %{arm}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- banshee
ExclusiveArch: %{mono_arches}
- banshee-community-extensions
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64
- calamares
ExclusiveArch: %{ix86} x86_64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- carto
ExclusiveArch: %{nodejs_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- cpu-x
ExclusiveArch: i686 x86_64
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- cryptlib
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64 ppc64le
ExclusiveArch: x86_64 ppc64le
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- discord-irc
ExclusiveArch: %{nodejs_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dotnet-build-reference-packages
ExclusiveArch: x86_64
- dotnet3.1
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- edac-utils
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- edb
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elasticdump
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- embree
ExclusiveArch: x86_64
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fes
ExclusiveArch: %{ix86} x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fst
ExclusiveArch: i686
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x %{power64}
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gela-asis
ExclusiveArch: %GPRbuild_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}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- 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-guitar
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}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-rpm-macros
ExclusiveArch: %{golang_arches} %{gccgo_arches}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{nodejs_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hedgewars
ExclusiveArch: %{fpc_arches}
- hip
ExclusiveArch: x86_64
- hsakmt
ExclusiveArch: x86_64 aarch64
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: %{arm} %{ix86} x86_64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jake
ExclusiveArch: %{nodejs_arches} noarch
- jasmine-node
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
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-kmailtransport
ExclusiveArch: x86_64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} 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}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kosmtik
ExclusiveArch: %{nodejs_arches} noarch
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lightdm
ExclusiveArch: x86_64 ppc64le
- lodash
ExclusiveArch: %{nodejs_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 s390x ppc64le
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mantle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} x86_64
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mnemosyne
ExclusiveArch: noarch %{qt5_qtwebengine_arches}
- mocha
ExclusiveArch: %{nodejs_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- 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
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mozilla-iot-gateway
ExclusiveArch: %{nodejs_arches} noarch
- mozilla-iot-gateway-addon-node
ExclusiveArch: %{nodejs_arches} noarch
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newsflash
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nim
ExclusiveArch: %{nim_arches}
- node-gyp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-Base64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-abbrev
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-dynamic-import
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn-jsx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-agentkeepalive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ain2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-align-text
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgcyan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bggreen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgmagenta
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgwhite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgyellow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-black
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-blue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bold
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-cyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-dim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-escapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-gray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-green
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-grey
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-hidden
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-inverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-italic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-magenta
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-red
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-reset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-strikethrough
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-styles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-underline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-white
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-wrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-yellow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansicolors
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansistyles
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-field
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-archy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-are-we-there-yet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-argparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-argsparser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-union
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-buffer-from-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-differ
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-find
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-find-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-foreach
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-ify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-unique
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arraybuffer-dot-slice
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arraybuffer-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arrify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ascii-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ascli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-asn1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assert-plus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assertion-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assume
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-async-arrays
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-limiter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-queue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-some
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asynckit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-atob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-auto-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-autoresolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-code-frame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-functions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-generators
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-runtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-babylon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backoff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-balanced-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-plugins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base32-encode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64id
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-batch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bcrypt
ExclusiveArch: %{nodejs_arches}
- nodejs-beeper
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-benchmark
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-than-before
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bignumber-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bind-obj-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bindings
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bit-mask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-blob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-block-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bluebird
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-body-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boolbase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-brace-expansion
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-braces
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-browser-stdout
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buf-compare
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-crc32
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bufferutil
ExclusiveArch: %{nodejs_arches}
- nodejs-builtin-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-builtins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bundle-dependencies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-burrito
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-busboy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-byline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cache-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caching-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-call-delayed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-matcher
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-me-maybe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-callback-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsites
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-carrier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caseless
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-center-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-as-promised
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-connect-middleware
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-json-schema
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-oauth2orize-grant
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-spies-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chalk
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-char-spinner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-character-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-chardet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-charenc
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-charm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-check-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-check-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-child-process-close
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chmodr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chownr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chroma-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chrono
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ci-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-circular-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-class-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clean-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clean-yaml-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clear-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-spinner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cliui
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-stats
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-closure-compiler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-co-with-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-code-point-at
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-coffee-coverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-collection-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-color-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colour
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-columnify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-combined-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commander
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-common-path-prefix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commondir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compare-func
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compare-versions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-inherit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-map
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-config-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-connect-livereload
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-dot-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-group
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-consolemd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constantinople
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-disposition
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-angular
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-atom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-ember
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-eslint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-express
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jquery
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jscs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-preset-loader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-filter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-hex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-jar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookiejar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-copy-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-core-assert
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-util-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-couch-login
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coveralls
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-crc
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn-async
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crypt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cryptiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csrf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-what
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cssom
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csurf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-generate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-spectrum
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ctype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-currently-unhandled
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cycle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cyclist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-d
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dargs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-data-uri-to-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dateformat
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-death
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-debug-fabulous
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debuglog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-decamelize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decamelize-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decimal-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dedent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-eql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deep-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-default-require-extensions
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defaults
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defence-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-define-properties
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defined
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dep-graph
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-depd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deprecated
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-newline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detective
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dezalgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dirty-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-discord-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-docopt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-doctrine
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-prop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dotfile-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dryice
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duration
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ebnf-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-echomd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-editor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ee-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-emojione
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-empty-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-end-of-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-ex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-abstract
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-to-primitive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es5-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es5-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-iterator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-promisify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escallmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-html
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-regexp-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escape-string-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escodegen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escope
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower-location-detector
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-espurify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esrecurse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse-fb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estree-walker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-event-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-everything-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-exit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-brackets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-tilde
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extend-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extended-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eyes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fancy-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fast-levenshtein
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fastfall
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-faucet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-faye-websocket
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-figures
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-file-entry-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-sync-cmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-filelist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filename-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fileset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fill-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fill-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-findup-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-first-chunk-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flagged-respawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flush-write-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fmix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-dot-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-in
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-for-own
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-foreach
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-foreground-child
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forever-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-form-data
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-formatio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-formidable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forwarded
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fragment-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-freetree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fresh
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-dot-notify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-cached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fs-ext
ExclusiveArch: %{nodejs_arches}
- nodejs-fs-temp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-vacuum
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-write-stream-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-ignore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-npm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-loop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gauge
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gaze
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gdal
ExclusiveArch: %{nodejs_arches}
- nodejs-generate-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generate-object-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-getobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-git-tails
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-github-url-from-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-username-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-expand
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-parent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-global-modules
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-global-prefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globby
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globule
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glogg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gonzales-pe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-graceful-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-readlink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-growl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-banner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-cli
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-compare-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-concat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-internal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-nodeunit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-uglify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-watch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-git-authors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-known-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gzip-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-handlebars
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-har-validator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-flag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-unicode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hash_file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hawk
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-heap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hex-to-array-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hoek
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-homedir-polyfill
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hook-std
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hooker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hosted-git-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hsluv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-deceiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-errors
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-signature
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-humanize-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i18n-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i2c
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv-lite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-iferr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ignore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-image-size
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-immutable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-import-local
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imul
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imurmurhash
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-indent-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inflight
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-info-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-inherits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherits1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ini
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-int64-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-intercept-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-interpret
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-invert-kv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ip
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ipaddr-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-irc-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-formatting
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-upd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irregular-plurals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-accessor-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrayish
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-boolean-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-builtin-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-callable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-data-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-date-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-dotfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-equal-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extendable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-finite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-fullwidth-code-point
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-generator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-my-json-valid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-negated-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-number
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-number-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-odd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-path-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-in-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-inside
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-plain-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-plain-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-primitive
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-registered
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-relative
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-subset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-text-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-typedarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-unc-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-valid-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-valid-instance
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-windows
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-isexe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-iso8601
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isodate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-coverage
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-hook
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-report
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-source-maps
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-reports
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jade
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-reporters
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jest-mock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison-lex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joose
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-namespace-depended
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-simplerequest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-base64
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-string-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-js-tokens
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-yaml
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jschardet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jscoverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-localizer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-stable-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stringify-safe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer-dot-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonselect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jwt-simple
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keep-alive-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-keygrip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keypress
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-kind-of
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-klaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-kuler2gpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lazy-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazystream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lcid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-formbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-hash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leche
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-left-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less-plugin-clean-css
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-levn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-libpq
ExclusiveArch: %{nodejs_arches}
- nodejs-libxmljs
ExclusiveArch: %{nodejs_arches}
- nodejs-line-numbers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-line-reader
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linkify-it
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-locate-character
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lockfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-log-driver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-ok
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lolex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-long
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-longest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loud-rejection
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lru-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-generator-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makeerror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik
ExclusiveArch: %{nodejs_arches}
- nodejs-mapnik-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik-vector-tile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-markdown
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-markdown-it-testgen
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-matched
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-max-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-maxmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mbtiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-md5
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-hex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-o-matic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mdn-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mdurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-media-typer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoizee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-merge-descriptors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-metascript
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-micromatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-millstone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mime-db
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mimeparse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimalistic-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minipass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-modify-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-module-not-found-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb-core
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-monocle
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-morgan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-muffin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multimatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiparty
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multipipe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-murmur-32
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mustache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mutate-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mute-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mysql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mz
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nan0
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomsg
ExclusiveArch: %{nodejs_arches}
- nodejs-nanoseconds
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ncp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-needle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-negative-zero
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-net-browserify-alt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-node-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-expat
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-node-int64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-static
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-stringprep
ExclusiveArch: %{nodejs_arches}
- nodejs-node-uuid
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nomnom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-noncharacters
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt-usage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-noptify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-normalize-git-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-cache-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-install-checks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-package-arg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-run-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-user-validate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npmlog
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nth-check
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-number-is-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-numeral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth2orize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-omit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-observable-to-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-obuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-okay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-finished
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-headers
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-once
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opener
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optionator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-orchestrator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ordered-read-streams
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-os-homedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-locale
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-tmpdir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-osenv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-output-file-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-own-or
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-own-or-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-finally
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-locate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-try
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packet-reader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pad-left
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-paperboy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parallel-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-github-repo-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parse-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-passwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parsejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseqs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseuri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pascalcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-http-bearer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-array
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-dirname
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-exists
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-inside
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-key
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pathval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pause
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-connection-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-cursor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-int8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-native
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-numeric
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-packet-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pgpass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkginfo
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-platform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-plur
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-posix-character-classes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-bytea
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-date
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-interval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-precond
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prelude-ls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-preserve
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-hrtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pretty-time
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prism-media
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-process-nextick-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proclaim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promises-aplus-tests
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prompt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promzard
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-propagate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-propget
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proto-list
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy-addr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxyquire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pruddy-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pseudomap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pubcontrol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pumpify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qtdatastream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-queue-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-quick-lru
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rainbowsocks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-random-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-random-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-randomatic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-range-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-raw-body
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-re-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-all-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readable-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-readdir-enhanced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdir-scoped-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-realize-package-specifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rechoir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-reduce-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-not
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-remove-trailing-separator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repeat-element
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeat-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeating
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-cs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-require-directory
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-inject
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-main-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-relative
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-uncached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-yaml
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requirejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-cwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-pkg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-response-time
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resumer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rewire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rhea
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-right-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rimraf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rndm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup-plugin-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-commonjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-node-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-pluginutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ronn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-runforcover
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safe-json-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safecb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-samsam
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sax
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-secure-random
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seedrandom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-semver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sentiment
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sequencify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serialize-error
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-server-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-blocking
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-getter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-set-immediate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-immediate-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-setimmediate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-setprototypeof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sha
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shallow-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-command
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs-nodecli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-format
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-showdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sigmund
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-signal-exit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-asyncify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-fmt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-single-line-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon-chai
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sinon-restore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slash
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sliced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slide
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-snapdragon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture-set
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snekfetch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sntp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socket-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sorted-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-fixtures
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sparkles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-spawn-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spawn-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-exceptions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-license-ids
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-speedometer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sqlite3
ExclusiveArch: %{nodejs_arches}
- nodejs-srs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ssri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-utils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-static-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-static-favicon
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-statuses
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-combiner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-consume
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-counter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-pair
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-replace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-shift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-spigot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-streamsearch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamtest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-repeat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-trim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string-width
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string_decoder
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringmap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-ansi
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-bom-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-color
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-eof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-json-comments
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-success-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-supertest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supports-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-suspend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-symbol-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-mocha-reporter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-out
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-spec
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-pack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp-write
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tempfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temporary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-liferay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-terst
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testdata-w3c-json-form
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testswarm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testutil
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-extensions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-thenify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thenify-all
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-through2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through2-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thunkify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tildify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tilelive-mapnik
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tiletype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-diff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-stamp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-timekeeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timers-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tiny-lr-fork
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tippex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tlds
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-object-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-regex-range
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-toidentifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-touch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tough-cookie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tracejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-transformers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-traverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-treeify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tressa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-trim-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim-off-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trivial-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-try-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-try-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tryor
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tsame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tslib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tsscmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tunnel-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tv4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-check
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-type-detect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-name
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uc-dot-micro
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uglify-to-browserify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uid-safe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ultron
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-umask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unc-path-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unicode-length
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unique-filename
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-slug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unpipe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unset-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uri-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-urix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-use
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-user-home
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-deprecate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utilities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utils-merge
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uuid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vali-date
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-validate-npm-package-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vhost
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vlq
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vow-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vows
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-walkdir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walker
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ware
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-warning-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-watershed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wbuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wcwidth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-websocket-driver
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-when
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-whet-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-which
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-win-spawn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-window-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-winston
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-with
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wolfy87-eventemitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-woothee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wordwrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrap-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wrap-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrappy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write-file-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ws
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xdg-basedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xml2js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xtend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-y18n
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yallist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yapool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yargs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yargs-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yeast
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zeropad
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zipfile
ExclusiveArch: %{nodejs_arches}
- nodejs-zlib-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zlibjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodeunit
ExclusiveArch: %{nodejs_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
- nwchem
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onedrive
ExclusiveArch: %{ldc_arches}
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: x86_64
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- paflib
ExclusiveArch: ppc %{power64}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdfmod
ExclusiveArch: %mono_arches
- peripety
ExclusiveArch: %{rust_arches}
- 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: i686 x86_64 ia64 aarch64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- pocl
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-javabridge
ExclusiveArch: i686 x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- reg
ExclusiveArch: x86_64
- renderdoc
ExclusiveArch: %{ix86} x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rmd
ExclusiveArch: x86_64
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rocminfo
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-connect
ExclusiveArch: %{rust_arches}
- rust-actix-files
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-server-config
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-testing
ExclusiveArch: %{rust_arches}
- rust-actix-threadpool
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-utils
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-alphanumeric-sort
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-anyhow
ExclusiveArch: %{rust_arches}
- rust-anymap
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-array-init
ExclusiveArch: %{rust_arches}
- rust-arraydeque
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-article_scraper
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-attohttpc
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-base64-0.10
ExclusiveArch: %{rust_arches}
- rust-base64-0.11
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-battery
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-better-panic
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-cipher-trait
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-box_drawing
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-brotli-sys
ExclusiveArch: %{rust_arches}
- rust-brotli2
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-buf_redux
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-c2-chacha
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-caps
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-bloat
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-color-backtrace
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copyless
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-any
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-darling
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-dashmap
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus0.2
ExclusiveArch: %{rust_arches}
- rust-dbus0.6
ExclusiveArch: %{rust_arches}
- rust-debug-helper
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diesel_migrations
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dissimilar
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-envsubst
ExclusiveArch: %{rust_arches}
- rust-erased-serde
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escaper
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-extend
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-feed-rs
ExclusiveArch: %{rust_arches}
- rust-feedbin_api
ExclusiveArch: %{rust_arches}
- rust-feedly_api
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-fever_api
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gcsf
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gspell
ExclusiveArch: %{rust_arches}
- rust-gspell-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-macros
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-headers-derive
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iron
ExclusiveArch: %{rust_arches}
- rust-isahc
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs-sys
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-letter-avatar
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libxml
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-liquid
ExclusiveArch: %{rust_arches}
- rust-liquid-core
ExclusiveArch: %{rust_arches}
- rust-liquid-derive
ExclusiveArch: %{rust_arches}
- rust-liquid-lib
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-lockfree
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-log4rs
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-magic-crypt
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-migrations_internals
ExclusiveArch: %{rust_arches}
- rust-migrations_macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-miniflux_api
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-multipart
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nalgebra
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-news-flash
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nickel
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-oorandom
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-path-absolutize
ExclusiveArch: %{rust_arches}
- rust-path-dedot
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pbr
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-peresil
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pipe
ExclusiveArch: %{rust_arches}
- rust-piper
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-dirs
ExclusiveArch: %{rust_arches}
- rust-platforms
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plugin
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-podio
ExclusiveArch: %{rust_arches}
- rust-pommes
ExclusiveArch: %{rust_arches}
- rust-ppv-lite86
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-predicates-core
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro-nested
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-quote
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest-derive
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-psutil
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-quoted_printable
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-ref-cast
ExclusiveArch: %{rust_arches}
- rust-ref-cast-impl
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-restson
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers
ExclusiveArch: %{rust_arches}
- rust-rust-embed
ExclusiveArch: %{rust_arches}
- rust-rust-embed-impl
ExclusiveArch: %{rust_arches}
- rust-rust-embed-utils
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustio
ExclusiveArch: %{rust_arches}
- rust-rustversion
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped-tls-hkt
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_repr
ExclusiveArch: %{rust_arches}
- rust-serde_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-size
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slash-formatter
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-snafu
ExclusiveArch: %{rust_arches}
- rust-snafu-derive
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-soup-sys
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-standback
ExclusiveArch: %{rust_arches}
- rust-starship
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stream-cipher
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-sxd-document
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn-mid
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysinfo
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target-lexicon
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-teloxide
ExclusiveArch: %{rust_arches}
- rust-teloxide-macros
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-testing_logger
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-thiserror
ExclusiveArch: %{rust_arches}
- rust-thiserror-impl
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiger-digest
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-io-pool
ExclusiveArch: %{rust_arches}
- rust-tokio-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.2
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-try_from
ExclusiveArch: %{rust_arches}
- rust-try_or
ExclusiveArch: %{rust_arches}
- rust-trybuild
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-category
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-unindent
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uom
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-v_escape
ExclusiveArch: %{rust_arches}
- rust-v_escape_derive
ExclusiveArch: %{rust_arches}
- rust-v_htmlescape
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-version-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vmw_backdoor
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-wayland-scanner
ExclusiveArch: %{rust_arches}
- rust-wayland-sys
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk-sys
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xml5ever
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-ytop
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seamonkey
ExclusiveArch: x86_64
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- source-to-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: x86_64
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- toolbox
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vapoursynth
ExclusiveArch: %{ix86} x86_64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmem
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- 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
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zola
ExclusiveArch: %{rust_arches}
3 years, 10 months
Architecture specific change in rpms/chromium.git
by githook-noreply@fedoraproject.org
The package rpms/chromium.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/chromium.git/commit/?id=7fd8d4b5e....
Change:
-%ifarch x86_64 i686 aarch64
Thanks.
Full change:
============
commit 3c5c85c4d8b4903af637f492057a51a84a8d4657
Merge: 326677e d301a21
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Mon Jun 8 11:51:33 2020 -0400
Merge branch 'master' into f31
commit d301a2158c78c5cd6d70d965beb92b9d9f3804ee
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 16:09:45 2020 -0400
moar python hax
diff --git a/chromium.spec b/chromium.spec
index 29c99c1..e8a8b7b 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1373,7 +1373,7 @@ ulimit -n 4096
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
-export PYTHONPATH="../../third_party/pyjson5/src"
+export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints"
echo
# Now do the full browser
commit e71658a1e7ff803a8d3277697896ee54ddaa9785
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 13:12:41 2020 -0400
moar bundling
diff --git a/chromium.spec b/chromium.spec
index 2d176ec..29c99c1 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1065,6 +1065,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \
'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \
'third_party/catapult/third_party/beautifulsoup4' \
+ 'third_party/catapult/third_party/google-endpoints' \
'third_party/catapult/third_party/html5lib-python' \
'third_party/catapult/third_party/polymer' \
'third_party/catapult/third_party/six' \
commit 7680524736ab9959c61a6e1d93a7c144877553fb
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 11:00:02 2020 -0400
fixup vaapi i686 patch
diff --git a/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
new file mode 100644
index 0000000..74fbb7d
--- /dev/null
+++ b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
@@ -0,0 +1,23 @@
+diff -up chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn
+--- chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive 2020-06-07 10:58:00.309383632 -0400
++++ chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn 2020-06-07 10:58:47.532340933 -0400
+@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni")
+ assert(is_linux) # is_chromeos is a subset of is_linux
+ assert(use_vaapi)
+
++config("vaapi_permissive") {
++ cflags = [ "-fpermissive" ]
++}
++
+ generate_stubs("libva_stubs") {
+ extra_header = "va_stub_header.fragment"
+ sigs = [ "va.sigs" ]
+@@ -108,6 +112,8 @@ source_set("vaapi") {
+ ]
+ }
+
++ configs += [ ":vaapi_permissive" ]
++
+ if (use_x11) {
+ configs += [ "//build/config/linux:x11" ]
+ deps += [ "//ui/gfx/x" ]
diff --git a/chromium.spec b/chromium.spec
index c444c07..2d176ec 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -275,7 +275,7 @@ Patch102: chromium-80.0.3987.132-el7-noexcept.patch
# Enable VAAPI support on Linux
# NOTE: This patch will never land upstream
Patch202: enable-vaapi.patch
-Patch203: chromium-80.0.3987.122-vaapi-i686-fpermissive.patch
+Patch203: chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch
# Apply these patches to work around EPEL8 issues
commit 7fd8d4b5edac81cb4cdebe3470b8daafeb48ecaa
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 10:43:48 2020 -0400
83.0.4103.97
diff --git a/chromium-83-gcc-ozone-wayland.patch b/chromium-83-gcc-ozone-wayland.patch
new file mode 100644
index 0000000..5b2c81c
--- /dev/null
+++ b/chromium-83-gcc-ozone-wayland.patch
@@ -0,0 +1,12 @@
+diff -up chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h
+--- chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland 2020-06-05 09:16:08.903282140 -0400
++++ chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h 2020-06-05 09:16:31.131863653 -0400
+@@ -68,7 +68,7 @@ class XDGSurfaceWrapperImpl : public She
+ static void CloseTopLevelV6(void* data,
+ struct zxdg_toplevel_v6* zxdg_toplevel_v6);
+
+- xdg_surface* xdg_surface() const;
++ struct xdg_surface* xdg_surface() const;
+ zxdg_surface_v6* zxdg_surface() const;
+
+ private:
diff --git a/chromium.spec b/chromium.spec
index bfb8776..c444c07 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -17,6 +17,9 @@
# We usually want this.
%global build_headless 1
+# This doesn't work and it doesn't even build as of Chromium 83
+%global build_remoting 0
+
# We'd like to always have this on.
%global use_vaapi 1
@@ -163,7 +166,7 @@ Name: chromium%{chromium_channel}%{nsuffix}
%else
Name: chromium%{chromium_channel}
%endif
-Version: %{majorversion}.0.4103.61
+Version: %{majorversion}.0.4103.97
Release: 1%{?dist}
%if %{?freeworld}
%if %{?shared}
@@ -260,6 +263,9 @@ Patch85: chromium-83-gcc-permissive.patch
Patch86: chromium-83-gcc-iterator.patch
# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
Patch87: chromium-83-gcc-serviceworker.patch
+# https://chromium.googlesource.com/chromium/src/+/0d3ef4b1247f766eed37c546...
+Patch88: chromium-83-gcc-ozone-wayland.patch
+
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -744,6 +750,7 @@ Shared libraries used by the chromium media subsystem.
%endif
%endif
+%if %{build_remoting}
%package -n chrome-remote-desktop
Requires(pre): shadow-utils
Requires(post): systemd
@@ -760,6 +767,7 @@ Summary: Remote desktop support for google-chrome & chromium
%description -n chrome-remote-desktop
Remote desktop support for google-chrome & chromium.
+%endif
%package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium
@@ -833,6 +841,7 @@ udev.
%patch85 -p1 -b .gcc-permissive
%patch86 -p1 -b .gcc-iterator2
%patch87 -p1 -b .gcc-serviceworker
+%patch88 -p1 -b .gcc-ozone-wayland
# Fedora branded user agent
%if 0%{?fedora}
@@ -944,7 +953,7 @@ CHROMIUM_CORE_GN_DEFINES+=' is_debug=false'
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"'
%endif
CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}" google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"'
-CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false fieldtrial_testing_like_official_build=true use_lld=false rtc_enable_symbol_export=true'
+CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false fieldtrial_testing_like_official_build=true use_lld=false use_ozone=true rtc_enable_symbol_export=true'
%if %{freeworld}
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS" proprietary_codecs=true'
%else
@@ -974,6 +983,7 @@ CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=fals
CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
+CHROMIUM_BROWSER_GN_DEFINES+=' ozone_platform="x11" ozone_platform_x11=true'
%if %{use_vaapi}
%if 0%{?fedora} >= 28
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
@@ -985,11 +995,11 @@ CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true'
export CHROMIUM_BROWSER_GN_DEFINES
CHROMIUM_HEADLESS_GN_DEFINES=""
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true'
+CHROMIUM_HEADLESS_GN_DEFINES+=' ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true'
CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=true icu_use_data_file=false v8_use_external_startup_data=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gio=false use_kerberos=false use_libpci=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false'
+CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false'
export CHROMIUM_HEADLESS_GN_DEFINES
%if 0%{?rhel} == 7
@@ -1081,6 +1091,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/devtools-frontend/src/third_party/axe-core' \
'third_party/devtools-frontend/src/third_party/typescript' \
'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \
+ 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \
'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \
'third_party/dom_distiller_js' \
'third_party/emoji-segmenter' \
@@ -1134,6 +1145,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/libyuv' \
'third_party/lss' \
'third_party/lzma_sdk' \
+ 'third_party/mako' \
%if 0%{?bundlepylibs}
'third_party/markupsafe' \
%endif
@@ -1176,6 +1188,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
%endif
'third_party/rnnoise' \
'third_party/s2cellid' \
+ 'third_party/schema_org' \
'third_party/simplejson' \
'third_party/sinonjs' \
'third_party/skia' \
@@ -1190,6 +1203,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/SPIRV-Tools' \
'third_party/sqlite' \
'third_party/swiftshader' \
+ 'third_party/swiftshader/third_party/astc-encoder' \
'third_party/swiftshader/third_party/llvm-subzero' \
'third_party/swiftshader/third_party/llvm-7.0' \
'third_party/swiftshader/third_party/marl' \
@@ -1200,6 +1214,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/usb_ids' \
'third_party/usrsctp' \
'third_party/vulkan' \
+ 'third_party/wayland' \
'third_party/web-animations-js' \
'third_party/webdriver' \
'third_party/webrtc' \
@@ -1327,7 +1342,9 @@ tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_D
%endif
%endif
+%if %{build_remoting}
%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
+%endif
%if %{bundlelibusbx}
# no hackity hack hack
@@ -1373,173 +1390,175 @@ echo
%build_target %{builddir} clear_key_cdm
%build_target %{builddir} policy_templates
+%if %{build_remoting}
# remote client
# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources
%build_target %{remotingbuilddir} remoting_all
%endif
+%endif
%install
rm -rf %{buildroot}
%if 0%{freeworld}
-mkdir -p %{buildroot}%{chromium_path}
-
-pushd %{builddir}
-cp -a libffmpeg.so* %{buildroot}%{chromium_path}
-cp -a libmedia.so* %{buildroot}%{chromium_path}
-mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
-popd
-%else
-mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{chromium_path}
-cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-export BUILD_TARGET=`cat /etc/redhat-release`
-export CHROMIUM_PATH=%{chromium_path}
-export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
-sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%if "%{chromium_channel}" == "%%{nil}"
-sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%else
-# Enable debug outputs for beta and dev channels
-export EXTRA_FLAGS="--enable-logging=stderr --v=2"
-sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%endif
-
-ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
-mkdir -p %{buildroot}%{_mandir}/man1/
-
-pushd %{builddir}
-cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
-# Reasonably sure we don't need this anymore. Chrome doesn't include it.
-%if 0
-cp -a protoc pyproto %{buildroot}%{chromium_path}
-%endif
-%ifarch x86_64 i686 aarch64
-cp -a swiftshader %{buildroot}%{chromium_path}
-%endif
-cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
-cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
-cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-# V8 initial snapshots
-# https://code.google.com/p/chromium/issues/detail?id=421063
-cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
-cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
-cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
-cp -a MEIPreload %{buildroot}%{chromium_path}
-%if 0%{?shared}
-cp -a lib*.so* %{buildroot}%{chromium_path}
-# cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora}
-cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
-%endif
-
-# chromedriver
-cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
-ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
-
-# Remote desktop bits
-mkdir -p %{buildroot}%{crd_path}
-
-%if 0%{?shared}
-pushd %{buildroot}%{crd_path}
-for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
- libname=`basename $i`
- ln -s $i $libname
-done
-popd
-%endif
-popd
-
-pushd %{remotingbuilddir}
-
-# See remoting/host/installer/linux/Makefile for logic
-cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
-cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
-cp -a remoting_locales %{buildroot}%{crd_path}/
-cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
-cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
-cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
-chmod +s %{buildroot}%{crd_path}/user-session
-
-# chromium
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
-# google-chrome
-mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
-cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
-for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
- sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
-done
-mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
-pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
-for i in ../../../chromium/native-messaging-hosts/*; do
-# rpm gets unhappy when we symlink here
- cp -a $i .
-done
-popd
-popd
-
-mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
-touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
-
-mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
-pushd %{buildroot}%{_sysconfdir}/pam.d/
-ln -s system-auth chrome-remote-desktop
-popd
-
-%if %{build_headless}
-pushd %{headlessbuilddir}
-cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
-popd
-%endif
-
-cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop
-cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
-
-mkdir -p %{buildroot}%{_unitdir}
-cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
-sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service
-
-# Add directories for policy management
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
-
-cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
-cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
-
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
-cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
-cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
-cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
-cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
-cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
-
-# Install the master_preferences file
-mkdir -p %{buildroot}%{_sysconfdir}/%{name}
-install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
-
-mkdir -p %{buildroot}%{_datadir}/applications/
-desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
-
-install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
-appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
-
-mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
-cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
-
-mkdir -p %{buildroot}%{chromium_path}/PepperFlash
+ mkdir -p %{buildroot}%{chromium_path}
+
+ pushd %{builddir}
+ cp -a libffmpeg.so* %{buildroot}%{chromium_path}
+ cp -a libmedia.so* %{buildroot}%{chromium_path}
+ mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
+ popd
+%else
+ mkdir -p %{buildroot}%{_bindir}
+ mkdir -p %{buildroot}%{chromium_path}
+ cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ export BUILD_TARGET=`cat /etc/redhat-release`
+ export CHROMIUM_PATH=%{chromium_path}
+ export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
+ sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %if "%{chromium_channel}" == "%%{nil}"
+ sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %else
+ # Enable debug outputs for beta and dev channels
+ export EXTRA_FLAGS="--enable-logging=stderr --v=2"
+ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %endif
+
+ ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
+ mkdir -p %{buildroot}%{_mandir}/man1/
+
+ pushd %{builddir}
+ cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
+ %ifarch x86_64 i686 aarch64
+ cp -a swiftshader %{buildroot}%{chromium_path}
+ %endif
+ cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
+ cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
+ cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ # V8 initial snapshots
+ # https://code.google.com/p/chromium/issues/detail?id=421063
+ cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
+ cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
+ cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
+ cp -a MEIPreload %{buildroot}%{chromium_path}
+ %if 0%{?shared}
+ cp -a lib*.so* %{buildroot}%{chromium_path}
+ # cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora}
+ cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
+ %endif
+
+ # chromedriver
+ cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
+ ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
+
+ %if %{build_remoting}
+ # Remote desktop bits
+ mkdir -p %{buildroot}%{crd_path}
+
+ %if 0%{?shared}
+ pushd %{buildroot}%{crd_path}
+ for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
+ libname=`basename $i`
+ ln -s $i $libname
+ done
+ popd
+ %endif
+ %endif
+ popd
+ %if %{build_remoting}
+ pushd %{remotingbuilddir}
+
+ # See remoting/host/installer/linux/Makefile for logic
+ cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
+ cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
+ cp -a remoting_locales %{buildroot}%{crd_path}/
+ cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
+ cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
+ cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
+ chmod +s %{buildroot}%{crd_path}/user-session
+
+ # chromium
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
+ # google-chrome
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
+ cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
+ for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
+ sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
+ done
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ for i in ../../../chromium/native-messaging-hosts/*; do
+ # rpm gets unhappy when we symlink here
+ cp -a $i .
+ done
+ popd
+ popd
+
+ mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
+ touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
+
+ mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
+ pushd %{buildroot}%{_sysconfdir}/pam.d/
+ ln -s system-auth chrome-remote-desktop
+ %endif
+
+ %if %{build_headless}
+ pushd %{headlessbuilddir}
+ cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
+ popd
+ %endif
+
+ %if %{build_remoting}
+ cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop
+ cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
+
+ mkdir -p %{buildroot}%{_unitdir}
+ cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
+ sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service
+ %endif
+
+ # Add directories for policy management
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
+
+ cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
+ cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
+
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
+ cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
+ cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
+ cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
+ cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
+ cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
+
+ # Install the master_preferences file
+ mkdir -p %{buildroot}%{_sysconfdir}/%{name}
+ install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
+
+ mkdir -p %{buildroot}%{_datadir}/applications/
+ desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
+
+ install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+ appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+
+ mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+ cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+
+ mkdir -p %{buildroot}%{chromium_path}/PepperFlash
# freeworld conditional
%endif
@@ -1554,12 +1573,14 @@ if selinuxenabled; then
restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || :
fi
+%if %{build_remoting}
%pretrans -n chrome-remote-desktop -p <lua>
path = "/etc/opt/chrome/native-messaging-hosts"
st = posix.stat(path)
if st and st.type == "link" then
os.remove(path)
end
+%endif
%if %{shared}
%if %{freeworld}
@@ -1599,6 +1620,7 @@ fi
%endif
%endif
+%if %{build_remoting}
%pre -n chrome-remote-desktop
getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop
@@ -1610,6 +1632,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%postun -n chrome-remote-desktop
%systemd_postun_with_restart chrome-remote-desktop@.service
+%endif
%if 0%{freeworld}
# We only build libs-media-freeworld.
@@ -1731,6 +1754,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/lib*.so*
%endif
+%if %{build_remoting}
%files -n chrome-remote-desktop
%{crd_path}/chrome-remote-desktop
%{crd_path}/chrome-remote-desktop-host
@@ -1748,6 +1772,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{crd_path}/user-session
%{_unitdir}/chrome-remote-desktop@.service
/var/lib/chrome-remote-desktop/
+%endif
%files -n chromedriver
%doc AUTHORS
@@ -1771,8 +1796,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%changelog
+* Sun Jun 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.97-1
+- update to 83.0.4103.97
+
* Tue Jun 2 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.61-1
- update to 83.0.4103.61
+- conditionalize and disable remoting
* Thu May 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 81.0.4044.138-1
- update to 81.0.4044.138
diff --git a/sources b/sources
index 6377866..55b9f3e 100644
--- a/sources
+++ b/sources
@@ -17,5 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0
SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f
SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (node-v10.15.3-linux-x64.tar.gz) = 5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20
-SHA512 (chromium-81.0.4044.138-clean.tar.xz) = 24c52a2b5973896ff823e989e92747fb3d71fed74a38eb970efd74492d1f980c9135334ec2c74cdafb1edc91d66d7195e66bb6ac38cb201cb3e08386e26665eb
-SHA512 (chromium-83.0.4103.61-clean.tar.xz) = 8a7c31e5de0dae571b402afac81eaa8ed21886f20a4f463ea2ed6e1007a6e80aa8334e001370f7245d46e94839dd249fc4bebab055b1e315bf98d26f57191d03
+SHA512 (chromium-83.0.4103.97-clean.tar.xz) = 00abd69dd041613e5cd3ad6c41f51013b05405b6f19e6b1acfc9709d738ac8c2adcfc67b64801f6583270a58849e2690e91b2ebcaf3b82a25b381b580426c1a4
commit 4f9d92dcdfd2750ccd7911b2a3be73fa4a01263e
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Tue Jun 2 16:41:45 2020 -0400
83
diff --git a/chromium-80.0.3987.87-missing-cstdint-header.patch b/chromium-80.0.3987.87-missing-cstdint-header.patch
index 755bff5..abeafa5 100644
--- a/chromium-80.0.3987.87-missing-cstdint-header.patch
+++ b/chromium-80.0.3987.87-missing-cstdint-header.patch
@@ -1,14 +1,3 @@
-diff -up chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h
---- chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint 2020-02-21 12:29:43.393191877 -0500
-+++ chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h 2020-02-21 12:29:43.393191877 -0500
-@@ -17,6 +17,7 @@
- #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
- #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
-
-+#include <cstdint>
- #include <functional>
-
- #include "perfetto/base/export.h"
diff -up chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h
--- chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint 2020-02-21 12:30:30.739332871 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h 2020-02-21 12:30:30.747332725 -0500
diff --git a/chromium-82-gcc-incomplete-type.patch b/chromium-82-gcc-incomplete-type.patch
new file mode 100644
index 0000000..a339340
--- /dev/null
+++ b/chromium-82-gcc-incomplete-type.patch
@@ -0,0 +1,53 @@
+From c0b32910da192edf1b41eb52c088d0213ab2807a Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Sun, 05 Apr 2020 08:29:21 +0000
+Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for NodeSetSizePosInSetInfo
+
+std::unordered_map<T, U> requires U to be fully declared. ax_tree.h
+has only forward declaration of NodeSetSizePosInSetInfo. Therefore,
+move declaration from ax_tree.cc.
+Bug: 957519
+Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868
+---
+
+diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
+index 7b8d9b1..e915402 100644
+--- a/ui/accessibility/ax_tree.cc
++++ b/ui/accessibility/ax_tree.cc
+@@ -567,14 +567,8 @@
+ const AXTree& tree;
+ };
+
+-struct AXTree::NodeSetSizePosInSetInfo {
+- NodeSetSizePosInSetInfo() = default;
+- ~NodeSetSizePosInSetInfo() = default;
+-
+- int32_t pos_in_set = 0;
+- int32_t set_size = 0;
+- base::Optional<int> lowest_hierarchical_level;
+-};
++AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default;
++AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default;
+
+ struct AXTree::OrderedSetContent {
+ explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
+diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h
+index a51ca8d..8c1c575 100644
+--- a/ui/accessibility/ax_tree.h
++++ b/ui/accessibility/ax_tree.h
+@@ -328,7 +328,14 @@
+ bool enable_extra_mac_nodes_ = false;
+
+ // Contains pos_in_set and set_size data for an AXNode.
+- struct NodeSetSizePosInSetInfo;
++ struct NodeSetSizePosInSetInfo {
++ NodeSetSizePosInSetInfo();
++ ~NodeSetSizePosInSetInfo();
++
++ int32_t pos_in_set = 0;
++ int32_t set_size = 0;
++ base::Optional<int> lowest_hierarchical_level;
++ };
+
+ // Represents the content of an ordered set which includes the ordered set
+ // items and the ordered set container if it exists.
diff --git a/chromium-82-gcc-iterator.patch b/chromium-82-gcc-iterator.patch
new file mode 100644
index 0000000..6405d52
--- /dev/null
+++ b/chromium-82-gcc-iterator.patch
@@ -0,0 +1,23 @@
+diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
+index b3c7624..85936aa 100644
+--- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
++++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_
+
++#include <iterator>
++
+ #include "base/containers/span.h"
+ #include "third_party/blink/renderer/core/core_export.h"
+ #include "third_party/blink/renderer/core/layout/geometry/physical_rect.h"
+@@ -31,7 +33,8 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment {
+ PostLayoutChildLinkList(wtf_size_t count, const NGLink* buffer)
+ : count_(count), buffer_(buffer) {}
+
+- class ConstIterator {
++ class ConstIterator : public std::iterator<std::input_iterator_tag,
++ NGLink> {
+ STACK_ALLOCATED();
+
+ public:
diff --git a/chromium-82-gcc-noexcept.patch b/chromium-82-gcc-noexcept.patch
new file mode 100644
index 0000000..1c7de53
--- /dev/null
+++ b/chromium-82-gcc-noexcept.patch
@@ -0,0 +1,35 @@
+diff --git a/ui/color/color_set.cc b/ui/color/color_set.cc
+index 56564d7..2798a3c 100644
+--- a/ui/color/color_set.cc
++++ b/ui/color/color_set.cc
+@@ -11,7 +11,7 @@ ColorSet::ColorSet(ColorSetId id, ColorMap&& colors)
+
+ ColorSet::ColorSet(ColorSet&&) noexcept = default;
+
+-ColorSet& ColorSet::operator=(ColorSet&&) noexcept = default;
++ColorSet& ColorSet::operator=(ColorSet&&) = default;
+
+ ColorSet::~ColorSet() = default;
+
+diff --git a/third_party/blink/public/platform/cross_variant_mojo_util.h b/third_party/blink/public/platform/cross_variant_mojo_util.h
+index dee0b95..0c83580 100644
+--- a/third_party/blink/public/platform/cross_variant_mojo_util.h
++++ b/third_party/blink/public/platform/cross_variant_mojo_util.h
+@@ -124,7 +124,7 @@ class CrossVariantMojoAssociatedReceiver {
+ ~CrossVariantMojoAssociatedReceiver() = default;
+
+ CrossVariantMojoAssociatedReceiver(
+- CrossVariantMojoAssociatedReceiver&&) noexcept = default;
++ CrossVariantMojoAssociatedReceiver&&) = default;
+ CrossVariantMojoAssociatedReceiver& operator=(
+ CrossVariantMojoAssociatedReceiver&&) noexcept = default;
+
+@@ -155,7 +155,7 @@ class CrossVariantMojoAssociatedRemote {
+ ~CrossVariantMojoAssociatedRemote() = default;
+
+ CrossVariantMojoAssociatedRemote(
+- CrossVariantMojoAssociatedRemote&&) noexcept = default;
++ CrossVariantMojoAssociatedRemote&&) = default;
+ CrossVariantMojoAssociatedRemote& operator=(
+ CrossVariantMojoAssociatedRemote&&) noexcept = default;
+
diff --git a/chromium-82-gcc-template.patch b/chromium-82-gcc-template.patch
new file mode 100644
index 0000000..90909c5
--- /dev/null
+++ b/chromium-82-gcc-template.patch
@@ -0,0 +1,50 @@
+diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h
+index 4e6aa0e..fa6f10c 100644
+--- a/content/public/browser/web_ui.h
++++ b/content/public/browser/web_ui.h
+@@ -138,22 +138,6 @@ class CONTENT_EXPORT WebUI {
+ template <typename T>
+ static T GetValue(const base::Value& value);
+
+- template <>
+- inline bool GetValue<bool>(const base::Value& value) {
+- return value.GetBool();
+- }
+-
+- template <>
+- inline int GetValue<int>(const base::Value& value) {
+- return value.GetInt();
+- }
+-
+- template <>
+- inline const std::string& GetValue<const std::string&>(
+- const base::Value& value) {
+- return value.GetString();
+- }
+-
+ template <typename Is, typename... Args>
+ struct Call;
+
+@@ -169,6 +153,22 @@ class CONTENT_EXPORT WebUI {
+ };
+ };
+
++template <>
++inline bool WebUI::GetValue<bool>(const base::Value& value) {
++ return value.GetBool();
++}
++
++template <>
++inline int WebUI::GetValue<int>(const base::Value& value) {
++ return value.GetInt();
++}
++
++template <>
++inline const std::string& WebUI::GetValue<const std::string&>(
++ const base::Value& value) {
++ return value.GetString();
++}
++
+ } // namespace content
+
+ #endif // CONTENT_PUBLIC_BROWSER_WEB_UI_H_
diff --git a/chromium-83-gcc-include.patch b/chromium-83-gcc-include.patch
new file mode 100644
index 0000000..9c405e8
--- /dev/null
+++ b/chromium-83-gcc-include.patch
@@ -0,0 +1,75 @@
+From 3681c96f54b34f60493cbbf5ec830f158e469799 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 2 Apr 2020 14:35:44 +0000
+Subject: [PATCH] IWYU: std::find is defined in algorithm
+
+---
+ extensions/browser/install/crx_install_error.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc
+index a9765bb..bd0d3e3 100644
+--- a/extensions/browser/install/crx_install_error.cc
++++ b/extensions/browser/install/crx_install_error.cc
+@@ -4,6 +4,8 @@
+
+ #include "extensions/browser/install/crx_install_error.h"
+
++#include <algorithm>
++
+ #include "base/logging.h"
+ #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h"
+
+--
+2.24.1
+
+From 80044e30e0014c4c322178e4b56ddbb10eede304 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 9 Apr 2020 17:58:06 +0000
+Subject: [PATCH] IWYU: std::unique_ptr is defined in memory
+
+---
+ .../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+index f5a7ab0..ef19cfa 100644
+--- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
++++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+
++#include <memory>
++
+ #include "base/optional.h"
+ #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h"
+ #include "third_party/blink/renderer/core/core_export.h"
+--
+2.24.1
+
+From 4f4d0a6d453bc22a6397dadaf6d866b4eb2d6b95 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Fri, 10 Apr 2020 08:31:08 +0000
+Subject: [PATCH] IWYU: std::numeric_limits is defined in limits
+
+---
+ .../graph/policies/background_tab_loading_policy_helpers.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
+index 6ab117b..43aa602 100644
+--- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
++++ b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <limits>
++
+ #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
+ #include "base/logging.h"
+
+--
+2.24.1
+
diff --git a/chromium-83-gcc-iterator.patch b/chromium-83-gcc-iterator.patch
new file mode 100644
index 0000000..3df0327
--- /dev/null
+++ b/chromium-83-gcc-iterator.patch
@@ -0,0 +1,41 @@
+From 4abcf0a76a7cb5c343be7d17c60cb908f3673c3d Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 9 Apr 2020 17:03:38 +0000
+Subject: [PATCH] libstdc++: replace std::any_of in blink::SerializedScriptValue
+
+Use of std::any_of requires STL compliant iterator. However,
+HashTableIterator does not define iterator_tag and therefore
+is no STL iterator.
+---
+ .../core/v8/serialization/serialized_script_value.h | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
+index bbf10ef..53d98c9 100644
+--- a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
++++ b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
+@@ -268,12 +268,17 @@ class CORE_EXPORT SerializedScriptValue
+ MessagePortChannelArray& GetStreamChannels() { return stream_channels_; }
+
+ bool IsLockedToAgentCluster() const {
++ auto AnyOfIsLockedToAgentCluster = [&]() {
++ for (auto entry = attachments_.begin();
++ entry != attachments_.end(); ++entry) {
++ if (entry->value->IsLockedToAgentCluster())
++ return true;
++ }
++ return false;
++ };
+ return !wasm_modules_.IsEmpty() ||
+ !shared_array_buffers_contents_.IsEmpty() ||
+- std::any_of(attachments_.begin(), attachments_.end(),
+- [](const auto& entry) {
+- return entry.value->IsLockedToAgentCluster();
+- });
++ AnyOfIsLockedToAgentCluster();
+ }
+
+ // Returns true after serializing script values that remote origins cannot
+--
+2.24.1
+
diff --git a/chromium-83-gcc-permissive.patch b/chromium-83-gcc-permissive.patch
new file mode 100644
index 0000000..a87f1c4
--- /dev/null
+++ b/chromium-83-gcc-permissive.patch
@@ -0,0 +1,31 @@
+From fdf2767e8dc54727c9536a4d39d230a959e3698c Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 2 Apr 2020 16:16:14 +0000
+Subject: [PATCH] GCC: add missing apps namespace to BrowserAppLauncher
+
+GCC does not get namespace of BrowserAppLauncher right and
+fails like this:
+
+chrome/browser/apps/app_service/app_service_proxy.h:82:23: error:
+declaration of 'apps::BrowserAppLauncher&
+apps::AppServiceProxy::BrowserAppLauncher()' changes meaning of
+'BrowserAppLauncher' [-fpermissive]
+---
+ chrome/browser/apps/app_service/app_service_proxy.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chrome/browser/apps/app_service/app_service_proxy.h b/chrome/browser/apps/app_service/app_service_proxy.h
+index b7fff63..1ecd49d 100644
+--- a/chrome/browser/apps/app_service/app_service_proxy.h
++++ b/chrome/browser/apps/app_service/app_service_proxy.h
+@@ -79,7 +79,7 @@ class AppServiceProxy : public KeyedService,
+ apps::InstanceRegistry& InstanceRegistry();
+ #endif
+
+- BrowserAppLauncher& BrowserAppLauncher();
++ apps::BrowserAppLauncher& BrowserAppLauncher();
+
+ apps::PreferredAppsList& PreferredApps();
+
+--
+2.24.1
diff --git a/chromium-83-gcc-serviceworker.patch b/chromium-83-gcc-serviceworker.patch
new file mode 100644
index 0000000..a836e7f
--- /dev/null
+++ b/chromium-83-gcc-serviceworker.patch
@@ -0,0 +1,130 @@
+From 0914a38252f205fc04fa50e858b24fa5f535ab11 Mon Sep 17 00:00:00 2001
+From: Hiroki Nakagawa <nhiroki(a)chromium.org>
+Date: Wed, 29 Apr 2020 11:46:54 +0900
+Subject: [PATCH] ServiceWorker: Avoid double destruction of ServiceWorkerObjectHost on connection error
+
+This CL avoids the case where ServiceWorkerObjectHost is destroyed twice
+on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built
+with the GCC build toolchain.
+
+> How does the issue happen?
+
+ServiceWorkerObjectHost has a cyclic reference like this:
+
+ServiceWorkerObjectHost
+ --([1] scoped_refptr)--> ServiceWorkerVersion
+ --([2] std::unique_ptr)--> ServiceWorkerProviderHost
+ --([3] std::unique_ptr)--> ServiceWorkerContainerHost
+ --([4] std::unique_ptr)--> ServiceWorkerObjectHost
+
+Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in
+map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>.
+
+When ServiceWorkerObjectHost::OnConnectionError() is called, the
+function removes the reference [4] from the map, and destroys
+ServiceWorkerObjectHost. If the object host has the last reference [1]
+to ServiceWorkerVersion, the destruction also cuts off the references
+[2] and [3], and destroys ServiceWorkerProviderHost and
+ServiceWorkerContainerHost.
+
+This seems to work well on the Chromium's default toolchain, but not
+work on the GCC toolchain. According to the report, destruction of
+ServiceWorkerContainerHost happens while the map owned by the container
+host is erasing the ServiceWorkerObjectHost, and this results in crash
+due to double destruction of the object host.
+
+I don't know the reason why this happens only on the GCC toolchain, but
+I suspect the order of object destruction on std::map::erase() could be
+different depending on the toolchains.
+
+> How does this CL fix this?
+
+The ideal fix is to redesign the ownership model of
+ServiceWorkerVersion, but it's not feasible in the short term.
+
+Instead, this CL avoids destruction of ServiceWorkerObjectHost on
+std::map::erase(). The new code takes the ownership of the object host
+from the map first, and then erases the entry from the map. This
+separates timings to erase the map entry and to destroy the object host,
+so the crash should no longer happen.
+
+Bug: 1056598
+Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613
+---
+
+diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc
+index c631bcd..ff917f8 100644
+--- a/content/browser/service_worker/service_worker_container_host.cc
++++ b/content/browser/service_worker/service_worker_container_host.cc
+@@ -717,6 +717,16 @@
+ int64_t version_id) {
+ DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
+ DCHECK(base::Contains(service_worker_object_hosts_, version_id));
++
++ // ServiceWorkerObjectHost to be deleted may have the last reference to
++ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost.
++ // If we erase the object host directly from the map, |this| could be deleted
++ // during the map operation and may crash. To avoid the case, we take the
++ // ownership of the object host from the map first, and then erase the entry
++ // from the map. See https://crbug.com/1056598 for details.
++ std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted =
++ std::move(service_worker_object_hosts_[version_id]);
++ DCHECK(to_be_deleted);
+ service_worker_object_hosts_.erase(version_id);
+ }
+
+diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc
+index 238cb8b..f60c7a2 100644
+--- a/content/browser/service_worker/service_worker_object_host_unittest.cc
++++ b/content/browser/service_worker/service_worker_object_host_unittest.cc
+@@ -200,6 +200,19 @@
+ return registration_info;
+ }
+
++ void CallOnConnectionError(ServiceWorkerContainerHost* container_host,
++ int64_t version_id) {
++ // ServiceWorkerObjectHost has the last reference to the version.
++ ServiceWorkerObjectHost* object_host =
++ GetServiceWorkerObjectHost(container_host, version_id);
++ EXPECT_TRUE(object_host->version_->HasOneRef());
++
++ // Make sure that OnConnectionError induces destruction of the version and
++ // the object host.
++ object_host->receivers_.Clear();
++ object_host->OnConnectionError();
++ }
++
+ BrowserTaskEnvironment task_environment_;
+ std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
+ scoped_refptr<ServiceWorkerRegistration> registration_;
+@@ -409,5 +422,30 @@
+ events[0]->source_info_for_client->client_type);
+ }
+
++// This is a regression test for https://crbug.com/1056598.
++TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) {
++ const GURL scope("https://www.example.com/");
++ const GURL script_url("https://www.example.com/service_worker.js");
++ Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()));
++ SetUpRegistration(scope, script_url);
++
++ // Create the provider host.
++ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk,
++ StartServiceWorker(version_.get()));
++
++ // Set up the case where the last reference to the version is owned by the
++ // service worker object host.
++ ServiceWorkerContainerHost* container_host =
++ version_->provider_host()->container_host();
++ ServiceWorkerVersion* version_rawptr = version_.get();
++ version_ = nullptr;
++ ASSERT_TRUE(version_rawptr->HasOneRef());
++
++ // Simulate the connection error that induces the object host destruction.
++ // This shouldn't crash.
++ CallOnConnectionError(container_host, version_rawptr->version_id());
++ base::RunLoop().RunUntilIdle();
++}
++
+ } // namespace service_worker_object_host_unittest
+ } // namespace content
diff --git a/chromium-83-gcc-template.patch b/chromium-83-gcc-template.patch
new file mode 100644
index 0000000..2736522
--- /dev/null
+++ b/chromium-83-gcc-template.patch
@@ -0,0 +1,69 @@
+From 8d115ddda495d0d2e1e1447392db6e9e6a8a1b32 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Tue, 07 Apr 2020 00:23:57 +0000
+Subject: [PATCH] GCC: fix template specialization in WTF::VectorMover
+
+GCC complains that explicit specialization in non-namespace scope
+is happening for MoveOverlappingImpl. However, secialization is
+not really necessary here with templates and can be moved
+into MoveOverlappingImpl method without changing generated code.
+
+Bug: 819294
+Change-Id: I90b893b9701748302f7b900fbcc2c341685fe0d3
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2126290
+Reviewed-by: Kent Tamura <tkent(a)chromium.org>
+Commit-Queue: Kent Tamura <tkent(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#756880}
+---
+
+diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h
+index 632d308..82aaf96 100644
+--- a/third_party/blink/renderer/platform/wtf/vector.h
++++ b/third_party/blink/renderer/platform/wtf/vector.h
+@@ -205,30 +205,23 @@
+ }
+ }
+
+- template <bool = Allocator::kIsGarbageCollected>
+- static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst);
+- template <>
+- static void MoveOverlappingImpl<false>(const T* src,
+- const T* src_end,
+- T* dst) {
+- memmove(dst, src,
+- reinterpret_cast<const char*>(src_end) -
+- reinterpret_cast<const char*>(src));
+- }
+- template <>
+- static void MoveOverlappingImpl<true>(const T* src,
+- const T* src_end,
+- T* dst) {
+- if (src == dst)
+- return;
+- if (dst < src) {
+- for (; src < src_end; ++src, ++dst)
+- AtomicWriteMemcpy<sizeof(T)>(dst, src);
++ static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst) {
++ if (Allocator::kIsGarbageCollected) {
++ if (src == dst)
++ return;
++ if (dst < src) {
++ for (; src < src_end; ++src, ++dst)
++ AtomicWriteMemcpy<sizeof(T)>(dst, src);
++ } else {
++ --src_end;
++ T* dst_end = dst + (src_end - src);
++ for (; src_end >= src; --src_end, --dst_end)
++ AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
++ }
+ } else {
+- --src_end;
+- T* dst_end = dst + (src_end - src);
+- for (; src_end >= src; --src_end, --dst_end)
+- AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
++ memmove(dst, src,
++ reinterpret_cast<const char*>(src_end) -
++ reinterpret_cast<const char*>(src));
+ }
+ }
+
diff --git a/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
new file mode 100644
index 0000000..d1a496b
--- /dev/null
+++ b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
@@ -0,0 +1,13 @@
+diff -up chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache chromium-83.0.4103.61/base/test/BUILD.gn
+--- chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache 2020-05-29 12:30:03.409707011 -0400
++++ chromium-83.0.4103.61/base/test/BUILD.gn 2020-05-29 12:30:22.593275137 -0400
+@@ -188,9 +188,6 @@ static_library("test_support") {
+ sources += [ "test_file_util_linux.cc" ]
+ public_deps += [ ":fontconfig_util_linux" ]
+ data_deps = [ "//third_party/test_fonts" ]
+- if (current_toolchain == host_toolchain) {
+- data_deps += [ ":do_generate_fontconfig_caches" ]
+- }
+ }
+
+ if (is_mac) {
diff --git a/chromium-83.0.4103.61-missing-cstddef-header.patch b/chromium-83.0.4103.61-missing-cstddef-header.patch
new file mode 100644
index 0000000..bd7d51d
--- /dev/null
+++ b/chromium-83.0.4103.61-missing-cstddef-header.patch
@@ -0,0 +1,34 @@
+diff -up chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h
+--- chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef 2020-05-18 14:39:11.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h 2020-05-29 15:37:52.370693881 -0400
+@@ -6,6 +6,7 @@
+ #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
+
+ #include <array>
++#include <cstddef>
+
+ class GURL;
+
+diff -up chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h.missing-cstddef chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h
+diff -up chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h
+--- chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef 2020-05-29 15:37:52.374693782 -0400
++++ chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h 2020-05-29 15:39:47.343874233 -0400
+@@ -12,6 +12,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <array>
++#include <cstddef>
+
+ #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
+
+diff -up chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+--- chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-05-18 14:42:43.000000000 -0400
++++ chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-05-29 15:37:52.376693733 -0400
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
+
+ #include <array>
++#include <cstddef>
+
+ namespace webrtc {
+
diff --git a/chromium-83.0.4103.61-norar.patch b/chromium-83.0.4103.61-norar.patch
new file mode 100644
index 0000000..9180933
--- /dev/null
+++ b/chromium-83.0.4103.61-norar.patch
@@ -0,0 +1,79 @@
+diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn
+--- chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-05-29 12:21:53.249790785 -0400
++++ chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn 2020-05-29 12:22:27.825004615 -0400
+@@ -57,39 +57,6 @@ if (safe_browsing_mode == 1) {
+ public_deps = [ "//components/safe_browsing/core:csd_proto" ]
+ }
+
+- source_set("rar_analyzer") {
+- sources = [
+- "rar_analyzer.cc",
+- "rar_analyzer.h",
+- ]
+-
+- deps = [
+- ":archive_analyzer_results",
+- ":download_type_util",
+- "//base",
+- "//base:i18n",
+- "//components/safe_browsing/core:features",
+- "//components/safe_browsing/core:file_type_policies",
+- "//third_party/unrar:unrar",
+- ]
+-
+- defines = [
+- "_FILE_OFFSET_BITS=64",
+- "LARGEFILE_SOURCE",
+- "RAR_SMP",
+- "SILENT",
+-
+- # The following is set to disable certain macro definitions in the unrar
+- # source code.
+- "CHROMIUM_UNRAR",
+-
+- # Disables exceptions in unrar, replaces them with process termination.
+- "UNRAR_NO_EXCEPTIONS",
+- ]
+-
+- public_deps = [ "//components/safe_browsing/core:csd_proto" ]
+- }
+-
+ source_set("disk_image_type_sniffer_mac") {
+ sources = [
+ "disk_image_type_sniffer_mac.cc",
+@@ -156,7 +123,6 @@ source_set("safe_browsing") {
+ ":archive_analyzer_results",
+ ":binary_feature_extractor",
+ ":download_type_util",
+- ":rar_analyzer",
+ "//components/safe_browsing/core:features",
+ ]
+
+diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS
+--- chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar 2020-05-18 14:39:13.000000000 -0400
++++ chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS 2020-05-29 12:21:08.563806866 -0400
+@@ -1,6 +1,5 @@
+ include_rules = [
+ "+components/safe_browsing",
+ "+third_party/protobuf",
+- "+third_party/unrar",
+ "+third_party/zlib",
+ ]
+diff -up chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc
+--- chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-05-18 14:39:13.000000000 -0400
++++ chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc 2020-05-29 12:21:08.565806820 -0400
+@@ -46,10 +46,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
+ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
+ base::File temporary_file,
+ AnalyzeRarFileCallback callback) {
++#if 0
+ DCHECK(rar_file.IsValid());
+
+ safe_browsing::ArchiveAnalyzerResults results;
+ safe_browsing::rar_analyzer::AnalyzeRarFile(
+ std::move(rar_file), std::move(temporary_file), &results);
+ std::move(callback).Run(results);
++#else
++ NOTREACHED();
++#endif
+ }
diff --git a/chromium.spec b/chromium.spec
index 5c1c3fb..bfb8776 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -156,14 +156,14 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id %nil
%endif
-%global majorversion 81
+%global majorversion 83
%if %{freeworld}
Name: chromium%{chromium_channel}%{nsuffix}
%else
Name: chromium%{chromium_channel}
%endif
-Version: %{majorversion}.0.4044.138
+Version: %{majorversion}.0.4103.61
Release: 1%{?dist}
%if %{?freeworld}
%if %{?shared}
@@ -196,12 +196,12 @@ Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch
# Do not mangle zlib
Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch
# Do not use unrar code, it is non-free
-Patch7: chromium-81.0.4044.92-norar.patch
+Patch7: chromium-83.0.4103.61-norar.patch
# Use Gentoo's Widevine hack
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
Patch8: chromium-71.0.3578.98-widevine-r3.patch
# Disable fontconfig cache magic that breaks remoting
-Patch9: chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch
+Patch9: chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
Patch10: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch
# Try to load widevine from other places
@@ -229,27 +229,37 @@ Patch57: chromium-78-protobuf-export.patch
Patch59: chromium-77-clang.patch
# /../../ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc:53:15: error: 'find_if' is not a member of 'std'; did you mean 'find'?
Patch63: chromium-79.0.3945.56-fix-find_if.patch
-# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch68: chromium-80-gcc-blink.patch
# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
Patch70: chromium-80-gcc-quiche.patch
-# ../../base/trace_event/trace_event_memory_overhead.h:15:1: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'?
-Patch71: chromium-80.0.3987.87-missing-string-header.patch
# ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared
Patch72: chromium-80.0.3987.87-missing-cstdint-header.patch
# ../../third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type
-Patch73: chromium-80.0.3987.106-missing-cstddef-header.patch
+Patch73: chromium-83.0.4103.61-missing-cstddef-header.patch
# Missing <cstring> (thanks c++17)
Patch75: chromium-80.0.3987.106-missing-cstring-header.patch
-# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch76: chromium-81-gcc-constexpr.patch
# prepare for using system ffmpeg (clean)
# http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/curren...
Patch77: chromium-53-ffmpeg-no-deprecation-errors.patch
-# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch78: chromium-81-gcc-noexcept.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch78: chromium-82-gcc-noexcept.patch
# ../../base/test/icu_test_util.h:12:1: note: 'std::unique_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'?
Patch79: chromium-81.0.4044.92-missing-memory-header.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch80: chromium-82-gcc-incomplete-type.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch81: chromium-82-gcc-template.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch82: chromium-82-gcc-iterator.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch83: chromium-83-gcc-template.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch84: chromium-83-gcc-include.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch85: chromium-83-gcc-permissive.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch86: chromium-83-gcc-iterator.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch87: chromium-83-gcc-serviceworker.patch
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -261,9 +271,6 @@ Patch102: chromium-80.0.3987.132-el7-noexcept.patch
Patch202: enable-vaapi.patch
Patch203: chromium-80.0.3987.122-vaapi-i686-fpermissive.patch
Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch
-# upstream backports to fix vaapi, thanks rpmfusion
-Patch206: chromium-81-vaapi-r737459.patch
-Patch207: chromium-81-vaapi-r738595.patch
# Apply these patches to work around EPEL8 issues
Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
@@ -811,16 +818,21 @@ udev.
%patch57 -p1 -b .protobuf-export
%patch59 -p1 -b .clang-supports-location-builtins
%patch63 -p1 -b .fix-find_if
-%patch68 -p1 -b .gcc-blink
%patch70 -p1 -b .gcc-quiche
-%patch71 -p1 -b .missing-string
%patch72 -p1 -b .missing-cstdint
%patch73 -p1 -b .missing-cstddef
%patch75 -p1 -b .missing-cstring
-%patch76 -p1 -b .gcc-constexpr
%patch77 -p1 -b .ffmpeg-deprecations
%patch78 -p1 -b .gcc-noexcept
%patch79 -p1 -b .missing-memory
+%patch80 -p1 -b .gcc-incomplete-type
+%patch81 -p1 -b .gcc-template
+%patch82 -p1 -b .gcc-iterator
+%patch83 -p1 -b .gcc-template2
+%patch84 -p1 -b .gcc-include
+%patch85 -p1 -b .gcc-permissive
+%patch86 -p1 -b .gcc-iterator2
+%patch87 -p1 -b .gcc-serviceworker
# Fedora branded user agent
%if 0%{?fedora}
@@ -840,8 +852,6 @@ udev.
%patch203 -p1 -b .i686permissive
%endif
%patch205 -p1 -b .vaapi-intel-fix
-%patch206 -p1 -b .r737459
-%patch207 -p1 -b .r738595
%endif
%if 0%{?rhel} == 8
@@ -1761,6 +1771,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%changelog
+* Tue Jun 2 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.61-1
+- update to 83.0.4103.61
+
* Thu May 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 81.0.4044.138-1
- update to 81.0.4044.138
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index f31122a..5fe02e2 100644
--- a/enable-vaapi.patch
+++ b/enable-vaapi.patch
@@ -1,7 +1,7 @@
-diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0.4044.92/chrome/browser/about_flags.cc
---- chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi 2020-04-03 00:11:28.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/about_flags.cc 2020-04-13 15:09:02.982509507 -0400
-@@ -1920,7 +1920,7 @@ const FeatureEntry kFeatureEntries[] = {
+diff -up chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi chromium-83.0.4103.61/chrome/browser/about_flags.cc
+--- chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi 2020-05-18 14:40:20.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/about_flags.cc 2020-05-29 15:50:25.144232561 -0400
+@@ -2153,7 +2153,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -10,9 +10,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
-@@ -2352,12 +2352,12 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
- #endif // !defined(OS_ANDROID)
+@@ -2585,12 +2585,12 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
+ MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
#endif // ENABLE_VR
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
@@ -22,14 +22,14 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
-+#endif // OS_CHROMEOS | OS_LINUX
++#endif // OS_CHROMEOS || OS_LINUX
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
-diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc
---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi 2020-04-03 00:11:29.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc 2020-04-13 15:09:02.983509488 -0400
-@@ -2999,16 +2999,19 @@ const char kMetalDescription[] =
+diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc
+--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi 2020-05-18 14:40:21.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc 2020-05-29 15:47:52.347979793 -0400
+@@ -2980,16 +2980,19 @@ const char kMetalDescription[] =
#endif
@@ -52,10 +52,10 @@ diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromiu
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
const char kAggregatedMlAppRankingDescription[] =
"Use the aggregated ML model to rank the suggested apps.";
-diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.h
---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi 2020-04-03 00:11:29.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.h 2020-04-13 15:09:02.983509488 -0400
-@@ -1730,13 +1730,19 @@ extern const char kMetalDescription[];
+diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi chromium-83.0.4103.61/chrome/browser/flag_descriptions.h
+--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi 2020-05-18 14:40:21.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.h 2020-05-29 15:47:52.348979768 -0400
+@@ -1711,13 +1711,19 @@ extern const char kMetalDescription[];
#endif // defined(OS_MACOSX)
@@ -77,9 +77,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi chromium
extern const char kAggregatedMlAppRankingName[];
extern const char kAggregatedMlAppRankingDescription[];
-diff -up chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi chromium-81.0.4044.92/gpu/config/software_rendering_list.json
---- chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi 2020-04-13 15:09:02.988509396 -0400
-+++ chromium-81.0.4044.92/gpu/config/software_rendering_list.json 2020-04-13 15:19:03.380353582 -0400
+diff -up chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi chromium-83.0.4103.61/gpu/config/software_rendering_list.json
+--- chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi 2020-05-18 14:40:24.000000000 -0400
++++ chromium-83.0.4103.61/gpu/config/software_rendering_list.json 2020-05-29 15:47:52.349979744 -0400
@@ -337,11 +337,12 @@
},
{
diff --git a/sources b/sources
index 6391e4d..6377866 100644
--- a/sources
+++ b/sources
@@ -18,3 +18,4 @@ SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb874
SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (node-v10.15.3-linux-x64.tar.gz) = 5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20
SHA512 (chromium-81.0.4044.138-clean.tar.xz) = 24c52a2b5973896ff823e989e92747fb3d71fed74a38eb970efd74492d1f980c9135334ec2c74cdafb1edc91d66d7195e66bb6ac38cb201cb3e08386e26665eb
+SHA512 (chromium-83.0.4103.61-clean.tar.xz) = 8a7c31e5de0dae571b402afac81eaa8ed21886f20a4f463ea2ed6e1007a6e80aa8334e001370f7245d46e94839dd249fc4bebab055b1e315bf98d26f57191d03
commit e422e4af62827b3bb678638c1120cf504626d758
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Thu May 7 16:13:54 2020 -0400
Garuda moved to an OTF file in Fedora 33+
diff --git a/chromium.spec b/chromium.spec
index 3d9f828..5c1c3fb 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -916,7 +916,12 @@ cp -a /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf /usr/share/fonts/dejavu-
%else
cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf .
%endif
+%if 0%{?fedora} >= 33
+cp -a /usr/share/fonts/thai-scalable/Garuda.otf .
+sed -i 's|Garuda.ttf|Garuda.otf|g' ../BUILD.gn
+%else
cp -a /usr/share/fonts/thai-scalable/Garuda.ttf .
+%endif
cp -a /usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf /usr/share/fonts/lohit-tamil/Lohit-Tamil.ttf .
cp -a /usr/share/fonts/google-noto/NotoSansKhmer-Regular.ttf .
popd
3 years, 10 months
Architecture specific change in rpms/chromium.git
by githook-noreply@fedoraproject.org
The package rpms/chromium.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/chromium.git/commit/?id=7fd8d4b5e....
Change:
-%ifarch x86_64 i686 aarch64
Thanks.
Full change:
============
commit d301a2158c78c5cd6d70d965beb92b9d9f3804ee
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 16:09:45 2020 -0400
moar python hax
diff --git a/chromium.spec b/chromium.spec
index 29c99c1..e8a8b7b 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1373,7 +1373,7 @@ ulimit -n 4096
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
-export PYTHONPATH="../../third_party/pyjson5/src"
+export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints"
echo
# Now do the full browser
commit e71658a1e7ff803a8d3277697896ee54ddaa9785
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 13:12:41 2020 -0400
moar bundling
diff --git a/chromium.spec b/chromium.spec
index 2d176ec..29c99c1 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1065,6 +1065,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \
'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \
'third_party/catapult/third_party/beautifulsoup4' \
+ 'third_party/catapult/third_party/google-endpoints' \
'third_party/catapult/third_party/html5lib-python' \
'third_party/catapult/third_party/polymer' \
'third_party/catapult/third_party/six' \
commit 7680524736ab9959c61a6e1d93a7c144877553fb
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 11:00:02 2020 -0400
fixup vaapi i686 patch
diff --git a/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
new file mode 100644
index 0000000..74fbb7d
--- /dev/null
+++ b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
@@ -0,0 +1,23 @@
+diff -up chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn
+--- chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive 2020-06-07 10:58:00.309383632 -0400
++++ chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn 2020-06-07 10:58:47.532340933 -0400
+@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni")
+ assert(is_linux) # is_chromeos is a subset of is_linux
+ assert(use_vaapi)
+
++config("vaapi_permissive") {
++ cflags = [ "-fpermissive" ]
++}
++
+ generate_stubs("libva_stubs") {
+ extra_header = "va_stub_header.fragment"
+ sigs = [ "va.sigs" ]
+@@ -108,6 +112,8 @@ source_set("vaapi") {
+ ]
+ }
+
++ configs += [ ":vaapi_permissive" ]
++
+ if (use_x11) {
+ configs += [ "//build/config/linux:x11" ]
+ deps += [ "//ui/gfx/x" ]
diff --git a/chromium.spec b/chromium.spec
index c444c07..2d176ec 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -275,7 +275,7 @@ Patch102: chromium-80.0.3987.132-el7-noexcept.patch
# Enable VAAPI support on Linux
# NOTE: This patch will never land upstream
Patch202: enable-vaapi.patch
-Patch203: chromium-80.0.3987.122-vaapi-i686-fpermissive.patch
+Patch203: chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch
# Apply these patches to work around EPEL8 issues
commit 7fd8d4b5edac81cb4cdebe3470b8daafeb48ecaa
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 10:43:48 2020 -0400
83.0.4103.97
diff --git a/chromium-83-gcc-ozone-wayland.patch b/chromium-83-gcc-ozone-wayland.patch
new file mode 100644
index 0000000..5b2c81c
--- /dev/null
+++ b/chromium-83-gcc-ozone-wayland.patch
@@ -0,0 +1,12 @@
+diff -up chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h
+--- chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland 2020-06-05 09:16:08.903282140 -0400
++++ chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h 2020-06-05 09:16:31.131863653 -0400
+@@ -68,7 +68,7 @@ class XDGSurfaceWrapperImpl : public She
+ static void CloseTopLevelV6(void* data,
+ struct zxdg_toplevel_v6* zxdg_toplevel_v6);
+
+- xdg_surface* xdg_surface() const;
++ struct xdg_surface* xdg_surface() const;
+ zxdg_surface_v6* zxdg_surface() const;
+
+ private:
diff --git a/chromium.spec b/chromium.spec
index bfb8776..c444c07 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -17,6 +17,9 @@
# We usually want this.
%global build_headless 1
+# This doesn't work and it doesn't even build as of Chromium 83
+%global build_remoting 0
+
# We'd like to always have this on.
%global use_vaapi 1
@@ -163,7 +166,7 @@ Name: chromium%{chromium_channel}%{nsuffix}
%else
Name: chromium%{chromium_channel}
%endif
-Version: %{majorversion}.0.4103.61
+Version: %{majorversion}.0.4103.97
Release: 1%{?dist}
%if %{?freeworld}
%if %{?shared}
@@ -260,6 +263,9 @@ Patch85: chromium-83-gcc-permissive.patch
Patch86: chromium-83-gcc-iterator.patch
# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
Patch87: chromium-83-gcc-serviceworker.patch
+# https://chromium.googlesource.com/chromium/src/+/0d3ef4b1247f766eed37c546...
+Patch88: chromium-83-gcc-ozone-wayland.patch
+
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -744,6 +750,7 @@ Shared libraries used by the chromium media subsystem.
%endif
%endif
+%if %{build_remoting}
%package -n chrome-remote-desktop
Requires(pre): shadow-utils
Requires(post): systemd
@@ -760,6 +767,7 @@ Summary: Remote desktop support for google-chrome & chromium
%description -n chrome-remote-desktop
Remote desktop support for google-chrome & chromium.
+%endif
%package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium
@@ -833,6 +841,7 @@ udev.
%patch85 -p1 -b .gcc-permissive
%patch86 -p1 -b .gcc-iterator2
%patch87 -p1 -b .gcc-serviceworker
+%patch88 -p1 -b .gcc-ozone-wayland
# Fedora branded user agent
%if 0%{?fedora}
@@ -944,7 +953,7 @@ CHROMIUM_CORE_GN_DEFINES+=' is_debug=false'
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"'
%endif
CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}" google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"'
-CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false fieldtrial_testing_like_official_build=true use_lld=false rtc_enable_symbol_export=true'
+CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false fieldtrial_testing_like_official_build=true use_lld=false use_ozone=true rtc_enable_symbol_export=true'
%if %{freeworld}
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS" proprietary_codecs=true'
%else
@@ -974,6 +983,7 @@ CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=fals
CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
+CHROMIUM_BROWSER_GN_DEFINES+=' ozone_platform="x11" ozone_platform_x11=true'
%if %{use_vaapi}
%if 0%{?fedora} >= 28
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
@@ -985,11 +995,11 @@ CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true'
export CHROMIUM_BROWSER_GN_DEFINES
CHROMIUM_HEADLESS_GN_DEFINES=""
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true'
+CHROMIUM_HEADLESS_GN_DEFINES+=' ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true'
CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=true icu_use_data_file=false v8_use_external_startup_data=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gio=false use_kerberos=false use_libpci=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false'
+CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false'
export CHROMIUM_HEADLESS_GN_DEFINES
%if 0%{?rhel} == 7
@@ -1081,6 +1091,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/devtools-frontend/src/third_party/axe-core' \
'third_party/devtools-frontend/src/third_party/typescript' \
'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \
+ 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \
'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \
'third_party/dom_distiller_js' \
'third_party/emoji-segmenter' \
@@ -1134,6 +1145,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/libyuv' \
'third_party/lss' \
'third_party/lzma_sdk' \
+ 'third_party/mako' \
%if 0%{?bundlepylibs}
'third_party/markupsafe' \
%endif
@@ -1176,6 +1188,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
%endif
'third_party/rnnoise' \
'third_party/s2cellid' \
+ 'third_party/schema_org' \
'third_party/simplejson' \
'third_party/sinonjs' \
'third_party/skia' \
@@ -1190,6 +1203,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/SPIRV-Tools' \
'third_party/sqlite' \
'third_party/swiftshader' \
+ 'third_party/swiftshader/third_party/astc-encoder' \
'third_party/swiftshader/third_party/llvm-subzero' \
'third_party/swiftshader/third_party/llvm-7.0' \
'third_party/swiftshader/third_party/marl' \
@@ -1200,6 +1214,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/usb_ids' \
'third_party/usrsctp' \
'third_party/vulkan' \
+ 'third_party/wayland' \
'third_party/web-animations-js' \
'third_party/webdriver' \
'third_party/webrtc' \
@@ -1327,7 +1342,9 @@ tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_D
%endif
%endif
+%if %{build_remoting}
%{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
+%endif
%if %{bundlelibusbx}
# no hackity hack hack
@@ -1373,173 +1390,175 @@ echo
%build_target %{builddir} clear_key_cdm
%build_target %{builddir} policy_templates
+%if %{build_remoting}
# remote client
# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources
%build_target %{remotingbuilddir} remoting_all
%endif
+%endif
%install
rm -rf %{buildroot}
%if 0%{freeworld}
-mkdir -p %{buildroot}%{chromium_path}
-
-pushd %{builddir}
-cp -a libffmpeg.so* %{buildroot}%{chromium_path}
-cp -a libmedia.so* %{buildroot}%{chromium_path}
-mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
-popd
-%else
-mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{chromium_path}
-cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-export BUILD_TARGET=`cat /etc/redhat-release`
-export CHROMIUM_PATH=%{chromium_path}
-export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
-sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%if "%{chromium_channel}" == "%%{nil}"
-sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%else
-# Enable debug outputs for beta and dev channels
-export EXTRA_FLAGS="--enable-logging=stderr --v=2"
-sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%endif
-
-ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
-mkdir -p %{buildroot}%{_mandir}/man1/
-
-pushd %{builddir}
-cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
-# Reasonably sure we don't need this anymore. Chrome doesn't include it.
-%if 0
-cp -a protoc pyproto %{buildroot}%{chromium_path}
-%endif
-%ifarch x86_64 i686 aarch64
-cp -a swiftshader %{buildroot}%{chromium_path}
-%endif
-cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
-cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
-cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-# V8 initial snapshots
-# https://code.google.com/p/chromium/issues/detail?id=421063
-cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
-cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
-cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
-cp -a MEIPreload %{buildroot}%{chromium_path}
-%if 0%{?shared}
-cp -a lib*.so* %{buildroot}%{chromium_path}
-# cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora}
-cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
-%endif
-
-# chromedriver
-cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
-ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
-
-# Remote desktop bits
-mkdir -p %{buildroot}%{crd_path}
-
-%if 0%{?shared}
-pushd %{buildroot}%{crd_path}
-for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
- libname=`basename $i`
- ln -s $i $libname
-done
-popd
-%endif
-popd
-
-pushd %{remotingbuilddir}
-
-# See remoting/host/installer/linux/Makefile for logic
-cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
-cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
-cp -a remoting_locales %{buildroot}%{crd_path}/
-cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
-cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
-cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
-chmod +s %{buildroot}%{crd_path}/user-session
-
-# chromium
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
-# google-chrome
-mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
-cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
-for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
- sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
-done
-mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
-pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
-for i in ../../../chromium/native-messaging-hosts/*; do
-# rpm gets unhappy when we symlink here
- cp -a $i .
-done
-popd
-popd
-
-mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
-touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
-
-mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
-pushd %{buildroot}%{_sysconfdir}/pam.d/
-ln -s system-auth chrome-remote-desktop
-popd
-
-%if %{build_headless}
-pushd %{headlessbuilddir}
-cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
-popd
-%endif
-
-cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop
-cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
-
-mkdir -p %{buildroot}%{_unitdir}
-cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
-sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service
-
-# Add directories for policy management
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
-
-cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
-cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
-
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
-cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
-cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
-cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
-cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
-cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
-
-# Install the master_preferences file
-mkdir -p %{buildroot}%{_sysconfdir}/%{name}
-install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
-
-mkdir -p %{buildroot}%{_datadir}/applications/
-desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
-
-install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
-appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
-
-mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
-cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
-
-mkdir -p %{buildroot}%{chromium_path}/PepperFlash
+ mkdir -p %{buildroot}%{chromium_path}
+
+ pushd %{builddir}
+ cp -a libffmpeg.so* %{buildroot}%{chromium_path}
+ cp -a libmedia.so* %{buildroot}%{chromium_path}
+ mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
+ popd
+%else
+ mkdir -p %{buildroot}%{_bindir}
+ mkdir -p %{buildroot}%{chromium_path}
+ cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ export BUILD_TARGET=`cat /etc/redhat-release`
+ export CHROMIUM_PATH=%{chromium_path}
+ export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
+ sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %if "%{chromium_channel}" == "%%{nil}"
+ sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %else
+ # Enable debug outputs for beta and dev channels
+ export EXTRA_FLAGS="--enable-logging=stderr --v=2"
+ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %endif
+
+ ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
+ mkdir -p %{buildroot}%{_mandir}/man1/
+
+ pushd %{builddir}
+ cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
+ %ifarch x86_64 i686 aarch64
+ cp -a swiftshader %{buildroot}%{chromium_path}
+ %endif
+ cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
+ cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
+ cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ # V8 initial snapshots
+ # https://code.google.com/p/chromium/issues/detail?id=421063
+ cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
+ cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
+ cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
+ cp -a MEIPreload %{buildroot}%{chromium_path}
+ %if 0%{?shared}
+ cp -a lib*.so* %{buildroot}%{chromium_path}
+ # cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora}
+ cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
+ %endif
+
+ # chromedriver
+ cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
+ ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
+
+ %if %{build_remoting}
+ # Remote desktop bits
+ mkdir -p %{buildroot}%{crd_path}
+
+ %if 0%{?shared}
+ pushd %{buildroot}%{crd_path}
+ for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
+ libname=`basename $i`
+ ln -s $i $libname
+ done
+ popd
+ %endif
+ %endif
+ popd
+ %if %{build_remoting}
+ pushd %{remotingbuilddir}
+
+ # See remoting/host/installer/linux/Makefile for logic
+ cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
+ cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
+ cp -a remoting_locales %{buildroot}%{crd_path}/
+ cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
+ cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
+ cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
+ chmod +s %{buildroot}%{crd_path}/user-session
+
+ # chromium
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
+ # google-chrome
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
+ cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
+ for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
+ sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
+ done
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ for i in ../../../chromium/native-messaging-hosts/*; do
+ # rpm gets unhappy when we symlink here
+ cp -a $i .
+ done
+ popd
+ popd
+
+ mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
+ touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
+
+ mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
+ pushd %{buildroot}%{_sysconfdir}/pam.d/
+ ln -s system-auth chrome-remote-desktop
+ %endif
+
+ %if %{build_headless}
+ pushd %{headlessbuilddir}
+ cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
+ popd
+ %endif
+
+ %if %{build_remoting}
+ cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop
+ cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
+
+ mkdir -p %{buildroot}%{_unitdir}
+ cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
+ sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service
+ %endif
+
+ # Add directories for policy management
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
+
+ cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
+ cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
+
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
+ cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
+ cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
+ cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
+ cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
+ cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
+
+ # Install the master_preferences file
+ mkdir -p %{buildroot}%{_sysconfdir}/%{name}
+ install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
+
+ mkdir -p %{buildroot}%{_datadir}/applications/
+ desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
+
+ install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+ appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+
+ mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+ cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+
+ mkdir -p %{buildroot}%{chromium_path}/PepperFlash
# freeworld conditional
%endif
@@ -1554,12 +1573,14 @@ if selinuxenabled; then
restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || :
fi
+%if %{build_remoting}
%pretrans -n chrome-remote-desktop -p <lua>
path = "/etc/opt/chrome/native-messaging-hosts"
st = posix.stat(path)
if st and st.type == "link" then
os.remove(path)
end
+%endif
%if %{shared}
%if %{freeworld}
@@ -1599,6 +1620,7 @@ fi
%endif
%endif
+%if %{build_remoting}
%pre -n chrome-remote-desktop
getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop
@@ -1610,6 +1632,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%postun -n chrome-remote-desktop
%systemd_postun_with_restart chrome-remote-desktop@.service
+%endif
%if 0%{freeworld}
# We only build libs-media-freeworld.
@@ -1731,6 +1754,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/lib*.so*
%endif
+%if %{build_remoting}
%files -n chrome-remote-desktop
%{crd_path}/chrome-remote-desktop
%{crd_path}/chrome-remote-desktop-host
@@ -1748,6 +1772,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{crd_path}/user-session
%{_unitdir}/chrome-remote-desktop@.service
/var/lib/chrome-remote-desktop/
+%endif
%files -n chromedriver
%doc AUTHORS
@@ -1771,8 +1796,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%changelog
+* Sun Jun 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.97-1
+- update to 83.0.4103.97
+
* Tue Jun 2 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.61-1
- update to 83.0.4103.61
+- conditionalize and disable remoting
* Thu May 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 81.0.4044.138-1
- update to 81.0.4044.138
diff --git a/sources b/sources
index 6377866..55b9f3e 100644
--- a/sources
+++ b/sources
@@ -17,5 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0
SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f
SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (node-v10.15.3-linux-x64.tar.gz) = 5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20
-SHA512 (chromium-81.0.4044.138-clean.tar.xz) = 24c52a2b5973896ff823e989e92747fb3d71fed74a38eb970efd74492d1f980c9135334ec2c74cdafb1edc91d66d7195e66bb6ac38cb201cb3e08386e26665eb
-SHA512 (chromium-83.0.4103.61-clean.tar.xz) = 8a7c31e5de0dae571b402afac81eaa8ed21886f20a4f463ea2ed6e1007a6e80aa8334e001370f7245d46e94839dd249fc4bebab055b1e315bf98d26f57191d03
+SHA512 (chromium-83.0.4103.97-clean.tar.xz) = 00abd69dd041613e5cd3ad6c41f51013b05405b6f19e6b1acfc9709d738ac8c2adcfc67b64801f6583270a58849e2690e91b2ebcaf3b82a25b381b580426c1a4
commit 4f9d92dcdfd2750ccd7911b2a3be73fa4a01263e
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Tue Jun 2 16:41:45 2020 -0400
83
diff --git a/chromium-80.0.3987.87-missing-cstdint-header.patch b/chromium-80.0.3987.87-missing-cstdint-header.patch
index 755bff5..abeafa5 100644
--- a/chromium-80.0.3987.87-missing-cstdint-header.patch
+++ b/chromium-80.0.3987.87-missing-cstdint-header.patch
@@ -1,14 +1,3 @@
-diff -up chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h
---- chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint 2020-02-21 12:29:43.393191877 -0500
-+++ chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h 2020-02-21 12:29:43.393191877 -0500
-@@ -17,6 +17,7 @@
- #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
- #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
-
-+#include <cstdint>
- #include <functional>
-
- #include "perfetto/base/export.h"
diff -up chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h
--- chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint 2020-02-21 12:30:30.739332871 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h 2020-02-21 12:30:30.747332725 -0500
diff --git a/chromium-82-gcc-incomplete-type.patch b/chromium-82-gcc-incomplete-type.patch
new file mode 100644
index 0000000..a339340
--- /dev/null
+++ b/chromium-82-gcc-incomplete-type.patch
@@ -0,0 +1,53 @@
+From c0b32910da192edf1b41eb52c088d0213ab2807a Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Sun, 05 Apr 2020 08:29:21 +0000
+Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for NodeSetSizePosInSetInfo
+
+std::unordered_map<T, U> requires U to be fully declared. ax_tree.h
+has only forward declaration of NodeSetSizePosInSetInfo. Therefore,
+move declaration from ax_tree.cc.
+Bug: 957519
+Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868
+---
+
+diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
+index 7b8d9b1..e915402 100644
+--- a/ui/accessibility/ax_tree.cc
++++ b/ui/accessibility/ax_tree.cc
+@@ -567,14 +567,8 @@
+ const AXTree& tree;
+ };
+
+-struct AXTree::NodeSetSizePosInSetInfo {
+- NodeSetSizePosInSetInfo() = default;
+- ~NodeSetSizePosInSetInfo() = default;
+-
+- int32_t pos_in_set = 0;
+- int32_t set_size = 0;
+- base::Optional<int> lowest_hierarchical_level;
+-};
++AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default;
++AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default;
+
+ struct AXTree::OrderedSetContent {
+ explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
+diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h
+index a51ca8d..8c1c575 100644
+--- a/ui/accessibility/ax_tree.h
++++ b/ui/accessibility/ax_tree.h
+@@ -328,7 +328,14 @@
+ bool enable_extra_mac_nodes_ = false;
+
+ // Contains pos_in_set and set_size data for an AXNode.
+- struct NodeSetSizePosInSetInfo;
++ struct NodeSetSizePosInSetInfo {
++ NodeSetSizePosInSetInfo();
++ ~NodeSetSizePosInSetInfo();
++
++ int32_t pos_in_set = 0;
++ int32_t set_size = 0;
++ base::Optional<int> lowest_hierarchical_level;
++ };
+
+ // Represents the content of an ordered set which includes the ordered set
+ // items and the ordered set container if it exists.
diff --git a/chromium-82-gcc-iterator.patch b/chromium-82-gcc-iterator.patch
new file mode 100644
index 0000000..6405d52
--- /dev/null
+++ b/chromium-82-gcc-iterator.patch
@@ -0,0 +1,23 @@
+diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
+index b3c7624..85936aa 100644
+--- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
++++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_
+
++#include <iterator>
++
+ #include "base/containers/span.h"
+ #include "third_party/blink/renderer/core/core_export.h"
+ #include "third_party/blink/renderer/core/layout/geometry/physical_rect.h"
+@@ -31,7 +33,8 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment {
+ PostLayoutChildLinkList(wtf_size_t count, const NGLink* buffer)
+ : count_(count), buffer_(buffer) {}
+
+- class ConstIterator {
++ class ConstIterator : public std::iterator<std::input_iterator_tag,
++ NGLink> {
+ STACK_ALLOCATED();
+
+ public:
diff --git a/chromium-82-gcc-noexcept.patch b/chromium-82-gcc-noexcept.patch
new file mode 100644
index 0000000..1c7de53
--- /dev/null
+++ b/chromium-82-gcc-noexcept.patch
@@ -0,0 +1,35 @@
+diff --git a/ui/color/color_set.cc b/ui/color/color_set.cc
+index 56564d7..2798a3c 100644
+--- a/ui/color/color_set.cc
++++ b/ui/color/color_set.cc
+@@ -11,7 +11,7 @@ ColorSet::ColorSet(ColorSetId id, ColorMap&& colors)
+
+ ColorSet::ColorSet(ColorSet&&) noexcept = default;
+
+-ColorSet& ColorSet::operator=(ColorSet&&) noexcept = default;
++ColorSet& ColorSet::operator=(ColorSet&&) = default;
+
+ ColorSet::~ColorSet() = default;
+
+diff --git a/third_party/blink/public/platform/cross_variant_mojo_util.h b/third_party/blink/public/platform/cross_variant_mojo_util.h
+index dee0b95..0c83580 100644
+--- a/third_party/blink/public/platform/cross_variant_mojo_util.h
++++ b/third_party/blink/public/platform/cross_variant_mojo_util.h
+@@ -124,7 +124,7 @@ class CrossVariantMojoAssociatedReceiver {
+ ~CrossVariantMojoAssociatedReceiver() = default;
+
+ CrossVariantMojoAssociatedReceiver(
+- CrossVariantMojoAssociatedReceiver&&) noexcept = default;
++ CrossVariantMojoAssociatedReceiver&&) = default;
+ CrossVariantMojoAssociatedReceiver& operator=(
+ CrossVariantMojoAssociatedReceiver&&) noexcept = default;
+
+@@ -155,7 +155,7 @@ class CrossVariantMojoAssociatedRemote {
+ ~CrossVariantMojoAssociatedRemote() = default;
+
+ CrossVariantMojoAssociatedRemote(
+- CrossVariantMojoAssociatedRemote&&) noexcept = default;
++ CrossVariantMojoAssociatedRemote&&) = default;
+ CrossVariantMojoAssociatedRemote& operator=(
+ CrossVariantMojoAssociatedRemote&&) noexcept = default;
+
diff --git a/chromium-82-gcc-template.patch b/chromium-82-gcc-template.patch
new file mode 100644
index 0000000..90909c5
--- /dev/null
+++ b/chromium-82-gcc-template.patch
@@ -0,0 +1,50 @@
+diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h
+index 4e6aa0e..fa6f10c 100644
+--- a/content/public/browser/web_ui.h
++++ b/content/public/browser/web_ui.h
+@@ -138,22 +138,6 @@ class CONTENT_EXPORT WebUI {
+ template <typename T>
+ static T GetValue(const base::Value& value);
+
+- template <>
+- inline bool GetValue<bool>(const base::Value& value) {
+- return value.GetBool();
+- }
+-
+- template <>
+- inline int GetValue<int>(const base::Value& value) {
+- return value.GetInt();
+- }
+-
+- template <>
+- inline const std::string& GetValue<const std::string&>(
+- const base::Value& value) {
+- return value.GetString();
+- }
+-
+ template <typename Is, typename... Args>
+ struct Call;
+
+@@ -169,6 +153,22 @@ class CONTENT_EXPORT WebUI {
+ };
+ };
+
++template <>
++inline bool WebUI::GetValue<bool>(const base::Value& value) {
++ return value.GetBool();
++}
++
++template <>
++inline int WebUI::GetValue<int>(const base::Value& value) {
++ return value.GetInt();
++}
++
++template <>
++inline const std::string& WebUI::GetValue<const std::string&>(
++ const base::Value& value) {
++ return value.GetString();
++}
++
+ } // namespace content
+
+ #endif // CONTENT_PUBLIC_BROWSER_WEB_UI_H_
diff --git a/chromium-83-gcc-include.patch b/chromium-83-gcc-include.patch
new file mode 100644
index 0000000..9c405e8
--- /dev/null
+++ b/chromium-83-gcc-include.patch
@@ -0,0 +1,75 @@
+From 3681c96f54b34f60493cbbf5ec830f158e469799 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 2 Apr 2020 14:35:44 +0000
+Subject: [PATCH] IWYU: std::find is defined in algorithm
+
+---
+ extensions/browser/install/crx_install_error.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc
+index a9765bb..bd0d3e3 100644
+--- a/extensions/browser/install/crx_install_error.cc
++++ b/extensions/browser/install/crx_install_error.cc
+@@ -4,6 +4,8 @@
+
+ #include "extensions/browser/install/crx_install_error.h"
+
++#include <algorithm>
++
+ #include "base/logging.h"
+ #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h"
+
+--
+2.24.1
+
+From 80044e30e0014c4c322178e4b56ddbb10eede304 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 9 Apr 2020 17:58:06 +0000
+Subject: [PATCH] IWYU: std::unique_ptr is defined in memory
+
+---
+ .../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+index f5a7ab0..ef19cfa 100644
+--- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
++++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+
++#include <memory>
++
+ #include "base/optional.h"
+ #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h"
+ #include "third_party/blink/renderer/core/core_export.h"
+--
+2.24.1
+
+From 4f4d0a6d453bc22a6397dadaf6d866b4eb2d6b95 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Fri, 10 Apr 2020 08:31:08 +0000
+Subject: [PATCH] IWYU: std::numeric_limits is defined in limits
+
+---
+ .../graph/policies/background_tab_loading_policy_helpers.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
+index 6ab117b..43aa602 100644
+--- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
++++ b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <limits>
++
+ #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
+ #include "base/logging.h"
+
+--
+2.24.1
+
diff --git a/chromium-83-gcc-iterator.patch b/chromium-83-gcc-iterator.patch
new file mode 100644
index 0000000..3df0327
--- /dev/null
+++ b/chromium-83-gcc-iterator.patch
@@ -0,0 +1,41 @@
+From 4abcf0a76a7cb5c343be7d17c60cb908f3673c3d Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 9 Apr 2020 17:03:38 +0000
+Subject: [PATCH] libstdc++: replace std::any_of in blink::SerializedScriptValue
+
+Use of std::any_of requires STL compliant iterator. However,
+HashTableIterator does not define iterator_tag and therefore
+is no STL iterator.
+---
+ .../core/v8/serialization/serialized_script_value.h | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
+index bbf10ef..53d98c9 100644
+--- a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
++++ b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
+@@ -268,12 +268,17 @@ class CORE_EXPORT SerializedScriptValue
+ MessagePortChannelArray& GetStreamChannels() { return stream_channels_; }
+
+ bool IsLockedToAgentCluster() const {
++ auto AnyOfIsLockedToAgentCluster = [&]() {
++ for (auto entry = attachments_.begin();
++ entry != attachments_.end(); ++entry) {
++ if (entry->value->IsLockedToAgentCluster())
++ return true;
++ }
++ return false;
++ };
+ return !wasm_modules_.IsEmpty() ||
+ !shared_array_buffers_contents_.IsEmpty() ||
+- std::any_of(attachments_.begin(), attachments_.end(),
+- [](const auto& entry) {
+- return entry.value->IsLockedToAgentCluster();
+- });
++ AnyOfIsLockedToAgentCluster();
+ }
+
+ // Returns true after serializing script values that remote origins cannot
+--
+2.24.1
+
diff --git a/chromium-83-gcc-permissive.patch b/chromium-83-gcc-permissive.patch
new file mode 100644
index 0000000..a87f1c4
--- /dev/null
+++ b/chromium-83-gcc-permissive.patch
@@ -0,0 +1,31 @@
+From fdf2767e8dc54727c9536a4d39d230a959e3698c Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 2 Apr 2020 16:16:14 +0000
+Subject: [PATCH] GCC: add missing apps namespace to BrowserAppLauncher
+
+GCC does not get namespace of BrowserAppLauncher right and
+fails like this:
+
+chrome/browser/apps/app_service/app_service_proxy.h:82:23: error:
+declaration of 'apps::BrowserAppLauncher&
+apps::AppServiceProxy::BrowserAppLauncher()' changes meaning of
+'BrowserAppLauncher' [-fpermissive]
+---
+ chrome/browser/apps/app_service/app_service_proxy.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chrome/browser/apps/app_service/app_service_proxy.h b/chrome/browser/apps/app_service/app_service_proxy.h
+index b7fff63..1ecd49d 100644
+--- a/chrome/browser/apps/app_service/app_service_proxy.h
++++ b/chrome/browser/apps/app_service/app_service_proxy.h
+@@ -79,7 +79,7 @@ class AppServiceProxy : public KeyedService,
+ apps::InstanceRegistry& InstanceRegistry();
+ #endif
+
+- BrowserAppLauncher& BrowserAppLauncher();
++ apps::BrowserAppLauncher& BrowserAppLauncher();
+
+ apps::PreferredAppsList& PreferredApps();
+
+--
+2.24.1
diff --git a/chromium-83-gcc-serviceworker.patch b/chromium-83-gcc-serviceworker.patch
new file mode 100644
index 0000000..a836e7f
--- /dev/null
+++ b/chromium-83-gcc-serviceworker.patch
@@ -0,0 +1,130 @@
+From 0914a38252f205fc04fa50e858b24fa5f535ab11 Mon Sep 17 00:00:00 2001
+From: Hiroki Nakagawa <nhiroki(a)chromium.org>
+Date: Wed, 29 Apr 2020 11:46:54 +0900
+Subject: [PATCH] ServiceWorker: Avoid double destruction of ServiceWorkerObjectHost on connection error
+
+This CL avoids the case where ServiceWorkerObjectHost is destroyed twice
+on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built
+with the GCC build toolchain.
+
+> How does the issue happen?
+
+ServiceWorkerObjectHost has a cyclic reference like this:
+
+ServiceWorkerObjectHost
+ --([1] scoped_refptr)--> ServiceWorkerVersion
+ --([2] std::unique_ptr)--> ServiceWorkerProviderHost
+ --([3] std::unique_ptr)--> ServiceWorkerContainerHost
+ --([4] std::unique_ptr)--> ServiceWorkerObjectHost
+
+Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in
+map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>.
+
+When ServiceWorkerObjectHost::OnConnectionError() is called, the
+function removes the reference [4] from the map, and destroys
+ServiceWorkerObjectHost. If the object host has the last reference [1]
+to ServiceWorkerVersion, the destruction also cuts off the references
+[2] and [3], and destroys ServiceWorkerProviderHost and
+ServiceWorkerContainerHost.
+
+This seems to work well on the Chromium's default toolchain, but not
+work on the GCC toolchain. According to the report, destruction of
+ServiceWorkerContainerHost happens while the map owned by the container
+host is erasing the ServiceWorkerObjectHost, and this results in crash
+due to double destruction of the object host.
+
+I don't know the reason why this happens only on the GCC toolchain, but
+I suspect the order of object destruction on std::map::erase() could be
+different depending on the toolchains.
+
+> How does this CL fix this?
+
+The ideal fix is to redesign the ownership model of
+ServiceWorkerVersion, but it's not feasible in the short term.
+
+Instead, this CL avoids destruction of ServiceWorkerObjectHost on
+std::map::erase(). The new code takes the ownership of the object host
+from the map first, and then erases the entry from the map. This
+separates timings to erase the map entry and to destroy the object host,
+so the crash should no longer happen.
+
+Bug: 1056598
+Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613
+---
+
+diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc
+index c631bcd..ff917f8 100644
+--- a/content/browser/service_worker/service_worker_container_host.cc
++++ b/content/browser/service_worker/service_worker_container_host.cc
+@@ -717,6 +717,16 @@
+ int64_t version_id) {
+ DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
+ DCHECK(base::Contains(service_worker_object_hosts_, version_id));
++
++ // ServiceWorkerObjectHost to be deleted may have the last reference to
++ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost.
++ // If we erase the object host directly from the map, |this| could be deleted
++ // during the map operation and may crash. To avoid the case, we take the
++ // ownership of the object host from the map first, and then erase the entry
++ // from the map. See https://crbug.com/1056598 for details.
++ std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted =
++ std::move(service_worker_object_hosts_[version_id]);
++ DCHECK(to_be_deleted);
+ service_worker_object_hosts_.erase(version_id);
+ }
+
+diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc
+index 238cb8b..f60c7a2 100644
+--- a/content/browser/service_worker/service_worker_object_host_unittest.cc
++++ b/content/browser/service_worker/service_worker_object_host_unittest.cc
+@@ -200,6 +200,19 @@
+ return registration_info;
+ }
+
++ void CallOnConnectionError(ServiceWorkerContainerHost* container_host,
++ int64_t version_id) {
++ // ServiceWorkerObjectHost has the last reference to the version.
++ ServiceWorkerObjectHost* object_host =
++ GetServiceWorkerObjectHost(container_host, version_id);
++ EXPECT_TRUE(object_host->version_->HasOneRef());
++
++ // Make sure that OnConnectionError induces destruction of the version and
++ // the object host.
++ object_host->receivers_.Clear();
++ object_host->OnConnectionError();
++ }
++
+ BrowserTaskEnvironment task_environment_;
+ std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
+ scoped_refptr<ServiceWorkerRegistration> registration_;
+@@ -409,5 +422,30 @@
+ events[0]->source_info_for_client->client_type);
+ }
+
++// This is a regression test for https://crbug.com/1056598.
++TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) {
++ const GURL scope("https://www.example.com/");
++ const GURL script_url("https://www.example.com/service_worker.js");
++ Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()));
++ SetUpRegistration(scope, script_url);
++
++ // Create the provider host.
++ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk,
++ StartServiceWorker(version_.get()));
++
++ // Set up the case where the last reference to the version is owned by the
++ // service worker object host.
++ ServiceWorkerContainerHost* container_host =
++ version_->provider_host()->container_host();
++ ServiceWorkerVersion* version_rawptr = version_.get();
++ version_ = nullptr;
++ ASSERT_TRUE(version_rawptr->HasOneRef());
++
++ // Simulate the connection error that induces the object host destruction.
++ // This shouldn't crash.
++ CallOnConnectionError(container_host, version_rawptr->version_id());
++ base::RunLoop().RunUntilIdle();
++}
++
+ } // namespace service_worker_object_host_unittest
+ } // namespace content
diff --git a/chromium-83-gcc-template.patch b/chromium-83-gcc-template.patch
new file mode 100644
index 0000000..2736522
--- /dev/null
+++ b/chromium-83-gcc-template.patch
@@ -0,0 +1,69 @@
+From 8d115ddda495d0d2e1e1447392db6e9e6a8a1b32 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Tue, 07 Apr 2020 00:23:57 +0000
+Subject: [PATCH] GCC: fix template specialization in WTF::VectorMover
+
+GCC complains that explicit specialization in non-namespace scope
+is happening for MoveOverlappingImpl. However, secialization is
+not really necessary here with templates and can be moved
+into MoveOverlappingImpl method without changing generated code.
+
+Bug: 819294
+Change-Id: I90b893b9701748302f7b900fbcc2c341685fe0d3
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2126290
+Reviewed-by: Kent Tamura <tkent(a)chromium.org>
+Commit-Queue: Kent Tamura <tkent(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#756880}
+---
+
+diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h
+index 632d308..82aaf96 100644
+--- a/third_party/blink/renderer/platform/wtf/vector.h
++++ b/third_party/blink/renderer/platform/wtf/vector.h
+@@ -205,30 +205,23 @@
+ }
+ }
+
+- template <bool = Allocator::kIsGarbageCollected>
+- static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst);
+- template <>
+- static void MoveOverlappingImpl<false>(const T* src,
+- const T* src_end,
+- T* dst) {
+- memmove(dst, src,
+- reinterpret_cast<const char*>(src_end) -
+- reinterpret_cast<const char*>(src));
+- }
+- template <>
+- static void MoveOverlappingImpl<true>(const T* src,
+- const T* src_end,
+- T* dst) {
+- if (src == dst)
+- return;
+- if (dst < src) {
+- for (; src < src_end; ++src, ++dst)
+- AtomicWriteMemcpy<sizeof(T)>(dst, src);
++ static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst) {
++ if (Allocator::kIsGarbageCollected) {
++ if (src == dst)
++ return;
++ if (dst < src) {
++ for (; src < src_end; ++src, ++dst)
++ AtomicWriteMemcpy<sizeof(T)>(dst, src);
++ } else {
++ --src_end;
++ T* dst_end = dst + (src_end - src);
++ for (; src_end >= src; --src_end, --dst_end)
++ AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
++ }
+ } else {
+- --src_end;
+- T* dst_end = dst + (src_end - src);
+- for (; src_end >= src; --src_end, --dst_end)
+- AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
++ memmove(dst, src,
++ reinterpret_cast<const char*>(src_end) -
++ reinterpret_cast<const char*>(src));
+ }
+ }
+
diff --git a/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
new file mode 100644
index 0000000..d1a496b
--- /dev/null
+++ b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
@@ -0,0 +1,13 @@
+diff -up chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache chromium-83.0.4103.61/base/test/BUILD.gn
+--- chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache 2020-05-29 12:30:03.409707011 -0400
++++ chromium-83.0.4103.61/base/test/BUILD.gn 2020-05-29 12:30:22.593275137 -0400
+@@ -188,9 +188,6 @@ static_library("test_support") {
+ sources += [ "test_file_util_linux.cc" ]
+ public_deps += [ ":fontconfig_util_linux" ]
+ data_deps = [ "//third_party/test_fonts" ]
+- if (current_toolchain == host_toolchain) {
+- data_deps += [ ":do_generate_fontconfig_caches" ]
+- }
+ }
+
+ if (is_mac) {
diff --git a/chromium-83.0.4103.61-missing-cstddef-header.patch b/chromium-83.0.4103.61-missing-cstddef-header.patch
new file mode 100644
index 0000000..bd7d51d
--- /dev/null
+++ b/chromium-83.0.4103.61-missing-cstddef-header.patch
@@ -0,0 +1,34 @@
+diff -up chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h
+--- chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef 2020-05-18 14:39:11.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h 2020-05-29 15:37:52.370693881 -0400
+@@ -6,6 +6,7 @@
+ #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
+
+ #include <array>
++#include <cstddef>
+
+ class GURL;
+
+diff -up chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h.missing-cstddef chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h
+diff -up chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h
+--- chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef 2020-05-29 15:37:52.374693782 -0400
++++ chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h 2020-05-29 15:39:47.343874233 -0400
+@@ -12,6 +12,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <array>
++#include <cstddef>
+
+ #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
+
+diff -up chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+--- chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-05-18 14:42:43.000000000 -0400
++++ chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-05-29 15:37:52.376693733 -0400
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
+
+ #include <array>
++#include <cstddef>
+
+ namespace webrtc {
+
diff --git a/chromium-83.0.4103.61-norar.patch b/chromium-83.0.4103.61-norar.patch
new file mode 100644
index 0000000..9180933
--- /dev/null
+++ b/chromium-83.0.4103.61-norar.patch
@@ -0,0 +1,79 @@
+diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn
+--- chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-05-29 12:21:53.249790785 -0400
++++ chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn 2020-05-29 12:22:27.825004615 -0400
+@@ -57,39 +57,6 @@ if (safe_browsing_mode == 1) {
+ public_deps = [ "//components/safe_browsing/core:csd_proto" ]
+ }
+
+- source_set("rar_analyzer") {
+- sources = [
+- "rar_analyzer.cc",
+- "rar_analyzer.h",
+- ]
+-
+- deps = [
+- ":archive_analyzer_results",
+- ":download_type_util",
+- "//base",
+- "//base:i18n",
+- "//components/safe_browsing/core:features",
+- "//components/safe_browsing/core:file_type_policies",
+- "//third_party/unrar:unrar",
+- ]
+-
+- defines = [
+- "_FILE_OFFSET_BITS=64",
+- "LARGEFILE_SOURCE",
+- "RAR_SMP",
+- "SILENT",
+-
+- # The following is set to disable certain macro definitions in the unrar
+- # source code.
+- "CHROMIUM_UNRAR",
+-
+- # Disables exceptions in unrar, replaces them with process termination.
+- "UNRAR_NO_EXCEPTIONS",
+- ]
+-
+- public_deps = [ "//components/safe_browsing/core:csd_proto" ]
+- }
+-
+ source_set("disk_image_type_sniffer_mac") {
+ sources = [
+ "disk_image_type_sniffer_mac.cc",
+@@ -156,7 +123,6 @@ source_set("safe_browsing") {
+ ":archive_analyzer_results",
+ ":binary_feature_extractor",
+ ":download_type_util",
+- ":rar_analyzer",
+ "//components/safe_browsing/core:features",
+ ]
+
+diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS
+--- chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar 2020-05-18 14:39:13.000000000 -0400
++++ chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS 2020-05-29 12:21:08.563806866 -0400
+@@ -1,6 +1,5 @@
+ include_rules = [
+ "+components/safe_browsing",
+ "+third_party/protobuf",
+- "+third_party/unrar",
+ "+third_party/zlib",
+ ]
+diff -up chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc
+--- chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-05-18 14:39:13.000000000 -0400
++++ chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc 2020-05-29 12:21:08.565806820 -0400
+@@ -46,10 +46,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
+ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
+ base::File temporary_file,
+ AnalyzeRarFileCallback callback) {
++#if 0
+ DCHECK(rar_file.IsValid());
+
+ safe_browsing::ArchiveAnalyzerResults results;
+ safe_browsing::rar_analyzer::AnalyzeRarFile(
+ std::move(rar_file), std::move(temporary_file), &results);
+ std::move(callback).Run(results);
++#else
++ NOTREACHED();
++#endif
+ }
diff --git a/chromium.spec b/chromium.spec
index 5c1c3fb..bfb8776 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -156,14 +156,14 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id %nil
%endif
-%global majorversion 81
+%global majorversion 83
%if %{freeworld}
Name: chromium%{chromium_channel}%{nsuffix}
%else
Name: chromium%{chromium_channel}
%endif
-Version: %{majorversion}.0.4044.138
+Version: %{majorversion}.0.4103.61
Release: 1%{?dist}
%if %{?freeworld}
%if %{?shared}
@@ -196,12 +196,12 @@ Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch
# Do not mangle zlib
Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch
# Do not use unrar code, it is non-free
-Patch7: chromium-81.0.4044.92-norar.patch
+Patch7: chromium-83.0.4103.61-norar.patch
# Use Gentoo's Widevine hack
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
Patch8: chromium-71.0.3578.98-widevine-r3.patch
# Disable fontconfig cache magic that breaks remoting
-Patch9: chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch
+Patch9: chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
Patch10: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch
# Try to load widevine from other places
@@ -229,27 +229,37 @@ Patch57: chromium-78-protobuf-export.patch
Patch59: chromium-77-clang.patch
# /../../ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc:53:15: error: 'find_if' is not a member of 'std'; did you mean 'find'?
Patch63: chromium-79.0.3945.56-fix-find_if.patch
-# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch68: chromium-80-gcc-blink.patch
# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
Patch70: chromium-80-gcc-quiche.patch
-# ../../base/trace_event/trace_event_memory_overhead.h:15:1: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'?
-Patch71: chromium-80.0.3987.87-missing-string-header.patch
# ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared
Patch72: chromium-80.0.3987.87-missing-cstdint-header.patch
# ../../third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type
-Patch73: chromium-80.0.3987.106-missing-cstddef-header.patch
+Patch73: chromium-83.0.4103.61-missing-cstddef-header.patch
# Missing <cstring> (thanks c++17)
Patch75: chromium-80.0.3987.106-missing-cstring-header.patch
-# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch76: chromium-81-gcc-constexpr.patch
# prepare for using system ffmpeg (clean)
# http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/curren...
Patch77: chromium-53-ffmpeg-no-deprecation-errors.patch
-# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch78: chromium-81-gcc-noexcept.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch78: chromium-82-gcc-noexcept.patch
# ../../base/test/icu_test_util.h:12:1: note: 'std::unique_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'?
Patch79: chromium-81.0.4044.92-missing-memory-header.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch80: chromium-82-gcc-incomplete-type.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch81: chromium-82-gcc-template.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch82: chromium-82-gcc-iterator.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch83: chromium-83-gcc-template.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch84: chromium-83-gcc-include.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch85: chromium-83-gcc-permissive.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch86: chromium-83-gcc-iterator.patch
+# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch87: chromium-83-gcc-serviceworker.patch
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -261,9 +271,6 @@ Patch102: chromium-80.0.3987.132-el7-noexcept.patch
Patch202: enable-vaapi.patch
Patch203: chromium-80.0.3987.122-vaapi-i686-fpermissive.patch
Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch
-# upstream backports to fix vaapi, thanks rpmfusion
-Patch206: chromium-81-vaapi-r737459.patch
-Patch207: chromium-81-vaapi-r738595.patch
# Apply these patches to work around EPEL8 issues
Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
@@ -811,16 +818,21 @@ udev.
%patch57 -p1 -b .protobuf-export
%patch59 -p1 -b .clang-supports-location-builtins
%patch63 -p1 -b .fix-find_if
-%patch68 -p1 -b .gcc-blink
%patch70 -p1 -b .gcc-quiche
-%patch71 -p1 -b .missing-string
%patch72 -p1 -b .missing-cstdint
%patch73 -p1 -b .missing-cstddef
%patch75 -p1 -b .missing-cstring
-%patch76 -p1 -b .gcc-constexpr
%patch77 -p1 -b .ffmpeg-deprecations
%patch78 -p1 -b .gcc-noexcept
%patch79 -p1 -b .missing-memory
+%patch80 -p1 -b .gcc-incomplete-type
+%patch81 -p1 -b .gcc-template
+%patch82 -p1 -b .gcc-iterator
+%patch83 -p1 -b .gcc-template2
+%patch84 -p1 -b .gcc-include
+%patch85 -p1 -b .gcc-permissive
+%patch86 -p1 -b .gcc-iterator2
+%patch87 -p1 -b .gcc-serviceworker
# Fedora branded user agent
%if 0%{?fedora}
@@ -840,8 +852,6 @@ udev.
%patch203 -p1 -b .i686permissive
%endif
%patch205 -p1 -b .vaapi-intel-fix
-%patch206 -p1 -b .r737459
-%patch207 -p1 -b .r738595
%endif
%if 0%{?rhel} == 8
@@ -1761,6 +1771,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%changelog
+* Tue Jun 2 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.61-1
+- update to 83.0.4103.61
+
* Thu May 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 81.0.4044.138-1
- update to 81.0.4044.138
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index f31122a..5fe02e2 100644
--- a/enable-vaapi.patch
+++ b/enable-vaapi.patch
@@ -1,7 +1,7 @@
-diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0.4044.92/chrome/browser/about_flags.cc
---- chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi 2020-04-03 00:11:28.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/about_flags.cc 2020-04-13 15:09:02.982509507 -0400
-@@ -1920,7 +1920,7 @@ const FeatureEntry kFeatureEntries[] = {
+diff -up chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi chromium-83.0.4103.61/chrome/browser/about_flags.cc
+--- chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi 2020-05-18 14:40:20.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/about_flags.cc 2020-05-29 15:50:25.144232561 -0400
+@@ -2153,7 +2153,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -10,9 +10,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
-@@ -2352,12 +2352,12 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
- #endif // !defined(OS_ANDROID)
+@@ -2585,12 +2585,12 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
+ MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
#endif // ENABLE_VR
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
@@ -22,14 +22,14 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
-+#endif // OS_CHROMEOS | OS_LINUX
++#endif // OS_CHROMEOS || OS_LINUX
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
-diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc
---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi 2020-04-03 00:11:29.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc 2020-04-13 15:09:02.983509488 -0400
-@@ -2999,16 +2999,19 @@ const char kMetalDescription[] =
+diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc
+--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi 2020-05-18 14:40:21.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc 2020-05-29 15:47:52.347979793 -0400
+@@ -2980,16 +2980,19 @@ const char kMetalDescription[] =
#endif
@@ -52,10 +52,10 @@ diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromiu
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
const char kAggregatedMlAppRankingDescription[] =
"Use the aggregated ML model to rank the suggested apps.";
-diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.h
---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi 2020-04-03 00:11:29.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.h 2020-04-13 15:09:02.983509488 -0400
-@@ -1730,13 +1730,19 @@ extern const char kMetalDescription[];
+diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi chromium-83.0.4103.61/chrome/browser/flag_descriptions.h
+--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi 2020-05-18 14:40:21.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.h 2020-05-29 15:47:52.348979768 -0400
+@@ -1711,13 +1711,19 @@ extern const char kMetalDescription[];
#endif // defined(OS_MACOSX)
@@ -77,9 +77,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi chromium
extern const char kAggregatedMlAppRankingName[];
extern const char kAggregatedMlAppRankingDescription[];
-diff -up chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi chromium-81.0.4044.92/gpu/config/software_rendering_list.json
---- chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi 2020-04-13 15:09:02.988509396 -0400
-+++ chromium-81.0.4044.92/gpu/config/software_rendering_list.json 2020-04-13 15:19:03.380353582 -0400
+diff -up chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi chromium-83.0.4103.61/gpu/config/software_rendering_list.json
+--- chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi 2020-05-18 14:40:24.000000000 -0400
++++ chromium-83.0.4103.61/gpu/config/software_rendering_list.json 2020-05-29 15:47:52.349979744 -0400
@@ -337,11 +337,12 @@
},
{
diff --git a/sources b/sources
index 6391e4d..6377866 100644
--- a/sources
+++ b/sources
@@ -18,3 +18,4 @@ SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb874
SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (node-v10.15.3-linux-x64.tar.gz) = 5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20
SHA512 (chromium-81.0.4044.138-clean.tar.xz) = 24c52a2b5973896ff823e989e92747fb3d71fed74a38eb970efd74492d1f980c9135334ec2c74cdafb1edc91d66d7195e66bb6ac38cb201cb3e08386e26665eb
+SHA512 (chromium-83.0.4103.61-clean.tar.xz) = 8a7c31e5de0dae571b402afac81eaa8ed21886f20a4f463ea2ed6e1007a6e80aa8334e001370f7245d46e94839dd249fc4bebab055b1e315bf98d26f57191d03
commit e422e4af62827b3bb678638c1120cf504626d758
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Thu May 7 16:13:54 2020 -0400
Garuda moved to an OTF file in Fedora 33+
diff --git a/chromium.spec b/chromium.spec
index 3d9f828..5c1c3fb 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -916,7 +916,12 @@ cp -a /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf /usr/share/fonts/dejavu-
%else
cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf .
%endif
+%if 0%{?fedora} >= 33
+cp -a /usr/share/fonts/thai-scalable/Garuda.otf .
+sed -i 's|Garuda.ttf|Garuda.otf|g' ../BUILD.gn
+%else
cp -a /usr/share/fonts/thai-scalable/Garuda.ttf .
+%endif
cp -a /usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf /usr/share/fonts/lohit-tamil/Lohit-Tamil.ttf .
cp -a /usr/share/fonts/google-noto/NotoSansKhmer-Regular.ttf .
popd
3 years, 10 months
Architecture specific change in rpms/mariadb.git
by githook-noreply@fedoraproject.org
The package rpms/mariadb.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/mariadb.git/commit/?id=ff6cb12c8c....
Change:
-%ifarch ppc64
Thanks.
Full change:
============
commit 9486872b39d6233ec42ff8514c7dfcffcd6808ae
Merge: 5b1b5d1 99964e0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 10:33:56 2020 +0200
Merge branch 'master' into 10.4
commit 5b1b5d177dd58242ddda67ffd8166290eb424a43
Merge: e183a65 5ef66fd
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Mar 16 15:17:50 2020 +0100
Merge branch 'master' into 10.4
commit e183a65fc0138a30379b90e384becd9fea5c4882
Merge: 1f6465e 55406c8
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Feb 10 11:08:14 2020 +0100
Merge branch 'master' into 10.4
Intended goal:
10.4 should now be identical to master branch
Previously, there was MariaDB 10.3 in master (Rawhide) and 10.4 in Fedora modules
Now, the master (Rawhide) updated to MariaDB 10.4 and 10.4 branch should only mirror changes on master.
This way, the modules will be built from the same sources as the Rawhide content.
commit 1f6465e1ff8e71ae3253e802dd3e7f49253c8c1f
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jan 10 12:20:00 2020 +0100
Rebase to 10.4.11
diff --git a/mariadb.spec b/mariadb.spec
index 99e30f0..30d3975 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.10
-Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist}
+Version: 10.4.11
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -472,6 +472,9 @@ standard SQL syntax, and results joined onto other tables.
Summary: The CONNECT storage engine for MariaDB
Requires: %{name}-server%{?_isa} = %{sameevr}
+# As per https://jira.mariadb.org/browse/MDEV-21450
+BuildRequires: libxml2-devel
+
%description connect-engine
The CONNECT storage engine enables MariaDB to access external local or
remote data (MED). This is done by defining tables based on different data
@@ -1598,6 +1601,10 @@ fi
%endif
%changelog
+* Fri Jan 10 2020 Michal Schorm <mschorm(a)redhat.com> - 10.4.11-1
+- Rebase to 10.4.11
+
+
* Tue Dec 03 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.10-1
- Rebase to 10.4.10
Upstream started linking the Galera libraries statically
diff --git a/sources b/sources
index c5ef0e3..dfbf8f0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.10.tar.gz) = a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f
+SHA512 (mariadb-10.4.11.tar.gz) = 2a1a8d90e326530b41a8a7d6889325cefcba5914451a48c6a20d5d5cd68004835e76e6ecac628554167a014f9c0b1487c15f37151afd771ea0166a4c40afd7d2
commit 1fd9cbbc18d1b074f8b490485f0a796c01ecf60d
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 9 12:53:44 2019 +0100
Update failing tests lists
diff --git a/mariadb.spec b/mariadb.spec
index 870d81f..99e30f0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -6,7 +6,7 @@
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 1
+%global ignore_testsuite_result 0
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index eccb8c0..b982197 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -57,3 +57,7 @@ plugins.auth_ed25519 :
# Fails from 10.4.10
sys_vars.tcp_nodelay :
+# only on i686
+main.key_cache :
+parts.optimizer :
+main.opt_trace_index_merge :
commit b86d806db4c445a85ed8001be53516328a4a05cf
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 7 03:53:09 2019 +0100
Remove ancient Galera obsoletes
diff --git a/mariadb.spec b/mariadb.spec
index e66f410..870d81f 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -286,9 +286,6 @@ Suggests: %{name}-server%{?_isa} = %{sameevr}
# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
%{?with_conflicts:Conflicts: community-mysql}
-# obsoletion of mariadb-galera
-Provides: mariadb-galera = %{sameevr}
-
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
@@ -347,9 +344,6 @@ package itself.
Summary: The shared files required by server and client
Requires: %{_sysconfdir}/my.cnf
-# obsoletion of mariadb-galera-common
-Provides: mariadb-galera-common = %{sameevr}
-
%if %{without clibrary}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -385,9 +379,6 @@ Requires: lsof
# Default wsrep_sst_method
Requires: rsync
-# obsoletion of mariadb-galera-server
-Provides: mariadb-galera-server = %{sameevr}
-
%description server-galera
MariaDB is a multi-user, multi-threaded SQL database server. It is a
client/server implementation consisting of a server daemon (mysqld)
commit d83bf98182cfe4a91836472f52038dbc5723ae71
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 7 03:49:46 2019 +0100
Allow port 4444 in SELinux for Galera SST replication
diff --git a/mariadb.spec b/mariadb.spec
index 17e5a95..e66f410 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1232,11 +1232,16 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%if %{with galera}
%post server-galera
-# Do what README at support-files/policy/selinux/README and upstream page
-# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend:
-semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || :
+# Allow ports needed for the replication:
+# https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#net...
+# Galera Replication Port
semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || :
semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || :
+# IST Port
+semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || :
+# SST Port
+semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || :
+
semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || :
%endif
commit c487d09e4d72a76af5ec2383ed8e9698424c1752
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Dec 6 15:06:31 2019 +0100
Use updated sources from upstream GitHub, instead of the released version 10.4.10
for fix for https://jira.mariadb.org/browse/MDEV-21229
Upstream commit that fixes the issue:
https://github.com/MariaDB/server/commit/9a6212008999da44b136605c1abf2cc9...
diff --git a/mariadb.spec b/mariadb.spec
index 3bd9fcf..17e5a95 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.10
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -266,7 +266,7 @@ Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
# Explicit EVR requirement for -libs is needed for RHBZ#1406320
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
@@ -304,7 +304,7 @@ The base package contains the standard MariaDB/MySQL client programs and
generic MySQL files.
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -350,7 +350,7 @@ Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
Provides: mariadb-galera-common = %{sameevr}
-%if %{without clibrary} && %{without galera}
+%if %{without clibrary}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -377,7 +377,7 @@ MariaDB packages.
Summary: The configuration files and scripts for galera replication
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
-Requires: galera >= 25.3.3
+Requires: galera >= 26.4.3
Requires(post): libselinux-utils
Requires(post): policycoreutils-python-utils
# wsrep requirements
@@ -595,7 +595,7 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl.
%package devel
Summary: Files for development of MariaDB/MySQL applications
Requires: openssl-devel
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
Requires: mariadb-connector-c-devel >= 3.0
@@ -921,7 +921,6 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/
install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/
-rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/
# Logfile creation
mkdir -p %{buildroot}%{logfiledir}
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index e41440b..eccb8c0 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -50,4 +50,10 @@ innodb_gis.rtree_compress2 :
parts.partition_alter4_innodb :
# Fails from 10.3.9
-encryption.innodb-redo-badkey :
+encryption.innodb-redo-badkey :
+
+# Expected: Plugin building disabled in server
+plugins.auth_ed25519 :
+
+# Fails from 10.4.10
+sys_vars.tcp_nodelay :
diff --git a/sources b/sources
index f3d0b74..c5ef0e3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.7.tar.gz) = cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
+SHA512 (mariadb-10.4.10.tar.gz) = a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f
commit 8d089185e5698a5216a4e50aca3a52f60b8d2e78
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Dec 6 14:55:29 2019 +0100
Rebase to 10.4.10
Upstream started to build the Galera libraries statically
Spider SE patch updated, tiny part of it was upstreamed
Commit also contains several tweaks for debug build
diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch
index fd58c42..6af9466 100644
--- a/mariadb-logrotate.patch
+++ b/mariadb-logrotate.patch
@@ -26,16 +26,13 @@ Update 6/2018
beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can.
* Submited as PR: https://github.com/MariaDB/server/pull/807
---- mariadb-10.3.7/support-files/mysql-log-rotate.sh 2018-05-23 22:38:46.000000000 +0200
-+++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched 2018-06-27 12:11:23.705719826 +0200
-@@ -1,25 +1,12 @@
- # This logname can be set in /etc/my.cnf
- # by setting the variable "err-log"
--# in the [safe_mysqld] section as follows:
-+# in the [mysqld] section as follows:
+--- mariadb-10.3.19/support-files/mysql-log-rotate.sh 2019-11-03 17:03:27.000000000 +0100
++++ mariadb-10.3.19/support-files/mysql-log-rotate.sh_patched 2019-11-06 15:07:54.205379672 +0100
+@@ -3,23 +3,10 @@
+ # in the [mysqld] section as follows:
#
--# [safe_mysqld]
--# err-log=@localstatedir(a)/mysqld.log
+ # [mysqld]
+-# log-error=@localstatedir(a)/mysqld.log
-#
-# If the root user has a password you have to create a
-# /root/.my.cnf configuration file with the following
@@ -49,15 +46,14 @@ Update 6/2018
-#
-# ATTENTION: This /root/.my.cnf should be readable ONLY
-# for root !
-+# [mysqld]
-+# log_error=@LOG_LOCATION@
++# log-error=@LOG_LOCATION@
-@localstatedir(a)/mysqld.log {
- # create 600 mysql mysql
+@LOG_LOCATION@ {
+ create 600 mysql mysql
notifempty
- daily
+ daily
rotate 3
@@ -27,11 +14,9 @@
compress
diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch
index 2278481..6be8528 100644
--- a/mariadb-spider_on_armv7hl.patch
+++ b/mariadb-spider_on_armv7hl.patch
@@ -339,15 +339,6 @@ index 58351195a61..da2052ad79e 100644
NullS)
) {
delete clone_row;
-@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down(
- int error_num;
- uint outer_join_backup;
- TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL;
-- bool first;
-+ bool first = TRUE;
- DBUG_ENTER("spider_db_mbase_util::append_tables_top_down");
- DBUG_PRINT("info",("spider this=%p", this));
- if (
@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos()
if (!union_table_name_pos_first)
{
diff --git a/mariadb.spec b/mariadb.spec
index ef7fe21..3bd9fcf 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.7
-Release: 2%{?with_debug:.debug}%{?dist}
+Version: 10.4.10
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -258,6 +258,10 @@ BuildRequires: perl(Symbol)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
+%if %{with debug}
+BuildRequires: valgrind-devel
+%endif
+
Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -787,14 +791,23 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py
fi
%endif
-CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# force PIC mode so that we can build libmysqld.so
CFLAGS="$CFLAGS -fPIC"
-# Override all optimization flags when making a debug build
-%{?with_debug: CFLAGS="$CFLAGS -O0 -g"}
+# Override all optimization flags when making a debug build
+%if %{with debug}
+CFLAGS="$CFLAGS -O0 -g
+CPPFLAGS="$CPPFLAGS -O0 -g -D_FORTIFY_SOURCE=0
+# Fix GCC flags broken by MariaDB upstream
+CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare
CXXFLAGS="$CFLAGS"
-export CFLAGS CXXFLAGS
+CPPFLAGS="$CPPFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare
+%endif
+
+
+
+export CFLAGS CXXFLAGS CPPFLAGS
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
@@ -877,12 +890,6 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp
%install
make DESTDIR=%{buildroot} install
-%if %{with galera}
-# Install the wsrep library
-install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir}
-install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir}
-%endif
-
# multilib header support #1625157
for header in mysql/server/my_config.h mysql/server/private/config.h; do
%multilib_fix_c_header --file %{_includedir}/$header
@@ -1268,11 +1275,8 @@ fi
%endif
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
%files libs
-%if %{with galera}
-%{_libdir}/libwsrep*.so*
-%endif
%if %{with clibrary}
%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
%{_libdir}/libmariadb.so*
@@ -1599,6 +1603,10 @@ fi
%endif
%changelog
+* Tue Dec 03 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.10-1
+- Rebase to 10.4.10
+ Upstream started linking the Galera libraries statically
+
* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
- Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
commit a0e96d6af736aaac8127707e8af4fc4ea6a31bc2
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Sep 25 14:40:09 2019 +0200
Disable building of bench subpackage. Upstream no longer maintain it
diff --git a/mariadb.spec b/mariadb.spec
index 5417c70..ef7fe21 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -87,7 +87,7 @@
%bcond_without backup
# Upstream no longer maintain and pack the bench subpackage
%if 0%{?fedora}
-%bcond_without bench
+%bcond_with bench
%else
%bcond_with bench
%endif
@@ -1602,6 +1602,7 @@ fi
* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
- Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
+- Disable building of bench subpackage. Upstream no longer maintain it
* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
- Rebase to 10.4.7
commit 72888c223ea885e3717eeef00e3cb6f8b2283790
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Sep 11 13:00:52 2019 +0200
Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
diff --git a/mariadb.spec b/mariadb.spec
index 2093723..5417c70 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.7
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -853,6 +853,7 @@ export CFLAGS CXXFLAGS
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
+ -DPLUGIN_CLIENT_ED25519=OFF \
-DPYTHON_SHEBANG=%{python_path} \
-DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
@@ -1598,6 +1599,10 @@ fi
%endif
%changelog
+* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
+- Disable building of the ed25519 client plugin.
+ From now on it will be shipped by 'mariadb-connector-c' package
+
* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
- Rebase to 10.4.7
commit 38920fe23b78bf2f6944db72bb07f894a5ae7cdc
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Aug 22 16:31:37 2019 +0200
Rebase to 10.4.7
diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch
index 9c5692f..2122190 100644
--- a/mariadb-auth_pam_tool_dir.patch
+++ b/mariadb-auth_pam_tool_dir.patch
@@ -5,25 +5,24 @@ Thus "chown 0" will always fail
Never parse 'ls' output!
http://mywiki.wooledge.org/BashFAQ/087
---- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200
-+++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187 +0200
-@@ -476,12 +476,15 @@ then
+--- mariadb-10.4.7/scripts/mysql_install_db.sh 2019-07-30 13:32:16.000000000 +0200
++++ mariadb-10.4.7/scripts/mysql_install_db.sh_patched 2019-08-22 16:29:28.341484925 +0200
+@@ -490,13 +490,16 @@ then
fi
if test -z "$srcdir"
then
-- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
+- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
- if test $? -ne 0
+ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ]
then
-- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-- echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
-- echo
-+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
++ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+ if test $? -ne 0
+ then
-+ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-+ echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
-+ echo
+ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
+ echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
+ echo
+ fi
fi
fi
diff --git a/mariadb.spec b/mariadb.spec
index 4276aeb..2093723 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -115,7 +115,7 @@
%bcond_without unbundled_pcre
%else
%bcond_with unbundled_pcre
-%global pcre_bundled_version 8.42
+%global pcre_bundled_version 8.43
%endif
# Use main python interpretter version
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.6
-Release: 2%{?with_debug:.debug}%{?dist}
+Version: 10.4.7
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1598,6 +1598,9 @@ fi
%endif
%changelog
+* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
+- Rebase to 10.4.7
+
* Fri Jun 21 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-2
- Apply critical patch for Spider SE on Armv7hl architecture
diff --git a/sources b/sources
index 952d959..f3d0b74 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.6.tar.gz) = b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c
+SHA512 (mariadb-10.4.7.tar.gz) = cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
commit 1ed43fdb08331b8d207b73ad543d839673dca50b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jun 21 14:44:07 2019 +0200
Apply critical patch for Spider SE on Armv7hl architecture
diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch
new file mode 100644
index 0000000..2278481
--- /dev/null
+++ b/mariadb-spider_on_armv7hl.patch
@@ -0,0 +1,1087 @@
+Fix for:
+https://jira.mariadb.org/browse/MDEV-18737
+Taken from:
+https://github.com/MariaDB/server/commit/80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186
+
+
+
+
+
+From 80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 Mon Sep 17 00:00:00 2001
+From: Kentoku <kentokushiba(a)gmail.com>
+Date: Tue, 18 Jun 2019 01:43:07 +0900
+Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl
+
+This is an issue of memory alignment of variable argument when calling my_multi_malloc().
+The fix is strictly casting allocating size to "uint".
+---
+ storage/spider/ha_spider.cc | 36 +++--
+ storage/spider/spd_conn.cc | 69 +++++-----
+ storage/spider/spd_copy_tables.cc | 25 ++--
+ storage/spider/spd_db_conn.cc | 13 +-
+ storage/spider/spd_db_handlersocket.cc | 4 +-
+ storage/spider/spd_db_mysql.cc | 12 +-
+ storage/spider/spd_db_oracle.cc | 24 ++--
+ storage/spider/spd_direct_sql.cc | 78 +++++------
+ storage/spider/spd_group_by_handler.cc | 7 +-
+ storage/spider/spd_ping_table.cc | 36 +++--
+ storage/spider/spd_table.cc | 134 ++++++++++---------
+ storage/spider/spd_trx.cc | 173 +++++++++++++------------
+ 12 files changed, 328 insertions(+), 283 deletions(-)
+
+diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc
+index 33e81201fff..d3bc24dc0e0 100644
+--- a/storage/spider/ha_spider.cc
++++ b/storage/spider/ha_spider.cc
+@@ -395,15 +395,24 @@ int ha_spider::open(
+ {
+ if (!(searched_bitmap = (uchar *)
+ spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME),
+- &searched_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &ft_discard_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &position_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &partition_handler_share, sizeof(SPIDER_PARTITION_HANDLER_SHARE),
+- &idx_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &idx_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &rnd_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &rnd_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &pt_handler_share_handlers, sizeof(ha_spider *) * part_num,
++ &searched_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &ft_discard_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &position_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &partition_handler_share,
++ (uint) sizeof(SPIDER_PARTITION_HANDLER_SHARE),
++ &idx_read_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &idx_write_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &rnd_read_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &rnd_write_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &pt_handler_share_handlers,
++ (uint) sizeof(ha_spider *) * part_num,
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -11389,7 +11398,7 @@ int ha_spider::create(
+ if (!(tmp_share.static_key_cardinality = (longlong *)
+ spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME),
+ &tmp_share.static_key_cardinality,
+- sizeof(*tmp_share.static_key_cardinality) * form->s->keys,
++ (uint) (sizeof(*tmp_share.static_key_cardinality) * form->s->keys),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -12198,7 +12207,8 @@ int ha_spider::info_push(
+ spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0));
+ if (!(hs_pushed_ret_fields = (uint32 *)
+ spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME),
+- &hs_pushed_ret_fields, sizeof(uint32) * hs_pushed_ret_fields_num,
++ &hs_pushed_ret_fields,
++ (uint) (sizeof(uint32) * hs_pushed_ret_fields_num),
+ NullS))
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -13762,8 +13772,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link()
+ */
+ if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *)
+ spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME),
+- &bulk_access_link, sizeof(SPIDER_BULK_ACCESS_LINK),
+- &ref, ALIGN_SIZE(ref_length) * 2,
++ &bulk_access_link, (uint) (sizeof(SPIDER_BULK_ACCESS_LINK)),
++ &ref, (uint) (ALIGN_SIZE(ref_length) * 2),
+ NullS))
+ ) {
+ goto error_bulk_malloc;
+diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc
+index b1f49f4f250..2f372d8f692 100644
+--- a/storage/spider/spd_conn.cc
++++ b/storage/spider/spd_conn.cc
+@@ -472,30 +472,30 @@ SPIDER_CONN *spider_create_conn(
+ #endif
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
+ &tmp_username,
+- share->tgt_usernames_lengths[link_idx] + 1,
++ (uint) (share->tgt_usernames_lengths[link_idx] + 1),
+ &tmp_password,
+- share->tgt_passwords_lengths[link_idx] + 1,
+- &tmp_socket, share->tgt_sockets_lengths[link_idx] + 1,
++ (uint) (share->tgt_passwords_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->tgt_sockets_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &tmp_ssl_ca, share->tgt_ssl_cas_lengths[link_idx] + 1,
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &tmp_ssl_ca, (uint) (share->tgt_ssl_cas_lengths[link_idx] + 1),
+ &tmp_ssl_capath,
+- share->tgt_ssl_capaths_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_capaths_lengths[link_idx] + 1),
+ &tmp_ssl_cert,
+- share->tgt_ssl_certs_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_certs_lengths[link_idx] + 1),
+ &tmp_ssl_cipher,
+- share->tgt_ssl_ciphers_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_ciphers_lengths[link_idx] + 1),
+ &tmp_ssl_key,
+- share->tgt_ssl_keys_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_keys_lengths[link_idx] + 1),
+ &tmp_default_file,
+- share->tgt_default_files_lengths[link_idx] + 1,
++ (uint) (share->tgt_default_files_lengths[link_idx] + 1),
+ &tmp_default_group,
+- share->tgt_default_groups_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_default_groups_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -594,13 +594,13 @@ SPIDER_CONN *spider_create_conn(
+ } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->hs_read_conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
+- &tmp_socket, share->hs_read_socks_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->hs_read_conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->hs_read_socks_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -636,13 +636,13 @@ SPIDER_CONN *spider_create_conn(
+ } else {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->hs_write_conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
+- &tmp_socket, share->hs_write_socks_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->hs_write_conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->hs_write_socks_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -3648,13 +3648,16 @@ int spider_create_mon_threads(
+ }
+ if (!(share->bg_mon_thds = (THD **)
+ spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL),
+- &share->bg_mon_thds, sizeof(THD *) * share->all_link_count,
+- &share->bg_mon_threads, sizeof(pthread_t) * share->all_link_count,
+- &share->bg_mon_mutexes, sizeof(pthread_mutex_t) *
+- share->all_link_count,
+- &share->bg_mon_conds, sizeof(pthread_cond_t) * share->all_link_count,
++ &share->bg_mon_thds,
++ (uint) (sizeof(THD *) * share->all_link_count),
++ &share->bg_mon_threads,
++ (uint) (sizeof(pthread_t) * share->all_link_count),
++ &share->bg_mon_mutexes,
++ (uint) (sizeof(pthread_mutex_t) * share->all_link_count),
++ &share->bg_mon_conds,
++ (uint) (sizeof(pthread_cond_t) * share->all_link_count),
+ &share->bg_mon_sleep_conds,
+- sizeof(pthread_cond_t) * share->all_link_count,
++ (uint) (sizeof(pthread_cond_t) * share->all_link_count),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc
+index 13c53220b16..1a472e2c12b 100644
+--- a/storage/spider/spd_copy_tables.cc
++++ b/storage/spider/spd_copy_tables.cc
+@@ -390,12 +390,15 @@ int spider_udf_get_copy_tgt_tables(
+ do {
+ if (!(table_conn = (SPIDER_COPY_TABLE_CONN *)
+ spider_bulk_malloc(spider_current_trx, 25, MYF(MY_WME | MY_ZEROFILL),
+- &table_conn, sizeof(SPIDER_COPY_TABLE_CONN),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
++ &table_conn, (uint) (sizeof(SPIDER_COPY_TABLE_CONN)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
+ NullS))
+ ) {
+ spider_sys_index_end(table_tables);
+@@ -706,12 +709,12 @@ int spider_udf_copy_tables_create_table_list(
+ if (!(copy_tables->link_idxs[0] = (int *)
+ spider_bulk_malloc(spider_current_trx, 26, MYF(MY_WME | MY_ZEROFILL),
+ ©_tables->link_idxs[0],
+- sizeof(int) * copy_tables->link_idx_count[0],
++ (uint) (sizeof(int) * copy_tables->link_idx_count[0]),
+ ©_tables->link_idxs[1],
+- sizeof(int) * copy_tables->link_idx_count[1],
+- &tmp_name_ptr, sizeof(char) * (
++ (uint) (sizeof(int) * copy_tables->link_idx_count[1]),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ spider_table_name_length * 2 + copy_tables->database_length + 3
+- ),
++ )),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -906,7 +909,7 @@ long long spider_copy_tables_body(
+
+ if (!(copy_tables = (SPIDER_COPY_TABLES *)
+ spider_bulk_malloc(spider_current_trx, 27, MYF(MY_WME | MY_ZEROFILL),
+- ©_tables, sizeof(SPIDER_COPY_TABLES),
++ ©_tables, (uint) (sizeof(SPIDER_COPY_TABLES)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc
+index f3d607cd6dc..6d3a88a55db 100644
+--- a/storage/spider/spd_db_conn.cc
++++ b/storage/spider/spd_db_conn.cc
+@@ -2683,7 +2683,8 @@ int spider_db_fetch_for_item_sum_func(
+ if (!spider->direct_aggregate_item_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME),
+- &spider->direct_aggregate_item_first, sizeof(SPIDER_ITEM_HLD),
++ &spider->direct_aggregate_item_first,
++ (uint) (sizeof(SPIDER_ITEM_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -2702,7 +2703,7 @@ int spider_db_fetch_for_item_sum_func(
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME),
+ &spider->direct_aggregate_item_current->next,
+- sizeof(SPIDER_ITEM_HLD), NullS)
++ (uint) (sizeof(SPIDER_ITEM_HLD)), NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+ }
+@@ -4074,8 +4075,8 @@ int spider_db_store_result(
+ current->field_count = field_count;
+ if (!(position = (SPIDER_POSITION *)
+ spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL),
+- &position, sizeof(SPIDER_POSITION) * page_size,
+- &tmp_row, sizeof(char*) * field_count,
++ &position, (uint) (sizeof(SPIDER_POSITION) * page_size),
++ &tmp_row, (uint) (sizeof(SPIDER_DB_ROW) * field_count),
+ NullS))
+ )
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -10948,8 +10949,8 @@ int spider_db_udf_copy_tables(
+ DBUG_ENTER("spider_db_udf_copy_tables");
+ if (!(last_row_pos = (ulong *)
+ spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME),
+- &last_row_pos, sizeof(ulong) * table->s->fields,
+- &last_lengths, sizeof(ulong) * table->s->fields,
++ &last_row_pos, (uint) (sizeof(ulong) * table->s->fields),
++ &last_lengths, (uint) (sizeof(ulong) * table->s->fields),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc
+index ac81525092b..27257ee08e6 100644
+--- a/storage/spider/spd_db_handlersocket.cc
++++ b/storage/spider/spd_db_handlersocket.cc
+@@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone()
+ DBUG_RETURN(NULL);
+ }
+ if (!spider_bulk_malloc(spider_current_trx, 169, MYF(MY_WME),
+- &clone_row->hs_row, sizeof(SPIDER_HS_STRING_REF) * field_count,
+- &tmp_char, row_size,
++ &clone_row->hs_row, (uint) (sizeof(SPIDER_HS_STRING_REF) * field_count),
++ &tmp_char, (uint) (row_size),
+ NullS)
+ ) {
+ delete clone_row;
+diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc
+index 58351195a61..da2052ad79e 100644
+--- a/storage/spider/spd_db_mysql.cc
++++ b/storage/spider/spd_db_mysql.cc
+@@ -537,9 +537,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone()
+ row_size = record_size + field_count;
+ }
+ if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME),
+- &clone_row->row, sizeof(char*) * field_count,
+- &tmp_char, row_size,
+- &clone_row->lengths, sizeof(ulong) * field_count,
++ &clone_row->row, (uint) (sizeof(char*) * field_count),
++ &tmp_char, (uint) (row_size),
++ &clone_row->lengths, (uint) (sizeof(ulong) * field_count),
+ NullS)
+ ) {
+ delete clone_row;
+@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down(
+ int error_num;
+ uint outer_join_backup;
+ TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL;
+- bool first;
++ bool first = TRUE;
+ DBUG_ENTER("spider_db_mbase_util::append_tables_top_down");
+ DBUG_PRINT("info",("spider this=%p", this));
+ if (
+@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos()
+ if (!union_table_name_pos_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME),
+- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -13807,7 +13807,7 @@ int spider_mbase_handler::set_union_table_name_pos()
+ if (!union_table_name_pos_current->next)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME),
+- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc
+index 773c6b90ed9..0c74415f6b2 100644
+--- a/storage/spider/spd_db_oracle.cc
++++ b/storage/spider/spd_db_oracle.cc
+@@ -588,16 +588,16 @@ int spider_db_oracle_row::init()
+ if (
+ !(ind = (sb2 *)
+ spider_bulk_malloc(spider_current_trx, 161, MYF(MY_WME | MY_ZEROFILL),
+- &ind, sizeof(sb2) * field_count,
+- &rlen, sizeof(ub2) * field_count,
+- &coltp, sizeof(ub2) * field_count,
+- &colsz, sizeof(ub2) * field_count,
+- &row_size, sizeof(ulong) * field_count,
+- &val, sizeof(char *) * field_count,
+- &tmp_val, MAX_FIELD_WIDTH * field_count,
+- &defnp, sizeof(OCIDefine *) * field_count,
+- &lobhp, sizeof(OCILobLocator *) * field_count,
+- &colhp, sizeof(OCIParam *) * field_count,
++ &ind, (uint) (sizeof(sb2) * field_count),
++ &rlen, (uint) (sizeof(ub2) * field_count),
++ &coltp, (uint) (sizeof(ub2) * field_count),
++ &colsz, (uint) (sizeof(ub2) * field_count),
++ &row_size, (uint) (sizeof(ulong) * field_count),
++ &val, (uint) (sizeof(char *) * field_count),
++ &tmp_val, (uint) (MAX_FIELD_WIDTH * field_count),
++ &defnp, (uint) (sizeof(OCIDefine *) * field_count),
++ &lobhp, (uint) (sizeof(OCILobLocator *) * field_count),
++ &colhp, (uint) (sizeof(OCIParam *) * field_count),
+ NullS)
+ ) ||
+ !(val_str = new spider_string[field_count])
+@@ -12519,7 +12519,7 @@ int spider_oracle_handler::init_union_table_name_pos()
+ if (!union_table_name_pos_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME),
+- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -12540,7 +12540,7 @@ int spider_oracle_handler::set_union_table_name_pos()
+ if (!union_table_name_pos_current->next)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME),
+- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc
+index 7237d0877a7..7bf0b91a4a7 100644
+--- a/storage/spider/spd_direct_sql.cc
++++ b/storage/spider/spd_direct_sql.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2009-2018 Kentoku Shiba
++/* Copyright (C) 2009-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -117,31 +118,32 @@ int spider_udf_direct_sql_create_table_list(
+ #if MYSQL_VERSION_ID < 50500
+ if (!(direct_sql->db_names = (char**)
+ spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql->db_names, sizeof(char*) * table_count,
+- &direct_sql->table_names, sizeof(char*) * table_count,
+- &direct_sql->tables, sizeof(TABLE*) * table_count,
+- &tmp_name_ptr, sizeof(char) * (
++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ table_name_list_length +
+ thd->db_length * table_count +
+ 2 * table_count
+- ),
+- &direct_sql->iop, sizeof(int) * table_count,
++ )),
++ &direct_sql->iop, (uint) (sizeof(int) * table_count),
+ NullS))
+ )
+ #else
+ if (!(direct_sql->db_names = (char**)
+ spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql->db_names, sizeof(char*) * table_count,
+- &direct_sql->table_names, sizeof(char*) * table_count,
+- &direct_sql->tables, sizeof(TABLE*) * table_count,
+- &tmp_name_ptr, sizeof(char) * (
++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ table_name_list_length +
+ SPIDER_THD_db_length(thd) * table_count +
+ 2 * table_count
+- ),
+- &direct_sql->iop, sizeof(int) * table_count,
+- &direct_sql->table_list, sizeof(TABLE_LIST) * table_count,
+- &direct_sql->real_table_bitmap, sizeof(uchar) * ((table_count + 7) / 8),
++ )),
++ &direct_sql->iop, (uint) (sizeof(int) * table_count),
++ &direct_sql->table_list, (uint) (sizeof(TABLE_LIST) * table_count),
++ &direct_sql->real_table_bitmap,
++ (uint) (sizeof(uchar) * ((table_count + 7) / 8)),
+ NullS))
+ )
+ #endif
+@@ -412,23 +414,23 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
+ #endif
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, direct_sql->conn_key_length + 1,
+- &tmp_host, direct_sql->tgt_host_length + 1,
+- &tmp_username, direct_sql->tgt_username_length + 1,
+- &tmp_password, direct_sql->tgt_password_length + 1,
+- &tmp_socket, direct_sql->tgt_socket_length + 1,
+- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1,
+- &tmp_ssl_ca, direct_sql->tgt_ssl_ca_length + 1,
+- &tmp_ssl_capath, direct_sql->tgt_ssl_capath_length + 1,
+- &tmp_ssl_cert, direct_sql->tgt_ssl_cert_length + 1,
+- &tmp_ssl_cipher, direct_sql->tgt_ssl_cipher_length + 1,
+- &tmp_ssl_key, direct_sql->tgt_ssl_key_length + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (direct_sql->conn_key_length + 1),
++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1),
++ &tmp_username, (uint) (direct_sql->tgt_username_length + 1),
++ &tmp_password, (uint) (direct_sql->tgt_password_length + 1),
++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1),
++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1),
++ &tmp_ssl_ca, (uint) (direct_sql->tgt_ssl_ca_length + 1),
++ &tmp_ssl_capath, (uint) (direct_sql->tgt_ssl_capath_length + 1),
++ &tmp_ssl_cert, (uint) (direct_sql->tgt_ssl_cert_length + 1),
++ &tmp_ssl_cipher, (uint) (direct_sql->tgt_ssl_cipher_length + 1),
++ &tmp_ssl_key, (uint) (direct_sql->tgt_ssl_key_length + 1),
+ &tmp_default_file,
+- direct_sql->tgt_default_file_length + 1,
++ (uint) (direct_sql->tgt_default_file_length + 1),
+ &tmp_default_group,
+- direct_sql->tgt_default_group_length + 1,
+- &need_mon, sizeof(int),
++ (uint) (direct_sql->tgt_default_group_length + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -439,12 +441,12 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
+ } else {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, direct_sql->conn_key_length + 1,
+- &tmp_host, direct_sql->tgt_host_length + 1,
+- &tmp_socket, direct_sql->tgt_socket_length + 1,
+- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1,
+- &need_mon, sizeof(int),
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (direct_sql->conn_key_length + 1),
++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1),
++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1),
++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -1602,8 +1604,8 @@ long long spider_direct_sql_body(
+ SPIDER_BACKUP_DASTATUS;
+ if (!(direct_sql = (SPIDER_DIRECT_SQL *)
+ spider_bulk_malloc(spider_current_trx, 34, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql, sizeof(SPIDER_DIRECT_SQL),
+- &sql, sizeof(char) * args->lengths[0],
++ &direct_sql, (uint) (sizeof(SPIDER_DIRECT_SQL)),
++ &sql, (uint) (sizeof(char) * args->lengths[0]),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+diff --git a/storage/spider/spd_group_by_handler.cc b/storage/spider/spd_group_by_handler.cc
+index 3b57092c4ce..51cfca23106 100644
+--- a/storage/spider/spd_group_by_handler.cc
++++ b/storage/spider/spd_group_by_handler.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2008-2018 Kentoku Shiba
++/* Copyright (C) 2008-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -637,9 +638,9 @@ SPIDER_CONN_HOLDER *spider_fields::create_conn_holder(
+ DBUG_PRINT("info",("spider this=%p", this));
+ return_conn_holder = (SPIDER_CONN_HOLDER *)
+ spider_bulk_malloc(spider_current_trx, 252, MYF(MY_WME | MY_ZEROFILL),
+- &return_conn_holder, sizeof(SPIDER_CONN_HOLDER),
++ &return_conn_holder, (uint) (sizeof(SPIDER_CONN_HOLDER)),
+ &table_link_idx_holder,
+- table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER),
++ (uint) (table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER)),
+ NullS
+ );
+ if (!return_conn_holder)
+diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc
+index 431d46063c3..60e36fc24fb 100644
+--- a/storage/spider/spd_ping_table.cc
++++ b/storage/spider/spd_ping_table.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2009-2018 Kentoku Shiba
++/* Copyright (C) 2009-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -367,12 +368,15 @@ int spider_get_ping_table_mon(
+ do {
+ if (!(table_mon = (SPIDER_TABLE_MON *)
+ spider_bulk_malloc(spider_current_trx, 35, MYF(MY_WME | MY_ZEROFILL),
+- &table_mon, sizeof(SPIDER_TABLE_MON),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
++ &table_mon, (uint) (sizeof(SPIDER_TABLE_MON)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
+ NullS))
+ ) {
+ spider_sys_index_end(table_link_mon);
+@@ -491,13 +495,17 @@ SPIDER_TABLE_MON_LIST *spider_get_ping_table_tgt(
+ SPD_INIT_ALLOC_ROOT(&mem_root, 4096, 0, MYF(MY_WME));
+ if (!(table_mon_list = (SPIDER_TABLE_MON_LIST *)
+ spider_bulk_malloc(spider_current_trx, 36, MYF(MY_WME | MY_ZEROFILL),
+- &table_mon_list, sizeof(SPIDER_TABLE_MON_LIST),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
+- &key_str, str->length() + 1,
++ &table_mon_list, (uint) (sizeof(SPIDER_TABLE_MON_LIST)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long,
++ (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
++ &key_str, (uint) (str->length() + 1),
+ NullS))
+ ) {
+ my_error(HA_ERR_OUT_OF_MEM, MYF(0));
+diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc
+index 723beb0775e..fe628f55d16 100644
+--- a/storage/spider/spd_table.cc
++++ b/storage/spider/spd_table.cc
+@@ -1211,8 +1211,8 @@ int spider_create_string_list(
+
+ if (!(*string_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL),
+- string_list, sizeof(char*) * (*list_length),
+- string_length_list, sizeof(int) * (*list_length),
++ string_list, (uint) (sizeof(char*) * (*list_length)),
++ string_length_list, (uint) (sizeof(int) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1330,7 +1330,7 @@ int spider_create_long_list(
+
+ if (!(*long_list = (long*)
+ spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL),
+- long_list, sizeof(long) * (*list_length),
++ long_list, (uint) (sizeof(long) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1414,7 +1414,7 @@ int spider_create_longlong_list(
+
+ if (!(*longlong_list = (longlong *)
+ spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL),
+- longlong_list, sizeof(longlong) * (*list_length),
++ longlong_list, (uint) (sizeof(longlong) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1485,8 +1485,8 @@ int spider_increase_string_list(
+
+ if (!(tmp_str_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_str_list, sizeof(char*) * link_count,
+- &tmp_length_list, sizeof(uint) * link_count,
++ &tmp_str_list, (uint) (sizeof(char*) * link_count),
++ &tmp_length_list, (uint) (sizeof(uint) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1548,8 +1548,8 @@ int spider_increase_null_string_list(
+
+ if (!(tmp_str_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_str_list, sizeof(char*) * link_count,
+- &tmp_length_list, sizeof(uint) * link_count,
++ &tmp_str_list, (uint) (sizeof(char*) * link_count),
++ &tmp_length_list, (uint) (sizeof(uint) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1606,7 +1606,7 @@ int spider_increase_long_list(
+
+ if (!(tmp_long_list = (long*)
+ spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_long_list, sizeof(long) * link_count,
++ &tmp_long_list, (uint) (sizeof(long) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1651,7 +1651,7 @@ int spider_increase_longlong_list(
+
+ if (!(tmp_longlong_list = (longlong*)
+ spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_longlong_list, sizeof(longlong) * link_count,
++ &tmp_longlong_list, (uint) (sizeof(longlong) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -2974,17 +2974,17 @@ int spider_parse_connect_info(
+ if (!(share_alter->tmp_server_names = (char **)
+ spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL),
+ &share_alter->tmp_server_names,
+- sizeof(char *) * 16 * share->all_link_count,
++ (uint) (sizeof(char *) * 16 * share->all_link_count),
+ &share_alter->tmp_server_names_lengths,
+- sizeof(uint *) * 16 * share->all_link_count,
++ (uint) (sizeof(uint *) * 16 * share->all_link_count),
+ &share_alter->tmp_tgt_ports,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_tgt_ssl_vscs,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_monitoring_binlog_pos_at_failing,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_link_statuses,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -4388,13 +4388,17 @@ SPIDER_SHARE *spider_create_share(
+ bitmap_size = spider_bitmap_size(table_share->fields);
+ if (!(share = (SPIDER_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL),
+- &share, sizeof(*share),
+- &tmp_name, length + 1,
+- &tmp_static_key_cardinality, sizeof(*tmp_static_key_cardinality) * table_share->keys,
+- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields,
+- &tmp_cardinality_upd, sizeof(*tmp_cardinality_upd) * bitmap_size,
+- &tmp_table_mon_mutex_bitmap, sizeof(*tmp_table_mon_mutex_bitmap) *
+- ((spider_param_udf_table_mon_mutex_count() + 7) / 8),
++ &share, (uint) (sizeof(*share)),
++ &tmp_name, (uint) (length + 1),
++ &tmp_static_key_cardinality,
++ (uint) (sizeof(*tmp_static_key_cardinality) * table_share->keys),
++ &tmp_cardinality,
++ (uint) (sizeof(*tmp_cardinality) * table_share->fields),
++ &tmp_cardinality_upd,
++ (uint) (sizeof(*tmp_cardinality_upd) * bitmap_size),
++ &tmp_table_mon_mutex_bitmap,
++ (uint) (sizeof(*tmp_table_mon_mutex_bitmap) *
++ ((spider_param_udf_table_mon_mutex_count() + 7) / 8)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -5921,8 +5925,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share(
+ DBUG_PRINT("info",("spider create new lgtm tblhnd share"));
+ if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL),
+- &lgtm_tblhnd_share, sizeof(*lgtm_tblhnd_share),
+- &tmp_name, table_name_length + 1,
++ &lgtm_tblhnd_share, (uint) (sizeof(*lgtm_tblhnd_share)),
++ &tmp_name, (uint) (table_name_length + 1),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -6031,9 +6035,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share(
+ DBUG_PRINT("info",("spider create new pt share"));
+ if (!(partition_share = (SPIDER_PARTITION_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL),
+- &partition_share, sizeof(*partition_share),
+- &tmp_name, table_share->path.length + 1,
+- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields,
++ &partition_share, (uint) (sizeof(*partition_share)),
++ &tmp_name, (uint) (table_share->path.length + 1),
++ &tmp_cardinality,
++ (uint) (sizeof(*tmp_cardinality) * table_share->fields),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -6379,15 +6384,18 @@ int spider_open_all_tables(
+
+ if (!(share = (SPIDER_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL),
+- &share, sizeof(*share),
+- &connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &long_info, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &longlong_info, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
+- &conns, sizeof(SPIDER_CONN *),
+- &need_mon, sizeof(int),
+- &spider->conn_link_idx, sizeof(uint),
+- &spider->conn_can_fo, sizeof(uchar),
++ &share, (uint) (sizeof(*share)),
++ &connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &long_info, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &longlong_info,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
++ &conns, (uint) (sizeof(SPIDER_CONN *)),
++ &need_mon, (uint) (sizeof(int)),
++ &spider->conn_link_idx, (uint) (sizeof(uint)),
++ &spider->conn_can_fo, (uint) (sizeof(uchar)),
+ NullS))
+ ) {
+ delete spider;
+@@ -7194,12 +7202,12 @@ int spider_db_init(
+
+ if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *)
+ spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL),
+- &spider_udf_table_mon_mutexes, sizeof(pthread_mutex_t) *
+- spider_param_udf_table_mon_mutex_count(),
+- &spider_udf_table_mon_conds, sizeof(pthread_cond_t) *
+- spider_param_udf_table_mon_mutex_count(),
+- &spider_udf_table_mon_list_hash, sizeof(HASH) *
+- spider_param_udf_table_mon_mutex_count(),
++ &spider_udf_table_mon_mutexes, (uint) (sizeof(pthread_mutex_t) *
++ spider_param_udf_table_mon_mutex_count()),
++ &spider_udf_table_mon_conds, (uint) (sizeof(pthread_cond_t) *
++ spider_param_udf_table_mon_mutex_count()),
++ &spider_udf_table_mon_list_hash, (uint) (sizeof(HASH) *
++ spider_param_udf_table_mon_mutex_count()),
+ NullS))
+ )
+ goto error_alloc_mon_mutxes;
+@@ -7248,10 +7256,10 @@ int spider_db_init(
+ #ifndef WITHOUT_SPIDER_BG_SEARCH
+ if (!(spider_table_sts_threads = (SPIDER_THREAD *)
+ spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL),
+- &spider_table_sts_threads, sizeof(SPIDER_THREAD) *
+- spider_param_table_sts_thread_count(),
+- &spider_table_crd_threads, sizeof(SPIDER_THREAD) *
+- spider_param_table_crd_thread_count(),
++ &spider_table_sts_threads, (uint) (sizeof(SPIDER_THREAD) *
++ spider_param_table_sts_thread_count()),
++ &spider_table_crd_threads, (uint) (sizeof(SPIDER_THREAD) *
++ spider_param_table_crd_thread_count()),
+ NullS))
+ )
+ goto error_alloc_mon_mutxes;
+@@ -7947,8 +7955,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table(
+ }
+ if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *)
+ spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL),
+- &spider_init_error_table, sizeof(*spider_init_error_table),
+- &tmp_name, share->table_name_length + 1,
++ &spider_init_error_table, (uint) (sizeof(*spider_init_error_table)),
++ &tmp_name, (uint) (share->table_name_length + 1),
+ NullS))
+ ) {
+ pthread_mutex_unlock(&spider_init_error_tbl_mutex);
+@@ -9624,25 +9632,25 @@ int spider_create_spider_object_for_share(
+ #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
+ if (!(need_mons = (int *)
+ spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL),
+- &need_mons, (sizeof(int) * share->link_count),
+- &conns, (sizeof(SPIDER_CONN *) * share->link_count),
+- &conn_link_idx, (sizeof(uint) * share->link_count),
+- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size),
+- &conn_keys, (sizeof(char *) * share->link_count),
+- &hs_r_conn_keys, (sizeof(char *) * share->link_count),
+- &hs_w_conn_keys, (sizeof(char *) * share->link_count),
+- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
++ &need_mons, (uint) (sizeof(int) * share->link_count),
++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
++ &conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &hs_r_conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &hs_w_conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
+ NullS))
+ )
+ #else
+ if (!(need_mons = (int *)
+ spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL),
+- &need_mons, (sizeof(int) * share->link_count),
+- &conns, (sizeof(SPIDER_CONN *) * share->link_count),
+- &conn_link_idx, (sizeof(uint) * share->link_count),
+- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size),
+- &conn_keys, (sizeof(char *) * share->link_count),
+- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
++ &need_mons, (uint) (sizeof(int) * share->link_count),
++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
++ &conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
+ NullS))
+ )
+ #endif
+diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc
+index 485c61fc60b..b1b31a6db2e 100644
+--- a/storage/spider/spd_trx.cc
++++ b/storage/spider/spd_trx.cc
+@@ -549,81 +549,90 @@ int spider_create_trx_alter_table(
+
+ if (!(alter_table = (SPIDER_ALTER_TABLE *)
+ spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL),
+- &alter_table, sizeof(*alter_table),
+- &tmp_name, sizeof(char) * (share->table_name_length + 1),
+-
+- &tmp_server_names, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_table_names, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_dbs, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_hosts, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_usernames, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_passwords, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_sockets, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_wrappers, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_cas, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_capaths, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_certs, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_ciphers, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_keys, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_default_files, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_default_groups, sizeof(char *) * share->all_link_count,
+- &tmp_static_link_ids, sizeof(char *) * share->all_link_count,
+-
+- &tmp_server_names_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_table_names_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_dbs_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_hosts_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_usernames_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_passwords_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_sockets_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_wrappers_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_cas_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_capaths_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_certs_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_ciphers_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_keys_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_default_files_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_default_groups_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_static_link_ids_lengths, sizeof(uint) * share->all_link_count,
+-
+- &tmp_tgt_ports, sizeof(long) * share->all_link_count,
+- &tmp_tgt_ssl_vscs, sizeof(long) * share->all_link_count,
++ &alter_table, (uint) (sizeof(*alter_table)),
++ &tmp_name, (uint) (sizeof(char) * (share->table_name_length + 1)),
++
++ &tmp_server_names, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_table_names, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_dbs, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_hosts, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_usernames, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_passwords, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_sockets, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_wrappers, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_cas, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_capaths, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_certs, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_ciphers, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_keys, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_default_files, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_default_groups, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_static_link_ids, (uint) (sizeof(char *) * share->all_link_count),
++
++ &tmp_server_names_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_table_names_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_dbs_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_hosts_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_usernames_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_passwords_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_sockets_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_wrappers_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_cas_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_capaths_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_certs_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_ciphers_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_keys_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_default_files_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_default_groups_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_static_link_ids_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++
++ &tmp_tgt_ports, (uint) (sizeof(long) * share->all_link_count),
++ &tmp_tgt_ssl_vscs, (uint) (sizeof(long) * share->all_link_count),
+ &tmp_monitoring_binlog_pos_at_failing,
+- sizeof(long) * share->all_link_count,
+- &tmp_link_statuses, sizeof(long) * share->all_link_count,
+-
+- &tmp_server_names_char, sizeof(char) *
+- (share_alter->tmp_server_names_charlen + 1),
+- &tmp_tgt_table_names_char, sizeof(char) *
+- (share_alter->tmp_tgt_table_names_charlen + 1),
+- &tmp_tgt_dbs_char, sizeof(char) *
+- (share_alter->tmp_tgt_dbs_charlen + 1),
+- &tmp_tgt_hosts_char, sizeof(char) *
+- (share_alter->tmp_tgt_hosts_charlen + 1),
+- &tmp_tgt_usernames_char, sizeof(char) *
+- (share_alter->tmp_tgt_usernames_charlen + 1),
+- &tmp_tgt_passwords_char, sizeof(char) *
+- (share_alter->tmp_tgt_passwords_charlen + 1),
+- &tmp_tgt_sockets_char, sizeof(char) *
+- (share_alter->tmp_tgt_sockets_charlen + 1),
+- &tmp_tgt_wrappers_char, sizeof(char) *
+- (share_alter->tmp_tgt_wrappers_charlen + 1),
+- &tmp_tgt_ssl_cas_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_cas_charlen + 1),
+- &tmp_tgt_ssl_capaths_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_capaths_charlen + 1),
+- &tmp_tgt_ssl_certs_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_certs_charlen + 1),
+- &tmp_tgt_ssl_ciphers_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_ciphers_charlen + 1),
+- &tmp_tgt_ssl_keys_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_keys_charlen + 1),
+- &tmp_tgt_default_files_char, sizeof(char) *
+- (share_alter->tmp_tgt_default_files_charlen + 1),
+- &tmp_tgt_default_groups_char, sizeof(char) *
+- (share_alter->tmp_tgt_default_groups_charlen + 1),
+- &tmp_static_link_ids_char, sizeof(char) *
+- (share_alter->tmp_static_link_ids_charlen + 1),
++ (uint) (sizeof(long) * share->all_link_count),
++ &tmp_link_statuses, (uint) (sizeof(long) * share->all_link_count),
++
++ &tmp_server_names_char, (uint) (sizeof(char) *
++ (share_alter->tmp_server_names_charlen + 1)),
++ &tmp_tgt_table_names_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_table_names_charlen + 1)),
++ &tmp_tgt_dbs_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_dbs_charlen + 1)),
++ &tmp_tgt_hosts_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_hosts_charlen + 1)),
++ &tmp_tgt_usernames_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_usernames_charlen + 1)),
++ &tmp_tgt_passwords_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_passwords_charlen + 1)),
++ &tmp_tgt_sockets_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_sockets_charlen + 1)),
++ &tmp_tgt_wrappers_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_wrappers_charlen + 1)),
++ &tmp_tgt_ssl_cas_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_cas_charlen + 1)),
++ &tmp_tgt_ssl_capaths_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_capaths_charlen + 1)),
++ &tmp_tgt_ssl_certs_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_certs_charlen + 1)),
++ &tmp_tgt_ssl_ciphers_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_ciphers_charlen + 1)),
++ &tmp_tgt_ssl_keys_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_keys_charlen + 1)),
++ &tmp_tgt_default_files_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_default_files_charlen + 1)),
++ &tmp_tgt_default_groups_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_default_groups_charlen + 1)),
++ &tmp_static_link_ids_char, (uint) (sizeof(char) *
++ (share_alter->tmp_static_link_ids_charlen + 1)),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -1201,10 +1210,10 @@ SPIDER_TRX *spider_get_trx(
+ DBUG_PRINT("info",("spider create new trx"));
+ if (!(trx = (SPIDER_TRX *)
+ spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL),
+- &trx, sizeof(*trx),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &udf_table_mutexes, sizeof(pthread_mutex_t) *
+- spider_param_udf_table_lock_mutex_count(),
++ &trx, (uint) (sizeof(*trx)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &udf_table_mutexes, (uint) (sizeof(pthread_mutex_t) *
++ spider_param_udf_table_lock_mutex_count()),
+ NullS))
+ )
+ goto error_alloc_trx;
+@@ -4203,10 +4212,10 @@ int spider_create_trx_ha(
+ {
+ if (!(trx_ha = (SPIDER_TRX_HA *)
+ spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME),
+- &trx_ha, sizeof(SPIDER_TRX_HA),
+- &tmp_name, sizeof(char *) * (share->table_name_length + 1),
+- &conn_link_idx, sizeof(uint) * share->link_count,
+- &conn_can_fo, sizeof(uchar) * share->link_bitmap_size,
++ &trx_ha, (uint) (sizeof(SPIDER_TRX_HA)),
++ &tmp_name, (uint) (sizeof(char *) * (share->table_name_length + 1)),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
+ NullS))
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+--
+2.17.2
+
diff --git a/mariadb.spec b/mariadb.spec
index 916ddbc..4276aeb 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,10 +3,10 @@
%global pkgnamepatch mariadb
# Regression tests may take a long time (many cores recommended), skip them by
-%{!?runselftest:%global runselftest 0}
+%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 0
+%global ignore_testsuite_result 1
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.6
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -204,6 +204,8 @@ Patch9: %{pkgnamepatch}-ownsetup.patch
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
# Patch11: Workaround for "chown 0" with priviledges dropped to "mysql" user
Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch
+# Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737
+Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -712,6 +714,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%patch9 -p1
#%patch10 -p1
%patch11 -p1
+%patch13 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -1595,6 +1598,9 @@ fi
%endif
%changelog
+* Fri Jun 21 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-2
+- Apply critical patch for Spider SE on Armv7hl architecture
+
* Thu Jun 20 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-1
- Rebase to 10.4.6
commit dbc826fd1b0765d1451bd36dc569016441132c4e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jun 20 18:09:56 2019 +0200
Rebase to 10.4.6 GA
diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch
new file mode 100644
index 0000000..9c5692f
--- /dev/null
+++ b/mariadb-auth_pam_tool_dir.patch
@@ -0,0 +1,30 @@
+This scirpt is ran by the systemd service.
+In Fedora the service has priviledges dropped to the mysql user.
+Thus "chown 0" will always fail
+
+Never parse 'ls' output!
+http://mywiki.wooledge.org/BashFAQ/087
+
+--- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200
++++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187 +0200
+@@ -476,12 +476,15 @@ then
+ fi
+ if test -z "$srcdir"
+ then
+- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+- if test $? -ne 0
++ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ]
+ then
+- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
+- echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
+- echo
++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
++ if test $? -ne 0
++ then
++ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
++ echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
++ echo
++ fi
+ fi
+ fi
+ args="$args --user=$user"
diff --git a/mariadb.spec b/mariadb.spec
index 40058c3..916ddbc 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -11,7 +11,7 @@
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
# run only "main" suite
-%global last_tested_version 10.4.5
+%global last_tested_version 10.4.6
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.5
-Release: 1.rc%{?with_debug:.debug}%{?dist}
+Version: 10.4.6
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -202,6 +202,8 @@ Patch7: %{pkgnamepatch}-scripts.patch
Patch9: %{pkgnamepatch}-ownsetup.patch
# Patch10: Fix cipher name in the SSL Cipher name test
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
+# Patch11: Workaround for "chown 0" with priviledges dropped to "mysql" user
+Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -709,6 +711,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%patch7 -p1
%patch9 -p1
#%patch10 -p1
+%patch11 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -968,7 +971,8 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
# Client that uses libmysqld embedded server.
# Pretty much like normal mysql command line client, but it doesn't require a running mariadb server.
%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded}
-rm %{buildroot}%{_mandir}/man1/mysql_embedded.1*
+%{?with_embedded:rm %{buildroot}%{_bindir}/mariadb-embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}embedded.1*
# Static libraries
rm %{buildroot}%{_libdir}/*.a
# This script creates the MySQL system tables and starts the server.
@@ -1029,6 +1033,7 @@ sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.
%if %{without embedded}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif
@@ -1073,12 +1078,16 @@ unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
%endif # devel
%if %{without client}
-rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\
-mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
-mysqldump,mysqlimport,mysqlshow,mysqlslap}
-rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\
-mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
-mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
+rm %{buildroot}%{_bindir}/msql2mysql
+rm %{buildroot}%{_bindir}/{mysql,mariadb}
+rm %{buildroot}%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}
+rm %{buildroot}%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}
+
+rm %{buildroot}%{_mandir}/man1/msql2mysql.1*
+rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1*
+rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1*
+rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
+
rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf
%endif
@@ -1119,12 +1128,16 @@ rm -r %{buildroot}%{_datadir}/sql-bench
%if %{without test}
%if %{with embedded}
-rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
-rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
+rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
+rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif # embedded
rm %{buildroot}%{_bindir}/test-connect-t
rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest}
-rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
+rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1*
rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
%endif # test
@@ -1137,7 +1150,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
%endif
%if %{without rocksdb}
-rm %{buildroot}%{_mandir}/man1/mysql_ldb.1*
+rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1*
%endif
%check
@@ -1238,32 +1251,15 @@ fi
%if %{with client}
%files
%{_bindir}/msql2mysql
-%{_bindir}/mysql
-%{_bindir}/mysql_find_rows
-%{_bindir}/mysql_plugin
-%{_bindir}/mysql_waitpid
-%{_bindir}/mysqlaccess
-%{_bindir}/mysqladmin
-%{_bindir}/mysqlbinlog
-%{_bindir}/mysqlcheck
-%{_bindir}/mysqldump
-%{_bindir}/mysqlimport
-%{_bindir}/mysqlshow
-%{_bindir}/mysqlslap
+%{_bindir}/{mysql,mariadb}
+%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}
+%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}
%{_mandir}/man1/msql2mysql.1*
-%{_mandir}/man1/mysql.1*
-%{_mandir}/man1/mysql_find_rows.1*
-%{_mandir}/man1/mysql_plugin.1*
-%{_mandir}/man1/mysql_waitpid.1*
-%{_mandir}/man1/mysqlaccess.1*
-%{_mandir}/man1/mysqladmin.1*
-%{_mandir}/man1/mysqlbinlog.1*
-%{_mandir}/man1/mysqlcheck.1*
-%{_mandir}/man1/mysqldump.1*
-%{_mandir}/man1/mysqlimport.1*
-%{_mandir}/man1/mysqlshow.1*
-%{_mandir}/man1/mysqlslap.1*
+%{_mandir}/man1/{mysql,mariadb}.1*
+%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1*
+%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
+
%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
%endif
@@ -1344,21 +1340,18 @@ fi
%files server
%doc README.mysql-cnf
-%{_bindir}/aria_chk
-%{_bindir}/aria_dump_log
-%{_bindir}/aria_ftdump
-%{_bindir}/aria_pack
-%{_bindir}/aria_read_log
+%{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log}
%{_bindir}/mariadb-service-convert
%{_bindir}/myisamchk
%{_bindir}/myisam_ftdump
%{_bindir}/myisamlog
%{_bindir}/myisampack
%{_bindir}/my_print_defaults
-%{_bindir}/mysql_install_db
-%{_bindir}/mysql_secure_installation
-%{_bindir}/mysql_tzinfo_to_sql
-%{_bindir}/mysqld_safe
+
+%{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql}
+%{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql}
+%{_bindir}/{mysqld_,mariadbd-}safe
+
%{_bindir}/innochecksum
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
@@ -1369,7 +1362,7 @@ fi
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset
-%{_libexecdir}/mysqld
+%{_libexecdir}/{mysqld,mariadbd}
%{_libdir}/%{pkg_name}/INFO_SRC
%{_libdir}/%{pkg_name}/INFO_BIN
@@ -1379,6 +1372,8 @@ fi
%dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/plugin
+# Change from root:root to mysql:mysql, so it can be accessed by the server
+%attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir
%{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
@@ -1393,11 +1388,7 @@ fi
%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%endif
-%{_mandir}/man1/aria_chk.1*
-%{_mandir}/man1/aria_dump_log.1*
-%{_mandir}/man1/aria_ftdump.1*
-%{_mandir}/man1/aria_pack.1*
-%{_mandir}/man1/aria_read_log.1*
+%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1*
%{_mandir}/man1/galera_new_cluster.1*
%{_mandir}/man1/galera_recovery.1*
%{_mandir}/man1/mariadb-service-convert.1*
@@ -1407,15 +1398,14 @@ fi
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/my_print_defaults.1*
%{_mandir}/man1/mysql.server.1*
-%{_mandir}/man1/mysql_install_db.1*
-%{_mandir}/man1/mysql_secure_installation.1*
-%{_mandir}/man1/mysql_tzinfo_to_sql.1*
-%{_mandir}/man1/mysqld_safe.1*
+%{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1*
+%{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1*
+%{_mandir}/man1/{mysqld_,mariadbd-}safe.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/resolve_stack_dump.1*
-%{_mandir}/man8/mysqld.8*
+%{_mandir}/man8/{mysqld,mariadbd}.8*
%{_mandir}/man1/wsrep_*.1*
%{_datadir}/%{pkg_name}/fill_help_tables.sql
@@ -1480,9 +1470,9 @@ fi
%if %{with backup}
%files backup
-%{_bindir}/mariabackup
+%{_bindir}/maria{,db-}backup
%{_bindir}/mbstream
-%{_mandir}/man1/mariabackup.1*
+%{_mandir}/man1/maria{,db-}backup.1*
%{_mandir}/man1/mbstream.1*
%endif
@@ -1490,10 +1480,10 @@ fi
%files rocksdb-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
%{_bindir}/myrocks_hotbackup
-%{_bindir}/mysql_ldb
+%{_bindir}/{mysql_,mariadb-}ldb
%{_bindir}/sst_dump
%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so
-%{_mandir}/man1/mysql_ldb.1*
+%{_mandir}/man1/{mysql_,mariadb-}ldb.1*
%endif
%if %{with tokudb}
@@ -1538,26 +1528,21 @@ fi
%files server-utils
# Perl utilities
-%{_bindir}/mysql_convert_table_format
-%{_bindir}/mysql_fix_extensions
-%{_bindir}/mysql_setpermission
-%{_bindir}/mysqldumpslow
-%{_bindir}/mysqld_multi
-%{_bindir}/mysqlhotcopy
-%{_mandir}/man1/mysql_convert_table_format.1*
-%{_mandir}/man1/mysql_fix_extensions.1*
-%{_mandir}/man1/mysqldumpslow.1*
-%{_mandir}/man1/mysqld_multi.1*
-%{_mandir}/man1/mysqlhotcopy.1*
-%{_mandir}/man1/mysql_setpermission.1*
+%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}
+%{_bindir}/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}
+%{_bindir}/{mysqld_,mariadbd-}multi
+
+%{_mandir}/man1/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}.1*
+%{_mandir}/man1/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}.1*
+%{_mandir}/man1/{mysqld_,mariadbd-}multi.1*
# Utilities that can be used remotely
-%{_bindir}/mysql_upgrade
+%{_bindir}/{mysql_,mariadb-}upgrade
%{_bindir}/perror
-%{_mandir}/man1/mysql_upgrade.1*
+%{_mandir}/man1/{mysql_,mariadb-}upgrade.1*
%{_mandir}/man1/perror.1*
# Other utilities
-%{_bindir}/mysqld_safe_helper
-%{_mandir}/man1/mysqld_safe_helper.1*
+%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper}
+%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1*
%if %{with devel}
%files devel
@@ -1595,23 +1580,24 @@ fi
%files test
%if %{with embedded}
%{_bindir}/test-connect-t
-%{_bindir}/mysql_client_test_embedded
-%{_bindir}/mysqltest_embedded
-%{_mandir}/man1/mysql_client_test_embedded.1*
-%{_mandir}/man1/mysqltest_embedded.1*
+%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
+%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded}
+%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif
-%{_bindir}/mysql_client_test
+%{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}
%{_bindir}/my_safe_process
-%{_bindir}/mysqltest
%attr(-,mysql,mysql) %{_datadir}/mysql-test
-%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1*
%{_mandir}/man1/my_safe_process.1*
-%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/mysql-stress-test.pl.1*
%{_mandir}/man1/mysql-test-run.pl.1*
%endif
%changelog
+* Thu Jun 20 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-1
+- Rebase to 10.4.6
+
* Fri Jun 07 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.5-1
- Rebase to 10.4.5
- This is a RC release! use with caution
diff --git a/sources b/sources
index 3e1ab3b..952d959 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.5.tar.gz) = 080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b
+SHA512 (mariadb-10.4.6.tar.gz) = b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c
commit 164d5419b12fbe6386f13d3fd284c85fcd0efba0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Tue Jun 11 17:00:53 2019 +0200
Rebase to 10.4.5
diff --git a/mariadb.spec b/mariadb.spec
index 70d36e0..40058c3 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,20 +3,20 @@
%global pkgnamepatch mariadb
# Regression tests may take a long time (many cores recommended), skip them by
-%{!?runselftest:%global runselftest 1}
+%{!?runselftest:%global runselftest 0}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 1
+%global ignore_testsuite_result 0
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
# run only "main" suite
-%global last_tested_version 10.4.2
+%global last_tested_version 10.4.5
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
# Aditional SELinux rules
-%global require_mysql_selinux 0
+%global require_mysql_selinux 1
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
@@ -72,7 +72,7 @@
%bcond_without gssapi
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
-%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_with clibrary
%else
%bcond_without clibrary
@@ -85,6 +85,7 @@
%bcond_without test
%bcond_without galera
%bcond_without backup
+# Upstream no longer maintain and pack the bench subpackage
%if 0%{?fedora}
%bcond_without bench
%else
@@ -104,8 +105,6 @@
%bcond_with debug
# Page compression algorithms for InnoDB & XtraDB
-# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot
-# https://jira.mariadb.org/browse/MDEV-15932
%bcond_without lz4
@@ -158,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.2
-Release: 1.beta%{?with_debug:.debug}%{?dist}
+Version: 10.4.5
+Release: 1.rc%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -192,7 +191,7 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: Make the python interpretter be configurable
+# Patch2: Make the python interpretter be configurable
Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2
@@ -259,7 +258,7 @@ Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
# Explicit EVR requirement for -libs is needed for RHBZ#1406320
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
@@ -297,7 +296,7 @@ The base package contains the standard MariaDB/MySQL client programs and
generic MySQL files.
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -343,7 +342,7 @@ Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
Provides: mariadb-galera-common = %{sameevr}
-%if %{without clibrary}
+%if %{without clibrary} && %{without galera}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -587,9 +586,10 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl.
%if %{with devel}
%package devel
Summary: Files for development of MariaDB/MySQL applications
-%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}}
Requires: openssl-devel
-%if %{without clibrary}
+%if %{with clibrary} || %{with galera}
+Requires: %{name}-libs%{?_isa} = %{sameevr}
+%else
Requires: mariadb-connector-c-devel >= 3.0
%endif
%if %{with mysql_names}
@@ -834,9 +834,11 @@ export CFLAGS CXXFLAGS
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_JEMALLOC=%{?with_tokudb:YES}%{!?with_tokudb:NO} \
+ -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \
-DLZ4_LIBS=%{_libdir}/liblz4.so \
+ -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \
-DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
+ -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
-DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \
-DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \
@@ -868,6 +870,12 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp
%install
make DESTDIR=%{buildroot} install
+%if %{with galera}
+# Install the wsrep library
+install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir}
+install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir}
+%endif
+
# multilib header support #1625157
for header in mysql/server/my_config.h mysql/server/private/config.h; do
%multilib_fix_c_header --file %{_includedir}/$header
@@ -890,8 +898,10 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
+%if %{without clibrary}
# Client part should be included in package 'mariadb-connector-c'
rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
+%endif
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -923,7 +933,6 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.
mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf
# remove SysV init script and a symlink to that, we pack our very own
-rm %{buildroot}%{_sysconfdir}/init.d/mysql
rm %{buildroot}%{_libexecdir}/rcmysql
# install systemd unit files and scripts for handling server startup
install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
@@ -993,15 +1002,17 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}}
install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}}
# install galera config file
+%if %{with galera}
sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf
install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+%endif
# install the clustercheck script
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
# remove duplicate logrotate script
-rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
+rm %{buildroot}%{logrotateddir}/mysql
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
@@ -1029,7 +1040,10 @@ unlink %{buildroot}%{_libdir}/libmysqlclient.so
unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
unlink %{buildroot}%{_libdir}/libmariadb.so
# Client plugins
-rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so}
+rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so}
+%if %{with gssapi}
+rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so
+%endif
%endif
%if %{without clibrary} || %{without devel}
@@ -1073,7 +1087,8 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf
rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
%else
-%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
+rm -f %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf
mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
@@ -1088,7 +1103,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets
%endif
%if %{without gssapi}
-rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
+#rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
%endif
%if %{without errmsg}
@@ -1114,7 +1129,7 @@ rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
%endif # test
%if %{without galera}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+#rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster}
rm %{buildroot}%{_bindir}/galera_recovery
@@ -1192,16 +1207,6 @@ export MTR_BUILD_THREAD=%{__isa_bits}
/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
-%if %{with clibrary}
-# Can be dropped on F27 EOL
-%ldconfig_scriptlets libs
-%endif
-
-%if %{with embedded}
-# Can be dropped on F27 EOL
-%ldconfig_scriptlets embedded
-%endif
-
%if %{with galera}
%post server-galera
# Do what README at support-files/policy/selinux/README and upstream page
@@ -1260,13 +1265,20 @@ fi
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
+
%endif
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
%files libs
-%{_libdir}/libmariadb.so.*
+%if %{with galera}
+%{_libdir}/libwsrep*.so*
+%endif
+%if %{with clibrary}
+%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
+%{_libdir}/libmariadb.so*
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
+%endif
%if %{with config}
%files config
@@ -1399,7 +1411,6 @@ fi
%{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man1/mysqld_safe.1*
-%{_mandir}/man1/mysqld_safe_helper.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
@@ -1427,7 +1438,9 @@ fi
%doc %{_datadir}/groonga-normalizer-mysql/README.md
%doc %{_datadir}/groonga/README.md
%endif
+%if %{with galera}
%{_datadir}/%{pkg_name}/wsrep.cnf
+%endif
%{_datadir}/%{pkg_name}/wsrep_notify
%dir %{_datadir}/%{pkg_name}/policy
%dir %{_datadir}/%{pkg_name}/policy/selinux
@@ -1544,12 +1557,13 @@ fi
%{_mandir}/man1/perror.1*
# Other utilities
%{_bindir}/mysqld_safe_helper
+%{_mandir}/man1/mysqld_safe_helper.1*
%if %{with devel}
%files devel
%{_includedir}/*
%{_datadir}/aclocal/mysql.m4
-%{_libdir}/pkgconfig/mariadb.pc
+%{_libdir}/pkgconfig/*mariadb.pc
%if %{with clibrary}
%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
%{_bindir}/mysql_config*
@@ -1598,9 +1612,29 @@ fi
%endif
%changelog
-* Mon Feb 18 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.2-1
-- Rebase to 10.4.2
-- This is BETA release! use at your own risk.
+* Fri Jun 07 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.5-1
+- Rebase to 10.4.5
+- This is a RC release! use with caution
+
+* Tue Jun 04 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.15-1
+- Rebase to 10.3.15
+- CVEs fixed:
+ CVE-2019-2510 CVE-2019-2537
+- CVEs fixed:
+ CVE-2019-2614 CVE-2019-2627 CVE-2019-2628
+
+* Thu Mar 21 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-14
+- Fix building of TokuDB with Jemalloc 5
+- Fix building with / without lz4
+
+* Thu Mar 21 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-13
+- Add patch for mysqld_safe --dry-run
+
+* Wed Mar 20 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-12
+- Add patch for server pkgconfig file location
+
+* Sat Feb 23 2019 Pavel Raiskup <praiskup(a)redhat.com> - 10.3.12-11
+- conditionally depend on selinux-policy-targeted again (rhbz#1665643)
* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-10
- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643
@@ -1641,10 +1675,6 @@ fi
by 'mariadb-connector-c'
- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c'
-* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
-- Rebase to 10.4.1
-- This is BETA release! use at your own risk.
-
* Mon Dec 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.11-1
- Rebase to 10.3.11
- CVEs fixed:
@@ -1652,10 +1682,6 @@ fi
CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173
CVE-2018-3200, CVE-2018-3284
-* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
-- Rebase to 10.4.0
-- This is ALPHA release! use at your own risk.
-
* Fri Oct 05 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.10-1
- Rebase to 10.3.10
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index a35653e..e41440b 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -1,7 +1,6 @@
# The SSL test are failing correctly. Fro more explanation, see:
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com...
main.ssl_7937 : #1399847
-main.ssl_crl :
main.ssl_crl_clients : #1399847
main.ssl_8k_key :
@@ -52,7 +51,3 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
-
-# Fails on 10.4.2
-sys_vars.tcp_nodelay :
-main.func_math :
diff --git a/sources b/sources
index 2d14188..3e1ab3b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.2.tar.gz) = 31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3
+SHA512 (mariadb-10.4.5.tar.gz) = 080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b
commit ff6cb12c8c560d09cf69b02b89008d3de3a39edf
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Feb 18 11:05:10 2019 +0100
Rebase to 10.4.2
Sync-up with 10.3 in Rawhide
diff --git a/mariadb-myrocks-hotbackup.patch b/mariadb-myrocks-hotbackup.patch
new file mode 100644
index 0000000..ff2a1b1
--- /dev/null
+++ b/mariadb-myrocks-hotbackup.patch
@@ -0,0 +1,32 @@
+Do not import commands library as it is not used
+
+It also makes the script not work on python3, but since the script already uses
+subprocess in practice, removing commands import is effectively no change and
+fixes the python3 compatibility.
+
+Upstream PR: https://github.com/MariaDB/server/pull/1080
+
+From 9c89fd49a757a87ba5899b3548b0fb1d172c0ec3 Mon Sep 17 00:00:00 2001
+From: Honza Horak <hhorak(a)redhat.com>
+Date: Wed, 9 Jan 2019 15:05:02 +0100
+Subject: [PATCH] Do not import commands library as it is not used
+
+---
+ storage/rocksdb/myrocks_hotbackup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/storage/rocksdb/myrocks_hotbackup.py b/storage/rocksdb/myrocks_hotbackup.py
+index 69c75b7cbfd..906ba814776 100755
+--- a/storage/rocksdb/myrocks_hotbackup.py
++++ b/storage/rocksdb/myrocks_hotbackup.py
+@@ -8,7 +8,6 @@ import os
+ import stat
+ import sys
+ import re
+-import commands
+ import subprocess
+ import logging
+ import logging.handlers
+--
+2.17.2
+
diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch
new file mode 100644
index 0000000..eb8a1e7
--- /dev/null
+++ b/mariadb-pythonver.patch
@@ -0,0 +1,27 @@
+Upstream PR: https://github.com/MariaDB/server/pull/1081
+
+From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001
+From: Honza Horak <hhorak(a)redhat.com>
+Date: Wed, 9 Jan 2019 20:17:29 +0100
+Subject: [PATCH] Make the PYTHON_SHEBANG value configurable
+
+In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call.
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a139c9e5fa4..ccccb08bef1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL()
+ MYSQL_CHECK_READLINE()
+
+ SET(MALLOC_LIBRARY "system")
+-SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang")
++IF(NOT DEFINED PYTHON_SHEBANG)
++ SET(PYTHON_SHEBANG "/usr/bin/env python")
++ENDIF()
+ MARK_AS_ADVANCED(PYTHON_SHEBANG)
+
+ CHECK_PCRE()
diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch
index 9a3d3f3..4f0a267 100644
--- a/mariadb-shebang.patch
+++ b/mariadb-shebang.patch
@@ -4,11 +4,11 @@ Maintainer's note:
This script is not python3 compatible:
ModuleNotFoundError: No module named 'commands'
-diff -Naurp mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched
---- mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup 2018-10-02 11:45:43.000000000 +0200
-+++ mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched 2018-10-05 14:27:02.960060700 +0200
+diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched
+--- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100
++++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100
@@ -1,4 +1,4 @@
--#!/usr/bin/env python
+-#!@PYTHON_SHEBANG@
+#!/usr/bin/python2
from __future__ import division
diff --git a/mariadb-ssl-cipher-tests.patch b/mariadb-ssl-cipher-tests.patch
new file mode 100644
index 0000000..3d04c4c
--- /dev/null
+++ b/mariadb-ssl-cipher-tests.patch
@@ -0,0 +1,52 @@
+diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test
+--- mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest 2019-01-27 19:39:19.610027153 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl_cipher.test 2019-01-27 19:42:10.045430776 +0100
+@@ -13,7 +13,9 @@
+ connect (ssl_con,localhost,root,,,,,SSL);
+
+ # Check Cipher Name and Cipher List
++--replace_regex /TLS_AES_.*/AES128-SHA/
+ SHOW STATUS LIKE 'Ssl_cipher';
++--replace_regex /TLS_AES_.*/AES128-SHA/
+ SHOW STATUS LIKE 'Ssl_cipher_list';
+
+ connection default;
+diff -up mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.result
+--- mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl 2019-01-27 20:41:52.605213547 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl.result 2019-01-27 20:42:03.977320005 +0100
+@@ -2176,7 +2176,7 @@ still connected?
+ connection default;
+ disconnect ssl_con;
+ create user mysqltest_1@localhost;
+-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA";
++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384";
+ Variable_name Value
+-Ssl_cipher AES256-SHA
++Ssl_cipher TLS_AES_256_GCM_SHA384
+ drop user mysqltest_1@localhost;
+diff -up mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.test
+--- mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl 2019-01-27 20:40:39.756531579 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl.test 2019-01-27 20:41:02.631745724 +0100
+@@ -33,8 +33,8 @@ connection default;
+ disconnect ssl_con;
+
+ create user mysqltest_1@localhost;
+-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA";
+---exec $MYSQL -umysqltest_1 --ssl-cipher=AES256-SHA -e "show status like 'ssl_cipher'" 2>&1
++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384";
++--exec $MYSQL -umysqltest_1 --ssl-cipher=TLS_AES_256_GCM_SHA384 -e "show status like 'ssl_cipher'" 2>&1
+ drop user mysqltest_1@localhost;
+
+ # Wait till all disconnects are completed
+diff -up mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test
+--- mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest 2019-01-27 21:11:12.280726041 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test 2019-01-27 21:10:01.034041434 +0100
+@@ -30,7 +30,7 @@ let $ssl_verify_pass_path = --ssl --ssl-
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+
+---replace_result TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION
++--replace_result TLSv1.3 TLS_VERSION TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION
+ --exec $MYSQL --protocol=tcp --ssl-ca=$MYSQL_TEST_DIR/std_data/ca-cert-verify.pem --ssl-verify-server-cert -e "SHOW STATUS like 'Ssl_version'"
+
+ --echo # restart server using restart
diff --git a/mariadb.spec b/mariadb.spec
index 5f2a6e0..70d36e0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -8,6 +8,16 @@
# Set this to 1 to see which tests fail, but 0 on production ready build
%global ignore_testsuite_result 1
+# The last version on which the full testsuite has been run
+# In case of further rebuilds of that version, don't require full testsuite to be run
+# run only "main" suite
+%global last_tested_version 10.4.2
+# Set to 1 to force run the testsuite even if it was already tested in current version
+%global force_run_testsuite 0
+
+# Aditional SELinux rules
+%global require_mysql_selinux 0
+
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
@@ -109,9 +119,15 @@
%global pcre_bundled_version 8.42
%endif
+# Use main python interpretter version
+%if 0%{?fedora} || 0%{?rhel} > 7
+%global python_path /usr/bin/python3
+%else
+%global python_path /usr/bin/python2
+%endif
+
# Include systemd files
%global daemon_name %{name}
-%global daemondir %{_unitdir}
%global daemon_no_prefix %{pkg_name}
%global mysqld_pid_dir mariadb
@@ -142,7 +158,7 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.1
+Version: 10.4.2
Release: 1.beta%{?with_debug:.debug}%{?dist}
Epoch: 3
@@ -176,8 +192,8 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch1: Fix python shebang to specificaly say the python version
-Patch1: %{pkgnamepatch}-shebang.patch
+# Patch2: Make the python interpretter be configurable
+Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2
Patch4: %{pkgnamepatch}-logrotate.patch
@@ -185,6 +201,8 @@ Patch4: %{pkgnamepatch}-logrotate.patch
Patch7: %{pkgnamepatch}-scripts.patch
# Patch9: pre-configure to comply with guidelines
Patch9: %{pkgnamepatch}-ownsetup.patch
+# Patch10: Fix cipher name in the SSL Cipher name test
+Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -387,10 +405,14 @@ Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Recommends: %{name}-server-utils%{?_isa} = %{sameevr}
Recommends: %{name}-backup%{?_isa} = %{sameevr}
-%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}}
-%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}}
-%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}}
-%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}}
+%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}}
+%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}}
+%{?with_rocksdb:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}}
+%{?with_tokudb:Suggests: %{name}-tokudb-engine%{?_isa} = %{sameevr}}
+%{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}}
+%{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}}
+%{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}}
+%{?with_cassandra:Suggests: %{name}-cassandra-engine%{?_isa} = %{sameevr}}
Suggests: mytop
Suggests: logrotate
@@ -398,6 +420,12 @@ Suggests: logrotate
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
+# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package
+# For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released
+%if %require_mysql_selinux
+Requires: (mysql-selinux if selinux-policy-targeted)
+%endif
+
# for fuser in mysql-check-socket
Requires: psmisc
@@ -676,10 +704,11 @@ sources.
# Remove JAR files that upstream puts into tarball
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
-%patch1 -p1
+%patch2 -p1
%patch4 -p1
%patch7 -p1
%patch9 -p1
+#%patch10 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -755,10 +784,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# force PIC mode so that we can build libmysqld.so
CFLAGS="$CFLAGS -fPIC"
-# significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069
-%ifarch ppc64
-CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
-%endif
# Override all optimization flags when making a debug build
%{?with_debug: CFLAGS="$CFLAGS -O0 -g"}
@@ -820,15 +845,16 @@ export CFLAGS CXXFLAGS
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
+ -DPYTHON_SHEBANG=%{python_path} \
-DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DCONNECT_WITH_MONGO=OFF \
-DCONNECT_WITH_JDBC=OFF \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON}
# Print all Cmake options values
-# cmake -LAH for List Advanced Help
-cmake -L
+# cmake ./ -LAH for List Advanced Help
+cmake ./ -L
make %{?_smp_mflags} VERBOSE=1
@@ -864,7 +890,8 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
-rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc
+# Client part should be included in package 'mariadb-connector-c'
+rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -982,7 +1009,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
# Disable plugins
-%if %{with ggsapi}
+%if %{with gssapi}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
%endif
%if %{with cracklib}
@@ -1047,10 +1074,9 @@ rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
%else
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
-echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf
+mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
+echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
-# Move to better location, systemd config files has to be in /lib/
-mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/lib/systemd/system/
%endif
%if %{without config}
@@ -1125,28 +1151,35 @@ export MTR_BUILD_THREAD=%{__isa_bits}
(
set -ex
-
cd mysql-test
- perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \
- --suite-timeout=900 --testcase-timeout=30 \
- --mysqld=--binlog-format=mixed --force-restart \
- --shutdown-timeout=60 --max-test-fail=5 --big-test \
- --skip-test=spider \
-%if %{ignore_testsuite_result}
- --max-test-fail=9999 || :
-%else
- --skip-test-list=unstable-tests
-%endif
-# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate)
- perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \
- --suite-timeout=60 --testcase-timeout=10 \
- --mysqld=--binlog-format=mixed --force-restart \
- --shutdown-timeout=60 --max-test-fail=0 --big-test \
- --skip-ssl --suite=spider,spider/bg \
-%if %{ignore_testsuite_result}
- --max-test-fail=999 || :
-%endif
+ export common_testsuite_arguments=" --parallel=auto --force --retry=1 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 "
+
+ # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run
+ if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]]
+ then
+ # in further rebuilds only run the basic "main" suite (~800 tests)
+ echo "running only base testsuite"
+ perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --suite=main --mem --skip-test-list=unstable-tests
+ fi
+
+ # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test)
+ if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]]
+ then
+ echo "running advanced testsuite"
+ perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \
+ %if %{ignore_testsuite_result}
+ --max-test-fail=9999 || :
+ %else
+ --skip-test-list=unstable-tests
+ %endif
+ # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate)
+ perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg \
+ %if %{ignore_testsuite_result}
+ --max-test-fail=999 || :
+ %endif
+ # blank line
+ fi
)
%endif # if dry run
@@ -1340,7 +1373,7 @@ fi
%{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so}
%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so}
%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so}
-%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
+%{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so}
%if %{with clibrary}
@@ -1407,7 +1440,9 @@ fi
%{_datadir}/%{pkg_name}/systemd/mariadb@.service
%endif
-%{daemondir}/%{daemon_name}*
+%{_unitdir}/%{daemon_name}*
+%{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf}
+
%{_libexecdir}/mysql-prepare-db-dir
%{_libexecdir}/mysql-check-socket
%{_libexecdir}/mysql-check-upgrade
@@ -1456,7 +1491,7 @@ fi
%{_mandir}/man1/tokuft_logprint.1*
%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf
%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so
-/usr/lib/systemd/system/mariadb.service.d/tokudb.conf
+%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
%if %{with gssapi}
@@ -1563,10 +1598,60 @@ fi
%endif
%changelog
+* Mon Feb 18 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.2-1
+- Rebase to 10.4.2
+- This is BETA release! use at your own risk.
+
+* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-10
+- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 3:10.3.12-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Jan 30 2019 Honza Horak <hhorak(a)redhat.com> - 3:10.3.12-8
+- Fix several SSL tests that failed because of different SSL cipher expectation
+
+* Wed Jan 23 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-7
+- Fix TokuDB Jemalloc ld_preload
+ Resolves: #1668375
+- Tweak macros usage
+
+* Sat Jan 19 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-6
+- Enable mysql-selinux requirement
+- Tweak the testsuite execution, speed up the testsuite on rebuilds
+- Change weak dependency of RocksDB and TokuDB storage engines
+ from Recommends to Suggests
+- Add "Suggests" weak dependencies to more storage engines
+
+* Wed Jan 16 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-5
+- Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643
+
+* Mon Jan 14 2019 Bjrn Esser <besser82(a)fedoraproject.org> - 3:10.3.12-4
+- Rebuilt for libcrypt.so.2 (#1666033)
+
+* Fri Jan 11 2019 Kevin Fenzi <kevin(a)scrye.com> - 3:10.3.12-3
+- Drop mysql-selinux recommends for now due to bug #1665643
+
+* Wed Jan 09 2019 Honza Horak <hhorak(a)redhat.com> - 3:10.3.12-2
+- Use specific python shebang
+
+* Tue Jan 08 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-1
+- Rebase to 10.3.12
+- Disable building of the caching_sha2_password plugin, it is shipped
+ by 'mariadb-connector-c'
+- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c'
+
* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
- Rebase to 10.4.1
- This is BETA release! use at your own risk.
+* Mon Dec 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.11-1
+- Rebase to 10.3.11
+- CVEs fixed:
+ CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156
+ CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173
+ CVE-2018-3200, CVE-2018-3284
+
* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
- Rebase to 10.4.0
- This is ALPHA release! use at your own risk.
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 1123444..a35653e 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -1,17 +1,10 @@
# The SSL test are failing correctly. Fro more explanation, see:
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com...
main.ssl_7937 : #1399847
+main.ssl_crl :
main.ssl_crl_clients : #1399847
-main.ssl_cert_verify :
-
main.ssl_8k_key :
-# From 10.3.9
-main.openssl_1 :
-main.openssl_6975 :
-main.ssl :
-main.ssl_cipher :
-
#
perfschema.nesting : #1399847
perfschema.socket_summary_by_instance_func : #1399847
@@ -60,5 +53,6 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
-# 10.4.0
+# Fails on 10.4.2
sys_vars.tcp_nodelay :
+main.func_math :
diff --git a/sources b/sources
index 2d3457c..2d14188 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.1.tar.gz) = 0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d
+SHA512 (mariadb-10.4.2.tar.gz) = 31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3
commit 14c5e16b6f6d28a3e63ae8b266e9f2e4821ea59b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Jan 6 16:18:32 2019 +0100
Rebase to 10.4.1
This is BETA release, use with caution!
diff --git a/mariadb.spec b/mariadb.spec
index c82c55a..5f2a6e0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -142,8 +142,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.0
-Release: 1.alpha%{?with_debug:.debug}%{?dist}
+Version: 10.4.1
+Release: 1.beta%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -794,6 +794,7 @@ export CFLAGS CXXFLAGS
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
+ -DINSTALL_PCDIR=%{_lib}/pkgconfig \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
-DTMPDIR=/var/tmp \
@@ -820,6 +821,7 @@ export CFLAGS CXXFLAGS
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
+ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \
-DCONNECT_WITH_MONGO=OFF \
-DCONNECT_WITH_JDBC=OFF \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON}
@@ -862,6 +864,7 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
+rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -1560,6 +1563,10 @@ fi
%endif
%changelog
+* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
+- Rebase to 10.4.1
+- This is BETA release! use at your own risk.
+
* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
- Rebase to 10.4.0
- This is ALPHA release! use at your own risk.
diff --git a/sources b/sources
index 23ef7c7..2d3457c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.0.tar.gz) = c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671
+SHA512 (mariadb-10.4.1.tar.gz) = 0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d
commit 2413f21e35297865f57c0ca8c7a9a86bb40e1068
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Nov 16 23:03:41 2018 +0100
Rebase to 10.4.0
This is ALPHA release, use with caution!
diff --git a/mariadb.spec b/mariadb.spec
index 18254fb..c82c55a 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -6,7 +6,7 @@
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 0
+%global ignore_testsuite_result 1
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
@@ -142,8 +142,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.3.10
-Release: 1%{?with_debug:.debug}%{?dist}
+Version: 10.4.0
+Release: 1.alpha%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1560,6 +1560,10 @@ fi
%endif
%changelog
+* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
+- Rebase to 10.4.0
+- This is ALPHA release! use at your own risk.
+
* Fri Oct 05 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.10-1
- Rebase to 10.3.10
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 62a1726..1123444 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -59,3 +59,6 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
+
+# 10.4.0
+sys_vars.tcp_nodelay :
diff --git a/sources b/sources
index 3cf2c1c..23ef7c7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.3.10.tar.gz) = dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31
+SHA512 (mariadb-10.4.0.tar.gz) = c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671
3 years, 10 months
Architecture specific change in rpms/mariadb.git
by githook-noreply@fedoraproject.org
The package rpms/mariadb.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/mariadb.git/commit/?id=ff6cb12c8c....
Change:
-%ifarch ppc64
Thanks.
Full change:
============
commit 9486872b39d6233ec42ff8514c7dfcffcd6808ae
Merge: 5b1b5d1 99964e0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 10:33:56 2020 +0200
Merge branch 'master' into 10.4
commit 5b1b5d177dd58242ddda67ffd8166290eb424a43
Merge: e183a65 5ef66fd
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Mar 16 15:17:50 2020 +0100
Merge branch 'master' into 10.4
commit e183a65fc0138a30379b90e384becd9fea5c4882
Merge: 1f6465e 55406c8
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Feb 10 11:08:14 2020 +0100
Merge branch 'master' into 10.4
Intended goal:
10.4 should now be identical to master branch
Previously, there was MariaDB 10.3 in master (Rawhide) and 10.4 in Fedora modules
Now, the master (Rawhide) updated to MariaDB 10.4 and 10.4 branch should only mirror changes on master.
This way, the modules will be built from the same sources as the Rawhide content.
commit 1f6465e1ff8e71ae3253e802dd3e7f49253c8c1f
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jan 10 12:20:00 2020 +0100
Rebase to 10.4.11
diff --git a/mariadb.spec b/mariadb.spec
index 99e30f0..30d3975 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.10
-Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist}
+Version: 10.4.11
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -472,6 +472,9 @@ standard SQL syntax, and results joined onto other tables.
Summary: The CONNECT storage engine for MariaDB
Requires: %{name}-server%{?_isa} = %{sameevr}
+# As per https://jira.mariadb.org/browse/MDEV-21450
+BuildRequires: libxml2-devel
+
%description connect-engine
The CONNECT storage engine enables MariaDB to access external local or
remote data (MED). This is done by defining tables based on different data
@@ -1598,6 +1601,10 @@ fi
%endif
%changelog
+* Fri Jan 10 2020 Michal Schorm <mschorm(a)redhat.com> - 10.4.11-1
+- Rebase to 10.4.11
+
+
* Tue Dec 03 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.10-1
- Rebase to 10.4.10
Upstream started linking the Galera libraries statically
diff --git a/sources b/sources
index c5ef0e3..dfbf8f0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.10.tar.gz) = a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f
+SHA512 (mariadb-10.4.11.tar.gz) = 2a1a8d90e326530b41a8a7d6889325cefcba5914451a48c6a20d5d5cd68004835e76e6ecac628554167a014f9c0b1487c15f37151afd771ea0166a4c40afd7d2
commit 1fd9cbbc18d1b074f8b490485f0a796c01ecf60d
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 9 12:53:44 2019 +0100
Update failing tests lists
diff --git a/mariadb.spec b/mariadb.spec
index 870d81f..99e30f0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -6,7 +6,7 @@
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 1
+%global ignore_testsuite_result 0
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index eccb8c0..b982197 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -57,3 +57,7 @@ plugins.auth_ed25519 :
# Fails from 10.4.10
sys_vars.tcp_nodelay :
+# only on i686
+main.key_cache :
+parts.optimizer :
+main.opt_trace_index_merge :
commit b86d806db4c445a85ed8001be53516328a4a05cf
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 7 03:53:09 2019 +0100
Remove ancient Galera obsoletes
diff --git a/mariadb.spec b/mariadb.spec
index e66f410..870d81f 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -286,9 +286,6 @@ Suggests: %{name}-server%{?_isa} = %{sameevr}
# MySQL (with caps) is upstream's spelling of their own RPMs for mysql
%{?with_conflicts:Conflicts: community-mysql}
-# obsoletion of mariadb-galera
-Provides: mariadb-galera = %{sameevr}
-
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
@@ -347,9 +344,6 @@ package itself.
Summary: The shared files required by server and client
Requires: %{_sysconfdir}/my.cnf
-# obsoletion of mariadb-galera-common
-Provides: mariadb-galera-common = %{sameevr}
-
%if %{without clibrary}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -385,9 +379,6 @@ Requires: lsof
# Default wsrep_sst_method
Requires: rsync
-# obsoletion of mariadb-galera-server
-Provides: mariadb-galera-server = %{sameevr}
-
%description server-galera
MariaDB is a multi-user, multi-threaded SQL database server. It is a
client/server implementation consisting of a server daemon (mysqld)
commit d83bf98182cfe4a91836472f52038dbc5723ae71
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 7 03:49:46 2019 +0100
Allow port 4444 in SELinux for Galera SST replication
diff --git a/mariadb.spec b/mariadb.spec
index 17e5a95..e66f410 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1232,11 +1232,16 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%if %{with galera}
%post server-galera
-# Do what README at support-files/policy/selinux/README and upstream page
-# http://galeracluster.com/documentation-webpages/firewallsettings.html recommend:
-semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || :
+# Allow ports needed for the replication:
+# https://mariadb.com/kb/en/library/configuring-mariadb-galera-cluster/#net...
+# Galera Replication Port
semanage port -a -t mysqld_port_t -p tcp 4567 >/dev/null 2>&1 || :
semanage port -a -t mysqld_port_t -p udp 4567 >/dev/null 2>&1 || :
+# IST Port
+semanage port -a -t mysqld_port_t -p tcp 4568 >/dev/null 2>&1 || :
+# SST Port
+semanage port -a -t mysqld_port_t -p tcp 4444 >/dev/null 2>&1 || :
+
semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/null 2>&1 || :
%endif
commit c487d09e4d72a76af5ec2383ed8e9698424c1752
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Dec 6 15:06:31 2019 +0100
Use updated sources from upstream GitHub, instead of the released version 10.4.10
for fix for https://jira.mariadb.org/browse/MDEV-21229
Upstream commit that fixes the issue:
https://github.com/MariaDB/server/commit/9a6212008999da44b136605c1abf2cc9...
diff --git a/mariadb.spec b/mariadb.spec
index 3bd9fcf..17e5a95 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.10
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 1.20191205git9a621200%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -266,7 +266,7 @@ Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
# Explicit EVR requirement for -libs is needed for RHBZ#1406320
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
@@ -304,7 +304,7 @@ The base package contains the standard MariaDB/MySQL client programs and
generic MySQL files.
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -350,7 +350,7 @@ Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
Provides: mariadb-galera-common = %{sameevr}
-%if %{without clibrary} && %{without galera}
+%if %{without clibrary}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -377,7 +377,7 @@ MariaDB packages.
Summary: The configuration files and scripts for galera replication
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
-Requires: galera >= 25.3.3
+Requires: galera >= 26.4.3
Requires(post): libselinux-utils
Requires(post): policycoreutils-python-utils
# wsrep requirements
@@ -595,7 +595,7 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl.
%package devel
Summary: Files for development of MariaDB/MySQL applications
Requires: openssl-devel
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
Requires: mariadb-connector-c-devel >= 3.0
@@ -921,7 +921,6 @@ rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{pkg_name}/
install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{pkg_name}/
-rm -r %{buildroot}%{_datadir}/doc/%{_pkgdocdirname}/MariaDB-server-%{version}/
# Logfile creation
mkdir -p %{buildroot}%{logfiledir}
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index e41440b..eccb8c0 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -50,4 +50,10 @@ innodb_gis.rtree_compress2 :
parts.partition_alter4_innodb :
# Fails from 10.3.9
-encryption.innodb-redo-badkey :
+encryption.innodb-redo-badkey :
+
+# Expected: Plugin building disabled in server
+plugins.auth_ed25519 :
+
+# Fails from 10.4.10
+sys_vars.tcp_nodelay :
diff --git a/sources b/sources
index f3d0b74..c5ef0e3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.7.tar.gz) = cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
+SHA512 (mariadb-10.4.10.tar.gz) = a8b93be9dba6f9d2fd5a8da53f37c1f1c0469c64c919c2978e5f31871a6eb4052da96d162269c2d060d258c14ca92c357caa7a63da4f6f87443e5625412ab18f
commit 8d089185e5698a5216a4e50aca3a52f60b8d2e78
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Dec 6 14:55:29 2019 +0100
Rebase to 10.4.10
Upstream started to build the Galera libraries statically
Spider SE patch updated, tiny part of it was upstreamed
Commit also contains several tweaks for debug build
diff --git a/mariadb-logrotate.patch b/mariadb-logrotate.patch
index fd58c42..6af9466 100644
--- a/mariadb-logrotate.patch
+++ b/mariadb-logrotate.patch
@@ -26,16 +26,13 @@ Update 6/2018
beeing able to send the SIGHUP to the process and read the mysqld pid file, which root can.
* Submited as PR: https://github.com/MariaDB/server/pull/807
---- mariadb-10.3.7/support-files/mysql-log-rotate.sh 2018-05-23 22:38:46.000000000 +0200
-+++ mariadb-10.3.7/support-files/mysql-log-rotate.sh_patched 2018-06-27 12:11:23.705719826 +0200
-@@ -1,25 +1,12 @@
- # This logname can be set in /etc/my.cnf
- # by setting the variable "err-log"
--# in the [safe_mysqld] section as follows:
-+# in the [mysqld] section as follows:
+--- mariadb-10.3.19/support-files/mysql-log-rotate.sh 2019-11-03 17:03:27.000000000 +0100
++++ mariadb-10.3.19/support-files/mysql-log-rotate.sh_patched 2019-11-06 15:07:54.205379672 +0100
+@@ -3,23 +3,10 @@
+ # in the [mysqld] section as follows:
#
--# [safe_mysqld]
--# err-log=@localstatedir(a)/mysqld.log
+ # [mysqld]
+-# log-error=@localstatedir(a)/mysqld.log
-#
-# If the root user has a password you have to create a
-# /root/.my.cnf configuration file with the following
@@ -49,15 +46,14 @@ Update 6/2018
-#
-# ATTENTION: This /root/.my.cnf should be readable ONLY
-# for root !
-+# [mysqld]
-+# log_error=@LOG_LOCATION@
++# log-error=@LOG_LOCATION@
-@localstatedir(a)/mysqld.log {
- # create 600 mysql mysql
+@LOG_LOCATION@ {
+ create 600 mysql mysql
notifempty
- daily
+ daily
rotate 3
@@ -27,11 +14,9 @@
compress
diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch
index 2278481..6be8528 100644
--- a/mariadb-spider_on_armv7hl.patch
+++ b/mariadb-spider_on_armv7hl.patch
@@ -339,15 +339,6 @@ index 58351195a61..da2052ad79e 100644
NullS)
) {
delete clone_row;
-@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down(
- int error_num;
- uint outer_join_backup;
- TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL;
-- bool first;
-+ bool first = TRUE;
- DBUG_ENTER("spider_db_mbase_util::append_tables_top_down");
- DBUG_PRINT("info",("spider this=%p", this));
- if (
@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos()
if (!union_table_name_pos_first)
{
diff --git a/mariadb.spec b/mariadb.spec
index ef7fe21..3bd9fcf 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.7
-Release: 2%{?with_debug:.debug}%{?dist}
+Version: 10.4.10
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -258,6 +258,10 @@ BuildRequires: perl(Symbol)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
+%if %{with debug}
+BuildRequires: valgrind-devel
+%endif
+
Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -787,14 +791,23 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py
fi
%endif
-CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# force PIC mode so that we can build libmysqld.so
CFLAGS="$CFLAGS -fPIC"
-# Override all optimization flags when making a debug build
-%{?with_debug: CFLAGS="$CFLAGS -O0 -g"}
+# Override all optimization flags when making a debug build
+%if %{with debug}
+CFLAGS="$CFLAGS -O0 -g
+CPPFLAGS="$CPPFLAGS -O0 -g -D_FORTIFY_SOURCE=0
+# Fix GCC flags broken by MariaDB upstream
+CFLAGS="$CFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare
CXXFLAGS="$CFLAGS"
-export CFLAGS CXXFLAGS
+CPPFLAGS="$CPPFLAGS -Wno-error=deprecated-copy -Wno-error=pessimizing-move -Wno-error=unused-result -Wno-error=maybe-uninitialized -Wno-error=stringop-overflow -Wno-error=sign-compare
+%endif
+
+
+
+export CFLAGS CXXFLAGS CPPFLAGS
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
@@ -877,12 +890,6 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp
%install
make DESTDIR=%{buildroot} install
-%if %{with galera}
-# Install the wsrep library
-install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir}
-install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir}
-%endif
-
# multilib header support #1625157
for header in mysql/server/my_config.h mysql/server/private/config.h; do
%multilib_fix_c_header --file %{_includedir}/$header
@@ -1268,11 +1275,8 @@ fi
%endif
-%if %{with clibrary} || %{with galera}
+%if %{with clibrary}
%files libs
-%if %{with galera}
-%{_libdir}/libwsrep*.so*
-%endif
%if %{with clibrary}
%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
%{_libdir}/libmariadb.so*
@@ -1599,6 +1603,10 @@ fi
%endif
%changelog
+* Tue Dec 03 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.10-1
+- Rebase to 10.4.10
+ Upstream started linking the Galera libraries statically
+
* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
- Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
commit a0e96d6af736aaac8127707e8af4fc4ea6a31bc2
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Sep 25 14:40:09 2019 +0200
Disable building of bench subpackage. Upstream no longer maintain it
diff --git a/mariadb.spec b/mariadb.spec
index 5417c70..ef7fe21 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -87,7 +87,7 @@
%bcond_without backup
# Upstream no longer maintain and pack the bench subpackage
%if 0%{?fedora}
-%bcond_without bench
+%bcond_with bench
%else
%bcond_with bench
%endif
@@ -1602,6 +1602,7 @@ fi
* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
- Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
+- Disable building of bench subpackage. Upstream no longer maintain it
* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
- Rebase to 10.4.7
commit 72888c223ea885e3717eeef00e3cb6f8b2283790
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Sep 11 13:00:52 2019 +0200
Disable building of the ed25519 client plugin.
From now on it will be shipped by 'mariadb-connector-c' package
diff --git a/mariadb.spec b/mariadb.spec
index 2093723..5417c70 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.7
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -853,6 +853,7 @@ export CFLAGS CXXFLAGS
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
+ -DPLUGIN_CLIENT_ED25519=OFF \
-DPYTHON_SHEBANG=%{python_path} \
-DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
@@ -1598,6 +1599,10 @@ fi
%endif
%changelog
+* Wed Sep 25 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-2
+- Disable building of the ed25519 client plugin.
+ From now on it will be shipped by 'mariadb-connector-c' package
+
* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
- Rebase to 10.4.7
commit 38920fe23b78bf2f6944db72bb07f894a5ae7cdc
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Aug 22 16:31:37 2019 +0200
Rebase to 10.4.7
diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch
index 9c5692f..2122190 100644
--- a/mariadb-auth_pam_tool_dir.patch
+++ b/mariadb-auth_pam_tool_dir.patch
@@ -5,25 +5,24 @@ Thus "chown 0" will always fail
Never parse 'ls' output!
http://mywiki.wooledge.org/BashFAQ/087
---- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200
-+++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187 +0200
-@@ -476,12 +476,15 @@ then
+--- mariadb-10.4.7/scripts/mysql_install_db.sh 2019-07-30 13:32:16.000000000 +0200
++++ mariadb-10.4.7/scripts/mysql_install_db.sh_patched 2019-08-22 16:29:28.341484925 +0200
+@@ -490,13 +490,16 @@ then
fi
if test -z "$srcdir"
then
-- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
+- chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
- if test $? -ne 0
+ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ]
then
-- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-- echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
-- echo
-+ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" && \
++ chmod 04755 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+ if test $? -ne 0
+ then
-+ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
-+ echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
-+ echo
+ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
+ echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
+ echo
+ fi
fi
fi
diff --git a/mariadb.spec b/mariadb.spec
index 4276aeb..2093723 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -115,7 +115,7 @@
%bcond_without unbundled_pcre
%else
%bcond_with unbundled_pcre
-%global pcre_bundled_version 8.42
+%global pcre_bundled_version 8.43
%endif
# Use main python interpretter version
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.6
-Release: 2%{?with_debug:.debug}%{?dist}
+Version: 10.4.7
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1598,6 +1598,9 @@ fi
%endif
%changelog
+* Thu Aug 22 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.7-1
+- Rebase to 10.4.7
+
* Fri Jun 21 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-2
- Apply critical patch for Spider SE on Armv7hl architecture
diff --git a/sources b/sources
index 952d959..f3d0b74 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.6.tar.gz) = b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c
+SHA512 (mariadb-10.4.7.tar.gz) = cb8b5adaef1970b9c8f04db08c18660f8b3df87f699aa93c1bee9497b887ddf50fcf3a2aebbe21a5fc9dfcbd118d0192d7421512522d98eaf30a014822c2f7ce
commit 1ed43fdb08331b8d207b73ad543d839673dca50b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jun 21 14:44:07 2019 +0200
Apply critical patch for Spider SE on Armv7hl architecture
diff --git a/mariadb-spider_on_armv7hl.patch b/mariadb-spider_on_armv7hl.patch
new file mode 100644
index 0000000..2278481
--- /dev/null
+++ b/mariadb-spider_on_armv7hl.patch
@@ -0,0 +1,1087 @@
+Fix for:
+https://jira.mariadb.org/browse/MDEV-18737
+Taken from:
+https://github.com/MariaDB/server/commit/80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186
+
+
+
+
+
+From 80f9bd3d9c4f1b6367487a88e4ca816fcb8ce186 Mon Sep 17 00:00:00 2001
+From: Kentoku <kentokushiba(a)gmail.com>
+Date: Tue, 18 Jun 2019 01:43:07 +0900
+Subject: [PATCH] MDEV-18737 Spider "Out of memory" on armv7hl
+
+This is an issue of memory alignment of variable argument when calling my_multi_malloc().
+The fix is strictly casting allocating size to "uint".
+---
+ storage/spider/ha_spider.cc | 36 +++--
+ storage/spider/spd_conn.cc | 69 +++++-----
+ storage/spider/spd_copy_tables.cc | 25 ++--
+ storage/spider/spd_db_conn.cc | 13 +-
+ storage/spider/spd_db_handlersocket.cc | 4 +-
+ storage/spider/spd_db_mysql.cc | 12 +-
+ storage/spider/spd_db_oracle.cc | 24 ++--
+ storage/spider/spd_direct_sql.cc | 78 +++++------
+ storage/spider/spd_group_by_handler.cc | 7 +-
+ storage/spider/spd_ping_table.cc | 36 +++--
+ storage/spider/spd_table.cc | 134 ++++++++++---------
+ storage/spider/spd_trx.cc | 173 +++++++++++++------------
+ 12 files changed, 328 insertions(+), 283 deletions(-)
+
+diff --git a/storage/spider/ha_spider.cc b/storage/spider/ha_spider.cc
+index 33e81201fff..d3bc24dc0e0 100644
+--- a/storage/spider/ha_spider.cc
++++ b/storage/spider/ha_spider.cc
+@@ -395,15 +395,24 @@ int ha_spider::open(
+ {
+ if (!(searched_bitmap = (uchar *)
+ spider_bulk_malloc(spider_current_trx, 15, MYF(MY_WME),
+- &searched_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &ft_discard_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &position_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &partition_handler_share, sizeof(SPIDER_PARTITION_HANDLER_SHARE),
+- &idx_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &idx_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &rnd_read_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &rnd_write_bitmap, sizeof(uchar) * no_bytes_in_map(table->read_set),
+- &pt_handler_share_handlers, sizeof(ha_spider *) * part_num,
++ &searched_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &ft_discard_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &position_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &partition_handler_share,
++ (uint) sizeof(SPIDER_PARTITION_HANDLER_SHARE),
++ &idx_read_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &idx_write_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &rnd_read_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &rnd_write_bitmap,
++ (uint) sizeof(uchar) * no_bytes_in_map(table->read_set),
++ &pt_handler_share_handlers,
++ (uint) sizeof(ha_spider *) * part_num,
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -11389,7 +11398,7 @@ int ha_spider::create(
+ if (!(tmp_share.static_key_cardinality = (longlong *)
+ spider_bulk_malloc(spider_current_trx, 246, MYF(MY_WME),
+ &tmp_share.static_key_cardinality,
+- sizeof(*tmp_share.static_key_cardinality) * form->s->keys,
++ (uint) (sizeof(*tmp_share.static_key_cardinality) * form->s->keys),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -12198,7 +12207,8 @@ int ha_spider::info_push(
+ spider_free(spider_current_trx, hs_pushed_ret_fields, MYF(0));
+ if (!(hs_pushed_ret_fields = (uint32 *)
+ spider_bulk_malloc(spider_current_trx, 17, MYF(MY_WME),
+- &hs_pushed_ret_fields, sizeof(uint32) * hs_pushed_ret_fields_num,
++ &hs_pushed_ret_fields,
++ (uint) (sizeof(uint32) * hs_pushed_ret_fields_num),
+ NullS))
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -13762,8 +13772,8 @@ SPIDER_BULK_ACCESS_LINK *ha_spider::create_bulk_access_link()
+ */
+ if (!(bulk_access_link = (SPIDER_BULK_ACCESS_LINK *)
+ spider_bulk_malloc(spider_current_trx, 168, MYF(MY_WME),
+- &bulk_access_link, sizeof(SPIDER_BULK_ACCESS_LINK),
+- &ref, ALIGN_SIZE(ref_length) * 2,
++ &bulk_access_link, (uint) (sizeof(SPIDER_BULK_ACCESS_LINK)),
++ &ref, (uint) (ALIGN_SIZE(ref_length) * 2),
+ NullS))
+ ) {
+ goto error_bulk_malloc;
+diff --git a/storage/spider/spd_conn.cc b/storage/spider/spd_conn.cc
+index b1f49f4f250..2f372d8f692 100644
+--- a/storage/spider/spd_conn.cc
++++ b/storage/spider/spd_conn.cc
+@@ -472,30 +472,30 @@ SPIDER_CONN *spider_create_conn(
+ #endif
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 18, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
+ &tmp_username,
+- share->tgt_usernames_lengths[link_idx] + 1,
++ (uint) (share->tgt_usernames_lengths[link_idx] + 1),
+ &tmp_password,
+- share->tgt_passwords_lengths[link_idx] + 1,
+- &tmp_socket, share->tgt_sockets_lengths[link_idx] + 1,
++ (uint) (share->tgt_passwords_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->tgt_sockets_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &tmp_ssl_ca, share->tgt_ssl_cas_lengths[link_idx] + 1,
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &tmp_ssl_ca, (uint) (share->tgt_ssl_cas_lengths[link_idx] + 1),
+ &tmp_ssl_capath,
+- share->tgt_ssl_capaths_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_capaths_lengths[link_idx] + 1),
+ &tmp_ssl_cert,
+- share->tgt_ssl_certs_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_certs_lengths[link_idx] + 1),
+ &tmp_ssl_cipher,
+- share->tgt_ssl_ciphers_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_ciphers_lengths[link_idx] + 1),
+ &tmp_ssl_key,
+- share->tgt_ssl_keys_lengths[link_idx] + 1,
++ (uint) (share->tgt_ssl_keys_lengths[link_idx] + 1),
+ &tmp_default_file,
+- share->tgt_default_files_lengths[link_idx] + 1,
++ (uint) (share->tgt_default_files_lengths[link_idx] + 1),
+ &tmp_default_group,
+- share->tgt_default_groups_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_default_groups_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -594,13 +594,13 @@ SPIDER_CONN *spider_create_conn(
+ } else if (conn_kind == SPIDER_CONN_KIND_HS_READ) {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 19, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->hs_read_conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
+- &tmp_socket, share->hs_read_socks_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->hs_read_conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->hs_read_socks_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -636,13 +636,13 @@ SPIDER_CONN *spider_create_conn(
+ } else {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 20, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, share->hs_write_conn_keys_lengths[link_idx] + 1,
+- &tmp_host, share->tgt_hosts_lengths[link_idx] + 1,
+- &tmp_socket, share->hs_write_socks_lengths[link_idx] + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (share->hs_write_conn_keys_lengths[link_idx] + 1),
++ &tmp_host, (uint) (share->tgt_hosts_lengths[link_idx] + 1),
++ &tmp_socket, (uint) (share->hs_write_socks_lengths[link_idx] + 1),
+ &tmp_wrapper,
+- share->tgt_wrappers_lengths[link_idx] + 1,
+- &need_mon, sizeof(int),
++ (uint) (share->tgt_wrappers_lengths[link_idx] + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -3648,13 +3648,16 @@ int spider_create_mon_threads(
+ }
+ if (!(share->bg_mon_thds = (THD **)
+ spider_bulk_malloc(spider_current_trx, 23, MYF(MY_WME | MY_ZEROFILL),
+- &share->bg_mon_thds, sizeof(THD *) * share->all_link_count,
+- &share->bg_mon_threads, sizeof(pthread_t) * share->all_link_count,
+- &share->bg_mon_mutexes, sizeof(pthread_mutex_t) *
+- share->all_link_count,
+- &share->bg_mon_conds, sizeof(pthread_cond_t) * share->all_link_count,
++ &share->bg_mon_thds,
++ (uint) (sizeof(THD *) * share->all_link_count),
++ &share->bg_mon_threads,
++ (uint) (sizeof(pthread_t) * share->all_link_count),
++ &share->bg_mon_mutexes,
++ (uint) (sizeof(pthread_mutex_t) * share->all_link_count),
++ &share->bg_mon_conds,
++ (uint) (sizeof(pthread_cond_t) * share->all_link_count),
+ &share->bg_mon_sleep_conds,
+- sizeof(pthread_cond_t) * share->all_link_count,
++ (uint) (sizeof(pthread_cond_t) * share->all_link_count),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+diff --git a/storage/spider/spd_copy_tables.cc b/storage/spider/spd_copy_tables.cc
+index 13c53220b16..1a472e2c12b 100644
+--- a/storage/spider/spd_copy_tables.cc
++++ b/storage/spider/spd_copy_tables.cc
+@@ -390,12 +390,15 @@ int spider_udf_get_copy_tgt_tables(
+ do {
+ if (!(table_conn = (SPIDER_COPY_TABLE_CONN *)
+ spider_bulk_malloc(spider_current_trx, 25, MYF(MY_WME | MY_ZEROFILL),
+- &table_conn, sizeof(SPIDER_COPY_TABLE_CONN),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
++ &table_conn, (uint) (sizeof(SPIDER_COPY_TABLE_CONN)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
+ NullS))
+ ) {
+ spider_sys_index_end(table_tables);
+@@ -706,12 +709,12 @@ int spider_udf_copy_tables_create_table_list(
+ if (!(copy_tables->link_idxs[0] = (int *)
+ spider_bulk_malloc(spider_current_trx, 26, MYF(MY_WME | MY_ZEROFILL),
+ ©_tables->link_idxs[0],
+- sizeof(int) * copy_tables->link_idx_count[0],
++ (uint) (sizeof(int) * copy_tables->link_idx_count[0]),
+ ©_tables->link_idxs[1],
+- sizeof(int) * copy_tables->link_idx_count[1],
+- &tmp_name_ptr, sizeof(char) * (
++ (uint) (sizeof(int) * copy_tables->link_idx_count[1]),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ spider_table_name_length * 2 + copy_tables->database_length + 3
+- ),
++ )),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -906,7 +909,7 @@ long long spider_copy_tables_body(
+
+ if (!(copy_tables = (SPIDER_COPY_TABLES *)
+ spider_bulk_malloc(spider_current_trx, 27, MYF(MY_WME | MY_ZEROFILL),
+- ©_tables, sizeof(SPIDER_COPY_TABLES),
++ ©_tables, (uint) (sizeof(SPIDER_COPY_TABLES)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_conn.cc b/storage/spider/spd_db_conn.cc
+index f3d607cd6dc..6d3a88a55db 100644
+--- a/storage/spider/spd_db_conn.cc
++++ b/storage/spider/spd_db_conn.cc
+@@ -2683,7 +2683,8 @@ int spider_db_fetch_for_item_sum_func(
+ if (!spider->direct_aggregate_item_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 240, MYF(MY_WME),
+- &spider->direct_aggregate_item_first, sizeof(SPIDER_ITEM_HLD),
++ &spider->direct_aggregate_item_first,
++ (uint) (sizeof(SPIDER_ITEM_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -2702,7 +2703,7 @@ int spider_db_fetch_for_item_sum_func(
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 241, MYF(MY_WME),
+ &spider->direct_aggregate_item_current->next,
+- sizeof(SPIDER_ITEM_HLD), NullS)
++ (uint) (sizeof(SPIDER_ITEM_HLD)), NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+ }
+@@ -4074,8 +4075,8 @@ int spider_db_store_result(
+ current->field_count = field_count;
+ if (!(position = (SPIDER_POSITION *)
+ spider_bulk_malloc(spider_current_trx, 7, MYF(MY_WME | MY_ZEROFILL),
+- &position, sizeof(SPIDER_POSITION) * page_size,
+- &tmp_row, sizeof(char*) * field_count,
++ &position, (uint) (sizeof(SPIDER_POSITION) * page_size),
++ &tmp_row, (uint) (sizeof(SPIDER_DB_ROW) * field_count),
+ NullS))
+ )
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -10948,8 +10949,8 @@ int spider_db_udf_copy_tables(
+ DBUG_ENTER("spider_db_udf_copy_tables");
+ if (!(last_row_pos = (ulong *)
+ spider_bulk_malloc(spider_current_trx, 30, MYF(MY_WME),
+- &last_row_pos, sizeof(ulong) * table->s->fields,
+- &last_lengths, sizeof(ulong) * table->s->fields,
++ &last_row_pos, (uint) (sizeof(ulong) * table->s->fields),
++ &last_lengths, (uint) (sizeof(ulong) * table->s->fields),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_handlersocket.cc b/storage/spider/spd_db_handlersocket.cc
+index ac81525092b..27257ee08e6 100644
+--- a/storage/spider/spd_db_handlersocket.cc
++++ b/storage/spider/spd_db_handlersocket.cc
+@@ -505,8 +505,8 @@ SPIDER_DB_ROW *spider_db_handlersocket_row::clone()
+ DBUG_RETURN(NULL);
+ }
+ if (!spider_bulk_malloc(spider_current_trx, 169, MYF(MY_WME),
+- &clone_row->hs_row, sizeof(SPIDER_HS_STRING_REF) * field_count,
+- &tmp_char, row_size,
++ &clone_row->hs_row, (uint) (sizeof(SPIDER_HS_STRING_REF) * field_count),
++ &tmp_char, (uint) (row_size),
+ NullS)
+ ) {
+ delete clone_row;
+diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc
+index 58351195a61..da2052ad79e 100644
+--- a/storage/spider/spd_db_mysql.cc
++++ b/storage/spider/spd_db_mysql.cc
+@@ -537,9 +537,9 @@ SPIDER_DB_ROW *spider_db_mbase_row::clone()
+ row_size = record_size + field_count;
+ }
+ if (!spider_bulk_malloc(spider_current_trx, 29, MYF(MY_WME),
+- &clone_row->row, sizeof(char*) * field_count,
+- &tmp_char, row_size,
+- &clone_row->lengths, sizeof(ulong) * field_count,
++ &clone_row->row, (uint) (sizeof(char*) * field_count),
++ &tmp_char, (uint) (row_size),
++ &clone_row->lengths, (uint) (sizeof(ulong) * field_count),
+ NullS)
+ ) {
+ delete clone_row;
+@@ -5473,7 +5473,7 @@ int spider_db_mbase_util::append_tables_top_down(
+ int error_num;
+ uint outer_join_backup;
+ TABLE_LIST *cur_table_list, *prev_table_list = NULL, *cond_table_list = NULL;
+- bool first;
++ bool first = TRUE;
+ DBUG_ENTER("spider_db_mbase_util::append_tables_top_down");
+ DBUG_PRINT("info",("spider this=%p", this));
+ if (
+@@ -13786,7 +13786,7 @@ int spider_mbase_handler::init_union_table_name_pos()
+ if (!union_table_name_pos_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 236, MYF(MY_WME),
+- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -13807,7 +13807,7 @@ int spider_mbase_handler::set_union_table_name_pos()
+ if (!union_table_name_pos_current->next)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 237, MYF(MY_WME),
+- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc
+index 773c6b90ed9..0c74415f6b2 100644
+--- a/storage/spider/spd_db_oracle.cc
++++ b/storage/spider/spd_db_oracle.cc
+@@ -588,16 +588,16 @@ int spider_db_oracle_row::init()
+ if (
+ !(ind = (sb2 *)
+ spider_bulk_malloc(spider_current_trx, 161, MYF(MY_WME | MY_ZEROFILL),
+- &ind, sizeof(sb2) * field_count,
+- &rlen, sizeof(ub2) * field_count,
+- &coltp, sizeof(ub2) * field_count,
+- &colsz, sizeof(ub2) * field_count,
+- &row_size, sizeof(ulong) * field_count,
+- &val, sizeof(char *) * field_count,
+- &tmp_val, MAX_FIELD_WIDTH * field_count,
+- &defnp, sizeof(OCIDefine *) * field_count,
+- &lobhp, sizeof(OCILobLocator *) * field_count,
+- &colhp, sizeof(OCIParam *) * field_count,
++ &ind, (uint) (sizeof(sb2) * field_count),
++ &rlen, (uint) (sizeof(ub2) * field_count),
++ &coltp, (uint) (sizeof(ub2) * field_count),
++ &colsz, (uint) (sizeof(ub2) * field_count),
++ &row_size, (uint) (sizeof(ulong) * field_count),
++ &val, (uint) (sizeof(char *) * field_count),
++ &tmp_val, (uint) (MAX_FIELD_WIDTH * field_count),
++ &defnp, (uint) (sizeof(OCIDefine *) * field_count),
++ &lobhp, (uint) (sizeof(OCILobLocator *) * field_count),
++ &colhp, (uint) (sizeof(OCIParam *) * field_count),
+ NullS)
+ ) ||
+ !(val_str = new spider_string[field_count])
+@@ -12519,7 +12519,7 @@ int spider_oracle_handler::init_union_table_name_pos()
+ if (!union_table_name_pos_first)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 238, MYF(MY_WME),
+- &union_table_name_pos_first, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_first, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+@@ -12540,7 +12540,7 @@ int spider_oracle_handler::set_union_table_name_pos()
+ if (!union_table_name_pos_current->next)
+ {
+ if (!spider_bulk_malloc(spider_current_trx, 239, MYF(MY_WME),
+- &union_table_name_pos_current->next, sizeof(SPIDER_INT_HLD),
++ &union_table_name_pos_current->next, (uint) (sizeof(SPIDER_INT_HLD)),
+ NullS)
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc
+index 7237d0877a7..7bf0b91a4a7 100644
+--- a/storage/spider/spd_direct_sql.cc
++++ b/storage/spider/spd_direct_sql.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2009-2018 Kentoku Shiba
++/* Copyright (C) 2009-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -117,31 +118,32 @@ int spider_udf_direct_sql_create_table_list(
+ #if MYSQL_VERSION_ID < 50500
+ if (!(direct_sql->db_names = (char**)
+ spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql->db_names, sizeof(char*) * table_count,
+- &direct_sql->table_names, sizeof(char*) * table_count,
+- &direct_sql->tables, sizeof(TABLE*) * table_count,
+- &tmp_name_ptr, sizeof(char) * (
++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ table_name_list_length +
+ thd->db_length * table_count +
+ 2 * table_count
+- ),
+- &direct_sql->iop, sizeof(int) * table_count,
++ )),
++ &direct_sql->iop, (uint) (sizeof(int) * table_count),
+ NullS))
+ )
+ #else
+ if (!(direct_sql->db_names = (char**)
+ spider_bulk_malloc(spider_current_trx, 31, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql->db_names, sizeof(char*) * table_count,
+- &direct_sql->table_names, sizeof(char*) * table_count,
+- &direct_sql->tables, sizeof(TABLE*) * table_count,
+- &tmp_name_ptr, sizeof(char) * (
++ &direct_sql->db_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->table_names, (uint) (sizeof(char*) * table_count),
++ &direct_sql->tables, (uint) (sizeof(TABLE*) * table_count),
++ &tmp_name_ptr, (uint) (sizeof(char) * (
+ table_name_list_length +
+ SPIDER_THD_db_length(thd) * table_count +
+ 2 * table_count
+- ),
+- &direct_sql->iop, sizeof(int) * table_count,
+- &direct_sql->table_list, sizeof(TABLE_LIST) * table_count,
+- &direct_sql->real_table_bitmap, sizeof(uchar) * ((table_count + 7) / 8),
++ )),
++ &direct_sql->iop, (uint) (sizeof(int) * table_count),
++ &direct_sql->table_list, (uint) (sizeof(TABLE_LIST) * table_count),
++ &direct_sql->real_table_bitmap,
++ (uint) (sizeof(uchar) * ((table_count + 7) / 8)),
+ NullS))
+ )
+ #endif
+@@ -412,23 +414,23 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
+ #endif
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, direct_sql->conn_key_length + 1,
+- &tmp_host, direct_sql->tgt_host_length + 1,
+- &tmp_username, direct_sql->tgt_username_length + 1,
+- &tmp_password, direct_sql->tgt_password_length + 1,
+- &tmp_socket, direct_sql->tgt_socket_length + 1,
+- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1,
+- &tmp_ssl_ca, direct_sql->tgt_ssl_ca_length + 1,
+- &tmp_ssl_capath, direct_sql->tgt_ssl_capath_length + 1,
+- &tmp_ssl_cert, direct_sql->tgt_ssl_cert_length + 1,
+- &tmp_ssl_cipher, direct_sql->tgt_ssl_cipher_length + 1,
+- &tmp_ssl_key, direct_sql->tgt_ssl_key_length + 1,
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (direct_sql->conn_key_length + 1),
++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1),
++ &tmp_username, (uint) (direct_sql->tgt_username_length + 1),
++ &tmp_password, (uint) (direct_sql->tgt_password_length + 1),
++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1),
++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1),
++ &tmp_ssl_ca, (uint) (direct_sql->tgt_ssl_ca_length + 1),
++ &tmp_ssl_capath, (uint) (direct_sql->tgt_ssl_capath_length + 1),
++ &tmp_ssl_cert, (uint) (direct_sql->tgt_ssl_cert_length + 1),
++ &tmp_ssl_cipher, (uint) (direct_sql->tgt_ssl_cipher_length + 1),
++ &tmp_ssl_key, (uint) (direct_sql->tgt_ssl_key_length + 1),
+ &tmp_default_file,
+- direct_sql->tgt_default_file_length + 1,
++ (uint) (direct_sql->tgt_default_file_length + 1),
+ &tmp_default_group,
+- direct_sql->tgt_default_group_length + 1,
+- &need_mon, sizeof(int),
++ (uint) (direct_sql->tgt_default_group_length + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -439,12 +441,12 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
+ } else {
+ if (!(conn = (SPIDER_CONN *)
+ spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL),
+- &conn, sizeof(*conn),
+- &tmp_name, direct_sql->conn_key_length + 1,
+- &tmp_host, direct_sql->tgt_host_length + 1,
+- &tmp_socket, direct_sql->tgt_socket_length + 1,
+- &tmp_wrapper, direct_sql->tgt_wrapper_length + 1,
+- &need_mon, sizeof(int),
++ &conn, (uint) (sizeof(*conn)),
++ &tmp_name, (uint) (direct_sql->conn_key_length + 1),
++ &tmp_host, (uint) (direct_sql->tgt_host_length + 1),
++ &tmp_socket, (uint) (direct_sql->tgt_socket_length + 1),
++ &tmp_wrapper, (uint) (direct_sql->tgt_wrapper_length + 1),
++ &need_mon, (uint) (sizeof(int)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -1602,8 +1604,8 @@ long long spider_direct_sql_body(
+ SPIDER_BACKUP_DASTATUS;
+ if (!(direct_sql = (SPIDER_DIRECT_SQL *)
+ spider_bulk_malloc(spider_current_trx, 34, MYF(MY_WME | MY_ZEROFILL),
+- &direct_sql, sizeof(SPIDER_DIRECT_SQL),
+- &sql, sizeof(char) * args->lengths[0],
++ &direct_sql, (uint) (sizeof(SPIDER_DIRECT_SQL)),
++ &sql, (uint) (sizeof(char) * args->lengths[0]),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+diff --git a/storage/spider/spd_group_by_handler.cc b/storage/spider/spd_group_by_handler.cc
+index 3b57092c4ce..51cfca23106 100644
+--- a/storage/spider/spd_group_by_handler.cc
++++ b/storage/spider/spd_group_by_handler.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2008-2018 Kentoku Shiba
++/* Copyright (C) 2008-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -637,9 +638,9 @@ SPIDER_CONN_HOLDER *spider_fields::create_conn_holder(
+ DBUG_PRINT("info",("spider this=%p", this));
+ return_conn_holder = (SPIDER_CONN_HOLDER *)
+ spider_bulk_malloc(spider_current_trx, 252, MYF(MY_WME | MY_ZEROFILL),
+- &return_conn_holder, sizeof(SPIDER_CONN_HOLDER),
++ &return_conn_holder, (uint) (sizeof(SPIDER_CONN_HOLDER)),
+ &table_link_idx_holder,
+- table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER),
++ (uint) (table_count * sizeof(SPIDER_TABLE_LINK_IDX_HOLDER)),
+ NullS
+ );
+ if (!return_conn_holder)
+diff --git a/storage/spider/spd_ping_table.cc b/storage/spider/spd_ping_table.cc
+index 431d46063c3..60e36fc24fb 100644
+--- a/storage/spider/spd_ping_table.cc
++++ b/storage/spider/spd_ping_table.cc
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 2009-2018 Kentoku Shiba
++/* Copyright (C) 2009-2019 Kentoku Shiba
++ Copyright (C) 2019 MariaDB corp
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -367,12 +368,15 @@ int spider_get_ping_table_mon(
+ do {
+ if (!(table_mon = (SPIDER_TABLE_MON *)
+ spider_bulk_malloc(spider_current_trx, 35, MYF(MY_WME | MY_ZEROFILL),
+- &table_mon, sizeof(SPIDER_TABLE_MON),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
++ &table_mon, (uint) (sizeof(SPIDER_TABLE_MON)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
+ NullS))
+ ) {
+ spider_sys_index_end(table_link_mon);
+@@ -491,13 +495,17 @@ SPIDER_TABLE_MON_LIST *spider_get_ping_table_tgt(
+ SPD_INIT_ALLOC_ROOT(&mem_root, 4096, 0, MYF(MY_WME));
+ if (!(table_mon_list = (SPIDER_TABLE_MON_LIST *)
+ spider_bulk_malloc(spider_current_trx, 36, MYF(MY_WME | MY_ZEROFILL),
+- &table_mon_list, sizeof(SPIDER_TABLE_MON_LIST),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &tmp_connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &tmp_connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &tmp_long, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &tmp_longlong, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
+- &key_str, str->length() + 1,
++ &table_mon_list, (uint) (sizeof(SPIDER_TABLE_MON_LIST)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &tmp_connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &tmp_connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &tmp_long,
++ (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &tmp_longlong,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
++ &key_str, (uint) (str->length() + 1),
+ NullS))
+ ) {
+ my_error(HA_ERR_OUT_OF_MEM, MYF(0));
+diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc
+index 723beb0775e..fe628f55d16 100644
+--- a/storage/spider/spd_table.cc
++++ b/storage/spider/spd_table.cc
+@@ -1211,8 +1211,8 @@ int spider_create_string_list(
+
+ if (!(*string_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 37, MYF(MY_WME | MY_ZEROFILL),
+- string_list, sizeof(char*) * (*list_length),
+- string_length_list, sizeof(int) * (*list_length),
++ string_list, (uint) (sizeof(char*) * (*list_length)),
++ string_length_list, (uint) (sizeof(int) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1330,7 +1330,7 @@ int spider_create_long_list(
+
+ if (!(*long_list = (long*)
+ spider_bulk_malloc(spider_current_trx, 38, MYF(MY_WME | MY_ZEROFILL),
+- long_list, sizeof(long) * (*list_length),
++ long_list, (uint) (sizeof(long) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1414,7 +1414,7 @@ int spider_create_longlong_list(
+
+ if (!(*longlong_list = (longlong *)
+ spider_bulk_malloc(spider_current_trx, 39, MYF(MY_WME | MY_ZEROFILL),
+- longlong_list, sizeof(longlong) * (*list_length),
++ longlong_list, (uint) (sizeof(longlong) * (*list_length)),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1485,8 +1485,8 @@ int spider_increase_string_list(
+
+ if (!(tmp_str_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 40, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_str_list, sizeof(char*) * link_count,
+- &tmp_length_list, sizeof(uint) * link_count,
++ &tmp_str_list, (uint) (sizeof(char*) * link_count),
++ &tmp_length_list, (uint) (sizeof(uint) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1548,8 +1548,8 @@ int spider_increase_null_string_list(
+
+ if (!(tmp_str_list = (char**)
+ spider_bulk_malloc(spider_current_trx, 247, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_str_list, sizeof(char*) * link_count,
+- &tmp_length_list, sizeof(uint) * link_count,
++ &tmp_str_list, (uint) (sizeof(char*) * link_count),
++ &tmp_length_list, (uint) (sizeof(uint) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1606,7 +1606,7 @@ int spider_increase_long_list(
+
+ if (!(tmp_long_list = (long*)
+ spider_bulk_malloc(spider_current_trx, 41, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_long_list, sizeof(long) * link_count,
++ &tmp_long_list, (uint) (sizeof(long) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -1651,7 +1651,7 @@ int spider_increase_longlong_list(
+
+ if (!(tmp_longlong_list = (longlong*)
+ spider_bulk_malloc(spider_current_trx, 42, MYF(MY_WME | MY_ZEROFILL),
+- &tmp_longlong_list, sizeof(longlong) * link_count,
++ &tmp_longlong_list, (uint) (sizeof(longlong) * link_count),
+ NullS))
+ ) {
+ my_error(ER_OUT_OF_RESOURCES, MYF(0), HA_ERR_OUT_OF_MEM);
+@@ -2974,17 +2974,17 @@ int spider_parse_connect_info(
+ if (!(share_alter->tmp_server_names = (char **)
+ spider_bulk_malloc(spider_current_trx, 43, MYF(MY_WME | MY_ZEROFILL),
+ &share_alter->tmp_server_names,
+- sizeof(char *) * 16 * share->all_link_count,
++ (uint) (sizeof(char *) * 16 * share->all_link_count),
+ &share_alter->tmp_server_names_lengths,
+- sizeof(uint *) * 16 * share->all_link_count,
++ (uint) (sizeof(uint *) * 16 * share->all_link_count),
+ &share_alter->tmp_tgt_ports,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_tgt_ssl_vscs,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_monitoring_binlog_pos_at_failing,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ &share_alter->tmp_link_statuses,
+- sizeof(long) * share->all_link_count,
++ (uint) (sizeof(long) * share->all_link_count),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -4388,13 +4388,17 @@ SPIDER_SHARE *spider_create_share(
+ bitmap_size = spider_bitmap_size(table_share->fields);
+ if (!(share = (SPIDER_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 46, MYF(MY_WME | MY_ZEROFILL),
+- &share, sizeof(*share),
+- &tmp_name, length + 1,
+- &tmp_static_key_cardinality, sizeof(*tmp_static_key_cardinality) * table_share->keys,
+- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields,
+- &tmp_cardinality_upd, sizeof(*tmp_cardinality_upd) * bitmap_size,
+- &tmp_table_mon_mutex_bitmap, sizeof(*tmp_table_mon_mutex_bitmap) *
+- ((spider_param_udf_table_mon_mutex_count() + 7) / 8),
++ &share, (uint) (sizeof(*share)),
++ &tmp_name, (uint) (length + 1),
++ &tmp_static_key_cardinality,
++ (uint) (sizeof(*tmp_static_key_cardinality) * table_share->keys),
++ &tmp_cardinality,
++ (uint) (sizeof(*tmp_cardinality) * table_share->fields),
++ &tmp_cardinality_upd,
++ (uint) (sizeof(*tmp_cardinality_upd) * bitmap_size),
++ &tmp_table_mon_mutex_bitmap,
++ (uint) (sizeof(*tmp_table_mon_mutex_bitmap) *
++ ((spider_param_udf_table_mon_mutex_count() + 7) / 8)),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -5921,8 +5925,8 @@ SPIDER_LGTM_TBLHND_SHARE *spider_get_lgtm_tblhnd_share(
+ DBUG_PRINT("info",("spider create new lgtm tblhnd share"));
+ if (!(lgtm_tblhnd_share = (SPIDER_LGTM_TBLHND_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 244, MYF(MY_WME | MY_ZEROFILL),
+- &lgtm_tblhnd_share, sizeof(*lgtm_tblhnd_share),
+- &tmp_name, table_name_length + 1,
++ &lgtm_tblhnd_share, (uint) (sizeof(*lgtm_tblhnd_share)),
++ &tmp_name, (uint) (table_name_length + 1),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -6031,9 +6035,10 @@ SPIDER_PARTITION_SHARE *spider_get_pt_share(
+ DBUG_PRINT("info",("spider create new pt share"));
+ if (!(partition_share = (SPIDER_PARTITION_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 51, MYF(MY_WME | MY_ZEROFILL),
+- &partition_share, sizeof(*partition_share),
+- &tmp_name, table_share->path.length + 1,
+- &tmp_cardinality, sizeof(*tmp_cardinality) * table_share->fields,
++ &partition_share, (uint) (sizeof(*partition_share)),
++ &tmp_name, (uint) (table_share->path.length + 1),
++ &tmp_cardinality,
++ (uint) (sizeof(*tmp_cardinality) * table_share->fields),
+ NullS))
+ ) {
+ *error_num = HA_ERR_OUT_OF_MEM;
+@@ -6379,15 +6384,18 @@ int spider_open_all_tables(
+
+ if (!(share = (SPIDER_SHARE *)
+ spider_bulk_malloc(spider_current_trx, 52, MYF(MY_WME | MY_ZEROFILL),
+- &share, sizeof(*share),
+- &connect_info, sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT,
+- &connect_info_length, sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT,
+- &long_info, sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT,
+- &longlong_info, sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT,
+- &conns, sizeof(SPIDER_CONN *),
+- &need_mon, sizeof(int),
+- &spider->conn_link_idx, sizeof(uint),
+- &spider->conn_can_fo, sizeof(uchar),
++ &share, (uint) (sizeof(*share)),
++ &connect_info,
++ (uint) (sizeof(char *) * SPIDER_TMP_SHARE_CHAR_PTR_COUNT),
++ &connect_info_length,
++ (uint) (sizeof(uint) * SPIDER_TMP_SHARE_UINT_COUNT),
++ &long_info, (uint) (sizeof(long) * SPIDER_TMP_SHARE_LONG_COUNT),
++ &longlong_info,
++ (uint) (sizeof(longlong) * SPIDER_TMP_SHARE_LONGLONG_COUNT),
++ &conns, (uint) (sizeof(SPIDER_CONN *)),
++ &need_mon, (uint) (sizeof(int)),
++ &spider->conn_link_idx, (uint) (sizeof(uint)),
++ &spider->conn_can_fo, (uint) (sizeof(uchar)),
+ NullS))
+ ) {
+ delete spider;
+@@ -7194,12 +7202,12 @@ int spider_db_init(
+
+ if (!(spider_udf_table_mon_mutexes = (pthread_mutex_t *)
+ spider_bulk_malloc(NULL, 53, MYF(MY_WME | MY_ZEROFILL),
+- &spider_udf_table_mon_mutexes, sizeof(pthread_mutex_t) *
+- spider_param_udf_table_mon_mutex_count(),
+- &spider_udf_table_mon_conds, sizeof(pthread_cond_t) *
+- spider_param_udf_table_mon_mutex_count(),
+- &spider_udf_table_mon_list_hash, sizeof(HASH) *
+- spider_param_udf_table_mon_mutex_count(),
++ &spider_udf_table_mon_mutexes, (uint) (sizeof(pthread_mutex_t) *
++ spider_param_udf_table_mon_mutex_count()),
++ &spider_udf_table_mon_conds, (uint) (sizeof(pthread_cond_t) *
++ spider_param_udf_table_mon_mutex_count()),
++ &spider_udf_table_mon_list_hash, (uint) (sizeof(HASH) *
++ spider_param_udf_table_mon_mutex_count()),
+ NullS))
+ )
+ goto error_alloc_mon_mutxes;
+@@ -7248,10 +7256,10 @@ int spider_db_init(
+ #ifndef WITHOUT_SPIDER_BG_SEARCH
+ if (!(spider_table_sts_threads = (SPIDER_THREAD *)
+ spider_bulk_malloc(NULL, 256, MYF(MY_WME | MY_ZEROFILL),
+- &spider_table_sts_threads, sizeof(SPIDER_THREAD) *
+- spider_param_table_sts_thread_count(),
+- &spider_table_crd_threads, sizeof(SPIDER_THREAD) *
+- spider_param_table_crd_thread_count(),
++ &spider_table_sts_threads, (uint) (sizeof(SPIDER_THREAD) *
++ spider_param_table_sts_thread_count()),
++ &spider_table_crd_threads, (uint) (sizeof(SPIDER_THREAD) *
++ spider_param_table_crd_thread_count()),
+ NullS))
+ )
+ goto error_alloc_mon_mutxes;
+@@ -7947,8 +7955,8 @@ SPIDER_INIT_ERROR_TABLE *spider_get_init_error_table(
+ }
+ if (!(spider_init_error_table = (SPIDER_INIT_ERROR_TABLE *)
+ spider_bulk_malloc(spider_current_trx, 54, MYF(MY_WME | MY_ZEROFILL),
+- &spider_init_error_table, sizeof(*spider_init_error_table),
+- &tmp_name, share->table_name_length + 1,
++ &spider_init_error_table, (uint) (sizeof(*spider_init_error_table)),
++ &tmp_name, (uint) (share->table_name_length + 1),
+ NullS))
+ ) {
+ pthread_mutex_unlock(&spider_init_error_tbl_mutex);
+@@ -9624,25 +9632,25 @@ int spider_create_spider_object_for_share(
+ #if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
+ if (!(need_mons = (int *)
+ spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL),
+- &need_mons, (sizeof(int) * share->link_count),
+- &conns, (sizeof(SPIDER_CONN *) * share->link_count),
+- &conn_link_idx, (sizeof(uint) * share->link_count),
+- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size),
+- &conn_keys, (sizeof(char *) * share->link_count),
+- &hs_r_conn_keys, (sizeof(char *) * share->link_count),
+- &hs_w_conn_keys, (sizeof(char *) * share->link_count),
+- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
++ &need_mons, (uint) (sizeof(int) * share->link_count),
++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
++ &conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &hs_r_conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &hs_w_conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
+ NullS))
+ )
+ #else
+ if (!(need_mons = (int *)
+ spider_bulk_malloc(spider_current_trx, 255, MYF(MY_WME | MY_ZEROFILL),
+- &need_mons, (sizeof(int) * share->link_count),
+- &conns, (sizeof(SPIDER_CONN *) * share->link_count),
+- &conn_link_idx, (sizeof(uint) * share->link_count),
+- &conn_can_fo, (sizeof(uchar) * share->link_bitmap_size),
+- &conn_keys, (sizeof(char *) * share->link_count),
+- &dbton_hdl, (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
++ &need_mons, (uint) (sizeof(int) * share->link_count),
++ &conns, (uint) (sizeof(SPIDER_CONN *) * share->link_count),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
++ &conn_keys, (uint) (sizeof(char *) * share->link_count),
++ &dbton_hdl, (uint) (sizeof(spider_db_handler *) * SPIDER_DBTON_SIZE),
+ NullS))
+ )
+ #endif
+diff --git a/storage/spider/spd_trx.cc b/storage/spider/spd_trx.cc
+index 485c61fc60b..b1b31a6db2e 100644
+--- a/storage/spider/spd_trx.cc
++++ b/storage/spider/spd_trx.cc
+@@ -549,81 +549,90 @@ int spider_create_trx_alter_table(
+
+ if (!(alter_table = (SPIDER_ALTER_TABLE *)
+ spider_bulk_malloc(spider_current_trx, 55, MYF(MY_WME | MY_ZEROFILL),
+- &alter_table, sizeof(*alter_table),
+- &tmp_name, sizeof(char) * (share->table_name_length + 1),
+-
+- &tmp_server_names, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_table_names, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_dbs, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_hosts, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_usernames, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_passwords, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_sockets, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_wrappers, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_cas, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_capaths, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_certs, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_ciphers, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_ssl_keys, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_default_files, sizeof(char *) * share->all_link_count,
+- &tmp_tgt_default_groups, sizeof(char *) * share->all_link_count,
+- &tmp_static_link_ids, sizeof(char *) * share->all_link_count,
+-
+- &tmp_server_names_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_table_names_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_dbs_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_hosts_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_usernames_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_passwords_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_sockets_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_wrappers_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_cas_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_capaths_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_certs_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_ciphers_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_ssl_keys_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_default_files_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_tgt_default_groups_lengths, sizeof(uint) * share->all_link_count,
+- &tmp_static_link_ids_lengths, sizeof(uint) * share->all_link_count,
+-
+- &tmp_tgt_ports, sizeof(long) * share->all_link_count,
+- &tmp_tgt_ssl_vscs, sizeof(long) * share->all_link_count,
++ &alter_table, (uint) (sizeof(*alter_table)),
++ &tmp_name, (uint) (sizeof(char) * (share->table_name_length + 1)),
++
++ &tmp_server_names, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_table_names, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_dbs, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_hosts, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_usernames, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_passwords, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_sockets, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_wrappers, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_cas, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_capaths, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_certs, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_ciphers, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_ssl_keys, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_default_files, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_tgt_default_groups, (uint) (sizeof(char *) * share->all_link_count),
++ &tmp_static_link_ids, (uint) (sizeof(char *) * share->all_link_count),
++
++ &tmp_server_names_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_table_names_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_dbs_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_hosts_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_usernames_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_passwords_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_sockets_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_wrappers_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_cas_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_capaths_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_certs_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_ciphers_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_ssl_keys_lengths, (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_default_files_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_tgt_default_groups_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++ &tmp_static_link_ids_lengths,
++ (uint) (sizeof(uint) * share->all_link_count),
++
++ &tmp_tgt_ports, (uint) (sizeof(long) * share->all_link_count),
++ &tmp_tgt_ssl_vscs, (uint) (sizeof(long) * share->all_link_count),
+ &tmp_monitoring_binlog_pos_at_failing,
+- sizeof(long) * share->all_link_count,
+- &tmp_link_statuses, sizeof(long) * share->all_link_count,
+-
+- &tmp_server_names_char, sizeof(char) *
+- (share_alter->tmp_server_names_charlen + 1),
+- &tmp_tgt_table_names_char, sizeof(char) *
+- (share_alter->tmp_tgt_table_names_charlen + 1),
+- &tmp_tgt_dbs_char, sizeof(char) *
+- (share_alter->tmp_tgt_dbs_charlen + 1),
+- &tmp_tgt_hosts_char, sizeof(char) *
+- (share_alter->tmp_tgt_hosts_charlen + 1),
+- &tmp_tgt_usernames_char, sizeof(char) *
+- (share_alter->tmp_tgt_usernames_charlen + 1),
+- &tmp_tgt_passwords_char, sizeof(char) *
+- (share_alter->tmp_tgt_passwords_charlen + 1),
+- &tmp_tgt_sockets_char, sizeof(char) *
+- (share_alter->tmp_tgt_sockets_charlen + 1),
+- &tmp_tgt_wrappers_char, sizeof(char) *
+- (share_alter->tmp_tgt_wrappers_charlen + 1),
+- &tmp_tgt_ssl_cas_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_cas_charlen + 1),
+- &tmp_tgt_ssl_capaths_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_capaths_charlen + 1),
+- &tmp_tgt_ssl_certs_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_certs_charlen + 1),
+- &tmp_tgt_ssl_ciphers_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_ciphers_charlen + 1),
+- &tmp_tgt_ssl_keys_char, sizeof(char) *
+- (share_alter->tmp_tgt_ssl_keys_charlen + 1),
+- &tmp_tgt_default_files_char, sizeof(char) *
+- (share_alter->tmp_tgt_default_files_charlen + 1),
+- &tmp_tgt_default_groups_char, sizeof(char) *
+- (share_alter->tmp_tgt_default_groups_charlen + 1),
+- &tmp_static_link_ids_char, sizeof(char) *
+- (share_alter->tmp_static_link_ids_charlen + 1),
++ (uint) (sizeof(long) * share->all_link_count),
++ &tmp_link_statuses, (uint) (sizeof(long) * share->all_link_count),
++
++ &tmp_server_names_char, (uint) (sizeof(char) *
++ (share_alter->tmp_server_names_charlen + 1)),
++ &tmp_tgt_table_names_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_table_names_charlen + 1)),
++ &tmp_tgt_dbs_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_dbs_charlen + 1)),
++ &tmp_tgt_hosts_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_hosts_charlen + 1)),
++ &tmp_tgt_usernames_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_usernames_charlen + 1)),
++ &tmp_tgt_passwords_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_passwords_charlen + 1)),
++ &tmp_tgt_sockets_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_sockets_charlen + 1)),
++ &tmp_tgt_wrappers_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_wrappers_charlen + 1)),
++ &tmp_tgt_ssl_cas_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_cas_charlen + 1)),
++ &tmp_tgt_ssl_capaths_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_capaths_charlen + 1)),
++ &tmp_tgt_ssl_certs_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_certs_charlen + 1)),
++ &tmp_tgt_ssl_ciphers_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_ciphers_charlen + 1)),
++ &tmp_tgt_ssl_keys_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_ssl_keys_charlen + 1)),
++ &tmp_tgt_default_files_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_default_files_charlen + 1)),
++ &tmp_tgt_default_groups_char, (uint) (sizeof(char) *
++ (share_alter->tmp_tgt_default_groups_charlen + 1)),
++ &tmp_static_link_ids_char, (uint) (sizeof(char) *
++ (share_alter->tmp_static_link_ids_charlen + 1)),
+ NullS))
+ ) {
+ error_num = HA_ERR_OUT_OF_MEM;
+@@ -1201,10 +1210,10 @@ SPIDER_TRX *spider_get_trx(
+ DBUG_PRINT("info",("spider create new trx"));
+ if (!(trx = (SPIDER_TRX *)
+ spider_bulk_malloc(NULL, 56, MYF(MY_WME | MY_ZEROFILL),
+- &trx, sizeof(*trx),
+- &tmp_share, sizeof(SPIDER_SHARE),
+- &udf_table_mutexes, sizeof(pthread_mutex_t) *
+- spider_param_udf_table_lock_mutex_count(),
++ &trx, (uint) (sizeof(*trx)),
++ &tmp_share, (uint) (sizeof(SPIDER_SHARE)),
++ &udf_table_mutexes, (uint) (sizeof(pthread_mutex_t) *
++ spider_param_udf_table_lock_mutex_count()),
+ NullS))
+ )
+ goto error_alloc_trx;
+@@ -4203,10 +4212,10 @@ int spider_create_trx_ha(
+ {
+ if (!(trx_ha = (SPIDER_TRX_HA *)
+ spider_bulk_malloc(spider_current_trx, 58, MYF(MY_WME),
+- &trx_ha, sizeof(SPIDER_TRX_HA),
+- &tmp_name, sizeof(char *) * (share->table_name_length + 1),
+- &conn_link_idx, sizeof(uint) * share->link_count,
+- &conn_can_fo, sizeof(uchar) * share->link_bitmap_size,
++ &trx_ha, (uint) (sizeof(SPIDER_TRX_HA)),
++ &tmp_name, (uint) (sizeof(char *) * (share->table_name_length + 1)),
++ &conn_link_idx, (uint) (sizeof(uint) * share->link_count),
++ &conn_can_fo, (uint) (sizeof(uchar) * share->link_bitmap_size),
+ NullS))
+ ) {
+ DBUG_RETURN(HA_ERR_OUT_OF_MEM);
+--
+2.17.2
+
diff --git a/mariadb.spec b/mariadb.spec
index 916ddbc..4276aeb 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,10 +3,10 @@
%global pkgnamepatch mariadb
# Regression tests may take a long time (many cores recommended), skip them by
-%{!?runselftest:%global runselftest 0}
+%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 0
+%global ignore_testsuite_result 1
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
@@ -158,7 +158,7 @@
Name: mariadb
Version: 10.4.6
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -204,6 +204,8 @@ Patch9: %{pkgnamepatch}-ownsetup.patch
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
# Patch11: Workaround for "chown 0" with priviledges dropped to "mysql" user
Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch
+# Patch13: Fix Spider code on armv7hl; https://jira.mariadb.org/browse/MDEV-18737
+Patch13: %{pkgnamepatch}-spider_on_armv7hl.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -712,6 +714,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%patch9 -p1
#%patch10 -p1
%patch11 -p1
+%patch13 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -1595,6 +1598,9 @@ fi
%endif
%changelog
+* Fri Jun 21 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-2
+- Apply critical patch for Spider SE on Armv7hl architecture
+
* Thu Jun 20 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-1
- Rebase to 10.4.6
commit dbc826fd1b0765d1451bd36dc569016441132c4e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jun 20 18:09:56 2019 +0200
Rebase to 10.4.6 GA
diff --git a/mariadb-auth_pam_tool_dir.patch b/mariadb-auth_pam_tool_dir.patch
new file mode 100644
index 0000000..9c5692f
--- /dev/null
+++ b/mariadb-auth_pam_tool_dir.patch
@@ -0,0 +1,30 @@
+This scirpt is ran by the systemd service.
+In Fedora the service has priviledges dropped to the mysql user.
+Thus "chown 0" will always fail
+
+Never parse 'ls' output!
+http://mywiki.wooledge.org/BashFAQ/087
+
+--- mariadb-10.4.6/scripts/mysql_install_db.sh 2019-06-18 00:00:32.000000000 +0200
++++ mariadb-10.4.6/scripts/mysql_install_db.sh_patched 2019-06-20 01:41:43.250208187 +0200
+@@ -476,12 +476,15 @@ then
+ fi
+ if test -z "$srcdir"
+ then
+- chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
+- if test $? -ne 0
++ if [ `stat "$pamtooldir/auth_pam_tool_dir/auth_pam_tool" -c %u` -ne 0 ]
+ then
+- echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
+- echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
+- echo
++ chown 0 "$pamtooldir/auth_pam_tool_dir/auth_pam_tool"
++ if test $? -ne 0
++ then
++ echo "Couldn't set an owner to '$pamtooldir/auth_pam_tool_dir/auth_pam_tool'."
++ echo " It must be root, the PAM authentication plugin doesn't work otherwise.."
++ echo
++ fi
+ fi
+ fi
+ args="$args --user=$user"
diff --git a/mariadb.spec b/mariadb.spec
index 40058c3..916ddbc 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -11,7 +11,7 @@
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
# run only "main" suite
-%global last_tested_version 10.4.5
+%global last_tested_version 10.4.6
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
@@ -157,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.5
-Release: 1.rc%{?with_debug:.debug}%{?dist}
+Version: 10.4.6
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -202,6 +202,8 @@ Patch7: %{pkgnamepatch}-scripts.patch
Patch9: %{pkgnamepatch}-ownsetup.patch
# Patch10: Fix cipher name in the SSL Cipher name test
Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
+# Patch11: Workaround for "chown 0" with priviledges dropped to "mysql" user
+Patch11: %{pkgnamepatch}-auth_pam_tool_dir.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -709,6 +711,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%patch7 -p1
%patch9 -p1
#%patch10 -p1
+%patch11 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -968,7 +971,8 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
# Client that uses libmysqld embedded server.
# Pretty much like normal mysql command line client, but it doesn't require a running mariadb server.
%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded}
-rm %{buildroot}%{_mandir}/man1/mysql_embedded.1*
+%{?with_embedded:rm %{buildroot}%{_bindir}/mariadb-embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}embedded.1*
# Static libraries
rm %{buildroot}%{_libdir}/*.a
# This script creates the MySQL system tables and starts the server.
@@ -1029,6 +1033,7 @@ sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.
%if %{without embedded}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif
@@ -1073,12 +1078,16 @@ unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
%endif # devel
%if %{without client}
-rm %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_find_rows,\
-mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
-mysqldump,mysqlimport,mysqlshow,mysqlslap}
-rm %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_find_rows,\
-mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\
-mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
+rm %{buildroot}%{_bindir}/msql2mysql
+rm %{buildroot}%{_bindir}/{mysql,mariadb}
+rm %{buildroot}%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}
+rm %{buildroot}%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}
+
+rm %{buildroot}%{_mandir}/man1/msql2mysql.1*
+rm %{buildroot}%{_mandir}/man1/{mysql,mariadb}.1*
+rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1*
+rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
+
rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf
%endif
@@ -1119,12 +1128,16 @@ rm -r %{buildroot}%{_datadir}/sql-bench
%if %{without test}
%if %{with embedded}
-rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
-rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
+rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
+rm %{buildroot}%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif # embedded
rm %{buildroot}%{_bindir}/test-connect-t
rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest}
-rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
+rm %{buildroot}%{_bindir}/{mariadb-client-test,mariadb-test}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test,mysqltest,my_safe_process}.1*
+rm %{buildroot}%{_mandir}/man1/{mariadb-client-test,mariadb-test}.1*
rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
%endif # test
@@ -1137,7 +1150,7 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
%endif
%if %{without rocksdb}
-rm %{buildroot}%{_mandir}/man1/mysql_ldb.1*
+rm %{buildroot}%{_mandir}/man1/{mysql_,mariadb-}ldb.1*
%endif
%check
@@ -1238,32 +1251,15 @@ fi
%if %{with client}
%files
%{_bindir}/msql2mysql
-%{_bindir}/mysql
-%{_bindir}/mysql_find_rows
-%{_bindir}/mysql_plugin
-%{_bindir}/mysql_waitpid
-%{_bindir}/mysqlaccess
-%{_bindir}/mysqladmin
-%{_bindir}/mysqlbinlog
-%{_bindir}/mysqlcheck
-%{_bindir}/mysqldump
-%{_bindir}/mysqlimport
-%{_bindir}/mysqlshow
-%{_bindir}/mysqlslap
+%{_bindir}/{mysql,mariadb}
+%{_bindir}/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}
+%{_bindir}/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}
%{_mandir}/man1/msql2mysql.1*
-%{_mandir}/man1/mysql.1*
-%{_mandir}/man1/mysql_find_rows.1*
-%{_mandir}/man1/mysql_plugin.1*
-%{_mandir}/man1/mysql_waitpid.1*
-%{_mandir}/man1/mysqlaccess.1*
-%{_mandir}/man1/mysqladmin.1*
-%{_mandir}/man1/mysqlbinlog.1*
-%{_mandir}/man1/mysqlcheck.1*
-%{_mandir}/man1/mysqldump.1*
-%{_mandir}/man1/mysqlimport.1*
-%{_mandir}/man1/mysqlshow.1*
-%{_mandir}/man1/mysqlslap.1*
+%{_mandir}/man1/{mysql,mariadb}.1*
+%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,import,_plugin,show,slap,_waitpid}.1*
+%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
+
%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
%endif
@@ -1344,21 +1340,18 @@ fi
%files server
%doc README.mysql-cnf
-%{_bindir}/aria_chk
-%{_bindir}/aria_dump_log
-%{_bindir}/aria_ftdump
-%{_bindir}/aria_pack
-%{_bindir}/aria_read_log
+%{_bindir}/aria_{chk,dump_log,ftdump,pack,read_log}
%{_bindir}/mariadb-service-convert
%{_bindir}/myisamchk
%{_bindir}/myisam_ftdump
%{_bindir}/myisamlog
%{_bindir}/myisampack
%{_bindir}/my_print_defaults
-%{_bindir}/mysql_install_db
-%{_bindir}/mysql_secure_installation
-%{_bindir}/mysql_tzinfo_to_sql
-%{_bindir}/mysqld_safe
+
+%{_bindir}/mysql_{install_db,secure_installation,tzinfo_to_sql}
+%{_bindir}/mariadb-{install-db,secure-installation,tzinfo-to-sql}
+%{_bindir}/{mysqld_,mariadbd-}safe
+
%{_bindir}/innochecksum
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
@@ -1369,7 +1362,7 @@ fi
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
%config(noreplace) %{_sysconfdir}/my.cnf.d/enable_encryption.preset
-%{_libexecdir}/mysqld
+%{_libexecdir}/{mysqld,mariadbd}
%{_libdir}/%{pkg_name}/INFO_SRC
%{_libdir}/%{pkg_name}/INFO_BIN
@@ -1379,6 +1372,8 @@ fi
%dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/plugin
+# Change from root:root to mysql:mysql, so it can be accessed by the server
+%attr(0755,mysql,mysql) %dir %{_libdir}/%{pkg_name}/plugin/auth_pam_tool_dir
%{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
@@ -1393,11 +1388,7 @@ fi
%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%endif
-%{_mandir}/man1/aria_chk.1*
-%{_mandir}/man1/aria_dump_log.1*
-%{_mandir}/man1/aria_ftdump.1*
-%{_mandir}/man1/aria_pack.1*
-%{_mandir}/man1/aria_read_log.1*
+%{_mandir}/man1/aria_{chk,dump_log,ftdump,pack,read_log}.1*
%{_mandir}/man1/galera_new_cluster.1*
%{_mandir}/man1/galera_recovery.1*
%{_mandir}/man1/mariadb-service-convert.1*
@@ -1407,15 +1398,14 @@ fi
%{_mandir}/man1/myisam_ftdump.1*
%{_mandir}/man1/my_print_defaults.1*
%{_mandir}/man1/mysql.server.1*
-%{_mandir}/man1/mysql_install_db.1*
-%{_mandir}/man1/mysql_secure_installation.1*
-%{_mandir}/man1/mysql_tzinfo_to_sql.1*
-%{_mandir}/man1/mysqld_safe.1*
+%{_mandir}/man1/mysql_{install_db,secure_installation,tzinfo_to_sql}.1*
+%{_mandir}/man1/mariadb-{install-db,secure-installation,tzinfo-to-sql}.1*
+%{_mandir}/man1/{mysqld_,mariadbd-}safe.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/resolve_stack_dump.1*
-%{_mandir}/man8/mysqld.8*
+%{_mandir}/man8/{mysqld,mariadbd}.8*
%{_mandir}/man1/wsrep_*.1*
%{_datadir}/%{pkg_name}/fill_help_tables.sql
@@ -1480,9 +1470,9 @@ fi
%if %{with backup}
%files backup
-%{_bindir}/mariabackup
+%{_bindir}/maria{,db-}backup
%{_bindir}/mbstream
-%{_mandir}/man1/mariabackup.1*
+%{_mandir}/man1/maria{,db-}backup.1*
%{_mandir}/man1/mbstream.1*
%endif
@@ -1490,10 +1480,10 @@ fi
%files rocksdb-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
%{_bindir}/myrocks_hotbackup
-%{_bindir}/mysql_ldb
+%{_bindir}/{mysql_,mariadb-}ldb
%{_bindir}/sst_dump
%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so
-%{_mandir}/man1/mysql_ldb.1*
+%{_mandir}/man1/{mysql_,mariadb-}ldb.1*
%endif
%if %{with tokudb}
@@ -1538,26 +1528,21 @@ fi
%files server-utils
# Perl utilities
-%{_bindir}/mysql_convert_table_format
-%{_bindir}/mysql_fix_extensions
-%{_bindir}/mysql_setpermission
-%{_bindir}/mysqldumpslow
-%{_bindir}/mysqld_multi
-%{_bindir}/mysqlhotcopy
-%{_mandir}/man1/mysql_convert_table_format.1*
-%{_mandir}/man1/mysql_fix_extensions.1*
-%{_mandir}/man1/mysqldumpslow.1*
-%{_mandir}/man1/mysqld_multi.1*
-%{_mandir}/man1/mysqlhotcopy.1*
-%{_mandir}/man1/mysql_setpermission.1*
+%{_bindir}/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}
+%{_bindir}/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}
+%{_bindir}/{mysqld_,mariadbd-}multi
+
+%{_mandir}/man1/mysql{_convert_table_format,dumpslow,_fix_extensions,hotcopy,_setpermission}.1*
+%{_mandir}/man1/mariadb-{convert-table-format,dumpslow,fix-extensions,hotcopy,setpermission}.1*
+%{_mandir}/man1/{mysqld_,mariadbd-}multi.1*
# Utilities that can be used remotely
-%{_bindir}/mysql_upgrade
+%{_bindir}/{mysql_,mariadb-}upgrade
%{_bindir}/perror
-%{_mandir}/man1/mysql_upgrade.1*
+%{_mandir}/man1/{mysql_,mariadb-}upgrade.1*
%{_mandir}/man1/perror.1*
# Other utilities
-%{_bindir}/mysqld_safe_helper
-%{_mandir}/man1/mysqld_safe_helper.1*
+%{_bindir}/{mysqld_safe_helper,mariadbd-safe-helper}
+%{_mandir}/man1/{mysqld_safe_helper,mariadbd-safe-helper}.1*
%if %{with devel}
%files devel
@@ -1595,23 +1580,24 @@ fi
%files test
%if %{with embedded}
%{_bindir}/test-connect-t
-%{_bindir}/mysql_client_test_embedded
-%{_bindir}/mysqltest_embedded
-%{_mandir}/man1/mysql_client_test_embedded.1*
-%{_mandir}/man1/mysqltest_embedded.1*
+%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
+%{_bindir}/{mariadb-client-test-embedded,mariadb-test-embedded}
+%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+%{_mandir}/man1/{mariadb-client-test-embedded,mariadb-test-embedded}.1*
%endif
-%{_bindir}/mysql_client_test
+%{_bindir}/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}
%{_bindir}/my_safe_process
-%{_bindir}/mysqltest
%attr(-,mysql,mysql) %{_datadir}/mysql-test
-%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/{mysql_client_test,mysqltest,mariadb-client-test,mariadb-test}.1*
%{_mandir}/man1/my_safe_process.1*
-%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/mysql-stress-test.pl.1*
%{_mandir}/man1/mysql-test-run.pl.1*
%endif
%changelog
+* Thu Jun 20 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.6-1
+- Rebase to 10.4.6
+
* Fri Jun 07 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.5-1
- Rebase to 10.4.5
- This is a RC release! use with caution
diff --git a/sources b/sources
index 3e1ab3b..952d959 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.5.tar.gz) = 080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b
+SHA512 (mariadb-10.4.6.tar.gz) = b04c47f72de2473d7b5edd04b4785a1d7179bb1f429f30ba53ae6cfbbb413200d9803eff1072949b2e81fd7d2164ea34c68620d621d4181b913daa2293ae140c
commit 164d5419b12fbe6386f13d3fd284c85fcd0efba0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Tue Jun 11 17:00:53 2019 +0200
Rebase to 10.4.5
diff --git a/mariadb.spec b/mariadb.spec
index 70d36e0..40058c3 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,20 +3,20 @@
%global pkgnamepatch mariadb
# Regression tests may take a long time (many cores recommended), skip them by
-%{!?runselftest:%global runselftest 1}
+%{!?runselftest:%global runselftest 0}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 1
+%global ignore_testsuite_result 0
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
# run only "main" suite
-%global last_tested_version 10.4.2
+%global last_tested_version 10.4.5
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
# Aditional SELinux rules
-%global require_mysql_selinux 0
+%global require_mysql_selinux 1
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
@@ -72,7 +72,7 @@
%bcond_without gssapi
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
-%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_with clibrary
%else
%bcond_without clibrary
@@ -85,6 +85,7 @@
%bcond_without test
%bcond_without galera
%bcond_without backup
+# Upstream no longer maintain and pack the bench subpackage
%if 0%{?fedora}
%bcond_without bench
%else
@@ -104,8 +105,6 @@
%bcond_with debug
# Page compression algorithms for InnoDB & XtraDB
-# lz4 currently cannot be turned off by CMake, only by not having lz4-devel package in the buildroot
-# https://jira.mariadb.org/browse/MDEV-15932
%bcond_without lz4
@@ -158,8 +157,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.2
-Release: 1.beta%{?with_debug:.debug}%{?dist}
+Version: 10.4.5
+Release: 1.rc%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -192,7 +191,7 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: Make the python interpretter be configurable
+# Patch2: Make the python interpretter be configurable
Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2
@@ -259,7 +258,7 @@ Requires: bash coreutils grep
Requires: %{name}-common%{?_isa} = %{sameevr}
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
# Explicit EVR requirement for -libs is needed for RHBZ#1406320
Requires: %{name}-libs%{?_isa} = %{sameevr}
%else
@@ -297,7 +296,7 @@ The base package contains the standard MariaDB/MySQL client programs and
generic MySQL files.
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
Requires: %{name}-common%{?_isa} = %{sameevr}
@@ -343,7 +342,7 @@ Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
Provides: mariadb-galera-common = %{sameevr}
-%if %{without clibrary}
+%if %{without clibrary} && %{without galera}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -587,9 +586,10 @@ the only MariaDB sub-package, except test subpackage, that depends on Perl.
%if %{with devel}
%package devel
Summary: Files for development of MariaDB/MySQL applications
-%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}}
Requires: openssl-devel
-%if %{without clibrary}
+%if %{with clibrary} || %{with galera}
+Requires: %{name}-libs%{?_isa} = %{sameevr}
+%else
Requires: mariadb-connector-c-devel >= 3.0
%endif
%if %{with mysql_names}
@@ -834,9 +834,11 @@ export CFLAGS CXXFLAGS
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_JEMALLOC=%{?with_tokudb:YES}%{!?with_tokudb:NO} \
+ -DWITH_JEMALLOC=%{?with_tokudb:yes}%{!?with_tokudb:no} \
-DLZ4_LIBS=%{_libdir}/liblz4.so \
+ -DLZ4_LIBS=%{?with_lz4:%{_libdir}/liblz4.so}%{!?with_lz4:} \
-DWITH_INNODB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
+ -DWITH_ROCKSDB_LZ4=%{?with_lz4:ON}%{!?with_lz4:OFF} \
-DPLUGIN_MROONGA=%{?with_mroonga:DYNAMIC}%{!?with_mroonga:NO} \
-DPLUGIN_OQGRAPH=%{?with_oqgraph:DYNAMIC}%{!?with_oqgraph:NO} \
-DPLUGIN_CRACKLIB_PASSWORD_CHECK=%{?with_cracklib:DYNAMIC}%{!?with_cracklib:NO} \
@@ -868,6 +870,12 @@ make -f /usr/share/selinux/devel/Makefile %{name}-server-galera.pp
%install
make DESTDIR=%{buildroot} install
+%if %{with galera}
+# Install the wsrep library
+install -D -p -m 0755 wsrep-lib/wsrep-API/libwsrep_api_v*.so %{buildroot}%{_libdir}
+install -D -p -m 0755 wsrep-lib/src/libwsrep-lib.so %{buildroot}%{_libdir}
+%endif
+
# multilib header support #1625157
for header in mysql/server/my_config.h mysql/server/private/config.h; do
%multilib_fix_c_header --file %{_includedir}/$header
@@ -890,8 +898,10 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
+%if %{without clibrary}
# Client part should be included in package 'mariadb-connector-c'
rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
+%endif
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -923,7 +933,6 @@ mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.
mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf
# remove SysV init script and a symlink to that, we pack our very own
-rm %{buildroot}%{_sysconfdir}/init.d/mysql
rm %{buildroot}%{_libexecdir}/rcmysql
# install systemd unit files and scripts for handling server startup
install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
@@ -993,15 +1002,17 @@ install -p -m 0644 %{SOURCE16} %{basename:%{SOURCE16}}
install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}}
# install galera config file
+%if %{with galera}
sed -i -r 's|^wsrep_provider=none|wsrep_provider=%{_libdir}/galera/libgalera_smm.so|' support-files/wsrep.cnf
install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+%endif
# install the clustercheck script
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
# remove duplicate logrotate script
-rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
+rm %{buildroot}%{logrotateddir}/mysql
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
@@ -1029,7 +1040,10 @@ unlink %{buildroot}%{_libdir}/libmysqlclient.so
unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
unlink %{buildroot}%{_libdir}/libmariadb.so
# Client plugins
-rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so}
+rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so}
+%if %{with gssapi}
+rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/auth_gssapi_client.so
+%endif
%endif
%if %{without clibrary} || %{without devel}
@@ -1073,7 +1087,8 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/mysql-clients.cnf
rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
%else
-%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
+rm -f %{buildroot}/etc/systemd/system/mariadb.service.d/tokudb.conf
mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
@@ -1088,7 +1103,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets
%endif
%if %{without gssapi}
-rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
+#rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
%endif
%if %{without errmsg}
@@ -1114,7 +1129,7 @@ rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
%endif # test
%if %{without galera}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
+#rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster}
rm %{buildroot}%{_bindir}/galera_recovery
@@ -1192,16 +1207,6 @@ export MTR_BUILD_THREAD=%{__isa_bits}
/usr/sbin/useradd -M -N -g mysql -o -r -d %{mysqluserhome} -s /sbin/nologin \
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
-%if %{with clibrary}
-# Can be dropped on F27 EOL
-%ldconfig_scriptlets libs
-%endif
-
-%if %{with embedded}
-# Can be dropped on F27 EOL
-%ldconfig_scriptlets embedded
-%endif
-
%if %{with galera}
%post server-galera
# Do what README at support-files/policy/selinux/README and upstream page
@@ -1260,13 +1265,20 @@ fi
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
%config(noreplace) %{_sysconfdir}/my.cnf.d/mysql-clients.cnf
+
%endif
-%if %{with clibrary}
+%if %{with clibrary} || %{with galera}
%files libs
-%{_libdir}/libmariadb.so.*
+%if %{with galera}
+%{_libdir}/libwsrep*.so*
+%endif
+%if %{with clibrary}
+%exclude %{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
+%{_libdir}/libmariadb.so*
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
+%endif
%if %{with config}
%files config
@@ -1399,7 +1411,6 @@ fi
%{_mandir}/man1/mysql_secure_installation.1*
%{_mandir}/man1/mysql_tzinfo_to_sql.1*
%{_mandir}/man1/mysqld_safe.1*
-%{_mandir}/man1/mysqld_safe_helper.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
@@ -1427,7 +1438,9 @@ fi
%doc %{_datadir}/groonga-normalizer-mysql/README.md
%doc %{_datadir}/groonga/README.md
%endif
+%if %{with galera}
%{_datadir}/%{pkg_name}/wsrep.cnf
+%endif
%{_datadir}/%{pkg_name}/wsrep_notify
%dir %{_datadir}/%{pkg_name}/policy
%dir %{_datadir}/%{pkg_name}/policy/selinux
@@ -1544,12 +1557,13 @@ fi
%{_mandir}/man1/perror.1*
# Other utilities
%{_bindir}/mysqld_safe_helper
+%{_mandir}/man1/mysqld_safe_helper.1*
%if %{with devel}
%files devel
%{_includedir}/*
%{_datadir}/aclocal/mysql.m4
-%{_libdir}/pkgconfig/mariadb.pc
+%{_libdir}/pkgconfig/*mariadb.pc
%if %{with clibrary}
%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}
%{_bindir}/mysql_config*
@@ -1598,9 +1612,29 @@ fi
%endif
%changelog
-* Mon Feb 18 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.2-1
-- Rebase to 10.4.2
-- This is BETA release! use at your own risk.
+* Fri Jun 07 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.5-1
+- Rebase to 10.4.5
+- This is a RC release! use with caution
+
+* Tue Jun 04 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.15-1
+- Rebase to 10.3.15
+- CVEs fixed:
+ CVE-2019-2510 CVE-2019-2537
+- CVEs fixed:
+ CVE-2019-2614 CVE-2019-2627 CVE-2019-2628
+
+* Thu Mar 21 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-14
+- Fix building of TokuDB with Jemalloc 5
+- Fix building with / without lz4
+
+* Thu Mar 21 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-13
+- Add patch for mysqld_safe --dry-run
+
+* Wed Mar 20 2019 Michal Schorm <mschorm(a)redhat.com> - 10.3.12-12
+- Add patch for server pkgconfig file location
+
+* Sat Feb 23 2019 Pavel Raiskup <praiskup(a)redhat.com> - 10.3.12-11
+- conditionally depend on selinux-policy-targeted again (rhbz#1665643)
* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-10
- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643
@@ -1641,10 +1675,6 @@ fi
by 'mariadb-connector-c'
- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c'
-* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
-- Rebase to 10.4.1
-- This is BETA release! use at your own risk.
-
* Mon Dec 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.11-1
- Rebase to 10.3.11
- CVEs fixed:
@@ -1652,10 +1682,6 @@ fi
CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173
CVE-2018-3200, CVE-2018-3284
-* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
-- Rebase to 10.4.0
-- This is ALPHA release! use at your own risk.
-
* Fri Oct 05 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.10-1
- Rebase to 10.3.10
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index a35653e..e41440b 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -1,7 +1,6 @@
# The SSL test are failing correctly. Fro more explanation, see:
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com...
main.ssl_7937 : #1399847
-main.ssl_crl :
main.ssl_crl_clients : #1399847
main.ssl_8k_key :
@@ -52,7 +51,3 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
-
-# Fails on 10.4.2
-sys_vars.tcp_nodelay :
-main.func_math :
diff --git a/sources b/sources
index 2d14188..3e1ab3b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.2.tar.gz) = 31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3
+SHA512 (mariadb-10.4.5.tar.gz) = 080df03aff04375f6f424d94f988156cb09cb891e14d67dcea453c3f831737898ac1913b48735628034c6a7f215a06ad22b4d350a8762351ac572a60d492a07b
commit ff6cb12c8c560d09cf69b02b89008d3de3a39edf
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Feb 18 11:05:10 2019 +0100
Rebase to 10.4.2
Sync-up with 10.3 in Rawhide
diff --git a/mariadb-myrocks-hotbackup.patch b/mariadb-myrocks-hotbackup.patch
new file mode 100644
index 0000000..ff2a1b1
--- /dev/null
+++ b/mariadb-myrocks-hotbackup.patch
@@ -0,0 +1,32 @@
+Do not import commands library as it is not used
+
+It also makes the script not work on python3, but since the script already uses
+subprocess in practice, removing commands import is effectively no change and
+fixes the python3 compatibility.
+
+Upstream PR: https://github.com/MariaDB/server/pull/1080
+
+From 9c89fd49a757a87ba5899b3548b0fb1d172c0ec3 Mon Sep 17 00:00:00 2001
+From: Honza Horak <hhorak(a)redhat.com>
+Date: Wed, 9 Jan 2019 15:05:02 +0100
+Subject: [PATCH] Do not import commands library as it is not used
+
+---
+ storage/rocksdb/myrocks_hotbackup.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/storage/rocksdb/myrocks_hotbackup.py b/storage/rocksdb/myrocks_hotbackup.py
+index 69c75b7cbfd..906ba814776 100755
+--- a/storage/rocksdb/myrocks_hotbackup.py
++++ b/storage/rocksdb/myrocks_hotbackup.py
+@@ -8,7 +8,6 @@ import os
+ import stat
+ import sys
+ import re
+-import commands
+ import subprocess
+ import logging
+ import logging.handlers
+--
+2.17.2
+
diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch
new file mode 100644
index 0000000..eb8a1e7
--- /dev/null
+++ b/mariadb-pythonver.patch
@@ -0,0 +1,27 @@
+Upstream PR: https://github.com/MariaDB/server/pull/1081
+
+From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001
+From: Honza Horak <hhorak(a)redhat.com>
+Date: Wed, 9 Jan 2019 20:17:29 +0100
+Subject: [PATCH] Make the PYTHON_SHEBANG value configurable
+
+In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call.
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a139c9e5fa4..ccccb08bef1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL()
+ MYSQL_CHECK_READLINE()
+
+ SET(MALLOC_LIBRARY "system")
+-SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang")
++IF(NOT DEFINED PYTHON_SHEBANG)
++ SET(PYTHON_SHEBANG "/usr/bin/env python")
++ENDIF()
+ MARK_AS_ADVANCED(PYTHON_SHEBANG)
+
+ CHECK_PCRE()
diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch
index 9a3d3f3..4f0a267 100644
--- a/mariadb-shebang.patch
+++ b/mariadb-shebang.patch
@@ -4,11 +4,11 @@ Maintainer's note:
This script is not python3 compatible:
ModuleNotFoundError: No module named 'commands'
-diff -Naurp mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched
---- mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup 2018-10-02 11:45:43.000000000 +0200
-+++ mariadb-10.3.10/storage/rocksdb/myrocks_hotbackup_patched 2018-10-05 14:27:02.960060700 +0200
+diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched
+--- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100
++++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100
@@ -1,4 +1,4 @@
--#!/usr/bin/env python
+-#!@PYTHON_SHEBANG@
+#!/usr/bin/python2
from __future__ import division
diff --git a/mariadb-ssl-cipher-tests.patch b/mariadb-ssl-cipher-tests.patch
new file mode 100644
index 0000000..3d04c4c
--- /dev/null
+++ b/mariadb-ssl-cipher-tests.patch
@@ -0,0 +1,52 @@
+diff -up mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest mariadb-10.3.9/mysql-test/main/ssl_cipher.test
+--- mariadb-10.3.9/mysql-test/main/ssl_cipher.test.fixtest 2019-01-27 19:39:19.610027153 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl_cipher.test 2019-01-27 19:42:10.045430776 +0100
+@@ -13,7 +13,9 @@
+ connect (ssl_con,localhost,root,,,,,SSL);
+
+ # Check Cipher Name and Cipher List
++--replace_regex /TLS_AES_.*/AES128-SHA/
+ SHOW STATUS LIKE 'Ssl_cipher';
++--replace_regex /TLS_AES_.*/AES128-SHA/
+ SHOW STATUS LIKE 'Ssl_cipher_list';
+
+ connection default;
+diff -up mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.result
+--- mariadb-10.3.9/mysql-test/main/ssl.result.fixtestssl 2019-01-27 20:41:52.605213547 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl.result 2019-01-27 20:42:03.977320005 +0100
+@@ -2176,7 +2176,7 @@ still connected?
+ connection default;
+ disconnect ssl_con;
+ create user mysqltest_1@localhost;
+-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA";
++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384";
+ Variable_name Value
+-Ssl_cipher AES256-SHA
++Ssl_cipher TLS_AES_256_GCM_SHA384
+ drop user mysqltest_1@localhost;
+diff -up mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl mariadb-10.3.9/mysql-test/main/ssl.test
+--- mariadb-10.3.9/mysql-test/main/ssl.test.fixtestssl 2019-01-27 20:40:39.756531579 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl.test 2019-01-27 20:41:02.631745724 +0100
+@@ -33,8 +33,8 @@ connection default;
+ disconnect ssl_con;
+
+ create user mysqltest_1@localhost;
+-grant usage on mysqltest.* to mysqltest_1@localhost require cipher "AES256-SHA";
+---exec $MYSQL -umysqltest_1 --ssl-cipher=AES256-SHA -e "show status like 'ssl_cipher'" 2>&1
++grant usage on mysqltest.* to mysqltest_1@localhost require cipher "TLS_AES_256_GCM_SHA384";
++--exec $MYSQL -umysqltest_1 --ssl-cipher=TLS_AES_256_GCM_SHA384 -e "show status like 'ssl_cipher'" 2>&1
+ drop user mysqltest_1@localhost;
+
+ # Wait till all disconnects are completed
+diff -up mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test
+--- mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test.fixcerttest 2019-01-27 21:11:12.280726041 +0100
++++ mariadb-10.3.9/mysql-test/main/ssl_cert_verify.test 2019-01-27 21:10:01.034041434 +0100
+@@ -30,7 +30,7 @@ let $ssl_verify_pass_path = --ssl --ssl-
+ --enable_reconnect
+ --source include/wait_until_connected_again.inc
+
+---replace_result TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION
++--replace_result TLSv1.3 TLS_VERSION TLSv1.2 TLS_VERSION TLSv1.1 TLS_VERSION TLSv1 TLS_VERSION
+ --exec $MYSQL --protocol=tcp --ssl-ca=$MYSQL_TEST_DIR/std_data/ca-cert-verify.pem --ssl-verify-server-cert -e "SHOW STATUS like 'Ssl_version'"
+
+ --echo # restart server using restart
diff --git a/mariadb.spec b/mariadb.spec
index 5f2a6e0..70d36e0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -8,6 +8,16 @@
# Set this to 1 to see which tests fail, but 0 on production ready build
%global ignore_testsuite_result 1
+# The last version on which the full testsuite has been run
+# In case of further rebuilds of that version, don't require full testsuite to be run
+# run only "main" suite
+%global last_tested_version 10.4.2
+# Set to 1 to force run the testsuite even if it was already tested in current version
+%global force_run_testsuite 0
+
+# Aditional SELinux rules
+%global require_mysql_selinux 0
+
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
@@ -109,9 +119,15 @@
%global pcre_bundled_version 8.42
%endif
+# Use main python interpretter version
+%if 0%{?fedora} || 0%{?rhel} > 7
+%global python_path /usr/bin/python3
+%else
+%global python_path /usr/bin/python2
+%endif
+
# Include systemd files
%global daemon_name %{name}
-%global daemondir %{_unitdir}
%global daemon_no_prefix %{pkg_name}
%global mysqld_pid_dir mariadb
@@ -142,7 +158,7 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.1
+Version: 10.4.2
Release: 1.beta%{?with_debug:.debug}%{?dist}
Epoch: 3
@@ -176,8 +192,8 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch1: Fix python shebang to specificaly say the python version
-Patch1: %{pkgnamepatch}-shebang.patch
+# Patch2: Make the python interpretter be configurable
+Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2
Patch4: %{pkgnamepatch}-logrotate.patch
@@ -185,6 +201,8 @@ Patch4: %{pkgnamepatch}-logrotate.patch
Patch7: %{pkgnamepatch}-scripts.patch
# Patch9: pre-configure to comply with guidelines
Patch9: %{pkgnamepatch}-ownsetup.patch
+# Patch10: Fix cipher name in the SSL Cipher name test
+Patch10: %{pkgnamepatch}-ssl-cipher-tests.patch
BuildRequires: cmake gcc-c++
BuildRequires: multilib-rpm-config
@@ -387,10 +405,14 @@ Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Recommends: %{name}-server-utils%{?_isa} = %{sameevr}
Recommends: %{name}-backup%{?_isa} = %{sameevr}
-%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}}
-%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}}
-%{?with_rocksdb:Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}}
-%{?with_tokudb:Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}}
+%{?with_cracklib:Recommends: %{name}-cracklib-password-check%{?_isa} = %{sameevr}}
+%{?with_gssapi:Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}}
+%{?with_rocksdb:Suggests: %{name}-rocksdb-engine%{?_isa} = %{sameevr}}
+%{?with_tokudb:Suggests: %{name}-tokudb-engine%{?_isa} = %{sameevr}}
+%{?with_sphinx:Suggests: %{name}-sphinx-engine%{?_isa} = %{sameevr}}
+%{?with_oqgraph:Suggests: %{name}-oqgraph-engine%{?_isa} = %{sameevr}}
+%{?with_connect:Suggests: %{name}-connect-engine%{?_isa} = %{sameevr}}
+%{?with_cassandra:Suggests: %{name}-cassandra-engine%{?_isa} = %{sameevr}}
Suggests: mytop
Suggests: logrotate
@@ -398,6 +420,12 @@ Suggests: logrotate
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
+# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package
+# For cases, where we want to fix a SELinux issues in MariaDB sooner than patched selinux-policy-targeted package is released
+%if %require_mysql_selinux
+Requires: (mysql-selinux if selinux-policy-targeted)
+%endif
+
# for fuser in mysql-check-socket
Requires: psmisc
@@ -676,10 +704,11 @@ sources.
# Remove JAR files that upstream puts into tarball
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
-%patch1 -p1
+%patch2 -p1
%patch4 -p1
%patch7 -p1
%patch9 -p1
+#%patch10 -p1
# workaround for upstream bug #56342
#rm mysql-test/t/ssl_8k_key-master.opt
@@ -755,10 +784,6 @@ rm -r storage/tokudb/mysql-test/tokudb/t/*.py
CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# force PIC mode so that we can build libmysqld.so
CFLAGS="$CFLAGS -fPIC"
-# significant performance gains can be achieved by compiling with -O3 optimization; rhbz#1051069
-%ifarch ppc64
-CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
-%endif
# Override all optimization flags when making a debug build
%{?with_debug: CFLAGS="$CFLAGS -O0 -g"}
@@ -820,15 +845,16 @@ export CFLAGS CXXFLAGS
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
- -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
+ -DPYTHON_SHEBANG=%{python_path} \
-DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \
+ -DPLUGIN_AWS_KEY_MANAGEMENT=NO \
-DCONNECT_WITH_MONGO=OFF \
-DCONNECT_WITH_JDBC=OFF \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON}
# Print all Cmake options values
-# cmake -LAH for List Advanced Help
-cmake -L
+# cmake ./ -LAH for List Advanced Help
+cmake ./ -L
make %{?_smp_mflags} VERBOSE=1
@@ -864,7 +890,8 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
-rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc
+# Client part should be included in package 'mariadb-connector-c'
+rm %{buildroot}%{_libdir}/pkgconfig/libmariadb.pc
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -982,7 +1009,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
# Disable plugins
-%if %{with ggsapi}
+%if %{with gssapi}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
%endif
%if %{with cracklib}
@@ -1047,10 +1074,9 @@ rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
%else
%if 0%{?fedora} >= 28 || 0%{?rhel} > 7
-echo 'Environment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d/tokudb.conf
+mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
+echo -e '[Service]\nEnvironment="LD_PRELOAD=%{_libdir}/libjemalloc.so.2"' >> %{buildroot}%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
-# Move to better location, systemd config files has to be in /lib/
-mv %{buildroot}%{_sysconfdir}/systemd/system/mariadb.service.d %{buildroot}/usr/lib/systemd/system/
%endif
%if %{without config}
@@ -1125,28 +1151,35 @@ export MTR_BUILD_THREAD=%{__isa_bits}
(
set -ex
-
cd mysql-test
- perl ./mysql-test-run.pl --parallel=auto --force --retry=1 --ssl \
- --suite-timeout=900 --testcase-timeout=30 \
- --mysqld=--binlog-format=mixed --force-restart \
- --shutdown-timeout=60 --max-test-fail=5 --big-test \
- --skip-test=spider \
-%if %{ignore_testsuite_result}
- --max-test-fail=9999 || :
-%else
- --skip-test-list=unstable-tests
-%endif
-# Second run for the SPIDER suites that fail with SCA (ssl self signed certificate)
- perl ./mysql-test-run.pl --parallel=auto --force --retry=1 \
- --suite-timeout=60 --testcase-timeout=10 \
- --mysqld=--binlog-format=mixed --force-restart \
- --shutdown-timeout=60 --max-test-fail=0 --big-test \
- --skip-ssl --suite=spider,spider/bg \
-%if %{ignore_testsuite_result}
- --max-test-fail=999 || :
-%endif
+ export common_testsuite_arguments=" --parallel=auto --force --retry=1 --suite-timeout=900 --testcase-timeout=30 --mysqld=--binlog-format=mixed --force-restart --shutdown-timeout=60 --max-test-fail=5 "
+
+ # If full testsuite has already been run on this version and we don't explicitly want the full testsuite to be run
+ if [[ "%{last_tested_version}" == "%{version}" ]] && [[ %{force_run_testsuite} -eq 0 ]]
+ then
+ # in further rebuilds only run the basic "main" suite (~800 tests)
+ echo "running only base testsuite"
+ perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --suite=main --mem --skip-test-list=unstable-tests
+ fi
+
+ # If either this version wasn't marked as tested yet or I explicitly want to run the testsuite, run everything we have (~4000 test)
+ if [[ "%{last_tested_version}" != "%{version}" ]] || [[ %{force_run_testsuite} -ne 0 ]]
+ then
+ echo "running advanced testsuite"
+ perl ./mysql-test-run.pl $common_testsuite_arguments --ssl --big-test --skip-test=spider \
+ %if %{ignore_testsuite_result}
+ --max-test-fail=9999 || :
+ %else
+ --skip-test-list=unstable-tests
+ %endif
+ # Second run for the SPIDER suites that fail with SCA (ssl self signed certificate)
+ perl ./mysql-test-run.pl $common_testsuite_arguments --skip-ssl --big-test --mem --suite=spider,spider/bg \
+ %if %{ignore_testsuite_result}
+ --max-test-fail=999 || :
+ %endif
+ # blank line
+ fi
)
%endif # if dry run
@@ -1340,7 +1373,7 @@ fi
%{?with_cracklib:%exclude %{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so}
%{?with_rocksdb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so}
%{?with_tokudb:%exclude %{_libdir}/%{pkg_name}/plugin/ha_tokudb.so}
-%{?with_ggsapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
+%{?with_gssapi:%exclude %{_libdir}/%{pkg_name}/plugin/auth_gssapi.so}
%{?with_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
%{?with_cassandra:%exclude %{_libdir}/%{pkg_name}/plugin/ha_cassandra.so}
%if %{with clibrary}
@@ -1407,7 +1440,9 @@ fi
%{_datadir}/%{pkg_name}/systemd/mariadb@.service
%endif
-%{daemondir}/%{daemon_name}*
+%{_unitdir}/%{daemon_name}*
+%{?with_tokudb:%exclude %{_unitdir}/mariadb.service.d/tokudb.conf}
+
%{_libexecdir}/mysql-prepare-db-dir
%{_libexecdir}/mysql-check-socket
%{_libexecdir}/mysql-check-upgrade
@@ -1456,7 +1491,7 @@ fi
%{_mandir}/man1/tokuft_logprint.1*
%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf
%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so
-/usr/lib/systemd/system/mariadb.service.d/tokudb.conf
+%{_unitdir}/mariadb.service.d/tokudb.conf
%endif
%if %{with gssapi}
@@ -1563,10 +1598,60 @@ fi
%endif
%changelog
+* Mon Feb 18 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.2-1
+- Rebase to 10.4.2
+- This is BETA release! use at your own risk.
+
+* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-10
+- Disable the requirement of mysql-selinux, until its bug is solved for good; #1665643
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 3:10.3.12-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Jan 30 2019 Honza Horak <hhorak(a)redhat.com> - 3:10.3.12-8
+- Fix several SSL tests that failed because of different SSL cipher expectation
+
+* Wed Jan 23 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-7
+- Fix TokuDB Jemalloc ld_preload
+ Resolves: #1668375
+- Tweak macros usage
+
+* Sat Jan 19 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-6
+- Enable mysql-selinux requirement
+- Tweak the testsuite execution, speed up the testsuite on rebuilds
+- Change weak dependency of RocksDB and TokuDB storage engines
+ from Recommends to Suggests
+- Add "Suggests" weak dependencies to more storage engines
+
+* Wed Jan 16 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-5
+- Tweak handling of the mysql-selinux requirement, leave disabled due to #1665643
+
+* Mon Jan 14 2019 Bjrn Esser <besser82(a)fedoraproject.org> - 3:10.3.12-4
+- Rebuilt for libcrypt.so.2 (#1666033)
+
+* Fri Jan 11 2019 Kevin Fenzi <kevin(a)scrye.com> - 3:10.3.12-3
+- Drop mysql-selinux recommends for now due to bug #1665643
+
+* Wed Jan 09 2019 Honza Horak <hhorak(a)redhat.com> - 3:10.3.12-2
+- Use specific python shebang
+
+* Tue Jan 08 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.12-1
+- Rebase to 10.3.12
+- Disable building of the caching_sha2_password plugin, it is shipped
+ by 'mariadb-connector-c'
+- Remove libmariadb.pc, is it shipped by 'mariadb-connector-c'
+
* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
- Rebase to 10.4.1
- This is BETA release! use at your own risk.
+* Mon Dec 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.11-1
+- Rebase to 10.3.11
+- CVEs fixed:
+ CVE-2018-3282, CVE-2016-9843, CVE-2018-3174, CVE-2018-3143, CVE-2018-3156
+ CVE-2018-3251, CVE-2018-3185, CVE-2018-3277, CVE-2018-3162, CVE-2018-3173
+ CVE-2018-3200, CVE-2018-3284
+
* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
- Rebase to 10.4.0
- This is ALPHA release! use at your own risk.
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 1123444..a35653e 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -1,17 +1,10 @@
# The SSL test are failing correctly. Fro more explanation, see:
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com...
main.ssl_7937 : #1399847
+main.ssl_crl :
main.ssl_crl_clients : #1399847
-main.ssl_cert_verify :
-
main.ssl_8k_key :
-# From 10.3.9
-main.openssl_1 :
-main.openssl_6975 :
-main.ssl :
-main.ssl_cipher :
-
#
perfschema.nesting : #1399847
perfschema.socket_summary_by_instance_func : #1399847
@@ -60,5 +53,6 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
-# 10.4.0
+# Fails on 10.4.2
sys_vars.tcp_nodelay :
+main.func_math :
diff --git a/sources b/sources
index 2d3457c..2d14188 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.1.tar.gz) = 0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d
+SHA512 (mariadb-10.4.2.tar.gz) = 31fffbc3223e0e52dcce08511904bef6a9d03b734773f46e864d5e8de8ceef352b2d8821614c6cc0ed12cdd0a3c60805c6815dbe7d07b8efec708df68eb05bd3
commit 14c5e16b6f6d28a3e63ae8b266e9f2e4821ea59b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Jan 6 16:18:32 2019 +0100
Rebase to 10.4.1
This is BETA release, use with caution!
diff --git a/mariadb.spec b/mariadb.spec
index c82c55a..5f2a6e0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -142,8 +142,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.0
-Release: 1.alpha%{?with_debug:.debug}%{?dist}
+Version: 10.4.1
+Release: 1.beta%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -794,6 +794,7 @@ export CFLAGS CXXFLAGS
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
+ -DINSTALL_PCDIR=%{_lib}/pkgconfig \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
-DTMPDIR=/var/tmp \
@@ -820,6 +821,7 @@ export CFLAGS CXXFLAGS
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
-DWITH_CASSANDRA=%{?with_cassandra:TRUE}%{!?with_cassandra:FALSE} \
-DPLUGIN_AWS_KEY_MANAGEMENT=NO \
+ -DPLUGIN_CACHING_SHA2_PASSWORD=%{?with_clibrary:DYNAMIC}%{!?with_clibrary:OFF} \
-DCONNECT_WITH_MONGO=OFF \
-DCONNECT_WITH_JDBC=OFF \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON}
@@ -862,6 +864,7 @@ fi
# TODO: check, if it changes location inside that file depending on values passed to Cmake
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
+rm %{buildroot}/usr/lib/pkgconfig/libmariadb.pc
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
@@ -1560,6 +1563,10 @@ fi
%endif
%changelog
+* Sun Jan 06 2019 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.1-1
+- Rebase to 10.4.1
+- This is BETA release! use at your own risk.
+
* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
- Rebase to 10.4.0
- This is ALPHA release! use at your own risk.
diff --git a/sources b/sources
index 23ef7c7..2d3457c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.0.tar.gz) = c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671
+SHA512 (mariadb-10.4.1.tar.gz) = 0422bbc4b3a38ff70bfc1cb61f8cb6582c7410a834a15bc593070aa206ca0103c0e4da04a36d02fcb6c21e3646d7920f6de7095b51a27136a7684d9ed54b5f8d
commit 2413f21e35297865f57c0ca8c7a9a86bb40e1068
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Nov 16 23:03:41 2018 +0100
Rebase to 10.4.0
This is ALPHA release, use with caution!
diff --git a/mariadb.spec b/mariadb.spec
index 18254fb..c82c55a 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -6,7 +6,7 @@
%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail, but 0 on production ready build
-%global ignore_testsuite_result 0
+%global ignore_testsuite_result 1
# In f20+ use unversioned docdirs, otherwise the old versioned one
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
@@ -142,8 +142,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.3.10
-Release: 1%{?with_debug:.debug}%{?dist}
+Version: 10.4.0
+Release: 1.alpha%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1560,6 +1560,10 @@ fi
%endif
%changelog
+* Fri Nov 16 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.4.0-1
+- Rebase to 10.4.0
+- This is ALPHA release! use at your own risk.
+
* Fri Oct 05 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.3.10-1
- Rebase to 10.3.10
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 62a1726..1123444 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -59,3 +59,6 @@ parts.partition_alter4_innodb :
# Fails from 10.3.9
encryption.innodb-redo-badkey :
+
+# 10.4.0
+sys_vars.tcp_nodelay :
diff --git a/sources b/sources
index 3cf2c1c..23ef7c7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.3.10.tar.gz) = dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31
+SHA512 (mariadb-10.4.0.tar.gz) = c81f56e35dd7aac4776dd2b7d18e40adccaff9f4d492e94395b1aeb5c491c712ce4599d0b1374fa585a4d0bba86dd60c91aea7701b6ded0d38409d1caace2671
3 years, 10 months
Architecture specific change in rpms/mariadb.git
by githook-noreply@fedoraproject.org
The package rpms/mariadb.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/mariadb.git/commit/?id=99964e0b7f....
Change:
+%ifarch x86_64 && 0%{?fedora}
Thanks.
Full change:
============
commit 99964e0b7fc6418e84229f76f0528103e5c593f9
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 10:08:19 2020 +0200
Minor tweaks
- use %ifarch consistently through the SPECfile
- update minimal PCRE version needed
- reword %prep section (move all removals to one place)
diff --git a/mariadb.spec b/mariadb.spec
index e3dd9ca..dfb2794 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -39,7 +39,7 @@
# https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/
# RocksDB engine is available only for x86_64
# RocksDB may be built with jemalloc, if specified in CMake
-%if "%_arch" == "x86_64" && 0%{?fedora}
+%ifarch x86_64 && 0%{?fedora}
%bcond_without tokudb
%bcond_without mroonga
%bcond_without rocksdb
@@ -98,8 +98,9 @@
-# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
+# MariaDB 10.1.39 and later requires pcre >= 8.43, otherwise we need to use
# the bundled library, since the package cannot be build with older version
+# https://mariadb.com/kb/en/pcre/
%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_without unbundled_pcre
%else
@@ -223,7 +224,7 @@ BuildRequires: bison bison-devel
# auth_pam.so plugin will be build if pam-devel is installed
BuildRequires: pam-devel
# use either new enough version of pcre or provide bundles(pcre)
-%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
+%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.43 pkgconf}
%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} || 0%{?rhel} > 7
@@ -692,8 +693,15 @@ sources.
# Remove JAR files that upstream puts into tarball
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
-
+# Remove testsuite for the mariadb-connector-c
rm -rf libmariadb/unittest
+# Remove python scripts remains from tokudb upstream (those files are not used anyway)
+rm -r storage/tokudb/mysql-test/tokudb/t/*.py
+%if %{without rocksdb}
+rm -r storage/rocksdb/
+%endif
+
+
%patch4 -p1
%patch7 -p1
@@ -754,14 +762,6 @@ fi
%endif
-%if %{without rocksdb}
-rm -r storage/rocksdb/
-%endif
-
-# Remove python scripts remains from tokudb upstream (those files are not used anyway)
-rm -r storage/tokudb/mysql-test/tokudb/t/*.py
-
-
%build
%{set_build_flags}
commit 5df7c2e7c7920ca6372b787f712abc034e1d468a
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:58:21 2020 +0200
The testsuite for 10.4.13 has been tested.
There was one randomly failing test: "spider/bugfix.wait_timeout"
diff --git a/mariadb.spec b/mariadb.spec
index 89468be..e3dd9ca 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -11,7 +11,7 @@
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
# run only "main" suite
-%global last_tested_version 10.4.12
+%global last_tested_version 10.4.13
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
commit 82422dc7ae581dd6906d9029652ebc36af4ea613
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:52:33 2020 +0200
Remove ancient patch that is no longer used
All Python scripts are now written in Python 3 and their shebang is set by -DPYTHON_SHEBANG CMake option
diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch
deleted file mode 100644
index 4f0a267..0000000
--- a/mariadb-shebang.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-*** WARNING: mangling shebang in /usr/bin/myrocks_hotbackup from #!/usr/bin/env python to #!/usr/bin/python2. This will become an ERROR, fix it manually!
-
-Maintainer's note:
-This script is not python3 compatible:
-ModuleNotFoundError: No module named 'commands'
-
-diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched
---- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100
-+++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100
-@@ -1,4 +1,4 @@
--#!@PYTHON_SHEBANG@
-+#!/usr/bin/python2
-
- from __future__ import division
- from optparse import OptionParser
commit 22a05804da5a37ed6da272d0ef2d31c1eac50258
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:48:39 2020 +0200
Remove ancient patch that wasn't used for ages
The default MariaDB Galera replication is now DISABLED by default, because it needs to be configured prior enabling
diff --git a/mariadb-galera.cnf.patch b/mariadb-galera.cnf.patch
deleted file mode 100644
index 095cdf4..0000000
--- a/mariadb-galera.cnf.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- mariadb-10.1.13/support-files/wsrep.cnf.sh.orig 2016-03-24 10:12:15.000000000 +0100
-+++ mariadb-10.1.13/support-files/wsrep.cnf.sh 2016-04-07 10:18:34.281155365 +0200
-@@ -30,6 +30,9 @@ bind-address=0.0.0.0
- ## WSREP options
- ##
-
-+# Enable wsrep
-+wsrep_on=1
-+
- # Full path to wsrep provider library or 'none'
- wsrep_provider=none
-
commit 383e14b547b8ae15a7ad2b67ee1a832ee258661e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:06:06 2020 +0200
Rebase to 10.4.13
Patch mariadb-pythonver upstreamed (upstream now use only python 3)
diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch
index 23dcba8..3534c43 100644
--- a/mariadb-ownsetup.patch
+++ b/mariadb-ownsetup.patch
@@ -1,17 +1,19 @@
diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt
---- mariadb-10.1.8/support-files/CMakeLists.txt.p9 2015-11-03 11:38:46.029139464 +0100
-+++ mariadb-10.1.8/support-files/CMakeLists.txt 2015-11-03 11:41:07.107605055 +0100
-@@ -62,6 +62,7 @@ IF(UNIX)
+--- mariadb-10.2.32/support-files/CMakeLists.txt 2020-05-08 13:45:27.000000000 +0200
++++ mariadb-10.2.32/support-files/CMakeLists.txt_pacthed 2020-05-13 10:11:30.884190396 +0200
+@@ -100,7 +100,8 @@ IF(UNIX)
ENDIF()
CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY)
+- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development)
+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development)
++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development)
INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
-diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf
---- mariadb-10.1.8/support-files/rpm/server.cnf.p9 2015-10-15 17:44:19.000000000 +0200
-+++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-11-03 11:38:25.228070808 +0100
+
+diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf
+--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100
++++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100
@@ -9,7 +9,16 @@
[server]
diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch
deleted file mode 100644
index eb8a1e7..0000000
--- a/mariadb-pythonver.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Upstream PR: https://github.com/MariaDB/server/pull/1081
-
-From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001
-From: Honza Horak <hhorak(a)redhat.com>
-Date: Wed, 9 Jan 2019 20:17:29 +0100
-Subject: [PATCH] Make the PYTHON_SHEBANG value configurable
-
-In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call.
----
- CMakeLists.txt | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a139c9e5fa4..ccccb08bef1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL()
- MYSQL_CHECK_READLINE()
-
- SET(MALLOC_LIBRARY "system")
--SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang")
-+IF(NOT DEFINED PYTHON_SHEBANG)
-+ SET(PYTHON_SHEBANG "/usr/bin/env python")
-+ENDIF()
- MARK_AS_ADVANCED(PYTHON_SHEBANG)
-
- CHECK_PCRE()
diff --git a/mariadb.spec b/mariadb.spec
index 17112d0..89468be 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -146,8 +146,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.12
-Release: 6%{?with_debug:.debug}%{?dist}
+Version: 10.4.13
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -180,8 +180,6 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: Make the python interpretter be configurable
-Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2
Patch4: %{pkgnamepatch}-logrotate.patch
@@ -697,7 +695,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
rm -rf libmariadb/unittest
-%patch2 -p1
%patch4 -p1
%patch7 -p1
%patch9 -p1
@@ -939,16 +936,13 @@ rm scripts/my.cnf
# use different config file name for each variant of server (mariadb / mysql)
mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
-mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf
-
# remove SysV init script and a symlink to that, we use systemd
rm %{buildroot}%{_libexecdir}/rcmysql
# install systemd unit files and scripts for handling server startup
install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service
# Remove the upstream version
-rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf
+rm %{buildroot}%{_tmpfilesdir}/mariadb.conf
# Install downstream version
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
@@ -1026,7 +1020,7 @@ rm %{buildroot}%{logrotateddir}/mysql
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
-mv %{buildroot}/lib/security %{buildroot}%{_libdir}
+mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir}
# Disable plugins
%if %{with gssapi}
@@ -1101,11 +1095,7 @@ rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,i
rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
%endif
-%if %{without tokudb}
-# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support
-rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
-rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
-%else
+%if %{with tokudb}
%if 0%{?fedora} || 0%{?rhel} > 7
# Move the upstream file to the correct location
mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
@@ -1592,6 +1582,9 @@ fi
%endif
%changelog
+* Fri Jun 05 2020 Michal Schorm <mschorm(a)redhat.com> - 10.4.13-1
+- Rebase to 10.4.13
+
* Sun May 24 2020 Lukas Javorsky <ljavorsk(a)redhat.com> - 3:10.4.12-6
- Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries
diff --git a/sources b/sources
index 5a2560f..9743ec2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.12.tar.gz) = f26c45bbab765c979bbdb748da10ee314c1494e2ad7df7523bf4020b5f5036c06242739c1877fa0a21defcdd27f498cfff730289486ce9ced09d5740f3594657
+SHA512 (mariadb-10.4.13.tar.gz) = 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566
commit e0f70055394e9541b0100c85f8abed6d3c24623c
Author: Lukas Javorsky <ljavorsk(a)redhat.com>
Date: Sun May 24 10:48:58 2020 +0200
Add mariadb_rpl.h to deleted libraries from devel package
diff --git a/mariadb.spec b/mariadb.spec
index b0dfbdf..17112d0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -147,7 +147,7 @@
Name: mariadb
Version: 10.4.12
-Release: 5%{?with_debug:.debug}%{?dist}
+Release: 6%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1074,7 +1074,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
# This files are already included in mariadb-connector-c
rm %{buildroot}%{_includedir}/mysql/mysql_version.h
rm %{buildroot}%{_includedir}/mysql/{errmsg.h,ma_list.h,ma_pvio.h,mariadb_com.h,\
-mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h}
+mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h,mariadb_rpl.h}
rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql}
%endif
@@ -1592,6 +1592,9 @@ fi
%endif
%changelog
+* Sun May 24 2020 Lukas Javorsky <ljavorsk(a)redhat.com> - 3:10.4.12-6
+- Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries
+
* Thu Apr 02 2020 Bjrn Esser <besser82(a)fedoraproject.org> - 3:10.4.12-5
- Fix string quoting for rpm >= 4.16
commit 6fa3c4c473a1fa621852a88f16a8d1420bc05f58
Author: Bjrn Esser <besser82(a)fedoraproject.org>
Date: Thu Apr 2 13:32:14 2020 +0200
Bump release
diff --git a/mariadb.spec b/mariadb.spec
index eaea90a..b0dfbdf 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -147,7 +147,7 @@
Name: mariadb
Version: 10.4.12
-Release: 4%{?with_debug:.debug}%{?dist}
+Release: 5%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -1592,6 +1592,9 @@ fi
%endif
%changelog
+* Thu Apr 02 2020 Bjrn Esser <besser82(a)fedoraproject.org> - 3:10.4.12-5
+- Fix string quoting for rpm >= 4.16
+
* Thu Mar 26 2020 Jitka Plesnikova <jplesnik(a)redhat.com> - 10.4.12-4
- Add perl dependencies needed for tests
commit 333a690a999f61dc03f7affd326b579f5066d4cf
Author: Bjrn Esser <besser82(a)fedoraproject.org>
Date: Thu Apr 2 13:05:45 2020 +0200
Fix string quoting for rpm >= 4.16
diff --git a/mariadb.spec b/mariadb.spec
index 079ebd5..eaea90a 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -39,7 +39,7 @@
# https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/
# RocksDB engine is available only for x86_64
# RocksDB may be built with jemalloc, if specified in CMake
-%if %_arch == x86_64 && 0%{?fedora}
+%if "%_arch" == "x86_64" && 0%{?fedora}
%bcond_without tokudb
%bcond_without mroonga
%bcond_without rocksdb
commit 3731874e5eafb1e30971ce6c3e77da710f2b67c3
Author: Jitka Plesnikova <jplesnik(a)redhat.com>
Date: Fri Mar 27 08:37:56 2020 +0100
Add perl dependencies needed for tests
diff --git a/mariadb.spec b/mariadb.spec
index 2af4469..079ebd5 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -147,7 +147,7 @@
Name: mariadb
Version: 10.4.12
-Release: 3%{?with_debug:.debug}%{?dist}
+Release: 4%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -237,19 +237,39 @@ BuildRequires: python3
# Tests requires time and ps and some perl modules
BuildRequires: procps
BuildRequires: time
+BuildRequires: perl(base)
+BuildRequires: perl(Cwd)
+BuildRequires: perl(Data::Dumper)
+BuildRequires: perl(English)
BuildRequires: perl(Env)
+BuildRequires: perl(Errno)
BuildRequires: perl(Exporter)
BuildRequires: perl(Fcntl)
+BuildRequires: perl(File::Basename)
+BuildRequires: perl(File::Copy)
+BuildRequires: perl(File::Find)
+BuildRequires: perl(File::Spec)
+BuildRequires: perl(File::Spec::Functions)
BuildRequires: perl(File::Temp)
-BuildRequires: perl(Data::Dumper)
BuildRequires: perl(Getopt::Long)
+BuildRequires: perl(IO::File)
+BuildRequires: perl(IO::Handle)
+BuildRequires: perl(IO::Select)
+BuildRequires: perl(IO::Socket)
+BuildRequires: perl(IO::Socket::INET)
BuildRequires: perl(IPC::Open3)
+BuildRequires: perl(lib)
BuildRequires: perl(Memoize)
+BuildRequires: perl(POSIX)
BuildRequires: perl(Socket)
+BuildRequires: perl(strict)
+BuildRequires: perl(Symbol)
BuildRequires: perl(Sys::Hostname)
+BuildRequires: perl(Term::ANSIColor)
BuildRequires: perl(Test::More)
BuildRequires: perl(Time::HiRes)
-BuildRequires: perl(Symbol)
+BuildRequires: perl(Time::localtime)
+BuildRequires: perl(warnings)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
@@ -1572,6 +1592,9 @@ fi
%endif
%changelog
+* Thu Mar 26 2020 Jitka Plesnikova <jplesnik(a)redhat.com> - 10.4.12-4
+- Add perl dependencies needed for tests
+
* Mon Mar 16 2020 Michal Schorm <mschorm(a)redhat.com> - 10.4.12-3
- Rebase mariadb-connector-c git submodule to commit fbf1db6
For fix: https://jira.mariadb.org/browse/CONC-441
3 years, 10 months
Architecture specific change in rpms/mariadb.git
by githook-noreply@fedoraproject.org
The package rpms/mariadb.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/mariadb.git/commit/?id=99964e0b7f....
Change:
+%ifarch x86_64 && 0%{?fedora}
Thanks.
Full change:
============
commit 99964e0b7fc6418e84229f76f0528103e5c593f9
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 10:08:19 2020 +0200
Minor tweaks
- use %ifarch consistently through the SPECfile
- update minimal PCRE version needed
- reword %prep section (move all removals to one place)
diff --git a/mariadb.spec b/mariadb.spec
index e3dd9ca..dfb2794 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -39,7 +39,7 @@
# https://mariadb.com/kb/en/library/about-myrocks-for-mariadb/
# RocksDB engine is available only for x86_64
# RocksDB may be built with jemalloc, if specified in CMake
-%if "%_arch" == "x86_64" && 0%{?fedora}
+%ifarch x86_64 && 0%{?fedora}
%bcond_without tokudb
%bcond_without mroonga
%bcond_without rocksdb
@@ -98,8 +98,9 @@
-# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
+# MariaDB 10.1.39 and later requires pcre >= 8.43, otherwise we need to use
# the bundled library, since the package cannot be build with older version
+# https://mariadb.com/kb/en/pcre/
%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_without unbundled_pcre
%else
@@ -223,7 +224,7 @@ BuildRequires: bison bison-devel
# auth_pam.so plugin will be build if pam-devel is installed
BuildRequires: pam-devel
# use either new enough version of pcre or provide bundles(pcre)
-%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
+%{?with_unbundled_pcre:BuildRequires: pcre-devel >= 8.43 pkgconf}
%{!?with_unbundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} || 0%{?rhel} > 7
@@ -692,8 +693,15 @@ sources.
# Remove JAR files that upstream puts into tarball
find . -name "*.jar" -type f -exec rm --verbose -f {} \;
-
+# Remove testsuite for the mariadb-connector-c
rm -rf libmariadb/unittest
+# Remove python scripts remains from tokudb upstream (those files are not used anyway)
+rm -r storage/tokudb/mysql-test/tokudb/t/*.py
+%if %{without rocksdb}
+rm -r storage/rocksdb/
+%endif
+
+
%patch4 -p1
%patch7 -p1
@@ -754,14 +762,6 @@ fi
%endif
-%if %{without rocksdb}
-rm -r storage/rocksdb/
-%endif
-
-# Remove python scripts remains from tokudb upstream (those files are not used anyway)
-rm -r storage/tokudb/mysql-test/tokudb/t/*.py
-
-
%build
%{set_build_flags}
commit 5df7c2e7c7920ca6372b787f712abc034e1d468a
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:58:21 2020 +0200
The testsuite for 10.4.13 has been tested.
There was one randomly failing test: "spider/bugfix.wait_timeout"
diff --git a/mariadb.spec b/mariadb.spec
index 89468be..e3dd9ca 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -11,7 +11,7 @@
# The last version on which the full testsuite has been run
# In case of further rebuilds of that version, don't require full testsuite to be run
# run only "main" suite
-%global last_tested_version 10.4.12
+%global last_tested_version 10.4.13
# Set to 1 to force run the testsuite even if it was already tested in current version
%global force_run_testsuite 0
commit 82422dc7ae581dd6906d9029652ebc36af4ea613
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:52:33 2020 +0200
Remove ancient patch that is no longer used
All Python scripts are now written in Python 3 and their shebang is set by -DPYTHON_SHEBANG CMake option
diff --git a/mariadb-shebang.patch b/mariadb-shebang.patch
deleted file mode 100644
index 4f0a267..0000000
--- a/mariadb-shebang.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-*** WARNING: mangling shebang in /usr/bin/myrocks_hotbackup from #!/usr/bin/env python to #!/usr/bin/python2. This will become an ERROR, fix it manually!
-
-Maintainer's note:
-This script is not python3 compatible:
-ModuleNotFoundError: No module named 'commands'
-
-diff -Naurp mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched
---- mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py 2019-01-04 16:28:50.000000000 +0100
-+++ mariadb-10.3.12/storage/rocksdb/myrocks_hotbackup.py_patched 2019-01-08 12:00:54.468750863 +0100
-@@ -1,4 +1,4 @@
--#!@PYTHON_SHEBANG@
-+#!/usr/bin/python2
-
- from __future__ import division
- from optparse import OptionParser
commit 22a05804da5a37ed6da272d0ef2d31c1eac50258
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:48:39 2020 +0200
Remove ancient patch that wasn't used for ages
The default MariaDB Galera replication is now DISABLED by default, because it needs to be configured prior enabling
diff --git a/mariadb-galera.cnf.patch b/mariadb-galera.cnf.patch
deleted file mode 100644
index 095cdf4..0000000
--- a/mariadb-galera.cnf.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- mariadb-10.1.13/support-files/wsrep.cnf.sh.orig 2016-03-24 10:12:15.000000000 +0100
-+++ mariadb-10.1.13/support-files/wsrep.cnf.sh 2016-04-07 10:18:34.281155365 +0200
-@@ -30,6 +30,9 @@ bind-address=0.0.0.0
- ## WSREP options
- ##
-
-+# Enable wsrep
-+wsrep_on=1
-+
- # Full path to wsrep provider library or 'none'
- wsrep_provider=none
-
commit 383e14b547b8ae15a7ad2b67ee1a832ee258661e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Jun 8 09:06:06 2020 +0200
Rebase to 10.4.13
Patch mariadb-pythonver upstreamed (upstream now use only python 3)
diff --git a/mariadb-ownsetup.patch b/mariadb-ownsetup.patch
index 23dcba8..3534c43 100644
--- a/mariadb-ownsetup.patch
+++ b/mariadb-ownsetup.patch
@@ -1,17 +1,19 @@
diff -up mariadb-10.1.8/support-files/CMakeLists.txt.p9 mariadb-10.1.8/support-files/CMakeLists.txt
---- mariadb-10.1.8/support-files/CMakeLists.txt.p9 2015-11-03 11:38:46.029139464 +0100
-+++ mariadb-10.1.8/support-files/CMakeLists.txt 2015-11-03 11:41:07.107605055 +0100
-@@ -62,6 +62,7 @@ IF(UNIX)
+--- mariadb-10.2.32/support-files/CMakeLists.txt 2020-05-08 13:45:27.000000000 +0200
++++ mariadb-10.2.32/support-files/CMakeLists.txt_pacthed 2020-05-13 10:11:30.884190396 +0200
+@@ -100,7 +100,8 @@ IF(UNIX)
ENDIF()
CONFIGURE_FILE(mariadb.pc.in ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc @ONLY)
+- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_LIBDIR}/pkgconfig COMPONENT Development)
+ CONFIGURE_FILE(rpm/server.cnf ${CMAKE_CURRENT_BINARY_DIR}/rpm/server.cnf @ONLY)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development)
++ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mariadb.pc DESTINATION ${INSTALL_SHAREDIR}/pkgconfig COMPONENT Development)
INSTALL(FILES mysql.m4 DESTINATION ${INSTALL_SHAREDIR}/aclocal COMPONENT Development)
-diff -up mariadb-10.1.8/support-files/rpm/server.cnf.p9 mariadb-10.1.8/support-files/rpm/server.cnf
---- mariadb-10.1.8/support-files/rpm/server.cnf.p9 2015-10-15 17:44:19.000000000 +0200
-+++ mariadb-10.1.8/support-files/rpm/server.cnf 2015-11-03 11:38:25.228070808 +0100
+
+diff -up mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup mariadb-10.0.15/support-files/rpm/server.cnf
+--- mariadb-10.0.15/support-files/rpm/server.cnf.ownsetup 2015-01-24 23:55:55.110063592 +0100
++++ mariadb-10.0.15/support-files/rpm/server.cnf 2015-01-24 23:57:42.308114387 +0100
@@ -9,7 +9,16 @@
[server]
diff --git a/mariadb-pythonver.patch b/mariadb-pythonver.patch
deleted file mode 100644
index eb8a1e7..0000000
--- a/mariadb-pythonver.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Upstream PR: https://github.com/MariaDB/server/pull/1081
-
-From d2cbf56d36e422802aa7e53ec0f4e6be8fd53cf5 Mon Sep 17 00:00:00 2001
-From: Honza Horak <hhorak(a)redhat.com>
-Date: Wed, 9 Jan 2019 20:17:29 +0100
-Subject: [PATCH] Make the PYTHON_SHEBANG value configurable
-
-In Fedora 30 it is required to specify either /usr/bin/python2 or /usr/bin/python3 in the shebang, so we need a way to say explicit shebang, ideally in the cmake call.
----
- CMakeLists.txt | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a139c9e5fa4..ccccb08bef1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -342,7 +342,9 @@ MYSQL_CHECK_SSL()
- MYSQL_CHECK_READLINE()
-
- SET(MALLOC_LIBRARY "system")
--SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang")
-+IF(NOT DEFINED PYTHON_SHEBANG)
-+ SET(PYTHON_SHEBANG "/usr/bin/env python")
-+ENDIF()
- MARK_AS_ADVANCED(PYTHON_SHEBANG)
-
- CHECK_PCRE()
diff --git a/mariadb.spec b/mariadb.spec
index 17112d0..89468be 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -146,8 +146,8 @@
%global sameevr %{epoch}:%{version}-%{release}
Name: mariadb
-Version: 10.4.12
-Release: 6%{?with_debug:.debug}%{?dist}
+Version: 10.4.13
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A very fast and robust SQL database server
@@ -180,8 +180,6 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: Make the python interpretter be configurable
-Patch2: %{pkgnamepatch}-pythonver.patch
# Patch4: Red Hat distributions specific logrotate fix
# it would be big unexpected change, if we start shipping it now. Better wait for MariaDB 10.2
Patch4: %{pkgnamepatch}-logrotate.patch
@@ -697,7 +695,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
rm -rf libmariadb/unittest
-%patch2 -p1
%patch4 -p1
%patch7 -p1
%patch9 -p1
@@ -939,16 +936,13 @@ rm scripts/my.cnf
# use different config file name for each variant of server (mariadb / mysql)
mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
-mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf
-
# remove SysV init script and a symlink to that, we use systemd
rm %{buildroot}%{_libexecdir}/rcmysql
# install systemd unit files and scripts for handling server startup
install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service
# Remove the upstream version
-rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf
+rm %{buildroot}%{_tmpfilesdir}/mariadb.conf
# Install downstream version
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
@@ -1026,7 +1020,7 @@ rm %{buildroot}%{logrotateddir}/mysql
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
-mv %{buildroot}/lib/security %{buildroot}%{_libdir}
+mv %{buildroot}/%{_lib}/security %{buildroot}%{_libdir}
# Disable plugins
%if %{with gssapi}
@@ -1101,11 +1095,7 @@ rm %{buildroot}%{_mandir}/man1/mysql{access,admin,binlog,check,dump,_find_rows,i
rm %{buildroot}%{_mandir}/man1/mariadb-{access,admin,binlog,check,dump,find-rows,import,plugin,show,slap,waitpid}.1*
%endif
-%if %{without tokudb}
-# because upstream ships manpages for tokudb even on architectures that tokudb doesn't support
-rm %{buildroot}%{_mandir}/man1/tokuftdump.1*
-rm %{buildroot}%{_mandir}/man1/tokuft_logprint.1*
-%else
+%if %{with tokudb}
%if 0%{?fedora} || 0%{?rhel} > 7
# Move the upstream file to the correct location
mkdir -p %{buildroot}%{_unitdir}/mariadb.service.d
@@ -1592,6 +1582,9 @@ fi
%endif
%changelog
+* Fri Jun 05 2020 Michal Schorm <mschorm(a)redhat.com> - 10.4.13-1
+- Rebase to 10.4.13
+
* Sun May 24 2020 Lukas Javorsky <ljavorsk(a)redhat.com> - 3:10.4.12-6
- Remove mariadb_rpl.h from includedir to prevent conflict with connector-c's libraries
diff --git a/sources b/sources
index 5a2560f..9743ec2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.4.12.tar.gz) = f26c45bbab765c979bbdb748da10ee314c1494e2ad7df7523bf4020b5f5036c06242739c1877fa0a21defcdd27f498cfff730289486ce9ced09d5740f3594657
+SHA512 (mariadb-10.4.13.tar.gz) = 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566
3 years, 10 months