Architecture specific change in rpms/golang-github-BurntSushi-toml.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-BurntSushi-toml.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-BurntSushi-toml.git....
Change:
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
Thanks.
Full change:
============
commit a1924e13a39d7d95bac273b91729401631456d36
Author: Jan Chaloupka <jchaloup(a)redhat.com>
Date: Wed Feb 28 10:54:25 2018 +0100
Autogenerate some parts using the new macros
diff --git a/golang-github-BurntSushi-toml.spec b/golang-github-BurntSushi-toml.spec
index f845914..70f240c 100644
--- a/golang-github-BurntSushi-toml.spec
+++ b/golang-github-BurntSushi-toml.spec
@@ -1,166 +1,49 @@
-# If any of the following macros should be set otherwise,
-# you can wrap any of them with the following conditions:
-# - %%if 0%%{centos} == 7
-# - %%if 0%%{?rhel} == 7
-# - %%if 0%%{?fedora} == 23
-# Or just test for particular distribution:
-# - %%if 0%%{centos}
-# - %%if 0%%{?rhel}
-# - %%if 0%%{?fedora}
-#
-# Be aware, on centos, both %%rhel and %%centos are set. If you want to test
-# rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition.
-# (Don't forget to replace double percentage symbol with single one in order to apply a condition)
-
-# Generate devel rpm
-%global with_devel 1
-# Build project from bundled dependencies
-%global with_bundled 0
-# Build with debug info rpm
-%global with_debug 1
-# Run tests in check section
-%global with_check 1
-# Generate unit-test rpm
-%global with_unit_test 1
-
-%if 0%{?with_debug}
-%global _dwz_low_mem_die_limit 0
-%else
-%global debug_package %{nil}
-%endif
-
-%if ! 0%{?gobuild:1}
-%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**};
-%endif
-
-%global provider github
-%global provider_tld com
-%global project BurntSushi
-%global repo toml
# https://github.com/BurntSushi/toml
-%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
-%global import_path %{provider_prefix}
+%global provider_prefix github.com/BurntSushi/toml
+%global gobaseipath %{provider_prefix}
%global commit 2ceedfee35ad3848e49308ab0c9a4f640cfb5fb2
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20140718
-Name: golang-%{provider}-%{project}-%{repo}
+%gocraftmeta -i
+
+Name: %{goname}
Version: 0
-Release: 0.14.git%{shortcommit}%{?dist}
+Release: 0.15.%{commitdate}git%{shortcommit}%{?dist}
Summary: TOML parser and encoder for Go with reflection
License: BSD
-URL: https://%{provider_prefix}
-Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
+URL: %{gourl}
+Source0: %{gosource}
Provides: tomlv = %{version}-%{release}
-# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
%description
%{summary}
-%if 0%{?with_devel}
%package devel
Summary: %{summary}
BuildArch: noarch
-%if 0%{?with_check}
-%endif
-
-Provides: golang(%{import_path}) = %{version}-%{release}
-
%description devel
%{summary}
This package contains library source intended for
building other packages which use import path with
-%{import_path} prefix.
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%package unit-test
-Summary: Unit tests for %{name} package
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
-%if 0%{?with_check}
-#Here comes all BuildRequires: PACKAGE the unit tests
-#in %%check section need for running
-%endif
-
-# test subpackage tests code from devel subpackage
-Requires: %{name}-devel = %{version}-%{release}
-
-%description unit-test
-%{summary}
-
-This package contains unit tests for project
-providing packages with %{import_path} prefix.
-%endif
+%{gobaseipath} prefix.
%prep
-%setup -q -n %{repo}-%{commit}
+%gosetup
%build
-mkdir -p src/github.com/BurntSushi
-ln -s ../../../ src/github.com/BurntSushi/toml
-
-%if ! 0%{?with_bundled}
-export GOPATH=$(pwd):%{gopath}
-%else
-export GOPATH=$(pwd):$(pwd)/Godeps/_workspace:%{gopath}
-%endif
-
-%gobuild -o bin/tomlv %{import_path}/cmd/tomlv
+%gobuildroot
+%gobuild -o _bin/tomlv %{gobaseipath}/cmd/tomlv
%install
install -d %{buildroot}/%{_bindir}
-install -p -m 755 bin/tomlv %{buildroot}%{_bindir}/tomlv
-
-# source codes for building projects
-%if 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
-# find all *.go but no *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*.go" \! -iname "*_test.go") ; do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
-done
-%endif
-
-# testing files for this project
-%if 0%{?with_unit_test} && 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-# find all *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*_test.go"); do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list
-done
-%endif
-
-%if 0%{?with_devel}
-sort -u -o devel.file-list devel.file-list
-%endif
-
-%check
-%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
-%if ! 0%{?with_bundled}
-export GOPATH=%{buildroot}/%{gopath}:%{gopath}
-%else
-export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
-%endif
+install -p -m 755 _bin/tomlv %{buildroot}%{_bindir}/tomlv
-%if ! 0%{?gotest:1}
-%global gotest go test
-%endif
+%goinstall
-%gotest %{import_path}
-%endif
+%check
+%gochecks
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
@@ -169,19 +52,14 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
%license COPYING README.md
%{_bindir}/tomlv
-%if 0%{?with_devel}
%files devel -f devel.file-list
%license COPYING README.md
%doc README.md
-%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%files unit-test -f unit-test.file-list
-%license COPYING
-%endif
%changelog
+* Wed Feb 28 2018 Jan Chaloupka <jchaloup(a)redhat.com> - 0-0.15.20140718git2ceedfe
+- Autogenerate some parts using the new macros
+
* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0-0.14.git2ceedfe
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6 years, 3 months
Architecture specific change in rpms/golang-github-cenkalti-backoff.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-cenkalti-backoff.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-cenkalti-backoff.gi....
Change:
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
Thanks.
Full change:
============
commit 8ff728ba0065bc7f17427c4f8a610430e6e125e3
Author: Jan Chaloupka <jchaloup(a)redhat.com>
Date: Wed Feb 28 10:56:16 2018 +0100
Autogenerate some parts using the new macros
diff --git a/golang-github-cenkalti-backoff.spec b/golang-github-cenkalti-backoff.spec
index 9e29ef2..2bc2474 100644
--- a/golang-github-cenkalti-backoff.spec
+++ b/golang-github-cenkalti-backoff.spec
@@ -1,170 +1,55 @@
-# If any of the following macros should be set otherwise,
-# you can wrap any of them with the following conditions:
-# - %%if 0%%{centos} == 7
-# - %%if 0%%{?rhel} == 7
-# - %%if 0%%{?fedora} == 23
-# Or just test for particular distribution:
-# - %%if 0%%{centos}
-# - %%if 0%%{?rhel}
-# - %%if 0%%{?fedora}
-#
-# Be aware, on centos, both %%rhel and %%centos are set. If you want to test
-# rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition.
-# (Don't forget to replace double percentage symbol with single one in order to apply a condition)
-
-# Generate devel rpm
-%global with_devel 1
-# Build project from bundled dependencies
-%global with_bundled 0
-# Build with debug info rpm
-%global with_debug 0
-# Run tests in check section
-# test fails on f23 and f24
-%global with_check 0
-# Generate unit-test rpm
-%global with_unit_test 1
-
-%if 0%{?with_debug}
-%global _dwz_low_mem_die_limit 0
-%else
-%global debug_package %{nil}
-%endif
-
-%global provider github
-%global provider_tld com
-%global project cenkalti
-%global repo backoff
# https://github.com/cenkalti/backoff
-%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
-%global import_path %{provider_prefix}
+%global provider_prefix github.com/cenkalti/backoff
+%global gobaseipath %{provider_prefix}
%global commit 61153c768f31ee5f130071d08fc82b85208528de
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20170711
-Name: golang-%{provider}-%{project}-%{repo}
+%gocraftmeta -i
+
+Name: %{goname}
Version: 1.1.0
-Release: 0.2.git%{shortcommit}%{?dist}
+Release: 0.3.%{commitdate}git%{shortcommit}%{?dist}
Summary: The exponential backoff algorithm in Go
License: ASL 2.0
-URL: https://%{provider_prefix}
-Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
-
-# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
+URL: %{gourl}
+Source0: %{gosource}
%description
%{summary}
-%if 0%{?with_devel}
%package devel
Summary: %{summary}
BuildArch: noarch
-%if 0%{?with_check}
BuildRequires: golang(golang.org/x/net/context)
-%endif
-
-Requires: golang(golang.org/x/net/context)
-
-Provides: golang(%{import_path}) = %{version}-%{release}
%description devel
%{summary}
This package contains library source intended for
building other packages which use import path with
-%{import_path} prefix.
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%package unit-test
-Summary: Unit tests for %{name} package
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
-%if 0%{?with_check}
-#Here comes all BuildRequires: PACKAGE the unit tests
-#in %%check section need for running
-%endif
-
-# test subpackage tests code from devel subpackage
-Requires: %{name}-devel = %{version}-%{release}
-
-%description unit-test
-%{summary}
-
-This package contains unit tests for project
-providing packages with %{import_path} prefix.
-%endif
+%{gobaseipath} prefix.
%prep
-%setup -q -n %{repo}-%{commit}
-
-%build
+%gosetup
%install
-# source codes for building projects
-%if 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
-# find all *.go but no *_test.go files and generate devel.file-list
-for file in $(find . -iname "*.go" \! -iname "*_test.go") ; do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
-done
-%endif
-
-# testing files for this project
-%if 0%{?with_unit_test} && 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-# find all *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*_test.go"); do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list
-done
-%endif
-
-%if 0%{?with_devel}
-sort -u -o devel.file-list devel.file-list
-%endif
+%goinstall
%check
-%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
-%if ! 0%{?with_bundled}
-export GOPATH=%{buildroot}/%{gopath}:%{gopath}
-%else
-export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
-%endif
-
-%if ! 0%{?gotest:1}
-%global gotest go test
-%endif
-
-%gotest %{import_path}
-%endif
+%gochecks
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
-%if 0%{?with_devel}
%files devel -f devel.file-list
%license LICENSE
%doc README.md
-%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%files unit-test -f unit-test.file-list
-%license LICENSE
-%doc README.md
-%endif
%changelog
+* Wed Feb 28 2018 Jan Chaloupka <jchaloup(a)redhat.com> - 1.1.0-0.3.20170711git61153c7
+- Autogenerate some parts using the new macros
+
* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.1.0-0.2.git61153c7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6 years, 3 months
Architecture specific change in rpms/golang-github-bugsnag-panicwrap.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-bugsnag-panicwrap.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-bugsnag-panicwrap.g....
Change:
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
Thanks.
Full change:
============
commit 0aac985ac8cfd39e5a079f21bea26917af724b4c
Author: Jan Chaloupka <jchaloup(a)redhat.com>
Date: Wed Feb 28 10:51:41 2018 +0100
Autogenerate some parts using the new macros
diff --git a/golang-github-bugsnag-panicwrap.spec b/golang-github-bugsnag-panicwrap.spec
index f6a6acf..c29ae0f 100644
--- a/golang-github-bugsnag-panicwrap.spec
+++ b/golang-github-bugsnag-panicwrap.spec
@@ -1,169 +1,56 @@
-# If any of the following macros should be set otherwise,
-# you can wrap any of them with the following conditions:
-# - %%if 0%%{centos} == 7
-# - %%if 0%%{?rhel} == 7
-# - %%if 0%%{?fedora} == 23
-# Or just test for particular distribution:
-# - %%if 0%%{centos}
-# - %%if 0%%{?rhel}
-# - %%if 0%%{?fedora}
-#
-# Be aware, on centos, both %%rhel and %%centos are set. If you want to test
-# rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition.
-# (Don't forget to replace double percentage symbol with single one in order to apply a condition)
-
-# Generate devel rpm
-%global with_devel 1
-# Build project from bundled dependencies
-%global with_bundled 0
-# Build with debug info rpm
-%global with_debug 0
-# Run tests in check section
-%global with_check 1
-# Generate unit-test rpm
-%global with_unit_test 1
-
-%if 0%{?with_debug}
-%global _dwz_low_mem_die_limit 0
-%else
-%global debug_package %{nil}
-%endif
-
-%global provider github
-%global provider_tld com
-%global project bugsnag
-%global repo panicwrap
# https://github.com/bugsnag/panicwrap
-%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
-%global import_path %{provider_prefix}
+%global provider_prefix github.com/bugsnag/panicwrap
+%global gobaseipath %{provider_prefix}
%global commit aceac81c6e2f55f23844821679a0553b545e91df
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20160118
-Name: golang-%{provider}-%{project}-%{repo}
+%gocraftmeta -i
+
+Name: %{goname}
Version: 1.1.0
-Release: 0.7.git%{shortcommit}%{?dist}
+Release: 0.8.%{commitdate}git%{shortcommit}%{?dist}
Summary: Go library for catching and handling panics in Go applications
License: MIT
-URL: https://%{provider_prefix}
-Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
-
+URL: %{gourl}
+Source0: %{gosource}
Patch0: change-import-path.patch
-# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
%description
%{summary}
-%if 0%{?with_devel}
%package devel
Summary: %{summary}
-BuildArch: noarch
-%if 0%{?with_check}
BuildRequires: golang(bitbucket.org/kardianos/osext)
-%endif
-
-Requires: golang(bitbucket.org/kardianos/osext)
-
-Provides: golang(%{import_path}) = %{version}-%{release}
%description devel
%{summary}
This package contains library source intended for
building other packages which use import path with
-%{import_path} prefix.
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%package unit-test
-Summary: Unit tests for %{name} package
-%if 0%{?with_check}
-#Here comes all BuildRequires: PACKAGE the unit tests
-#in %%check section need for running
-%endif
-
-# test subpackage tests code from devel subpackage
-Requires: %{name}-devel = %{version}-%{release}
-
-%description unit-test
-%{summary}
-
-This package contains unit tests for project
-providing packages with %{import_path} prefix.
-%endif
+%{gobaseipath} prefix.
%prep
-%setup -q -n %{repo}-%{commit}
+%gosetup
%patch0 -p1
-%build
-
%install
-# source codes for building projects
-%if 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
-# find all *.go but no *_test.go files and generate devel.file-list
-for file in $(find . -iname "*.go" \! -iname "*_test.go") ; do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
-done
-%endif
-
-# testing files for this project
-%if 0%{?with_unit_test} && 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-# find all *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*_test.go"); do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list
-done
-%endif
-
-%if 0%{?with_devel}
-sort -u -o devel.file-list devel.file-list
-%endif
+%goinstall
%check
-%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
-%if ! 0%{?with_bundled}
-export GOPATH=%{buildroot}/%{gopath}:%{gopath}
-%else
-export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
-%endif
-
-%if ! 0%{?gotest:1}
-%global gotest go test
-%endif
-
-%gotest %{import_path}
-%endif
+%gochecks
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
-%if 0%{?with_devel}
%files devel -f devel.file-list
%license LICENSE
%doc README.md
-%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%files unit-test -f unit-test.file-list
-%license LICENSE
-%doc README.md
-%endif
%changelog
+* Wed Feb 28 2018 Jan Chaloupka <jchaloup(a)redhat.com> - 1.1.0-0.8.20160118gitaceac81
+- Autogenerate some parts using the new macros
+
* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.1.0-0.7.gitaceac81
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6 years, 3 months
Architecture specific change in rpms/golang-github-bugsnag-bugsnag-go.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-bugsnag-bugsnag-go.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-bugsnag-bugsnag-go.....
Change:
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
Thanks.
Full change:
============
commit 7ab49ceb9d4999e1916a80bcf4f044b584d5e0ac
Author: Jan Chaloupka <jchaloup(a)redhat.com>
Date: Wed Feb 28 10:34:44 2018 +0100
Autogenerate some parts using the new macros
diff --git a/golang-github-bugsnag-bugsnag-go.spec b/golang-github-bugsnag-bugsnag-go.spec
index 2921bcb..3aebf79 100644
--- a/golang-github-bugsnag-bugsnag-go.spec
+++ b/golang-github-bugsnag-bugsnag-go.spec
@@ -1,182 +1,63 @@
-# If any of the following macros should be set otherwise,
-# you can wrap any of them with the following conditions:
-# - %%if 0%%{centos} == 7
-# - %%if 0%%{?rhel} == 7
-# - %%if 0%%{?fedora} == 23
-# Or just test for particular distribution:
-# - %%if 0%%{centos}
-# - %%if 0%%{?rhel}
-# - %%if 0%%{?fedora}
-#
-# Be aware, on centos, both %%rhel and %%centos are set. If you want to test
-# rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition.
-# (Don't forget to replace double percentage symbol with single one in order to apply a condition)
-
-# Generate devel rpm
-%global with_devel 1
-# Build project from bundled dependencies
-%global with_bundled 0
-# Build with debug info rpm
-%global with_debug 0
-# Run tests in check section
-# Missing deps
-%global with_check 0
-# Generate unit-test rpm
-%global with_unit_test 0
-
-%if 0%{?with_debug}
-%global _dwz_low_mem_die_limit 0
-%else
-%global debug_package %{nil}
-%endif
-
-%global provider github
-%global provider_tld com
-%global project bugsnag
-%global repo bugsnag-go
# https://github.com/bugsnag/bugsnag-go
-%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
-%global import_path %{provider_prefix}
+%global provider_prefix github.com/bugsnag/bugsnag-go
+%global gobaseipath %{provider_prefix}
%global commit 13fd6b8acda029830ef9904df6b63be0a83369d0
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20150529
+
+%global __go_ignore_trees %{gobaseipath}/examples,%{gobaseipath}/revel
+
+%gocraftmeta -i
-Name: golang-%{provider}-%{project}-%{repo}
+Name: %{goname}
Version: 1.0.4
-Release: 9%{?dist}
+Release: 10%{?dist}
Summary: Automatic panic monitoring for golang, net/http and revel
License: MIT
-URL: https://%{provider_prefix}
-Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
-
+URL: %{gourl}
+Source0: %{gosource}
Patch0: change-import-path.patch
-# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
%description
%{summary}
-%if 0%{?with_devel}
%package devel
Summary: %{summary}
BuildArch: noarch
-%if 0%{?with_check}
-BuildRequires: golang(github.com/bitly/go-simplejson)
+#BuildRequires: golang(github.com/bitly/go-simplejson)
BuildRequires: golang(bitbucket.org/kardianos/osext)
BuildRequires: golang(github.com/bugsnag/panicwrap)
-BuildRequires: golang(github.com/juju/loggo)
-%endif
-
-Requires: golang(bitbucket.org/kardianos/osext)
-Requires: golang(github.com/bugsnag/panicwrap)
-
-Provides: golang(%{import_path}) = %{version}-%{release}
-Provides: golang(%{import_path}/errors) = %{version}-%{release}
-Provides: golang(%{import_path}/revel) = %{version}-%{release}
+#BuildRequires: golang(github.com/juju/loggo)
%description devel
%{summary}
This package contains library source intended for
building other packages which use import path with
-%{import_path} prefix.
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%package unit-test
-Summary: Unit tests for %{name} package
-%if 0%{?with_check}
-#Here comes all BuildRequires: PACKAGE the unit tests
-#in %%check section need for running
-%endif
-
-BuildRequires: golang(github.com/bitly/go-simplejson)
-BuildRequires: golang(github.com/juju/loggo)
-
-# test subpackage tests code from devel subpackage
-Requires: %{name}-devel = %{version}-%{release}
-#Requires: golang(github.com/bitly/go-simplejson)
-#Requires: golang(github.com/juju/loggo)
-
-%description unit-test
-%{summary}
-
-This package contains unit tests for project
-providing packages with %{import_path} prefix.
-%endif
+%{gobaseipath} prefix.
%prep
-%setup -q -n %{repo}-%{commit}
+%gosetup
%patch0 -p1
-%build
-
%install
-# source codes for building projects
-%if 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
-# find all *.go but no *_test.go files and generate devel.file-list
-for file in $(find . -iname "*.go" \! -iname "*_test.go") ; do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
-done
-%endif
-
-# testing files for this project
-%if 0%{?with_unit_test} && 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-# find all *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*_test.go"); do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list
-done
-%endif
-
-%if 0%{?with_devel}
-sort -u -o devel.file-list devel.file-list
-%endif
+%goinstall
%check
-%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
-%if ! 0%{?with_bundled}
-export GOPATH=%{buildroot}/%{gopath}:%{gopath}
-%else
-export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
-%endif
-
-%if ! 0%{?gotest:1}
-%global gotest go test
-%endif
-
-%gotest %{import_path}
-%gotest %{import_path}/errors
-%endif
+# Missing deps
+#%%gochecks
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
-%if 0%{?with_devel}
%files devel -f devel.file-list
%license LICENSE.txt
%doc CHANGELOG.md README.md CONTRIBUTING.md
-%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%files unit-test -f unit-test.file-list
-%license LICENSE.txt
-%doc CHANGELOG.md README.md CONTRIBUTING.md
-%endif
%changelog
+* Wed Feb 28 2018 Jan Chaloupka <jchaloup(a)redhat.com> - 1.0.4-10
+- Autogenerate some parts using the new macros
+
* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.0.4-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6 years, 3 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=e164541be4....
Change:
-%ifarch x86_64
Thanks.
Full change:
============
commit 0b98906c25bf8b13adc333f615d4a725dc756237
Merge: 994a33f abdf8da
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Feb 28 10:48:30 2018 +0100
Merge branch 'f27'
commit 994a33ffe044248563a565479613a52709450c61
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Feb 28 10:29:46 2018 +0100
Add condition for the client library component
diff --git a/mariadb.spec b/mariadb.spec
index 6005829..991cbb1 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -49,7 +49,11 @@
%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}}
# 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
%bcond_with clibrary
+%else
+%bcond_without clibrary
+%endif
%bcond_without embedded
%bcond_without devel
%bcond_without client
commit fd1545682aef32e78af7790ed1c087920df4bb6a
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Feb 26 16:12:02 2018 +0100
SPECfile refresh, RHEL6, SySV init and old fedora stuff removed
diff --git a/mariadb-scripts.patch b/mariadb-scripts.patch
index d12c402..fce33f6 100644
--- a/mariadb-scripts.patch
+++ b/mariadb-scripts.patch
@@ -4,7 +4,7 @@ be expanded by cmake. Cmake needs to know about them, so adding them manually.
diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLists.txt
--- mariadb-10.2.8/scripts/CMakeLists.txt.p7 2017-08-20 13:26:10.640779557 +0200
+++ mariadb-10.2.8/scripts/CMakeLists.txt 2017-08-20 13:27:05.774925486 +0200
-@@ -338,6 +338,35 @@ ELSE()
+@@ -338,6 +338,33 @@ ELSE()
)
ENDFOREACH()
@@ -14,14 +14,12 @@ diff -up mariadb-10.2.8/scripts/CMakeLists.txt.p7 mariadb-10.2.8/scripts/CMakeLi
+ mysql.service
+ mysql@.service
+ mysql-prepare-db-dir
-+ mysql-wait-ready
+ mysql-check-socket
+ mysql-check-upgrade
+ mysql-scripts-common
+ mysql_config_multilib
+ clustercheck
+ galera_new_cluster
-+ mysql.init
+ my.cnf
+ )
+ FOREACH(file ${SYSTEMD_SCRIPTS})
diff --git a/mariadb.spec b/mariadb.spec
index e55d6af..6005829 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -70,50 +70,34 @@
-# Include files for SysV init or systemd
-%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
-%bcond_without init_systemd
-%bcond_with init_sysv
-%global daemon_name %{name}
-%global daemondir %{_unitdir}
-%global daemon_no_prefix %{pkg_name}
-%global mysqld_pid_dir mariadb
-%else
-%bcond_with init_systemd
-%bcond_without init_sysv
-%global daemon_name mysqld
-%global daemondir %{_sysconfdir}/rc.d/init.d
-%global daemon_no_prefix mysqld
-%endif
-
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%if 0%{?fedora} >= 21 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
%bcond_without bundled_pcre
%else
%bcond_with bundled_pcre
%global pcre_bundled_version 8.41
%endif
+# Include systemd files
+%global daemon_name %{name}
+%global daemondir %{_unitdir}
+%global daemon_no_prefix %{pkg_name}
+%global mysqld_pid_dir mariadb
+
# We define some system's well known locations here so we can use them easily
# later when building to another location (like SCL)
%global logrotateddir %{_sysconfdir}/logrotate.d
%global logfiledir %{_localstatedir}/log/%{daemon_name}
%global logfile %{logfiledir}/%{daemon_name}.log
-
# Directory for storing pid file
-%if 0%{?rhel} == 6
-%global pidfiledir %{_localstatedir}/run/%{daemon_name}
-%else #RHEL 6
%global pidfiledir %{_rundir}/%{mysqld_pid_dir}
-%endif
-
# Defining where database data live
%global dbdatadir %{_localstatedir}/lib/mysql
-
# Home directory of mysql user should be same for all packages that create it
%global mysqluserhome /var/lib/mysql
+
# The evr of mysql we want to obsolete
%global obsoleted_mysql_evr 5.6-0
%global obsoleted_mysql_case_evr 5.5.30-5
@@ -134,7 +118,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 7%{?with_debug:.debug}%{?dist}
+Release: 8%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -151,14 +135,10 @@ Source7: README.mysql-license
Source10: mysql.tmpfiles.d.in
Source11: mysql.service.in
Source12: mysql-prepare-db-dir.sh
-# This script is needed in case of start with SysV init.
-# On Systemd environments service "type=notify" should be used instead
-Source13: mysql-wait-ready.sh
Source14: mysql-check-socket.sh
Source15: mysql-scripts-common.sh
Source16: mysql-check-upgrade.sh
Source18: mysql@.service.in
-Source19: mysql.init.in
Source50: rh-skipped-tests-base.list
Source51: rh-skipped-tests-arm.list
Source52: rh-skipped-tests-s390.list
@@ -191,6 +171,7 @@ BuildRequires: cmake gcc-c++
BuildRequires: zlib-devel
BuildRequires: multilib-rpm-config
BuildRequires: selinux-policy-devel
+BuildRequires: systemd systemd-devel
# TokuDB and some core stuff
BuildRequires: jemalloc-devel
@@ -203,7 +184,6 @@ BuildRequires: libedit-devel
BuildRequires: ncurses-devel
# debugging stuff
BuildRequires: systemtap-sdt-devel
-%{?with_init_systemd:BuildRequires: systemd systemd-devel}
# Bison SQL parser
BuildRequires: bison bison-devel
@@ -213,7 +193,7 @@ BuildRequires: pam-devel
%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
-%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: perl-interpreter
BuildRequires: perl-generators
%endif
@@ -270,14 +250,8 @@ Provides: mariadb-galera = %{sameevr}
Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr}
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
-%if 0%{?fedora} > 14 || 0%{?rhel} > 6
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
-%else
-%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d
-%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so)
-%filter_setup
-%endif
# Define license macro if not present
%{!?_licensedir:%global license %doc}
@@ -419,15 +393,10 @@ Requires(pre): /usr/sbin/useradd
# Bison SQL parser
# WHY?? (testsuite??)
Requires: bison
-
-%if %{with init_systemd}
# We require this to be present for %%{_tmpfilesdir}
Requires: systemd
# Make sure it's there when scriptlets run, too
-Requires(pre): systemd
-Requires(posttrans): systemd
-%{?systemd_requires: %systemd_requires}
-%endif
+%{?systemd_requires}
# RHBZ#1496131; use 'iproute' instead of 'net-tools'
Requires: iproute
%if %{with mysql_names}
@@ -724,18 +693,13 @@ cat %{SOURCE52} | tee -a mysql-test/unstable-tests
cat %{SOURCE53} | tee -a mysql-test/unstable-tests
%endif
-cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \
- %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE19} \
- %{SOURCE70} scripts
+cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \
+ %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE18} %{SOURCE70} scripts
%if %{with galera}
# prepare selinux policy
mkdir selinux
sed 's/mariadb-server-galera/%{name}-server-galera/' %{SOURCE72} > selinux/%{name}-server-galera.te
-%if 0%{?rhel} == 6
-sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera.te
-%endif
-cat selinux/%{name}-server-galera.te
%endif
@@ -923,7 +887,6 @@ mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d
rm %{buildroot}%{_sysconfdir}/init.d/mysql
rm %{buildroot}%{_libexecdir}/rcmysql
# install systemd unit files and scripts for handling server startup
-%if %{with init_systemd}
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
@@ -933,20 +896,12 @@ install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{nam
%if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
%endif #pid
-%endif #systemd
-# install SysV init script
-%if %{with init_sysv}
-install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name}
-%endif
# helper scripts for service starting
install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir
install -p -m 755 scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket
install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-check-upgrade
install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
-%if %{with init_sysv}
-install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready
-%endif
# install aditional galera selinux policy
%if %{with galera}
@@ -1004,10 +959,6 @@ install -p -m 0644 support-files/wsrep.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/g
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
-# install the galera_new_cluster script anyway
-%if %{without init_systemd}
-install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster
-%endif
# remove duplicate logrotate script
rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
@@ -1121,11 +1072,9 @@ rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
rm %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
rm %{buildroot}%{_bindir}/{clustercheck,galera_new_cluster}
-%if %{with init_systemd}
rm %{buildroot}%{_bindir}/galera_recovery
rm %{buildroot}%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
%endif
-%endif
@@ -1198,25 +1147,10 @@ semodule -i %{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp >/dev/
%endif
%post server
-%if %{with init_systemd}
%systemd_post %{daemon_name}.service
-%endif
-%if %{with init_sysv}
-if [ $1 = 1 ]; then
- /sbin/chkconfig --add %{daemon_name}
-fi
-%endif
%preun server
-%if %{with init_systemd}
%systemd_preun %{daemon_name}.service
-%endif
-%if %{with init_sysv}
-if [ $1 = 0 ]; then
- /sbin/service %{daemon_name} stop >/dev/null 2>&1
- /sbin/chkconfig --del %{daemon_name}
-fi
-%endif
%if %{with clibrary}
# Can be dropped on F27 EOL
@@ -1236,14 +1170,7 @@ fi
%endif
%postun server
-%if %{with init_systemd}
%systemd_postun_with_restart %{daemon_name}.service
-%endif
-%if %{with init_sysv}
-if [ $1 -ge 1 ]; then
- /sbin/service %{daemon_name} condrestart >/dev/null 2>&1 || :
-fi
-%endif
@@ -1341,10 +1268,8 @@ fi
%license LICENSE.clustercheck
%{_bindir}/clustercheck
%{_bindir}/galera_new_cluster
-%if %{with init_systemd}
%{_bindir}/galera_recovery
%{_datadir}/%{pkg_name}/systemd/use_galera_new_cluster.conf
-%endif
%config(noreplace) %{_sysconfdir}/my.cnf.d/galera.cnf
%attr(0640,root,root) %ghost %config(noreplace) %{_sysconfdir}/sysconfig/clustercheck
%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
@@ -1358,9 +1283,7 @@ fi
%{_bindir}/aria_ftdump
%{_bindir}/aria_pack
%{_bindir}/aria_read_log
-%if %{with init_systemd}
%{_bindir}/mariadb-service-convert
-%endif
%{_bindir}/myisamchk
%{_bindir}/myisam_ftdump
%{_bindir}/myisamlog
@@ -1464,24 +1387,19 @@ fi
%{_datadir}/%{pkg_name}/policy/selinux/README
%{_datadir}/%{pkg_name}/policy/selinux/mariadb-server.*
%{_datadir}/%{pkg_name}/policy/selinux/mariadb.*
-%if %{with init_systemd}
%{_datadir}/%{pkg_name}/systemd/mariadb.service
# mariadb@ is installed only when we have cmake newer than 3.3
-%if 0%{?fedora} > 22 || 0%{?rhel} > 7
+%if 0%{?fedora} || 0%{?rhel} > 7
%{_datadir}/%{pkg_name}/systemd/mariadb@.service
%endif
-%endif
%{daemondir}/%{daemon_name}*
%{_libexecdir}/mysql-prepare-db-dir
%{_libexecdir}/mysql-check-socket
%{_libexecdir}/mysql-check-upgrade
%{_libexecdir}/mysql-scripts-common
-%if %{with init_sysv}
-%{_libexecdir}/mysql-wait-ready
-%endif
-%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf}
+%{_tmpfilesdir}/%{name}.conf
%attr(0755,mysql,mysql) %dir %{pidfiledir}
%attr(0755,mysql,mysql) %dir %{dbdatadir}
%attr(0750,mysql,mysql) %dir %{logfiledir}
@@ -1618,6 +1536,9 @@ fi
%endif
%changelog
+* Mon Feb 26 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-8
+- SPECfile refresh, RHEL6, SySV init and old fedora stuff removed
+
* Sun Feb 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-7
- Rebuilt for ldconfig_post and ldconfig_postun bug
Related: #1548331
diff --git a/mysql-wait-ready.sh b/mysql-wait-ready.sh
deleted file mode 100644
index 2ed5fe1..0000000
--- a/mysql-wait-ready.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-
-source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common"
-
-# This script waits for mysqld to be ready to accept connections
-# (which can be many seconds or even minutes after launch, if there's
-# a lot of crash-recovery work to do).
-# Running this as ExecStartPost is useful so that services declared as
-# "After mysqld" won't be started until the database is really ready.
-
-if [ $# -ne 1 ] ; then
- echo "You need to pass daemon pid as an argument for this script."
- exit 20
-fi
-
-# Service file passes us the daemon's PID (actually, mysqld_safe's PID)
-daemon_pid="$1"
-
-# Wait for the server to come up or for the mysqld process to disappear
-ret=0
-while /bin/true; do
- # Check process still exists
- if ! [ -d "/proc/${daemon_pid}" ] ; then
- ret=1
- break
- fi
- RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
- mret=$?
- if [ $mret -eq 0 ] ; then
- break
- fi
- # exit codes 1, 11 (EXIT_CANNOT_CONNECT_TO_SERVICE) are expected,
- # anything else suggests a configuration error
- if [ $mret -ne 1 -a $mret -ne 11 ]; then
- echo "Cannot check for @NICE_PROJECT_NAME@ Daemon startup because of mysqladmin failure." >&2
- ret=$mret
- break
- fi
- # "Access denied" also means the server is alive
- echo "$RESPONSE" | grep -q "Access denied for user" && break
-
- sleep 1
-done
-
-exit $ret
diff --git a/mysql.init.in b/mysql.init.in
deleted file mode 100644
index 0282399..0000000
--- a/mysql.init.in
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/bin/sh
-#
-# @DAEMON_NAME@ This shell script takes care of starting and stopping
-# the MySQL subsystem (mysqld).
-#
-# chkconfig: - 64 36
-# description: MySQL database server.
-# processname: mysqld
-# config: @sysconfdir(a)/my.cnf
-# pidfile: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid
-### BEGIN INIT INFO
-# Provides: mysqld
-# Required-Start: $local_fs $remote_fs $network $named $syslog $time
-# Required-Stop: $local_fs $remote_fs $network $named $syslog $time
-# Short-Description: start and stop MySQL server
-# Description: MySQL database server
-### END INIT INFO
-
-# Source function library.
-. /etc/rc.d/init.d/functions
-
-# Source networking configuration.
-. /etc/sysconfig/network
-
-
-exec="@bindir@/mysqld_safe"
-prog="@DAEMON_NAME@"
-
-# Set timeouts here so they can be overridden from @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@
-STARTTIMEOUT=300
-STOPTIMEOUT=60
-
-# User and group the daemon will run under
-MYUSER=mysql
-MYGROUP=mysql
-
-# Edit the following file in order to re-write some of the environment
-# variables defined above, like $STARTTIMEOUT, $STOPTIMEOUT, $exec
-[ -e @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@ ] && . @sysconfdir@/sysconfig/@DAEMON_NO_PREFIX@
-
-lockfile=/var/lock/subsys/$prog
-
-# get options from my.cnf
-source "@libexecdir@/mysql-scripts-common"
-
-start(){
- [ -x $exec ] || exit 5
-
- # check permissions
- if ! touch $(dirname $socketfile) &>/dev/null ; then
- action $"Starting $prog: " /bin/false
- return 4
- fi
-
- # check to see if it's already running
- MYSQLDRUNNING=0
- if [ -f "$pidfile" ]; then
- MYSQLPID=`cat "$pidfile" 2>/dev/null`
- if [ -n "$MYSQLPID" ] && [ -d "/proc/$MYSQLPID" ] ; then
- MYSQLDRUNNING=1
- fi
- fi
- RESPONSE=`@bindir@/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1`
- if [ $MYSQLDRUNNING = 1 ] && [ $? = 0 ]; then
- # already running, do nothing
- action $"Starting $prog: " /bin/true
- ret=0
- elif [ $MYSQLDRUNNING = 1 ] && echo "$RESPONSE" | grep -q "Access denied for user"
- then
- # already running, do nothing
- action $"Starting $prog: " /bin/true
- ret=0
- else
- @libexecdir@/mysql-check-socket >/dev/null || return 1
- su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4
-
- # Pass all the options determined above, to ensure consistent behavior.
- # In many cases mysqld_safe would arrive at the same conclusions anyway
- # but we need to be sure. (An exception is that we don't force the
- # log-error setting, since this script doesn't really depend on that,
- # and some users might prefer to configure logging to syslog.)
- # Note: set --basedir to prevent probes that might trigger SELinux
- # alarms, per bug #547485
- su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \
- --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \
- --basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 &
- safe_pid=$!
-
- # Wait until the daemon is up
- su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'"
- ret=$?
-
- if [ $ret -eq 0 ]; then
- action $"Starting $prog: " /bin/true
- chmod o+r $pidfile >/dev/null 2>&1
- touch $lockfile
- else
- action $"Starting $prog: " /bin/false
- fi
- fi
- return $ret
-}
-
-stop(){
- if [ ! -f "$pidfile" ]; then
- # not running; per LSB standards this is "ok"
- action $"Stopping $prog: " /bin/true
- return 0
- fi
- MYSQLPID=`cat "$pidfile" 2>/dev/null`
- if [ -n "$MYSQLPID" ]; then
- if ! [ -d "/proc/$MYSQLPID" ] ; then
- # process doesn't run anymore
- action $"Stopping $prog: " /bin/true
- return 0
- fi
- /bin/kill "$MYSQLPID" >/dev/null 2>&1
- ret=$?
- if [ $ret -eq 0 ]; then
- TIMEOUT="$STOPTIMEOUT"
- while [ $TIMEOUT -gt 0 ]; do
- /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break
- sleep 1
- let TIMEOUT=${TIMEOUT}-1
- done
- if [ $TIMEOUT -eq 0 ]; then
- echo "Timeout error occurred trying to stop MySQL Daemon."
- ret=1
- action $"Stopping $prog: " /bin/false
- else
- rm -f $lockfile
- rm -f "$socketfile"
- action $"Stopping $prog: " /bin/true
- fi
- else
- # kill command failed, probably insufficient permissions
- action $"Stopping $prog: " /bin/false
- ret=4
- fi
- else
- # failed to read pidfile, probably insufficient permissions
- action $"Stopping $prog: " /bin/false
- ret=4
- fi
- return $ret
-}
-
-restart(){
- stop
- start
-}
-
-condrestart(){
- [ -e $lockfile ] && restart || :
-}
-
-
-# See how we were called.
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- status -p "$pidfile" $prog
- ;;
- restart)
- restart
- ;;
- condrestart|try-restart)
- condrestart
- ;;
- reload)
- exit 3
- ;;
- force-reload)
- restart
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
- exit 2
-esac
-
-exit $?
commit 094243a05a8bd278f12d946f2de39a2364b4b842
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Feb 25 11:47:21 2018 +0100
Release bump for rebuild
diff --git a/mariadb.spec b/mariadb.spec
index 0b2035a..e55d6af 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -134,7 +134,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 6%{?with_debug:.debug}%{?dist}
+Release: 7%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1618,6 +1618,10 @@ fi
%endif
%changelog
+* Sun Feb 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-7
+- Rebuilt for ldconfig_post and ldconfig_postun bug
+ Related: #1548331
+
* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 3:10.2.12-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
commit 76677bb0ec1ad0c447c4b1d307ff2fb74b3bf088
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Feb 25 02:39:07 2018 +0100
Remove hardening if-clauses. Do the hardening always.
Use upstream -DSECURITY_HARDENED=ON which will eanable -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2
diff --git a/mariadb.spec b/mariadb.spec
index 7b159de..0b2035a 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -12,10 +12,6 @@
%global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
-# Use Full RELRO for all binaries (RHBZ#1092548)
-# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages
-%global _hardened_build 1
-
# By default, patch(1) creates backup files when chunks apply with offsets.
# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
%global _default_patch_flags --no-backup-if-mismatch
@@ -31,9 +27,6 @@
# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
# RocksB engine is available only for x86_64
%ifarch x86_64
-# Disable TokuDB since 10.1.12 on F>=28
-# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail
-# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates
%bcond_without tokudb
%bcond_without mroonga
%bcond_without rocksdb
@@ -806,13 +799,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS
-%if 0%{?_hardened_build}
-# building with PIE
-LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now"
-export LDFLAGS
-# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON
-# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2
-%endif
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
# so we can't use %%{_datadir} and so forth here.
@@ -847,7 +833,7 @@ export LDFLAGS
-DTMPDIR=/var/tmp \
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=ON \
- -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \
+ -DSECURITY_HARDENED=ON \
-DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
-DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
-DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
@@ -864,8 +850,7 @@ export LDFLAGS
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect: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} \
-%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
+%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON}
# Print all Cmake options values
cmake -L
commit c34f1617838742cf534e6946f077fef5291e9aa6
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Feb 25 02:36:23 2018 +0100
Prefer MariaDB over MySQL in DNF package resolution
diff --git a/mariadb.spec b/mariadb.spec
index 3f9cde9..7b159de 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -400,6 +400,7 @@ Summary: The MariaDB server and related files
%if %{with mysql_names}
Requires: mysql-compat-client%{?_isa}
Requires: mysql%{?_isa}
+Recommends: %{name}%{?_isa}
%else
Requires: %{name}%{?_isa}
%endif
commit 5fe00622cb6671986d8baadb4bdf9799364fb463
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Feb 18 20:12:10 2018 +0100
Use -DINSTALL_MYSQLTESTDIR Cmake argument correctly; https://jira.mariadb.org/browse/MDEV-14972
diff --git a/mariadb.spec b/mariadb.spec
index 7271dc7..3f9cde9 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -835,7 +835,7 @@ export LDFLAGS
-DINSTALL_LIBDIR="%{_lib}" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \
- -DINSTALL_MYSQLTESTDIR=share/mysql-test \
+ -DINSTALL_MYSQLTESTDIR=%{?with_test:share/mysql-test}%{!?with_test:} \
-DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
@@ -967,12 +967,13 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait
install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
%endif
+%if %{with test}
# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
# Provide symlink expected by RH QA tests
ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
-
+%endif
# Client that uses libmysqld embedded server.
@@ -1125,10 +1126,9 @@ rm -r %{buildroot}%{_datadir}/sql-bench
rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
%endif # embedded
-rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest}
+rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
-rm -r %{buildroot}%{_datadir}/mysql-test
%endif # test
%if %{without galera}
commit 538105c8fd7d90615d3be94cd3c048ca37fca014
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Feb 9 14:39:47 2018 +0100
Add comment
diff --git a/mariadb.spec b/mariadb.spec
index d08d52b..7271dc7 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -158,6 +158,8 @@ Source7: README.mysql-license
Source10: mysql.tmpfiles.d.in
Source11: mysql.service.in
Source12: mysql-prepare-db-dir.sh
+# This script is needed in case of start with SysV init.
+# On Systemd environments service "type=notify" should be used instead
Source13: mysql-wait-ready.sh
Source14: mysql-check-socket.sh
Source15: mysql-scripts-common.sh
commit b75aea1dab06d02f16d47fdadd01ca1ce78af99f
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Feb 8 00:57:05 2018 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/mariadb.spec b/mariadb.spec
index 33a1b44..d08d52b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 5%{?with_debug:.debug}%{?dist}
+Release: 6%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1630,6 +1630,9 @@ fi
%endif
%changelog
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 3:10.2.12-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
* Fri Jan 26 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-5
- Use '-ldl' compiler flag when associated library used
Resolves: #1538990
commit 39512bdd8b5b992937bd15f8b847d8b60a38ecc3
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Tue Jan 30 11:55:36 2018 +0100
Update ldconfig scriptlets
diff --git a/mariadb.spec b/mariadb.spec
index 852095c..33a1b44 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1190,11 +1190,13 @@ export MTR_BUILD_THREAD=%{__isa_bits}
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
%if %{with clibrary}
-%post libs -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_post libs
%endif
%if %{with embedded}
-%post embedded -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_post embedded
%endif
%if %{with galera}
@@ -1229,11 +1231,13 @@ fi
%endif
%if %{with clibrary}
-%postun libs -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_postun libs
%endif
%if %{with embedded}
-%postun embedded -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_postun embedded
%endif
%if %{with galera}
commit e096affc6f6b2d2e6f04332c6429abd817bb2d22
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Jan 27 02:34:32 2018 +0100
Extend failing tests list for PPC
diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list
index 5fd4928..5fc204e 100644
--- a/rh-skipped-tests-ppc.list
+++ b/rh-skipped-tests-ppc.list
@@ -1,2 +1,6 @@
# Fails since 10.1.12 only on PPC64
innodb_fts.fulltext :
+# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds
+innodb.innodb_defrag_concurrent :
+parts.partition_alter1_2_innodb :
+
commit daa1ad6dc4ee819f70ef66f6f2016e623d096274
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jan 26 18:26:43 2018 +0100
Use '-ldl' compiler flag when associated library used
Resolves: #1538990
diff --git a/mariadb.spec b/mariadb.spec
index 2c10373..852095c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 4%{?with_debug:.debug}%{?dist}
+Release: 5%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -788,6 +788,8 @@ 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"
+# Use -ldl for some plugins #1538990
+CFLAGS="$CFLAGS -ldl"
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298
# Note: sparc = s390
%ifarch sparc sparcv9 sparc64
@@ -1624,6 +1626,10 @@ fi
%endif
%changelog
+* Fri Jan 26 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-5
+- Use '-ldl' compiler flag when associated library used
+ Resolves: #1538990
+
* Thu Jan 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-4
- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
configuration by upstream (without Jemalloc).
commit 0f8f4c807c8038be33a65ea3464b73a67228a4a2
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jan 25 12:09:50 2018 +0100
Use downstream tmpfiles instead of the upstream one; #1538066
diff --git a/mariadb.spec b/mariadb.spec
index eb9dda8..2c10373 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -926,6 +926,9 @@ 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}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.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
@@ -933,6 +936,9 @@ rm %{buildroot}%{_libexecdir}/rcmysql
%if %{with init_systemd}
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}/usr/lib/tmpfiles.d/tmpfiles.conf
+# Install downstream version
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
@@ -988,10 +994,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
# Shipped as a standalona package in Fedora
rm %{buildroot}%{_bindir}/mytop
-# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
-mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf
-mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf
-
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
@@ -1626,6 +1628,8 @@ fi
- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
configuration by upstream (without Jemalloc).
Jemmalloc has been updated to version 5, which isn't backwards compatible.
+- Use downstream tmpfiles instead of the upstream one
+ Related: #1538066
* Sat Jan 20 2018 Björn Esser <besser82(a)fedoraproject.org> - 3:10.2.12-3
- Rebuilt for switch to libxcrypt
commit d582a409d752f02363191ef7a85842cfb0c6c1bf
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jan 25 11:59:14 2018 +0100
Fix upgrade path - do build TokuDB, but build a configuration unsupported by upstream (Build without Jemalloc)
diff --git a/mariadb.spec b/mariadb.spec
index 5f10e7e..eb9dda8 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -34,7 +34,7 @@
# Disable TokuDB since 10.1.12 on F>=28
# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail
# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates
-%bcond_with tokudb
+%bcond_without tokudb
%bcond_without mroonga
%bcond_without rocksdb
%else
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 3%{?with_debug:.debug}%{?dist}
+Release: 4%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -849,7 +849,7 @@ export LDFLAGS
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_JEMALLOC=system \
+ -DWITH_JEMALLOC=no \
-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} \
@@ -1622,6 +1622,11 @@ fi
%endif
%changelog
+* Thu Jan 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-4
+- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
+ configuration by upstream (without Jemalloc).
+ Jemmalloc has been updated to version 5, which isn't backwards compatible.
+
* Sat Jan 20 2018 Björn Esser <besser82(a)fedoraproject.org> - 3:10.2.12-3
- Rebuilt for switch to libxcrypt
commit 95af530dbb505654ae860f009fb89c9376205858
Author: Björn Esser <besser82(a)fedoraproject.org>
Date: Sat Jan 20 23:07:11 2018 +0100
Rebuilt for switch to libxcrypt
diff --git a/mariadb.spec b/mariadb.spec
index 177ad1f..5f10e7e 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 3%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1622,6 +1622,9 @@ fi
%endif
%changelog
+* Sat Jan 20 2018 Björn Esser <besser82(a)fedoraproject.org> - 3:10.2.12-3
+- Rebuilt for switch to libxcrypt
+
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
commit a6ee91f1b4e52dc96f42f0de13682e15aa60a384
Author: Honza Horak <hhorak(a)redhat.com>
Date: Tue Nov 7 12:24:46 2017 +0100
Print the same messages as before when starting the service in SysV init, to not scare users
Related: #1463411
diff --git a/mariadb.spec b/mariadb.spec
index 288c534..177ad1f 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1627,6 +1627,9 @@ fi
- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
same as it is done in case of systemd unit file
Related: #1455850
+- Print the same messages as before when starting the service in SysV init,
+ to not scare users
+ Related: #1463411
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh
index 785ddc2..22d0566 100644
--- a/mysql-prepare-db-dir.sh
+++ b/mysql-prepare-db-dir.sh
@@ -68,11 +68,11 @@ else
# Provide some advice if the log file cannot be created by this script
errlogdir=$(dirname "$errlogfile")
if ! [ -d "$errlogdir" ] ; then
- echo "The directory $errlogdir does not exist."
+ echo "The directory $errlogdir does not exist." >&2
exit 1
elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then
- echo "The log file $errlogfile cannot be written, please, fix its permissions."
- echo "The daemon will be run under $myuser:$mygroup"
+ echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2
+ echo "The daemon will be run under $myuser:$mygroup" >&2
exit 1
fi
fi
@@ -90,14 +90,14 @@ if should_initialize "$datadir" ; then
[ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
# Now create the database
- echo "Initializing @NICE_PROJECT_NAME@ database"
+ echo "Initializing @NICE_PROJECT_NAME@ database" >&2
# Avoiding deletion of files not created by mysql_install_db is
# guarded by time check and sleep should help work-arounded
# potential issues on systems with 1 second resolution timestamps
# https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19
INITDB_TIMESTAMP=`LANG=C date -u`
sleep 1
- @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser"
+ @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" >&2
ret=$?
if [ $ret -ne 0 ] ; then
echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2
@@ -128,8 +128,8 @@ else
else
# if the directory is not empty but mysql/ directory is missing, then
# print error and let user to initialize manually or empty the directory
- echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done."
- echo "Make sure the $datadir is empty before running `basename $0`."
+ echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2
+ echo "Make sure the $datadir is empty before running `basename $0`." >&2
exit 1
fi
fi
diff --git a/mysql.init.in b/mysql.init.in
index aa3b809..0282399 100644
--- a/mysql.init.in
+++ b/mysql.init.in
@@ -71,8 +71,8 @@ start(){
action $"Starting $prog: " /bin/true
ret=0
else
- @libexecdir@/mysql-check-socket || return 1
- su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4
+ @libexecdir@/mysql-check-socket >/dev/null || return 1
+ su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4
# Pass all the options determined above, to ensure consistent behavior.
# In many cases mysqld_safe would arrive at the same conclusions anyway
commit a77a3d64a18ba85a7c8f0a27dd8b0a4d64661b28
Author: Honza Horak <hhorak(a)redhat.com>
Date: Sun Sep 24 12:55:50 2017 +0200
Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file
Related: #1455850
diff --git a/mariadb.spec b/mariadb.spec
index 597b544..288c534 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1624,6 +1624,9 @@ fi
%changelog
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
+- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
+ same as it is done in case of systemd unit file
+ Related: #1455850
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
diff --git a/mysql.init.in b/mysql.init.in
index 6ae046c..aa3b809 100644
--- a/mysql.init.in
+++ b/mysql.init.in
@@ -82,7 +82,7 @@ start(){
# Note: set --basedir to prevent probes that might trigger SELinux
# alarms, per bug #547485
su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \
- --pid-file='$pidfile' \
+ --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \
--basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 &
safe_pid=$!
commit 16cf4d2abf26cb2e604f5ab308b2be1abc110087
Author: Honza Horak <hhorak(a)redhat.com>
Date: Thu Nov 23 22:15:32 2017 +0100
Remove jar files used for testing from the source
Related: #1463417
diff --git a/mariadb.spec b/mariadb.spec
index f5e18e9..597b544 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -699,6 +699,9 @@ sources.
%prep
%setup -q -n mariadb-%{version}
+# Removt JAR files that upstream puts into tarball
+find . -name "*.jar" -type f -exec rm --verbose -f {} \;
+
%patch4 -p1
%patch7 -p1
%patch9 -p1
@@ -854,6 +857,8 @@ export LDFLAGS
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect: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} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
@@ -1013,10 +1018,6 @@ install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_
# remove duplicate logrotate script
rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
-# remove *.jar file from mysql-test
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
@@ -1621,6 +1622,9 @@ fi
%endif
%changelog
+* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
+- Do not build connect plugin with mongo and jdbc connectors
+
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
commit bbf3a20d30c8913206abc68c26dccb0637c88860
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 11 12:55:15 2017 +0100
Rebase to 10.2.12
Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
TokuDB disabled
Failing tests lists updated
diff --git a/mariadb.spec b/mariadb.spec
index 7834d98..f5e18e9 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -13,6 +13,7 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
# Use Full RELRO for all binaries (RHBZ#1092548)
+# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages
%global _hardened_build 1
# By default, patch(1) creates backup files when chunks apply with offsets.
@@ -30,7 +31,10 @@
# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
# RocksB engine is available only for x86_64
%ifarch x86_64
-%bcond_without tokudb
+# Disable TokuDB since 10.1.12 on F>=28
+# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail
+# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates
+%bcond_with tokudb
%bcond_without mroonga
%bcond_without rocksdb
%else
@@ -133,7 +137,7 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 11
+%global bugfixver 12
Name: mariadb
Version: %{compatver}.%{bugfixver}
@@ -798,6 +802,8 @@ export CFLAGS CXXFLAGS
# building with PIE
LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now"
export LDFLAGS
+# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON
+# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2
%endif
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
@@ -833,6 +839,7 @@ export LDFLAGS
-DTMPDIR=/var/tmp \
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=ON \
+ -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \
-DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
-DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
-DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
@@ -846,14 +853,10 @@ export LDFLAGS
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
- -DTOKUDB_OK=1 \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# -DTOKUDB_OK=1
-# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537
-
# Print all Cmake options values
cmake -L
@@ -980,7 +983,9 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
# Shipped as a standalona package in Fedora
rm %{buildroot}%{_bindir}/mytop
-
+# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
+mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf
+mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
@@ -1149,9 +1154,10 @@ export MTR_BUILD_THREAD=%{__isa_bits}
# avoid redundant test runs with --binlog-format=mixed
# increase timeouts to prevent unwanted failures during mass rebuilds
-# Failing test debug 02/14/17
+# Usefull arguments:
# --do-test=mysql_client_test_nonblock \
# --skip-rpl
+# --suite=roles
(
set -ex
@@ -1485,6 +1491,13 @@ fi
%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
%config(noreplace) %{logrotateddir}/%{daemon_name}
+# New systemd feature - used to reconstruct damaged /etc
+# https://github.com/MariaDB/server/commit/7bbc6c14d1
+%dir /usr/lib/sysusers.d
+/usr/lib/sysusers.d/mariadb.conf
+%dir /usr/lib/tmpfiles.d
+/usr/lib/tmpfiles.d/mariadb.conf
+
%if %{with cracklib}
%files cracklib-password-check
%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
@@ -1608,6 +1621,11 @@ fi
%endif
%changelog
+* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
+- Rebase to 10.2.12
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
+- TokuDB disabled
+
* Mon Dec 11 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-2
- Temporary fix for #1523875 removed, bug in Annobin fixed
Resolves: #1523875
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 022dda6..11d5a9b 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -2,13 +2,10 @@
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com...
main.ssl_7937 : #1399847
main.ssl_crl_clients : #1399847
-main.ssl_cert_verify : #1399847
#
-main.userstat : #1399847
main.non_blocking_api : #1399847
perfschema.nesting : #1399847
-perfschema.socket_summary_by_event_name_func : #1399847
perfschema.socket_summary_by_instance_func : #1399847
# <mkocka(a)redhat.com> needs this tests disabled for mode build
@@ -27,14 +24,18 @@ rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic :
+# Fails since 10.1.12
+innodb.innodb_defrag_binlog :
+
+# Fails on PPC, PPC64 and AArch
+parts.partition_alter4_innodb : #1399847
+
# https://jira.mariadb.org/browse/MDEV-14003
-spider/bg.spider3_fixes :
spider/bg.spider3_fixes_part :
spider/bg.spider_fixes :
spider/bg.spider_fixes_part :
spider/bg.basic_sql :
spider/bg.basic_sql_part :
-spider/bg.direct_aggregate :
spider/bg.direct_aggregate_part :
spider/bg.direct_update :
spider/bg.direct_update_part :
@@ -55,4 +56,3 @@ spider.function :
spider.ha :
spider.ha_part :
spider.vp_fixes :
-
diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list
index f396da3..5fd4928 100644
--- a/rh-skipped-tests-ppc.list
+++ b/rh-skipped-tests-ppc.list
@@ -1,4 +1,2 @@
-parts.partition_alter4_innodb : #1399847
-connect.tbl_thread : warnings in log
-partition_alter1_2_innodb : warnings in log
-partition_alter2_1_1_innodb : warnings in log
+# Fails since 10.1.12 only on PPC64
+innodb_fts.fulltext :
diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list
index 5f46945..e69de29 100644
--- a/rh-skipped-tests-s390.list
+++ b/rh-skipped-tests-s390.list
@@ -1,6 +0,0 @@
-encryption.innodb-read-only : #1399847
-multi_source.gtid : warnings in log
-sys_vars.innodb_autoextend_increment_basic : warnings in log
-vcol.vcol_keys_innodb : warnings in log
-
-encryption.innodb-compressed-blob : started failing with 10.2.11 release
diff --git a/sources b/sources
index d8648b0..dc9be41 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44
+SHA512 (mariadb-10.2.12.tar.gz) = 8d3d3c84d4a01d6047e4f2b6802eb802e1f6a7b0e10e981c7ef9fdd27a5a25baab0af47a21b8637f4cbb9d21ef3bcc85097c5fdb8745c2a79040ab87fecb5a7b
commit 1b8fb85b0fa3aed4703b0012f798cd52cfdc693b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 11 12:55:15 2017 +0100
Temporary fix for #1523875 removed, bug in Annobin fixed
diff --git a/mariadb.spec b/mariadb.spec
index b733618..7834d98 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -137,7 +137,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -791,9 +791,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
%endif
-# Temporary fix for rhbz#1523875
-CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" `
-
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS
@@ -1611,10 +1608,15 @@ fi
%endif
%changelog
+* Mon Dec 11 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-2
+- Temporary fix for #1523875 removed, bug in Annobin fixed
+ Resolves: #1523875
+
* Sat Dec 09 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-1
- Rebase to 10.2.11
- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
- Temporary fix for #1523875 intoruced
+ Related: #1523875
* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
commit 09ab3ccf28641b3f8753b3b86c2f9f4816b59cce
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 21:50:34 2017 +0100
Add failing test for 10.2.11 release
diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list
index 52e7587..5f46945 100644
--- a/rh-skipped-tests-s390.list
+++ b/rh-skipped-tests-s390.list
@@ -2,3 +2,5 @@ encryption.innodb-read-only : #1399847
multi_source.gtid : warnings in log
sys_vars.innodb_autoextend_increment_basic : warnings in log
vcol.vcol_keys_innodb : warnings in log
+
+encryption.innodb-compressed-blob : started failing with 10.2.11 release
commit 53adb7991c20819c959d44eade073a9c43e30ffe
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 18:57:49 2017 +0100
Added reasons in comments to removed files section.
Based on a question asked on the usptream mailing list: https://lists.launchpad.net/maria-developers/msg11028.html
diff --git a/mariadb.spec b/mariadb.spec
index 7f08e63..b733618 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -406,6 +406,8 @@ Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}
Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}
Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}
+Suggests: mytop
+
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
@@ -957,21 +959,29 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/
ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
-# should move this to /etc/ ?
-# WHY??
-%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client
+# 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}
+# Static libraries
rm %{buildroot}%{_libdir}/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server.
-
-# WHY??
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton?
-
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ]
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql
-
-# WHY??
-rm %{buildroot}%{_bindir}/mytop #not shipped by upstream
+# This script creates the MySQL system tables and starts the server.
+# Upstream says:
+# It looks like it's just "mysql_install_db && mysqld_safe"
+# I've never heard of anyone using it, I'd say, no need to pack it.
+rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
+# FS files first-bytes recoginiton
+# Not updated by upstream since nobody realy use that
+rm %{buildroot}%{_datadir}/%{pkg_name}/magic
+
+# Upstream ships them because of, https://jira.mariadb.org/browse/MDEV-10797
+# In Fedora we use our own systemd unit files and scripts
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
+
+# Binary for monitoring MySQL performance
+# Shipped as a standalona package in Fedora
+rm %{buildroot}%{_bindir}/mytop
commit 1edbdde313557017d18051409ba525a632bcdd55
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 02:46:07 2017 +0100
Include aliases for mariadb service; #1520905
diff --git a/mysql.service.in b/mysql.service.in
index 8292553..bb5b8c2 100644
--- a/mysql.service.in
+++ b/mysql.service.in
@@ -67,3 +67,5 @@ PrivateTmp=true
[Install]
WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
diff --git a/mysql@.service.in b/mysql@.service.in
index 3bf386d..34e645f 100644
--- a/mysql@.service.in
+++ b/mysql@.service.in
@@ -73,3 +73,5 @@ PrivateTmp=true
[Install]
WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
commit e44669641a2ed459ea5a3dd2af7597874c0c3f9e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 02:34:41 2017 +0100
Rebase to 10.2.11
Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
Temporary fix for #1523875 intoruced
diff --git a/mariadb.spec b/mariadb.spec
index f272e34..7f08e63 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -133,11 +133,11 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 10
+%global bugfixver 11
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -788,6 +788,10 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
%ifarch ppc64
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
%endif
+
+# Temporary fix for rhbz#1523875
+CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" `
+
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS
@@ -843,10 +847,14 @@ export LDFLAGS
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
+ -DTOKUDB_OK=1 \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
+# -DTOKUDB_OK=1
+# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537
+
# Print all Cmake options values
cmake -L
@@ -1428,8 +1436,16 @@ fi
%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql
%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql
%{_datadir}/%{pkg_name}/mysql_performance_tables.sql
-%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql}
-%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql}
+%if %{with mroonga}
+%{_datadir}/%{pkg_name}/mroonga/install.sql
+%{_datadir}/%{pkg_name}/mroonga/uninstall.sql
+%license %{_datadir}/%{pkg_name}/mroonga/COPYING
+%license %{_datadir}/%{pkg_name}/mroonga/AUTHORS
+%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt
+%license %{_datadir}/groonga/COPYING
+%doc %{_datadir}/groonga-normalizer-mysql/README.md
+%doc %{_datadir}/groonga/README.md
+%endif
%{_datadir}/%{pkg_name}/my-*.cnf
%{_datadir}/%{pkg_name}/wsrep.cnf
%{_datadir}/%{pkg_name}/wsrep_notify
@@ -1585,6 +1601,11 @@ fi
%endif
%changelog
+* Sat Dec 09 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-1
+- Rebase to 10.2.11
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
+- Temporary fix for #1523875 intoruced
+
* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
Related: #1483331, #1515779
diff --git a/sources b/sources
index 2161b03..d8648b0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239
+SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44
commit add7d9cf1ac64708c2111c2b8fe068c656f9b56b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Dec 6 09:51:51 2017 +0100
Remove 'Group' tags as they should not be used any more
https://fedoraproject.org/wiki/RPMGroups
diff --git a/mariadb.spec b/mariadb.spec
index b882f59..f272e34 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,6 @@ Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
-Group: Applications/Databases
URL: http://mariadb.org
# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license
License: GPLv2 with exceptions and LGPLv2 and BSD
@@ -295,7 +294,6 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files.
%if %{with clibrary}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-libs = %{sameevr}
@@ -324,7 +322,6 @@ to a MariaDB/MySQL server.
%if %{with config}
%package config
Summary: The config files required by server and client
-Group: Applications/Databases
%description config
The package provides the config file my.cnf and my.cnf.d directory used by any
@@ -337,7 +334,6 @@ package itself.
%if %{with common}
%package common
Summary: The shared files required by server and client
-Group: Applications/Databases
Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
@@ -357,7 +353,6 @@ You will need to install this package to use any other MariaDB package.
%if %{with errmsg}
%package errmsg
Summary: The error messages files required by server and embedded
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
%description errmsg
@@ -370,7 +365,6 @@ MariaDB packages.
%if %{with galera}
%package server-galera
Summary: The configuration files and scripts for galera replication
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: galera >= 25.3.3
@@ -395,7 +389,6 @@ MariaDB is a community developed branch of MySQL.
%package server
Summary: The MariaDB server and related files
-Group: Applications/Databases
# note: no version here = %%{version}-%%{release}
%if %{with mysql_names}
@@ -457,7 +450,6 @@ MariaDB is a community developed branch of MySQL.
%if %{with oqgraph}
%package oqgraph-engine
Summary: The Open Query GRAPH engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
# boost and Judy required for oograph
BuildRequires: boost-devel Judy-devel
@@ -474,7 +466,6 @@ standard SQL syntax, and results joined onto other tables.
%if %{with connect}
%package connect-engine
Summary: The CONNECT storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description connect-engine
@@ -489,7 +480,6 @@ or products (such as Excel), or data retrieved from the environment
%if %{with backup}
%package backup
Summary: The mariabackup tool for physical online backups
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: libarchive-devel
@@ -503,7 +493,6 @@ For InnoDB, "hot online" backups are possible.
%if %{with rocksdb}
%package rocksdb-engine
Summary: The RocksDB storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description rocksdb-engine
@@ -514,7 +503,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives.
%if %{with tokudb}
%package tokudb-engine
Summary: The TokuDB storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description tokudb-engine
@@ -525,7 +513,6 @@ The TokuDB storage engine from Percona.
%if %{with cracklib}
%package cracklib-password-check
Summary: The password strength checking plugin
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: cracklib-dicts cracklib-devel
Requires: cracklib-dicts
@@ -542,7 +529,6 @@ also use it to check MariaDB account passwords.
%if %{with gssapi}
%package gssapi-server
Summary: GSSAPI authentication plugin for server
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: krb5-devel
@@ -555,7 +541,6 @@ This plugin includes support for Kerberos on Unix.
%if %{with sphinx}
%package sphinx-engine
Summary: The Sphinx storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: sphinx libsphinxclient libsphinxclient-devel
Requires: sphinx libsphinxclient
@@ -567,7 +552,6 @@ The Sphinx storage engine for MariaDB.
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-perl = %{sameevr}
@@ -584,7 +568,6 @@ 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
-Group: Applications/Databases
%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}}
# avoid issues with openssl1.0 / openssl1.1 / compat
Requires: pkgconfig(openssl)
@@ -616,7 +599,6 @@ package.
%if %{with embedded}
%package embedded
Summary: MariaDB as an embeddable library
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
%if %{with mysql_names}
@@ -635,7 +617,6 @@ MariaDB is a community developed branch of MySQL.
%package embedded-devel
Summary: Development files for MariaDB as an embeddable library
-Group: Applications/Databases
Requires: %{name}-embedded%{?_isa} = %{sameevr}
Requires: %{name}-devel%{?_isa} = %{sameevr}
# embedded-devel should require libaio-devel (rhbz#1290517)
@@ -659,7 +640,6 @@ the embedded version of the MariaDB server.
%if %{with bench}
%package bench
Summary: MariaDB benchmark scripts and data
-Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-bench = %{sameevr}
@@ -680,7 +660,6 @@ MariaDB.
%if %{with test}
%package test
Summary: The test suite distributed with MariaDB
-Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
@@ -1606,9 +1585,11 @@ fi
%endif
%changelog
-* Thu Nov 23 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
+* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
Related: #1483331, #1515779
+- Remove 'Group' tags as they should not be used any more
+ Related: https://fedoraproject.org/wiki/RPMGroups
* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
commit d7b4f7837a10a59f3579413c8a08998db13f5250
Author: Honza Horak <hhorak(a)redhat.com>
Date: Fri Dec 1 16:10:14 2017 +0100
Use conditions definition for optional plugins as described at https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L1...
diff --git a/mariadb.spec b/mariadb.spec
index b2f02d0..b882f59 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -44,10 +44,12 @@
%bcond_without oqgraph
# Other plugins
-%bcond_without cracklib
-%bcond_without gssapi
-%bcond_without connect
-%bcond_without sphinx
+# Allow to override the values outside of spec
+# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L1...
+%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}}
+%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}}
+%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}}
+%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}}
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
%bcond_with clibrary
@@ -211,7 +213,7 @@ BuildRequires: bison bison-devel
BuildRequires: pam-devel
# use either new enough version of pcre or provide bundles(pcre)
%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
-%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
+%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-interpreter
commit df3c3b6c6801374829aa768e541378e4c7cec05c
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Nov 23 15:06:29 2017 +0100
Fix PID file location
Related: #1483331, #1515779
diff --git a/mariadb.spec b/mariadb.spec
index f1e4d6b..b2f02d0 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -78,7 +78,7 @@
%global daemon_name %{name}
%global daemondir %{_unitdir}
%global daemon_no_prefix %{pkg_name}
-%global mysqld_pid_dir mysqld
+%global mysqld_pid_dir mariadb
%else
%bcond_with init_systemd
%bcond_without init_sysv
@@ -135,7 +135,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1604,6 +1604,10 @@ fi
%endif
%changelog
+* Thu Nov 23 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
+- Fix PID file location
+ Related: #1483331, #1515779
+
* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
commit 8420e0ff5a43dcc49ef9345d42dc7db52e409bf1
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 20 14:38:51 2017 +0100
Remove false Provides
List only relevant Cmake arguments
diff --git a/mariadb.spec b/mariadb.spec
index 34cb0ea..f1e4d6b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -298,18 +298,6 @@ Requires: %{name}-common%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-libs = %{sameevr}
Provides: mysql-libs%{?_isa} = %{sameevr}
-# these are the provides for the libmysqlclient.so.18 compatibility
-# symlink; the library auto-provides system does not handle this kind
-# of symlink. They should be removed when the symlink is removed
-%if 0%{?__isa_bits} == 64
-Provides: libmysqlclient.so.18()(64bit)
-Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit)
-Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit)
-%else
-Provides: libmysqlclient.so.18
-Provides: libmysqlclient.so.18(libmysqlclient_16)
-Provides: libmysqlclient.so.18(libmysqlclient_18)
-%endif # isa_bits
%endif # mysql_names
%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}}
%{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}}
@@ -875,52 +863,9 @@ export LDFLAGS
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
- -DPLUGIN_ARCHIVE=DYNAMIC \
- -DPLUGIN_AUDIT_NULL=DYNAMIC \
- -DPLUGIN_AUTH_ED25519=DYNAMIC \
- -DPLUGIN_AUTH_PAM=DYNAMIC \
- -DPLUGIN_AUTH_SOCKET=DYNAMIC \
- -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \
- -DPLUGIN_AUTH_0X0100=DYNAMIC \
- -DPLUGIN_BLACKHOLE=DYNAMIC \
- -DPLUGIN_CLIENT_ED25519=DYNAMIC \
- -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \
- -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \
- -DPLUGIN_EXAMPLE=DYNAMIC \
- -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_FEDERATED=DYNAMIC \
- -DPLUGIN_FEDERATEDX=DYNAMIC \
- -DPLUGIN_FEEDBACK=DYNAMIC \
- -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_FTEXAMPLE=DYNAMIC \
- -DPLUGIN_HANDLERSOCKET=DYNAMIC \
- -DPLUGIN_LOCALES=DYNAMIC \
- -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \
- -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \
- -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \
- -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \
- -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \
- -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \
- -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \
- -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \
- -DPLUGIN_SEQUENCE=DYNAMIC \
- -DPLUGIN_SERVER_AUDIT=DYNAMIC \
- -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \
- -DPLUGIN_SPIDER=DYNAMIC \
- -DPLUGIN_SQL_ERRLOG=DYNAMIC \
- -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \
- -DPLUGIN_USER_VARIABLES=DYNAMIC \
- -DPLUGIN_WSREP_INFO=DYNAMIC \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373
-# -DPLUGIN_INNOBASE=DYNAMIC \
-# -DPLUGIN_PARTITION=DYNAMIC \
-# -DPLUGIN_ARIA=DYNAMIC \
-# -DPLUGIN_PERFSCHEMA=DYNAMIC \
-
# Print all Cmake options values
cmake -L
@@ -1659,7 +1604,7 @@ fi
%endif
%changelog
-* Mon Nov 13 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
@@ -1670,6 +1615,7 @@ fi
Resolves: #1490401; #1400463
- Update of Cmake arguments to supported format
Related: https://lists.launchpad.net/maria-discuss/msg04852.html
+- Remove false Provides
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
commit b36c28563ac44e124f81f67ba1691e066049cf37
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Nov 15 12:02:56 2017 +0100
Fix file removal on multilib systems
diff --git a/mariadb.spec b/mariadb.spec
index 3349de2..34cb0ea 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1102,7 +1102,6 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,
%endif
%if %{without clibrary} || %{without devel}
-unlink %{buildroot}%{_bindir}/mysql_config
rm %{buildroot}%{_bindir}/mysql_config*
rm %{buildroot}%{_bindir}/mariadb_config
rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
commit e164541be47159d92229fe249653bd1053839782
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 13 09:18:22 2017 +0100
Divided to more sub-packages to match upstream's RPM list: #1490401; #1400463
Update of Cmake arguments to supported format: https://lists.launchpad.net/maria-discuss/msg04852.htm
diff --git a/mariadb.spec b/mariadb.spec
index d9a912d..3349de2 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -20,28 +20,35 @@
%global _default_patch_flags --no-backup-if-mismatch
# TokuDB engine
-# https://mariadb.com/kb/en/mariadb/tokudb/
-# TokuDB engine is available only for x86_64
-%ifarch x86_64
-%bcond_without tokudb
-%else
-%bcond_with tokudb
-%endif
-
+# https://mariadb.com/kb/en/mariadb/tokudb/
+# TokuDB engine is available only for x86_64
# Mroonga engine
-# https://mariadb.com/kb/en/mariadb/about-mroonga/
-# Actual version in MariaDB, 5.04, only supports the x86_64
-# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
+# https://mariadb.com/kb/en/mariadb/about-mroonga/
+# Actual version in MariaDB, 5.04, only supports the x86_64
+# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
+# RocksDB engine
+# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
+# RocksB engine is available only for x86_64
%ifarch x86_64
+%bcond_without tokudb
%bcond_without mroonga
+%bcond_without rocksdb
%else
+%bcond_with tokudb
%bcond_with mroonga
+%bcond_with rocksdb
%endif
# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing
# hierarchies and more complex graph structures to be handled in a relational fashion
%bcond_without oqgraph
+# Other plugins
+%bcond_without cracklib
+%bcond_without gssapi
+%bcond_without connect
+%bcond_without sphinx
+
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
%bcond_with clibrary
%bcond_without embedded
@@ -51,8 +58,8 @@
%bcond_without errmsg
%bcond_without bench
%bcond_without test
-%bcond_without connect
%bcond_without galera
+%bcond_without backup
# When there is already another package that ships /etc/my.cnf,
# rather include it than ship the file again, since conflicts between
@@ -62,6 +69,8 @@
# For deep debugging we need to build binaries with extra debug info
%bcond_with debug
+
+
# Include files for SysV init or systemd
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
%bcond_without init_systemd
@@ -179,29 +188,25 @@ Patch40: %{pkgnamepatch}-galera.cnf.patch
Patch43: %{pkgnamepatch}-recovery.patch
BuildRequires: cmake gcc-c++
+BuildRequires: zlib-devel
+BuildRequires: multilib-rpm-config
+BuildRequires: selinux-policy-devel
+
+# TokuDB and some core stuff
+BuildRequires: jemalloc-devel
+
+# asynchornous operations stuff
BuildRequires: libaio-devel
+# commands history features
BuildRequires: libedit-devel
+# CLI graphic
BuildRequires: ncurses-devel
+# debugging stuff
BuildRequires: systemtap-sdt-devel
-BuildRequires: zlib-devel
-BuildRequires: multilib-rpm-config
-BuildRequires: krb5-devel
-BuildRequires: selinux-policy-devel
%{?with_init_systemd:BuildRequires: systemd systemd-devel}
-# Sphinx storage engine
-#BuildRequires: sphinx libsphinxclient libsphinxclient-devel
# Bison SQL parser
BuildRequires: bison bison-devel
-# Jemalloc, used by TokuDB
-BuildRequires: jemalloc-devel
-
-# Cracklib plugin
-BuildRequires: cracklib-dicts cracklib-devel
-
-# Mariabackup
-BuildRequires: libarchive-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)
@@ -232,7 +237,7 @@ BuildRequires: perl(Time::HiRes)
BuildRequires: perl(Symbol)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
-Recommends: openssl
+Requires: openssl
Requires: bash coreutils grep
@@ -313,7 +318,7 @@ Provides: libmysqlclient.so.18(libmysqlclient_18)
The mariadb-libs package provides the essential shared libraries for any
MariaDB/MySQL client program or interface. You will need to install this
package to use any other MariaDB package or any clients that need to connect
-to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL.
+to a MariaDB/MySQL server.
%endif #clibrary
@@ -353,7 +358,6 @@ Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
-
%description common
The package provides the essential shared files for any MariaDB program.
You will need to install this package to use any other MariaDB package.
@@ -382,6 +386,9 @@ Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: galera >= 25.3.3
Requires(post): libselinux-utils
Requires(post): policycoreutils-python
+# wsrep requirements
+Requires: lsof
+Requires: rsync
# obsoletion of mariadb-galera-server
Provides: mariadb-galera-server = %{sameevr}
@@ -410,18 +417,23 @@ Requires: %{name}%{?_isa}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Recommends: %{name}-server-utils%{?_isa} = %{sameevr}
+Recommends: %{name}-backup%{?_isa} = %{sameevr}
+Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr}
+Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}
+Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}
+Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}
+
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
+
# for fuser in mysql-check-socket
Requires: psmisc
+
Requires: coreutils
Requires(pre): /usr/sbin/useradd
-# Sphinx storage engine
-#Recommends: sphinx libsphinxclient
# Bison SQL parser
+# WHY?? (testsuite??)
Requires: bison
-# Cracklib plugin:
-Recommends: cracklib-dicts
%if %{with init_systemd}
# We require this to be present for %%{_tmpfilesdir}
@@ -431,9 +443,6 @@ Requires(pre): systemd
Requires(posttrans): systemd
%{?systemd_requires: %systemd_requires}
%endif
-# wsrep requirements
-Requires: lsof
-Requires: rsync
# RHBZ#1496131; use 'iproute' instead of 'net-tools'
Requires: iproute
%if %{with mysql_names}
@@ -487,6 +496,85 @@ or products (such as Excel), or data retrieved from the environment
%endif
+%if %{with backup}
+%package backup
+Summary: The mariabackup tool for physical online backups
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: libarchive-devel
+
+%description backup
+MariaDB Backup is an open source tool provided by MariaDB for performing
+physical online backups of InnoDB, Aria and MyISAM tables.
+For InnoDB, "hot online" backups are possible.
+%endif
+
+
+%if %{with rocksdb}
+%package rocksdb-engine
+Summary: The RocksDB storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+
+%description rocksdb-engine
+The RocksDB storage engine is used for high performance servers on SSD drives.
+%endif
+
+
+%if %{with tokudb}
+%package tokudb-engine
+Summary: The TokuDB storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+
+%description tokudb-engine
+The TokuDB storage engine from Percona.
+%endif
+
+
+%if %{with cracklib}
+%package cracklib-password-check
+Summary: The password strength checking plugin
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: cracklib-dicts cracklib-devel
+Requires: cracklib-dicts
+
+%description cracklib-password-check
+CrackLib is a password strength checking library. It is installed by default
+in many Linux distributions and is invoked automatically (by pam_cracklib.so)
+whenever the user login password is modified.
+Now, with the cracklib_password_check password validation plugin, one can
+also use it to check MariaDB account passwords.
+%endif
+
+
+%if %{with gssapi}
+%package gssapi-server
+Summary: GSSAPI authentication plugin for server
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: krb5-devel
+
+%description gssapi-server
+GSSAPI authentication server-side plugin for MariaDB for passwordless login.
+This plugin includes support for Kerberos on Unix.
+%endif
+
+
+%if %{with sphinx}
+%package sphinx-engine
+Summary: The Sphinx storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: sphinx libsphinxclient libsphinxclient-devel
+Requires: sphinx libsphinxclient
+
+%description sphinx-engine
+The Sphinx storage engine for MariaDB.
+%endif
+
+
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
Group: Applications/Databases
@@ -522,10 +610,16 @@ Provides: mysql-devel%{?_isa} = %{sameevr}
%{?with_conflicts:Conflicts: community-mysql-devel}
%description devel
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains the libraries and header files that are needed for
-developing MariaDB/MySQL client applications.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+%if %{with clibrary}
+This package contains everything needed for developing MariaDB/MySQL client
+and server applications.
+%else
+This package contains everything needed for developing MariaDB/MySQL server
+applications. For developing client applications, use mariadb-connector-c
+package.
+%endif
%endif
@@ -565,10 +659,10 @@ Provides: mysql-embedded-devel%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}}
%description embedded-devel
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains files needed for developing and testing with
-the embedded version of the MariaDB server.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains files needed for developing and testing with
+the embedded version of the MariaDB server.
%endif
@@ -586,10 +680,10 @@ Provides: mysql-bench%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}}
%description bench
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains benchmark scripts and data for use when benchmarking
-MariaDB.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains benchmark scripts and data for use when benchmarking
+MariaDB.
%endif
@@ -620,10 +714,10 @@ Provides: mysql-test%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}}
%description test
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains the regression test suite distributed with
-the MariaDB sources.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains the regression test suite distributed with the MariaDB
+sources.
%endif
@@ -764,34 +858,75 @@ export LDFLAGS
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
+ -DTMPDIR=/var/tmp \
-DENABLED_LOCAL_INFILE=ON \
- -DENABLE_DTRACE=OFF \
- -DWITH_EMBEDDED_SERVER=ON \
+ -DENABLE_DTRACE=ON \
+ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
+ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
+ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
+ -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \
-DWITH_JEMALLOC=system \
- -DWITH_LIBARCHIVE=ON \
- -DWITH_MARIABACKUP=ON \
-%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\
-%{!?with_mroonga: -DWITHOUT_MROONGA=ON}\
-%{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\
- -DTMPDIR=/var/tmp \
-%{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\
+ -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} \
+ -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
+ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
+ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
+ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
+ -DPLUGIN_ARCHIVE=DYNAMIC \
+ -DPLUGIN_AUDIT_NULL=DYNAMIC \
+ -DPLUGIN_AUTH_ED25519=DYNAMIC \
+ -DPLUGIN_AUTH_PAM=DYNAMIC \
+ -DPLUGIN_AUTH_SOCKET=DYNAMIC \
+ -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \
+ -DPLUGIN_AUTH_0X0100=DYNAMIC \
+ -DPLUGIN_BLACKHOLE=DYNAMIC \
+ -DPLUGIN_CLIENT_ED25519=DYNAMIC \
+ -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \
+ -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \
+ -DPLUGIN_EXAMPLE=DYNAMIC \
+ -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_FEDERATED=DYNAMIC \
+ -DPLUGIN_FEDERATEDX=DYNAMIC \
+ -DPLUGIN_FEEDBACK=DYNAMIC \
+ -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_FTEXAMPLE=DYNAMIC \
+ -DPLUGIN_HANDLERSOCKET=DYNAMIC \
+ -DPLUGIN_LOCALES=DYNAMIC \
+ -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \
+ -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \
+ -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \
+ -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \
+ -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \
+ -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \
+ -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \
+ -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \
+ -DPLUGIN_SEQUENCE=DYNAMIC \
+ -DPLUGIN_SERVER_AUDIT=DYNAMIC \
+ -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \
+ -DPLUGIN_SPIDER=DYNAMIC \
+ -DPLUGIN_SQL_ERRLOG=DYNAMIC \
+ -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \
+ -DPLUGIN_USER_VARIABLES=DYNAMIC \
+ -DPLUGIN_WSREP_INFO=DYNAMIC \
+%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-make %{?_smp_mflags} VERBOSE=1
+# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373
+# -DPLUGIN_INNOBASE=DYNAMIC \
+# -DPLUGIN_PARTITION=DYNAMIC \
+# -DPLUGIN_ARIA=DYNAMIC \
+# -DPLUGIN_PERFSCHEMA=DYNAMIC \
+# Print all Cmake options values
+cmake -L
+
+make %{?_smp_mflags} VERBOSE=1
-# debuginfo extraction scripts fail to find source files in their real
-# location -- satisfy them by copying these files into location, which
-# is expected by scripts
-#for e in innobase xtradb ; do
-# for f in pars0grm.y pars0lex.l ; do
-# cp -p "storage/$e/pars/$f" "storage/$e/$f"
-# done
-#done
# build selinux policy
%if %{with galera}
@@ -819,7 +954,8 @@ ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1
fi
# Upstream install this into arch-independent directory
-# TODO: report to upstream
+# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340
+# 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
@@ -829,6 +965,7 @@ 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}
chmod 0750 %{buildroot}%{logfiledir}
touch %{buildroot}%{logfile}
@@ -845,9 +982,12 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
rm scripts/my.cnf
%endif
-# use different config file name for each variant of server
+# 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
+# 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
%if %{with init_systemd}
install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
@@ -855,9 +995,8 @@ install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_nam
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
-%endif
-%endif
-
+%endif #pid
+%endif #systemd
# install SysV init script
%if %{with init_sysv}
install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name}
@@ -872,26 +1011,35 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-
install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready
%endif
-# install selinux policy
+# install aditional galera selinux policy
%if %{with galera}
install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
%endif
-# mysql-test includes one executable that doesn't belong under /usr/share,
-# so move it and provide a symlink
+# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
+# Provide symlink expected by RH QA tests
+ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
+
# should move this to /etc/ ?
-rm %{buildroot}%{_bindir}/mysql_embedded
+# WHY??
+%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client
+
rm %{buildroot}%{_libdir}/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
-rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
-rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1*
-rm %{buildroot}%{_bindir}/mytop
+rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server.
+
+# WHY??
+rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton?
+
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ]
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql
+
+# WHY??
+rm %{buildroot}%{_bindir}/mytop #not shipped by upstream
+
+
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
@@ -908,45 +1056,39 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}}
# install galera config file
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
-
# install the clustercheck script
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
-
# install the galera_new_cluster script anyway
%if %{without init_systemd}
install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster
%endif
-# remove SysV init script and a symlink to that
-rm %{buildroot}%{_sysconfdir}/init.d/mysql
-rm %{buildroot}%{_libexecdir}/rcmysql
-
# remove duplicate logrotate script
rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
-
-# rename the wsrep README so it corresponds with the other README names
-cp Docs/README-wsrep Docs/README.wsrep
-
# remove *.jar file from mysql-test
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
+# Remove AppArmor files
+rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
# script without shebang: https://jira.mariadb.org/browse/MDEV-14266
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
-# Remove AppArmor files
-rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
-
# Disable plugins
+%if %{with ggsapi}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+%if %{with cracklib}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%endif
+
+%if %{without embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+%endif
-# install the list of skipped tests to be available for user runs
-install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test
-ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
%if %{without clibrary}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf
@@ -959,66 +1101,43 @@ unlink %{buildroot}%{_libdir}/libmariadb.so
rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so}
%endif
-%if %{without embedded}
-rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so*
-rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
-rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
-%endif
-
-%if %{without devel}
+%if %{without clibrary} || %{without devel}
unlink %{buildroot}%{_bindir}/mysql_config
rm %{buildroot}%{_bindir}/mysql_config*
rm %{buildroot}%{_bindir}/mariadb_config
-rm -r %{buildroot}%{_includedir}/mysql
-rm %{buildroot}%{_datadir}/aclocal/mysql.m4
-rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc
rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
-%else
-%if %{with clibrary}
-# Create symlinks to the 'libmariadb' library, for compatibility reasons
-# Note: the -libs subpackage has Provides: for this compat symlink; when
-# it is removed, they should also be removed
-pushd %{buildroot}%{_libdir}
-#ln -s libmariadb.so libmysqlclient.so
-ln -s libmariadb.so.3 libmysqlclient.so.18
-#ln -s libmariadb.so libmysqlclient_r.so
-popd
-%else
-# This file is already included in mariadb-connector-c
-rm %{buildroot}%{_includedir}/mysql/mysql_version.h
+%endif
-rm %{buildroot}%{_bindir}/*_config*
-rm %{buildroot}%{_mandir}/man1/*_config*
-#rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so*
+%if %{without clibrary} && %{with devel}
+# 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}
rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql}
%endif
-%endif
+
+%if %{without devel}
+rm -r %{buildroot}%{_includedir}/mysql
+rm %{buildroot}%{_datadir}/aclocal/mysql.m4
+rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc
+%if %{with clibrary}
+rm %{buildroot}%{_libdir}/libmariadb*.so
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+%endif # clibrary
+%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,my_print_defaults}
+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,my_print_defaults}.1*
-%endif
-
-%if %{without connect}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf
-%endif
-
-%if %{without oqgraph}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf
+mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
%endif
%if %{without tokudb}
-%ifarch x86_64
-rm %{buildroot}%{_bindir}/tokuftdump
-rm %{buildroot}%{_bindir}/tokuft_logprint
-%endif
# 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_logdump.1*
@@ -1034,6 +1153,10 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset
rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets
%endif
+%if %{without gssapi}
+rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
+%endif
+
%if %{without errmsg}
rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt
rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\
@@ -1046,10 +1169,15 @@ rm -r %{buildroot}%{_datadir}/sql-bench
%endif
%if %{without test}
-rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process}
+%if %{with embedded}
+rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
+rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
+%endif # embedded
+rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
+rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
rm -r %{buildroot}%{_datadir}/mysql-test
-rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
-%endif
+%endif # test
%if %{without galera}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
@@ -1100,8 +1228,10 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%endif
)
-%endif
-%endif
+%endif # if dry run
+%endif # with test
+
+
%pre server
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
@@ -1172,6 +1302,8 @@ if [ $1 -ge 1 ]; then
fi
%endif
+
+
%if %{with client}
%files
%{_bindir}/msql2mysql
@@ -1187,7 +1319,6 @@ fi
%{_bindir}/mysqlimport
%{_bindir}/mysqlshow
%{_bindir}/mysqlslap
-%{_bindir}/my_print_defaults
%{_mandir}/man1/msql2mysql.1*
%{_mandir}/man1/mysql.1*
@@ -1202,13 +1333,12 @@ fi
%{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
-%{_mandir}/man1/my_print_defaults.1*
%endif
%if %{with clibrary}
%files libs
%{_libdir}/libmariadb.so.*
-%{_libdir}/libmysqlclient.so.18
+%{?with_devel:%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}}
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
@@ -1227,10 +1357,10 @@ fi
%doc %{_datadir}/doc/%{_pkgdocdirname}
%dir %{_datadir}/%{pkg_name}
%{_datadir}/%{pkg_name}/charsets
-%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary}
+%if %{with clibrary}
%{_libdir}/%{pkg_name}/plugin/dialog.so
%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
-%endif # devel && errmsg && galera && config
+%endif # clibrary
%endif # common
%if %{with errmsg}
@@ -1264,7 +1394,7 @@ fi
%if %{with galera}
%files server-galera
-%doc Docs/README.wsrep
+%doc Docs/README-wsrep
%license LICENSE.clustercheck
%{_bindir}/clustercheck
%{_bindir}/galera_new_cluster
@@ -1285,15 +1415,14 @@ fi
%{_bindir}/aria_ftdump
%{_bindir}/aria_pack
%{_bindir}/aria_read_log
-%{_bindir}/mariabackup
%if %{with init_systemd}
%{_bindir}/mariadb-service-convert
%endif
-%{_bindir}/mbstream
%{_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
@@ -1309,21 +1438,8 @@ fi
%{_bindir}/wsrep_sst_rsync
%{_bindir}/wsrep_sst_xtrabackup
%{_bindir}/wsrep_sst_xtrabackup-v2
-%{?with_tokudb:%{_bindir}/tokuftdump}
-%{?with_tokudb:%{_bindir}/tokuft_logprint}
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
-%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf}
-# Cracklib plugin
-%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
-# RocksDB engine
-%if %{with rocksdb}
-%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
-%{_bindir}/mysql_ldb
-%{_bindir}/sst_dump
-%endif
-
%{_libexecdir}/mysqld
@@ -1338,8 +1454,15 @@ fi
%{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
+%{?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_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
+%if %{with clibrary}
%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
+%endif
%{_mandir}/man1/aria_chk.1*
%{_mandir}/man1/aria_dump_log.1*
@@ -1353,20 +1476,18 @@ fi
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
%{_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/mysqld_safe_helper.1*
-%{_mandir}/man1/my_safe_process.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man8/mysqld.8*
-%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*}
-%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*}
%{_mandir}/man1/wsrep_sst_common.1*
%{_mandir}/man1/wsrep_sst_mysqldump.1*
%{_mandir}/man1/wsrep_sst_rsync.1*
@@ -1416,6 +1537,47 @@ fi
%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
%config(noreplace) %{logrotateddir}/%{daemon_name}
+%if %{with cracklib}
+%files cracklib-password-check
+%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so
+%endif
+
+%if %{with backup}
+%files backup
+%{_bindir}/mariabackup
+%{_bindir}/mbstream
+%endif
+
+%if %{with rocksdb}
+%files rocksdb-engine
+%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
+%{_bindir}/mysql_ldb
+%{_bindir}/sst_dump
+%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so
+%endif
+
+%if %{with tokudb}
+%files tokudb-engine
+%{_bindir}/tokuftdump
+%{_bindir}/tokuft_logprint
+%{_mandir}/man1/tokuftdump.1*
+%{_mandir}/man1/tokuft_logdump.1*
+%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf
+%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so
+%endif
+
+%if %{with gssapi}
+%files gssapi-server
+%{_libdir}/%{pkg_name}/plugin/auth_gssapi.so
+%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+
+%if %{with sphinx}
+%files sphinx-engine
+%{_libdir}/%{pkg_name}/plugin/ha_sphinx.so
+%endif
+
%if %{with oqgraph}
%files oqgraph-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf
@@ -1444,10 +1606,8 @@ fi
%{_mandir}/man1/mysql_setpermission.1*
# Utilities that can be used remotely
%{_bindir}/mysql_upgrade
-%{_bindir}/mysqltest
%{_bindir}/perror
%{_mandir}/man1/mysql_upgrade.1*
-%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/perror.1*
# Other utilities
%{_bindir}/mysqld_safe_helper
@@ -1474,19 +1634,11 @@ fi
%files embedded-devel
%{_libdir}/libmysqld.so
-%{_bindir}/mysql_client_test_embedded
-%{_bindir}/mysqltest_embedded
-%{_mandir}/man1/mysql_client_test_embedded.1*
-%{_mandir}/man1/mysqltest_embedded.1*
%endif
%if %{with bench}
%files bench
%{_datadir}/sql-bench
-#TODO: do a sanity check
-%exclude %{_datadir}/sql-bench/README
-# RPMLINT W:
-# mariadb-bench.x86_64: W: no-documentation
%doc %{_datadir}/sql-bench/README
%endif
@@ -1494,18 +1646,31 @@ fi
%files test
%{_bindir}/mysql_client_test
%{_bindir}/my_safe_process
+%{_bindir}/mysql_client_test_embedded
+%{_bindir}/mysqltest
+%{_bindir}/mysqltest_embedded
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/my_safe_process.1*
+%{_mandir}/man1/mysql_client_test_embedded.1*
+%{_mandir}/man1/mysqltest.1*
+%{_mandir}/man1/mysqltest_embedded.1*
+%{_mandir}/man1/mysql-stress-test.pl.1*
+%{_mandir}/man1/mysql-test-run.pl.1*
%endif
%changelog
-* Wed Nov 01 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+* Mon Nov 13 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
- Update PCRE check
- Start using location libdir/mariadb for plugins
- Move libraries to libdir
+- Divided to more sub-packages to match upstream's RPM list
+ Resolves: #1490401; #1400463
+- Update of Cmake arguments to supported format
+ Related: https://lists.launchpad.net/maria-discuss/msg04852.html
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
commit 5722a3f4a80e5d9cb064f66d622bf9d9c8f994f2
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 6 16:06:33 2017 +0100
Added JIRA issue trackers
diff --git a/mariadb.spec b/mariadb.spec
index 6a5029c..d9a912d 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -934,8 +934,7 @@ rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
-# RPMLINT E:
-# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf
+# script without shebang: https://jira.mariadb.org/browse/MDEV-14266
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
# Remove AppArmor files
@@ -1303,6 +1302,7 @@ fi
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
%{_bindir}/resolveip
+# wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296
%{_bindir}/wsrep_sst_common
%{_bindir}/wsrep_sst_mariabackup
%{_bindir}/wsrep_sst_mysqldump
commit a97652db21d8b106abd34f953aa183da2741ba7c
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 6 13:31:33 2017 +0100
Compatibility fix
diff --git a/mariadb.spec b/mariadb.spec
index c689187..6a5029c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -80,7 +80,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%if 0%{?fedora} >= 21
+%if 0%{?fedora} >= 21 || 0%{?rhel} > 7
%bcond_without bundled_pcre
%else
%bcond_with bundled_pcre
commit b8b4d032f6e9b763e86e4522c02066a7fe6caf3c
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Nov 3 03:41:33 2017 +0100
Rebase to 10.2.10 version
Patch 2: mariadb-install-test.patch has been incorporated by upstream
Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
Update PCRE check
Start using location libdir/mariadb for plugins
Move libraries to libdir
Update unstable tests list
diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch
deleted file mode 100644
index 77a90e7..0000000
--- a/mariadb-install-db-sharedir.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Use configured value instead of hardcoded path
-
-diff -up mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.1.18/scripts/mysql_install_db.pl.in
---- mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir 2016-10-04 19:03:15.562101826 +0200
-+++ mariadb-10.1.18/scripts/mysql_install_db.pl.in 2016-10-04 19:04:47.833130195 +0200
-@@ -320,7 +320,7 @@ elsif ( $opt->{basedir} )
- find_in_basedir($opt,"file","mysqld-nt",
- "bin"); # ,"sql"
- $srcpkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql",
-- "share","share/mysql"); # ,"scripts"
-+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts"
- $buildpkgdir = $srcpkgdatadir;
- $scriptdir = "$opt->{basedir}/scripts";
- }
-diff -up mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir mariadb-10.1.18/scripts/mysql_install_db.sh
---- mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir 2016-10-04 19:03:22.714104025 +0200
-+++ mariadb-10.1.18/scripts/mysql_install_db.sh 2016-10-04 19:08:11.457186833 +0200
-@@ -283,17 +283,17 @@ then
- cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin
- exit 1
- fi
-- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english`
-+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english`
- if test -z "$langdir"
- then
-- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english
-+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english
- exit 1
- fi
-- srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql`
-+ srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@`
- buildpkgdatadir=$srcpkgdatadir
- if test -z "$srcpkgdatadir"
- then
-- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql
-+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@
- exit 1
- fi
- scriptdir="$basedir/scripts"
diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch
deleted file mode 100644
index 1797474..0000000
--- a/mariadb-install-test.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Improve the documentation that will be installed in the mysql-test RPM.
-
---- mariadb-10.1.13/mysql-test/README.orig 2016-03-24 10:12:10.000000000 +0100
-+++ mariadb-10.1.13/mysql-test/README 2016-03-29 10:23:30.074326900 +0200
-@@ -1,15 +1,28 @@
--This directory contains a test suite for the MySQL daemon. To run
--the currently existing test cases, simply execute ./mysql-test-run in
--this directory. It will fire up the newly built mysqld and test it.
--
--Note that you do not have to have to do "make install", and you could
--actually have a co-existing MySQL installation. The tests will not
--conflict with it. To run the test suite in a source directory, you
--must do make first.
--
--All tests must pass. If one or more of them fail on your system, please
--read the following manual section for instructions on how to report the
--problem:
-+This directory contains a test suite for the MariaDB daemon. To run
-+the currently existing test cases, execute ./mysql-test-run in
-+this directory.
-+
-+For use in Red Hat distributions, you should run the script as user mysql,
-+who is created with nologin shell however, so the best bet is something like
-+ $ su -
-+ # cd /usr/share/mysql-test
-+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests"
-+
-+This will use the installed mysql executables, but will run a private copy
-+of the server process (using data files within /usr/share/mysql-test),
-+so you need not start the mysqld service beforehand.
-+
-+The "--skip-test-list=unstable-tests" option excludes tests that are
-+known to fail on one or more Red-Hat-supported platforms. You can omit it
-+if you want to check whether such failures occur for you. Documentation
-+about the reasons for omitting such tests can be found in the file
-+unstable-tests.
-+
-+To clean up afterwards, remove the created "var" subdirectory, eg
-+ # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var"
-+
-+If one or more tests fail on your system, please read the following manual
-+section for instructions on how to report the problem:
-
- https://mariadb.com/kb/en/reporting-bugs
-
-@@ -26,7 +39,8 @@ other relevant options.
-
- With no test cases named on the command line, mysql-test-run falls back
- to the normal "non-extern" behavior. The reason for this is that some
--tests cannot run with an external server.
-+tests cannot run with an external server (because they need to control the
-+options with which the server is started).
-
- You can create your own test cases. To create a test case, create a new
- file in the t subdirectory using a text editor. The file should have a .test
diff --git a/mariadb.spec b/mariadb.spec
index 133ad57..c689187 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -60,8 +60,7 @@
%bcond_without config
# For deep debugging we need to build binaries with extra debug info
-# Does not work at this time: https://jira.mariadb.org/browse/MDEV-13986
-%bcond_with debug
+%bcond_with debug
# Include files for SysV init or systemd
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
@@ -81,11 +80,11 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%global pcre_version 8.41
%if 0%{?fedora} >= 21
-%bcond_without pcre
+%bcond_without bundled_pcre
%else
-%bcond_with pcre
+%bcond_with bundled_pcre
+%global pcre_bundled_version 8.41
%endif
# We define some system's well known locations here so we can use them easily
@@ -123,11 +122,11 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 9
+%global bugfixver 10
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 3%{?with_debug:.debug}%{?dist}
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -163,16 +162,11 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: testsuite README update, introducing skipped-tests.list
-# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263
-Patch2: %{pkgnamepatch}-install-test.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
# Patch7: add to the CMake file all files where we want macros to be expanded
Patch7: %{pkgnamepatch}-scripts.patch
-# Patch8: resolve conflict, when we combine MariaDB and MySQL packages
-Patch8: %{pkgnamepatch}-install-db-sharedir.patch
# Patch9: pre-configure to comply with guidelines
Patch9: %{pkgnamepatch}-ownsetup.patch
@@ -211,8 +205,8 @@ BuildRequires: libarchive-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_pcre:BuildRequires: pcre-devel >= 8.35}
-%{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}}
+%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
+%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-interpreter
@@ -273,10 +267,10 @@ Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr}
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%if 0%{?fedora} > 14 || 0%{?rhel} > 6
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
-%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$
+%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
%else
%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d
-%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so)
+%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so)
%filter_setup
%endif
@@ -506,7 +500,7 @@ Requires: perl(DBI) perl(DBD::mysql)
%description server-utils
This package contains all non-essential server utilities and scripts for
managing databases. It also contains all utilities requiring Perl and it is
-the only MariaDB subpackage, except test subpackage, that depends on Perl.
+the only MariaDB sub-package, except test subpackage, that depends on Perl.
%if %{with devel}
@@ -636,10 +630,8 @@ MariaDB is a community developed branch of MySQL.
%prep
%setup -q -n mariadb-%{version}
-%patch2 -p1
%patch4 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch37 -p1
%patch40 -p1
@@ -678,17 +670,27 @@ sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera
cat selinux/%{name}-server-galera.te
%endif
-# Check if PCRE version is actual
-%if %{with pcre}
+
+# Get version of PCRE, that upstream use
pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'`
pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'`
-if [ %{pcre_version} != "$pcre_maj.$pcre_min" ]
+%if %{without bundled_pcre}
+# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles
+if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ]
then
- echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n"
+ echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n"
exit 1
fi
-%endif
+%else
+# Check if the PCRE version that upstream use, is the same as the one present in system
+pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null `
+if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ]
+then
+ echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n"
+fi
+%endif # PCRE
+
%if %{without rocksdb}
rm -r storage/rocksdb/
@@ -697,6 +699,8 @@ rm -r storage/rocksdb/
# Remove python scripts remains from tokudb upstream (those files are not used anyway)
rm -r storage/tokudb/mysql-test/tokudb/t/*.py
+
+
%build
# fail quickly and obviously if user tries to build as root
@@ -749,11 +753,11 @@ export LDFLAGS
-DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
- -DINSTALL_LIBDIR="%{_lib}/mysql" \
+ -DINSTALL_LIBDIR="%{_lib}" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
- -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
+ -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
@@ -765,7 +769,7 @@ export LDFLAGS
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-%{?with_pcre: -DWITH_PCRE=system}\
+ -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \
-DWITH_JEMALLOC=system \
-DWITH_LIBARCHIVE=ON \
-DWITH_MARIABACKUP=ON \
@@ -783,11 +787,11 @@ make %{?_smp_mflags} VERBOSE=1
# debuginfo extraction scripts fail to find source files in their real
# location -- satisfy them by copying these files into location, which
# is expected by scripts
-for e in innobase xtradb ; do
- for f in pars0grm.y pars0lex.l ; do
- cp -p "storage/$e/pars/$f" "storage/$e/$f"
- done
-done
+#for e in innobase xtradb ; do
+# for f in pars0grm.y pars0lex.l ; do
+# cp -p "storage/$e/pars/$f" "storage/$e/$f"
+# done
+#done
# build selinux policy
%if %{with galera}
@@ -821,8 +825,8 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
-install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/
-install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/
+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}/
mkdir -p %{buildroot}%{logfiledir}
@@ -880,7 +884,7 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/
# should move this to /etc/ ?
rm %{buildroot}%{_bindir}/mysql_embedded
-rm %{buildroot}%{_libdir}/mysql/*.a
+rm %{buildroot}%{_libdir}/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
@@ -894,12 +898,6 @@ mkdir -p %{buildroot}%{logrotateddir}
mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name}
-%if %{with clibrary}
-mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
-# Save a name of the directory that contains libraries to this file
-echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
-%endif
-
# copy additional docs into build tree so %%doc will find them
install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}}
install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}}
@@ -954,16 +952,16 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
%if %{without clibrary}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf
# Client library and links
-rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.*
-unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so
-unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so
-unlink %{buildroot}%{_libdir}/mysql/libmariadb.so
+rm %{buildroot}%{_libdir}/libmariadb*.so.*
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+unlink %{buildroot}%{_libdir}/libmariadb.so
# Client plugins
-rm %{buildroot}%{_libdir}/mysql/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,auth_gssapi_client.so}
%endif
%if %{without embedded}
-rm %{buildroot}%{_libdir}/mysql/libmysqld.so*
+rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so*
rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
%endif
@@ -982,7 +980,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
# Create symlinks to the 'libmariadb' library, for compatibility reasons
# Note: the -libs subpackage has Provides: for this compat symlink; when
# it is removed, they should also be removed
-pushd %{buildroot}%{_libdir}/mysql/
+pushd %{buildroot}%{_libdir}
#ln -s libmariadb.so libmysqlclient.so
ln -s libmariadb.so.3 libmysqlclient.so.18
#ln -s libmariadb.so libmysqlclient_r.so
@@ -1210,9 +1208,8 @@ fi
%if %{with clibrary}
%files libs
-%{_libdir}/mysql/libmariadb.so.*
-%{_libdir}/mysql/libmysqlclient.so.18
-%{_sysconfdir}/ld.so.conf.d/*
+%{_libdir}/libmariadb.so.*
+%{_libdir}/libmysqlclient.so.18
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
@@ -1232,8 +1229,8 @@ fi
%dir %{_datadir}/%{pkg_name}
%{_datadir}/%{pkg_name}/charsets
%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary}
-%{_libdir}/mysql/plugin/dialog.so
-%{_libdir}/mysql/plugin/mysql_clear_password.so
+%{_libdir}/%{pkg_name}/plugin/dialog.so
+%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%endif # devel && errmsg && galera && config
%endif # common
@@ -1330,19 +1327,19 @@ fi
%{_libexecdir}/mysqld
-%{_libdir}/mysql/INFO_SRC
-%{_libdir}/mysql/INFO_BIN
+%{_libdir}/%{pkg_name}/INFO_SRC
+%{_libdir}/%{pkg_name}/INFO_BIN
%if %{without common}
%dir %{_datadir}/%{pkg_name}
%endif
-%dir %{_libdir}/mysql
-%dir %{_libdir}/mysql/plugin
-%{_libdir}/mysql/plugin/*
-%{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so}
-%{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so}
-%exclude %{_libdir}/mysql/plugin/dialog.so
-%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so
+%dir %{_libdir}/%{pkg_name}
+%dir %{_libdir}/%{pkg_name}/plugin
+%{_libdir}/%{pkg_name}/plugin/*
+%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
+%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
+%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
+%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%{_mandir}/man1/aria_chk.1*
%{_mandir}/man1/aria_dump_log.1*
@@ -1422,13 +1419,13 @@ fi
%if %{with oqgraph}
%files oqgraph-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf
-%{_libdir}/mysql/plugin/ha_oqgraph.so
+%{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so
%endif
%if %{with connect}
%files connect-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf
-%{_libdir}/mysql/plugin/ha_connect.so
+%{_libdir}/%{pkg_name}/plugin/ha_connect.so
%endif
%files server-utils
@@ -1463,9 +1460,9 @@ fi
%if %{with clibrary}
%{_bindir}/mysql_config*
%{_bindir}/mariadb_config*
-%{_libdir}/mysql/libmariadb.so
-%{_libdir}/mysql/libmysqlclient.so
-%{_libdir}/mysql/libmysqlclient_r.so
+%{_libdir}/libmariadb.so
+%{_libdir}/libmysqlclient.so
+%{_libdir}/libmysqlclient_r.so
%{_mandir}/man1/mysql_config*
%{_mandir}/man1/mariadb_config*
%endif
@@ -1473,10 +1470,10 @@ fi
%if %{with embedded}
%files embedded
-%{_libdir}/mysql/libmysqld.so.*
+%{_libdir}/libmysqld.so.*
%files embedded-devel
-%{_libdir}/mysql/libmysqld.so
+%{_libdir}/libmysqld.so
%{_bindir}/mysql_client_test_embedded
%{_bindir}/mysqltest_embedded
%{_mandir}/man1/mysql_client_test_embedded.1*
@@ -1502,6 +1499,14 @@ fi
%endif
%changelog
+* Wed Nov 01 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+- Rebase to 10.2.10 version
+- Patch 2: mariadb-install-test.patch has been incorporated by upstream
+- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
+- Update PCRE check
+- Start using location libdir/mariadb for plugins
+- Move libraries to libdir
+
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
Related: #1498956
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index bf4f3f0..022dda6 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -10,12 +10,9 @@ main.non_blocking_api : #1399847
perfschema.nesting : #1399847
perfschema.socket_summary_by_event_name_func : #1399847
perfschema.socket_summary_by_instance_func : #1399847
-perfschema.bad_option_1 : #1399847
-perfschema.bad_option_5 : #1399847
# <mkocka(a)redhat.com> needs this tests disabled for mode build
plugins.feedback_plugin_load : #
-
plugins.show_all_plugins : warnings in log
# ------------------------------
diff --git a/sources b/sources
index 11e9767..2161b03 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.9.tar.gz) = 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373
+SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239
commit 25eb8c91e6fd51b35450fceb1dc79af5d1280cea
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Oct 16 14:42:14 2017 +0200
Update PCRE version and fix its failsafe
diff --git a/mariadb.spec b/mariadb.spec
index bf97a3c..133ad57 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -81,7 +81,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%global pcre_version 8.40
+%global pcre_version 8.41
%if 0%{?fedora} >= 21
%bcond_without pcre
%else
@@ -679,7 +679,7 @@ cat selinux/%{name}-server-galera.te
%endif
# Check if PCRE version is actual
-%{!?with_pcre:
+%if %{with pcre}
pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'`
pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'`
@@ -688,7 +688,7 @@ then
echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n"
exit 1
fi
-}
+%endif
%if %{without rocksdb}
rm -r storage/rocksdb/
commit 1b7bd2e9d5b5ab88a0c75876c9f7eeb8d6854fc7
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Oct 16 14:28:44 2017 +0200
RPMLint error fix: Remove unused python scripts which remained from TokuDB upstream
diff --git a/mariadb.spec b/mariadb.spec
index 3c111bb..bf97a3c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -694,9 +694,8 @@ fi
rm -r storage/rocksdb/
%endif
-# set interpreter from python -> python3
-# https://pagure.io/packaging-committee/issue/698
-sed -i 's:#!/usr/bin/env python:#!/usr/bin/env python3:g' storage/tokudb/mysql-test/tokudb/t/*
+# Remove python scripts remains from tokudb upstream (those files are not used anyway)
+rm -r storage/tokudb/mysql-test/tokudb/t/*.py
%build
@@ -1507,7 +1506,8 @@ fi
- Fix client library obsolete
Related: #1498956
- Enable testsuite again
-- RPMLint error fix: use python version in python scripts shebangs
+- RPMLint error fix:
+ Remove unused python scripts which remained from TokuDB upstream
- RPMLint error fix: description line too long
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
commit 3b1fe420f030d934c0a03cdfb1f0d3c974732dc1
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Oct 8 00:35:13 2017 +0200
RPMLint error fix: description line too long
diff --git a/mariadb.spec b/mariadb.spec
index 8809e5d..3c111bb 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -504,9 +504,9 @@ Provides: mysql-perl = %{sameevr}
Requires: perl(DBI) perl(DBD::mysql)
%description server-utils
-This package contains all non-essential server utilities and scripts for managing
-databases. It also contains all utilities requiring Perl and it is the only MariaDB
-subpackage, except test subpackage, that depends on Perl.
+This package contains all non-essential server utilities and scripts for
+managing databases. It also contains all utilities requiring Perl and it is
+the only MariaDB subpackage, except test subpackage, that depends on Perl.
%if %{with devel}
@@ -884,7 +884,6 @@ rm %{buildroot}%{_bindir}/mysql_embedded
rm %{buildroot}%{_libdir}/mysql/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
-#rm %{buildroot}%{_datadir}/%{pkg_name}/my-*.cnf
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
@@ -935,6 +934,8 @@ cp Docs/README-wsrep Docs/README.wsrep
# remove *.jar file from mysql-test
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
+rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
+rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# RPMLINT E:
# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf
@@ -1507,6 +1508,7 @@ fi
Related: #1498956
- Enable testsuite again
- RPMLint error fix: use python version in python scripts shebangs
+- RPMLint error fix: description line too long
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
commit ac59198e8be813cdf11eaa1ff1109c62cba120b0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Oct 8 00:18:33 2017 +0200
RPMLint error fix: use python version in python scripts shebangs
diff --git a/mariadb.spec b/mariadb.spec
index fe9cff8..8809e5d 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -218,6 +218,8 @@ BuildRequires: pam-devel
BuildRequires: perl-interpreter
BuildRequires: perl-generators
%endif
+# Some tests requires python
+BuildRequires: python3
# Tests requires time and ps and some perl modules
BuildRequires: procps
BuildRequires: time
@@ -692,6 +694,9 @@ fi
rm -r storage/rocksdb/
%endif
+# set interpreter from python -> python3
+# https://pagure.io/packaging-committee/issue/698
+sed -i 's:#!/usr/bin/env python:#!/usr/bin/env python3:g' storage/tokudb/mysql-test/tokudb/t/*
%build
@@ -1501,6 +1506,7 @@ fi
- Fix client library obsolete
Related: #1498956
- Enable testsuite again
+- RPMLint error fix: use python version in python scripts shebangs
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
commit 81336ab97e91b46dc459b15c24fa124cc56370bc
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 19:05:24 2017 +0200
Enable testsuite again
Bump version for rebuild
diff --git a/mariadb.spec b/mariadb.spec
index 07c3580..fe9cff8 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,7 +3,7 @@
%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
@@ -127,7 +127,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 3%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1497,6 +1497,11 @@ fi
%endif
%changelog
+* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
+- Fix client library obsolete
+ Related: #1498956
+- Enable testsuite again
+
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
- Use 'iproute' dependency instead of 'net-tools'
@@ -1506,8 +1511,6 @@ fi
with dnf "--allowerasing" option
Related: #1497234
- Fix building with client library
-- Fix client library obsolete
- Related: #1498956
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
commit 5d1fdf84048a719f3bb63f66f5fc596788b61945
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 18:13:25 2017 +0200
Fix client library obsolete
diff --git a/mariadb.spec b/mariadb.spec
index 19d1845..07c3580 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -354,8 +354,7 @@ Provides: mariadb-galera-common = %{sameevr}
Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr}
%if %{without clibrary}
-Obsoletes: %{name}-libs%{?_isa} <= %{sameevr}
-Obsoletes: %{name}-common%{?_isa} < %{sameevr}
+Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -1507,6 +1506,8 @@ fi
with dnf "--allowerasing" option
Related: #1497234
- Fix building with client library
+- Fix client library obsolete
+ Related: #1498956
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
6 years, 3 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=d82e5cb985....
Change:
-%ifarch x86_64
Thanks.
Full change:
============
commit 0b98906c25bf8b13adc333f615d4a725dc756237
Merge: 994a33f abdf8da
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Feb 28 10:48:30 2018 +0100
Merge branch 'f27'
commit abdf8da01ae714fc2d5639013461bb950475293b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Feb 18 20:12:10 2018 +0100
Use -DINSTALL_MYSQLTESTDIR Cmake argument correctly; https://jira.mariadb.org/browse/MDEV-14972
diff --git a/mariadb.spec b/mariadb.spec
index 32ad6d6..1fc9213 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -831,7 +831,7 @@ export LDFLAGS
-DINSTALL_LIBDIR="%{_lib}" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \
- -DINSTALL_MYSQLTESTDIR=share/mysql-test \
+ -DINSTALL_MYSQLTESTDIR=%{?with_test:share/mysql-test}%{!?with_test:} \
-DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
@@ -963,12 +963,13 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait
install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
%endif
+%if %{with test}
# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
# Provide symlink expected by RH QA tests
ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
-
+%endif
# Client that uses libmysqld embedded server.
@@ -1121,10 +1122,9 @@ rm -r %{buildroot}%{_datadir}/sql-bench
rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
%endif # embedded
-rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest}
+rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
-rm -r %{buildroot}%{_datadir}/mysql-test
%endif # test
%if %{without galera}
commit 00b1b90490dbe697ea55e1535f54e9d979b2b6c8
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Tue Jan 30 11:55:36 2018 +0100
Update ldconfig scriptlets
diff --git a/mariadb.spec b/mariadb.spec
index 85431a6..32ad6d6 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1188,11 +1188,13 @@ export MTR_BUILD_THREAD=%{__isa_bits}
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
%if %{with clibrary}
-%post libs -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_post libs
%endif
%if %{with embedded}
-%post embedded -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_post embedded
%endif
%if %{with galera}
@@ -1227,11 +1229,13 @@ fi
%endif
%if %{with clibrary}
-%postun libs -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_postun libs
%endif
%if %{with embedded}
-%postun embedded -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_postun embedded
%endif
%if %{with galera}
commit ed1cfbce0e107e983e8b8e95354c902e0c5add2e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Jan 27 02:34:32 2018 +0100
Extend failing tests list for PPC
diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list
index 5fd4928..5fc204e 100644
--- a/rh-skipped-tests-ppc.list
+++ b/rh-skipped-tests-ppc.list
@@ -1,2 +1,6 @@
# Fails since 10.1.12 only on PPC64
innodb_fts.fulltext :
+# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds
+innodb.innodb_defrag_concurrent :
+parts.partition_alter1_2_innodb :
+
commit ad0bf94ae52ced82bc9f755a343d286bde55831a
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jan 26 18:26:43 2018 +0100
Use '-ldl' compiler flag when associated library used
Resolves: #1538990
diff --git a/mariadb.spec b/mariadb.spec
index a0eeb1b..85431a6 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 4%{?with_debug:.debug}%{?dist}
+Release: 5%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -786,6 +786,8 @@ 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"
+# Use -ldl for some plugins #1538990
+CFLAGS="$CFLAGS -ldl"
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298
# Note: sparc = s390
%ifarch sparc sparcv9 sparc64
@@ -1622,6 +1624,10 @@ fi
%endif
%changelog
+* Fri Jan 26 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-5
+- Use '-ldl' compiler flag when associated library used
+ Resolves: #1538990
+
* Thu Jan 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-4
- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
configuration by upstream (without Jemalloc).
commit af8f71d7a59a5f746578e710844dfff675b9a549
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jan 25 12:09:50 2018 +0100
Use downstream tmpfiles instead of the upstream one; #1538066
diff --git a/mariadb.spec b/mariadb.spec
index aa7c469..a0eeb1b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -924,6 +924,9 @@ 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}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.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
@@ -931,6 +934,9 @@ rm %{buildroot}%{_libexecdir}/rcmysql
%if %{with init_systemd}
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}/usr/lib/tmpfiles.d/tmpfiles.conf
+# Install downstream version
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
@@ -986,10 +992,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
# Shipped as a standalona package in Fedora
rm %{buildroot}%{_bindir}/mytop
-# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
-mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf
-mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf
-
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
@@ -1624,6 +1626,8 @@ fi
- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
configuration by upstream (without Jemalloc).
Jemmalloc has been updated to version 5, which isn't backwards compatible.
+- Use downstream tmpfiles instead of the upstream one
+ Related: #1538066
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
commit c07b0bf23ab3eae3f1b485b4a674eee13cf7a8a5
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jan 25 11:59:14 2018 +0100
Fix upgrade path - do build TokuDB, but build a configuration unsupported by upstream (Build without Jemalloc)
diff --git a/mariadb.spec b/mariadb.spec
index 29c8932..aa7c469 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -34,7 +34,7 @@
# Disable TokuDB since 10.1.12 on F>=28
# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail
# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates
-%bcond_with tokudb
+%bcond_without tokudb
%bcond_without mroonga
%bcond_without rocksdb
%else
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 4%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -847,7 +847,7 @@ export LDFLAGS
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_JEMALLOC=system \
+ -DWITH_JEMALLOC=no \
-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} \
@@ -1620,6 +1620,11 @@ fi
%endif
%changelog
+* Thu Jan 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-4
+- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
+ configuration by upstream (without Jemalloc).
+ Jemmalloc has been updated to version 5, which isn't backwards compatible.
+
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
commit 9be454122e9b43716cb1673f8da065894cf54619
Author: Honza Horak <hhorak(a)redhat.com>
Date: Tue Nov 7 12:24:46 2017 +0100
Print the same messages as before when starting the service in SysV init, to not scare users
Related: #1463411
diff --git a/mariadb.spec b/mariadb.spec
index 9693765..29c8932 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1625,6 +1625,9 @@ fi
- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
same as it is done in case of systemd unit file
Related: #1455850
+- Print the same messages as before when starting the service in SysV init,
+ to not scare users
+ Related: #1463411
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh
index 785ddc2..22d0566 100644
--- a/mysql-prepare-db-dir.sh
+++ b/mysql-prepare-db-dir.sh
@@ -68,11 +68,11 @@ else
# Provide some advice if the log file cannot be created by this script
errlogdir=$(dirname "$errlogfile")
if ! [ -d "$errlogdir" ] ; then
- echo "The directory $errlogdir does not exist."
+ echo "The directory $errlogdir does not exist." >&2
exit 1
elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then
- echo "The log file $errlogfile cannot be written, please, fix its permissions."
- echo "The daemon will be run under $myuser:$mygroup"
+ echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2
+ echo "The daemon will be run under $myuser:$mygroup" >&2
exit 1
fi
fi
@@ -90,14 +90,14 @@ if should_initialize "$datadir" ; then
[ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
# Now create the database
- echo "Initializing @NICE_PROJECT_NAME@ database"
+ echo "Initializing @NICE_PROJECT_NAME@ database" >&2
# Avoiding deletion of files not created by mysql_install_db is
# guarded by time check and sleep should help work-arounded
# potential issues on systems with 1 second resolution timestamps
# https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19
INITDB_TIMESTAMP=`LANG=C date -u`
sleep 1
- @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser"
+ @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" >&2
ret=$?
if [ $ret -ne 0 ] ; then
echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2
@@ -128,8 +128,8 @@ else
else
# if the directory is not empty but mysql/ directory is missing, then
# print error and let user to initialize manually or empty the directory
- echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done."
- echo "Make sure the $datadir is empty before running `basename $0`."
+ echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2
+ echo "Make sure the $datadir is empty before running `basename $0`." >&2
exit 1
fi
fi
diff --git a/mysql.init.in b/mysql.init.in
index aa3b809..0282399 100644
--- a/mysql.init.in
+++ b/mysql.init.in
@@ -71,8 +71,8 @@ start(){
action $"Starting $prog: " /bin/true
ret=0
else
- @libexecdir@/mysql-check-socket || return 1
- su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4
+ @libexecdir@/mysql-check-socket >/dev/null || return 1
+ su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4
# Pass all the options determined above, to ensure consistent behavior.
# In many cases mysqld_safe would arrive at the same conclusions anyway
commit a218b6af2838a994df8c51cecca07825cbd82e96
Author: Honza Horak <hhorak(a)redhat.com>
Date: Sun Sep 24 12:55:50 2017 +0200
Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file
Related: #1455850
diff --git a/mariadb.spec b/mariadb.spec
index 337f43e..9693765 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1622,6 +1622,9 @@ fi
%changelog
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
+- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
+ same as it is done in case of systemd unit file
+ Related: #1455850
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
diff --git a/mysql.init.in b/mysql.init.in
index 6ae046c..aa3b809 100644
--- a/mysql.init.in
+++ b/mysql.init.in
@@ -82,7 +82,7 @@ start(){
# Note: set --basedir to prevent probes that might trigger SELinux
# alarms, per bug #547485
su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \
- --pid-file='$pidfile' \
+ --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \
--basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 &
safe_pid=$!
commit 0d9da7bf48c4dbed3b077dbedeaffb6e47f99799
Author: Honza Horak <hhorak(a)redhat.com>
Date: Thu Nov 23 22:15:32 2017 +0100
Remove jar files used for testing from the source
Related: #1463417
diff --git a/mariadb.spec b/mariadb.spec
index 8557a3c..337f43e 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -697,6 +697,9 @@ sources.
%prep
%setup -q -n mariadb-%{version}
+# Removt JAR files that upstream puts into tarball
+find . -name "*.jar" -type f -exec rm --verbose -f {} \;
+
%patch4 -p1
%patch7 -p1
%patch9 -p1
@@ -852,6 +855,8 @@ export LDFLAGS
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect: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} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
@@ -1011,10 +1016,6 @@ install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_
# remove duplicate logrotate script
rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
-# remove *.jar file from mysql-test
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
@@ -1619,6 +1620,9 @@ fi
%endif
%changelog
+* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
+- Do not build connect plugin with mongo and jdbc connectors
+
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
commit fe524160efa2844bb9a1a51a91557f6c20243e24
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 11 12:55:15 2017 +0100
Rebase to 10.2.12
Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
TokuDB disabled
Failing tests lists updated
diff --git a/mariadb.spec b/mariadb.spec
index 980cca3..8557a3c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -13,6 +13,7 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
# Use Full RELRO for all binaries (RHBZ#1092548)
+# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages
%global _hardened_build 1
# By default, patch(1) creates backup files when chunks apply with offsets.
@@ -30,7 +31,10 @@
# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
# RocksB engine is available only for x86_64
%ifarch x86_64
-%bcond_without tokudb
+# Disable TokuDB since 10.1.12 on F>=28
+# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail
+# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates
+%bcond_with tokudb
%bcond_without mroonga
%bcond_without rocksdb
%else
@@ -133,7 +137,7 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 11
+%global bugfixver 12
Name: mariadb
Version: %{compatver}.%{bugfixver}
@@ -796,6 +800,8 @@ export CFLAGS CXXFLAGS
# building with PIE
LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now"
export LDFLAGS
+# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON
+# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2
%endif
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
@@ -831,6 +837,7 @@ export LDFLAGS
-DTMPDIR=/var/tmp \
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=ON \
+ -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \
-DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
-DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
-DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
@@ -844,14 +851,10 @@ export LDFLAGS
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
- -DTOKUDB_OK=1 \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# -DTOKUDB_OK=1
-# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537
-
# Print all Cmake options values
cmake -L
@@ -978,7 +981,9 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
# Shipped as a standalona package in Fedora
rm %{buildroot}%{_bindir}/mytop
-
+# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
+mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf
+mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
@@ -1147,9 +1152,10 @@ export MTR_BUILD_THREAD=%{__isa_bits}
# avoid redundant test runs with --binlog-format=mixed
# increase timeouts to prevent unwanted failures during mass rebuilds
-# Failing test debug 02/14/17
+# Usefull arguments:
# --do-test=mysql_client_test_nonblock \
# --skip-rpl
+# --suite=roles
(
set -ex
@@ -1483,6 +1489,13 @@ fi
%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
%config(noreplace) %{logrotateddir}/%{daemon_name}
+# New systemd feature - used to reconstruct damaged /etc
+# https://github.com/MariaDB/server/commit/7bbc6c14d1
+%dir /usr/lib/sysusers.d
+/usr/lib/sysusers.d/mariadb.conf
+%dir /usr/lib/tmpfiles.d
+/usr/lib/tmpfiles.d/mariadb.conf
+
%if %{with cracklib}
%files cracklib-password-check
%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
@@ -1606,6 +1619,11 @@ fi
%endif
%changelog
+* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
+- Rebase to 10.2.12
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
+- TokuDB disabled
+
* Mon Dec 11 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-2
- Temporary fix for #1523875 removed, bug in Annobin fixed
Resolves: #1523875
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 022dda6..11d5a9b 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -2,13 +2,10 @@
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com...
main.ssl_7937 : #1399847
main.ssl_crl_clients : #1399847
-main.ssl_cert_verify : #1399847
#
-main.userstat : #1399847
main.non_blocking_api : #1399847
perfschema.nesting : #1399847
-perfschema.socket_summary_by_event_name_func : #1399847
perfschema.socket_summary_by_instance_func : #1399847
# <mkocka(a)redhat.com> needs this tests disabled for mode build
@@ -27,14 +24,18 @@ rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic :
+# Fails since 10.1.12
+innodb.innodb_defrag_binlog :
+
+# Fails on PPC, PPC64 and AArch
+parts.partition_alter4_innodb : #1399847
+
# https://jira.mariadb.org/browse/MDEV-14003
-spider/bg.spider3_fixes :
spider/bg.spider3_fixes_part :
spider/bg.spider_fixes :
spider/bg.spider_fixes_part :
spider/bg.basic_sql :
spider/bg.basic_sql_part :
-spider/bg.direct_aggregate :
spider/bg.direct_aggregate_part :
spider/bg.direct_update :
spider/bg.direct_update_part :
@@ -55,4 +56,3 @@ spider.function :
spider.ha :
spider.ha_part :
spider.vp_fixes :
-
diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list
index f396da3..5fd4928 100644
--- a/rh-skipped-tests-ppc.list
+++ b/rh-skipped-tests-ppc.list
@@ -1,4 +1,2 @@
-parts.partition_alter4_innodb : #1399847
-connect.tbl_thread : warnings in log
-partition_alter1_2_innodb : warnings in log
-partition_alter2_1_1_innodb : warnings in log
+# Fails since 10.1.12 only on PPC64
+innodb_fts.fulltext :
diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list
index 5f46945..e69de29 100644
--- a/rh-skipped-tests-s390.list
+++ b/rh-skipped-tests-s390.list
@@ -1,6 +0,0 @@
-encryption.innodb-read-only : #1399847
-multi_source.gtid : warnings in log
-sys_vars.innodb_autoextend_increment_basic : warnings in log
-vcol.vcol_keys_innodb : warnings in log
-
-encryption.innodb-compressed-blob : started failing with 10.2.11 release
diff --git a/sources b/sources
index d8648b0..dc9be41 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44
+SHA512 (mariadb-10.2.12.tar.gz) = 8d3d3c84d4a01d6047e4f2b6802eb802e1f6a7b0e10e981c7ef9fdd27a5a25baab0af47a21b8637f4cbb9d21ef3bcc85097c5fdb8745c2a79040ab87fecb5a7b
commit 9c1b69700c1ede718aa30ddf8b62d46c5b528584
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 11 12:55:15 2017 +0100
Temporary fix for #1523875 removed, bug in Annobin fixed
diff --git a/mariadb.spec b/mariadb.spec
index 3c58c95..980cca3 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -137,7 +137,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -789,9 +789,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
%endif
-# Temporary fix for rhbz#1523875
-CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" `
-
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS
@@ -1609,10 +1606,15 @@ fi
%endif
%changelog
+* Mon Dec 11 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-2
+- Temporary fix for #1523875 removed, bug in Annobin fixed
+ Resolves: #1523875
+
* Sat Dec 09 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-1
- Rebase to 10.2.11
- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
- Temporary fix for #1523875 intoruced
+ Related: #1523875
* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
commit 6cfe77260f023045af345c712549d98fb2f789d2
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 21:50:34 2017 +0100
Add failing test for 10.2.11 release
diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list
index 52e7587..5f46945 100644
--- a/rh-skipped-tests-s390.list
+++ b/rh-skipped-tests-s390.list
@@ -2,3 +2,5 @@ encryption.innodb-read-only : #1399847
multi_source.gtid : warnings in log
sys_vars.innodb_autoextend_increment_basic : warnings in log
vcol.vcol_keys_innodb : warnings in log
+
+encryption.innodb-compressed-blob : started failing with 10.2.11 release
commit 6823344debd69918f0584d9fdb7eef3e5eb60c48
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 18:57:49 2017 +0100
Added reasons in comments to removed files section.
Based on a question asked on the usptream mailing list: https://lists.launchpad.net/maria-developers/msg11028.html
diff --git a/mariadb.spec b/mariadb.spec
index 29ad620..3c58c95 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -404,6 +404,8 @@ Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}
Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}
Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}
+Suggests: mytop
+
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
@@ -955,21 +957,29 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/
ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
-# should move this to /etc/ ?
-# WHY??
-%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client
+# 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}
+# Static libraries
rm %{buildroot}%{_libdir}/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server.
-
-# WHY??
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton?
-
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ]
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql
-
-# WHY??
-rm %{buildroot}%{_bindir}/mytop #not shipped by upstream
+# This script creates the MySQL system tables and starts the server.
+# Upstream says:
+# It looks like it's just "mysql_install_db && mysqld_safe"
+# I've never heard of anyone using it, I'd say, no need to pack it.
+rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
+# FS files first-bytes recoginiton
+# Not updated by upstream since nobody realy use that
+rm %{buildroot}%{_datadir}/%{pkg_name}/magic
+
+# Upstream ships them because of, https://jira.mariadb.org/browse/MDEV-10797
+# In Fedora we use our own systemd unit files and scripts
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
+
+# Binary for monitoring MySQL performance
+# Shipped as a standalona package in Fedora
+rm %{buildroot}%{_bindir}/mytop
commit c9863fb5fed22bae1ae931a6fbf4519ddce56bc9
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 02:46:07 2017 +0100
Include aliases for mariadb service; #1520905
diff --git a/mysql.service.in b/mysql.service.in
index 8292553..bb5b8c2 100644
--- a/mysql.service.in
+++ b/mysql.service.in
@@ -67,3 +67,5 @@ PrivateTmp=true
[Install]
WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
diff --git a/mysql@.service.in b/mysql@.service.in
index 3bf386d..34e645f 100644
--- a/mysql@.service.in
+++ b/mysql@.service.in
@@ -73,3 +73,5 @@ PrivateTmp=true
[Install]
WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
commit d413e4241d87749f79bbb7c6d49c75996b183f5f
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 02:34:41 2017 +0100
Rebase to 10.2.11
Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
Temporary fix for #1523875 intoruced
diff --git a/mariadb.spec b/mariadb.spec
index 895a9bb..29ad620 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -133,11 +133,11 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 10
+%global bugfixver 11
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -786,6 +786,10 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
%ifarch ppc64
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
%endif
+
+# Temporary fix for rhbz#1523875
+CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" `
+
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS
@@ -841,10 +845,14 @@ export LDFLAGS
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
+ -DTOKUDB_OK=1 \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
+# -DTOKUDB_OK=1
+# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537
+
# Print all Cmake options values
cmake -L
@@ -1426,8 +1434,16 @@ fi
%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql
%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql
%{_datadir}/%{pkg_name}/mysql_performance_tables.sql
-%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql}
-%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql}
+%if %{with mroonga}
+%{_datadir}/%{pkg_name}/mroonga/install.sql
+%{_datadir}/%{pkg_name}/mroonga/uninstall.sql
+%license %{_datadir}/%{pkg_name}/mroonga/COPYING
+%license %{_datadir}/%{pkg_name}/mroonga/AUTHORS
+%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt
+%license %{_datadir}/groonga/COPYING
+%doc %{_datadir}/groonga-normalizer-mysql/README.md
+%doc %{_datadir}/groonga/README.md
+%endif
%{_datadir}/%{pkg_name}/my-*.cnf
%{_datadir}/%{pkg_name}/wsrep.cnf
%{_datadir}/%{pkg_name}/wsrep_notify
@@ -1583,6 +1599,11 @@ fi
%endif
%changelog
+* Sat Dec 09 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-1
+- Rebase to 10.2.11
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
+- Temporary fix for #1523875 intoruced
+
* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
Related: #1483331, #1515779
diff --git a/sources b/sources
index 2161b03..d8648b0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239
+SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44
commit 4983671d078d466b646907b0fb6fe52b4a3bed20
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Dec 6 09:51:51 2017 +0100
Remove 'Group' tags as they should not be used any more
https://fedoraproject.org/wiki/RPMGroups
diff --git a/mariadb.spec b/mariadb.spec
index 2c0d51b..895a9bb 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,6 @@ Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
-Group: Applications/Databases
URL: http://mariadb.org
# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license
License: GPLv2 with exceptions and LGPLv2 and BSD
@@ -293,7 +292,6 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files.
%if %{with clibrary}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-libs = %{sameevr}
@@ -322,7 +320,6 @@ to a MariaDB/MySQL server.
%if %{with config}
%package config
Summary: The config files required by server and client
-Group: Applications/Databases
%description config
The package provides the config file my.cnf and my.cnf.d directory used by any
@@ -335,7 +332,6 @@ package itself.
%if %{with common}
%package common
Summary: The shared files required by server and client
-Group: Applications/Databases
Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
@@ -355,7 +351,6 @@ You will need to install this package to use any other MariaDB package.
%if %{with errmsg}
%package errmsg
Summary: The error messages files required by server and embedded
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
%description errmsg
@@ -368,7 +363,6 @@ MariaDB packages.
%if %{with galera}
%package server-galera
Summary: The configuration files and scripts for galera replication
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: galera >= 25.3.3
@@ -393,7 +387,6 @@ MariaDB is a community developed branch of MySQL.
%package server
Summary: The MariaDB server and related files
-Group: Applications/Databases
# note: no version here = %%{version}-%%{release}
%if %{with mysql_names}
@@ -455,7 +448,6 @@ MariaDB is a community developed branch of MySQL.
%if %{with oqgraph}
%package oqgraph-engine
Summary: The Open Query GRAPH engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
# boost and Judy required for oograph
BuildRequires: boost-devel Judy-devel
@@ -472,7 +464,6 @@ standard SQL syntax, and results joined onto other tables.
%if %{with connect}
%package connect-engine
Summary: The CONNECT storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description connect-engine
@@ -487,7 +478,6 @@ or products (such as Excel), or data retrieved from the environment
%if %{with backup}
%package backup
Summary: The mariabackup tool for physical online backups
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: libarchive-devel
@@ -501,7 +491,6 @@ For InnoDB, "hot online" backups are possible.
%if %{with rocksdb}
%package rocksdb-engine
Summary: The RocksDB storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description rocksdb-engine
@@ -512,7 +501,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives.
%if %{with tokudb}
%package tokudb-engine
Summary: The TokuDB storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description tokudb-engine
@@ -523,7 +511,6 @@ The TokuDB storage engine from Percona.
%if %{with cracklib}
%package cracklib-password-check
Summary: The password strength checking plugin
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: cracklib-dicts cracklib-devel
Requires: cracklib-dicts
@@ -540,7 +527,6 @@ also use it to check MariaDB account passwords.
%if %{with gssapi}
%package gssapi-server
Summary: GSSAPI authentication plugin for server
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: krb5-devel
@@ -553,7 +539,6 @@ This plugin includes support for Kerberos on Unix.
%if %{with sphinx}
%package sphinx-engine
Summary: The Sphinx storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: sphinx libsphinxclient libsphinxclient-devel
Requires: sphinx libsphinxclient
@@ -565,7 +550,6 @@ The Sphinx storage engine for MariaDB.
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-perl = %{sameevr}
@@ -582,7 +566,6 @@ 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
-Group: Applications/Databases
%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}}
# avoid issues with openssl1.0 / openssl1.1 / compat
Requires: pkgconfig(openssl)
@@ -614,7 +597,6 @@ package.
%if %{with embedded}
%package embedded
Summary: MariaDB as an embeddable library
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
%if %{with mysql_names}
@@ -633,7 +615,6 @@ MariaDB is a community developed branch of MySQL.
%package embedded-devel
Summary: Development files for MariaDB as an embeddable library
-Group: Applications/Databases
Requires: %{name}-embedded%{?_isa} = %{sameevr}
Requires: %{name}-devel%{?_isa} = %{sameevr}
# embedded-devel should require libaio-devel (rhbz#1290517)
@@ -657,7 +638,6 @@ the embedded version of the MariaDB server.
%if %{with bench}
%package bench
Summary: MariaDB benchmark scripts and data
-Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-bench = %{sameevr}
@@ -678,7 +658,6 @@ MariaDB.
%if %{with test}
%package test
Summary: The test suite distributed with MariaDB
-Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
@@ -1604,9 +1583,11 @@ fi
%endif
%changelog
-* Thu Nov 23 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
+* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
Related: #1483331, #1515779
+- Remove 'Group' tags as they should not be used any more
+ Related: https://fedoraproject.org/wiki/RPMGroups
* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
commit 23b69efe580b1f0c44c1c5828dcad3160945f7f5
Author: Honza Horak <hhorak(a)redhat.com>
Date: Fri Dec 1 16:10:14 2017 +0100
Use conditions definition for optional plugins as described at https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L1...
diff --git a/mariadb.spec b/mariadb.spec
index 07a44f5..2c0d51b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -44,10 +44,12 @@
%bcond_without oqgraph
# Other plugins
-%bcond_without cracklib
-%bcond_without gssapi
-%bcond_without connect
-%bcond_without sphinx
+# Allow to override the values outside of spec
+# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L1...
+%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}}
+%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}}
+%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}}
+%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}}
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
%bcond_without clibrary
@@ -211,7 +213,7 @@ BuildRequires: bison bison-devel
BuildRequires: pam-devel
# use either new enough version of pcre or provide bundles(pcre)
%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
-%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
+%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-interpreter
commit 869d50aa46e27ecf170c32467236689435c6fb19
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Nov 23 15:06:29 2017 +0100
Fix PID file location
Related: #1483331, #1515779
diff --git a/mariadb.spec b/mariadb.spec
index 625ad8c..07a44f5 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -78,7 +78,7 @@
%global daemon_name %{name}
%global daemondir %{_unitdir}
%global daemon_no_prefix %{pkg_name}
-%global mysqld_pid_dir mysqld
+%global mysqld_pid_dir mariadb
%else
%bcond_with init_systemd
%bcond_without init_sysv
@@ -135,7 +135,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1602,6 +1602,10 @@ fi
%endif
%changelog
+* Thu Nov 23 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
+- Fix PID file location
+ Related: #1483331, #1515779
+
* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
commit 9454f6d0ae91525e189b970ca26e049ed4656342
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 20 14:38:51 2017 +0100
Remove false Provides
List only relevant Cmake arguments
diff --git a/mariadb.spec b/mariadb.spec
index 0f806ce..625ad8c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -296,18 +296,6 @@ Requires: %{name}-common%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-libs = %{sameevr}
Provides: mysql-libs%{?_isa} = %{sameevr}
-# these are the provides for the libmysqlclient.so.18 compatibility
-# symlink; the library auto-provides system does not handle this kind
-# of symlink. They should be removed when the symlink is removed
-%if 0%{?__isa_bits} == 64
-Provides: libmysqlclient.so.18()(64bit)
-Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit)
-Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit)
-%else
-Provides: libmysqlclient.so.18
-Provides: libmysqlclient.so.18(libmysqlclient_16)
-Provides: libmysqlclient.so.18(libmysqlclient_18)
-%endif # isa_bits
%endif # mysql_names
%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}}
%{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}}
@@ -873,52 +861,9 @@ export LDFLAGS
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
- -DPLUGIN_ARCHIVE=DYNAMIC \
- -DPLUGIN_AUDIT_NULL=DYNAMIC \
- -DPLUGIN_AUTH_ED25519=DYNAMIC \
- -DPLUGIN_AUTH_PAM=DYNAMIC \
- -DPLUGIN_AUTH_SOCKET=DYNAMIC \
- -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \
- -DPLUGIN_AUTH_0X0100=DYNAMIC \
- -DPLUGIN_BLACKHOLE=DYNAMIC \
- -DPLUGIN_CLIENT_ED25519=DYNAMIC \
- -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \
- -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \
- -DPLUGIN_EXAMPLE=DYNAMIC \
- -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_FEDERATED=DYNAMIC \
- -DPLUGIN_FEDERATEDX=DYNAMIC \
- -DPLUGIN_FEEDBACK=DYNAMIC \
- -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_FTEXAMPLE=DYNAMIC \
- -DPLUGIN_HANDLERSOCKET=DYNAMIC \
- -DPLUGIN_LOCALES=DYNAMIC \
- -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \
- -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \
- -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \
- -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \
- -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \
- -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \
- -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \
- -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \
- -DPLUGIN_SEQUENCE=DYNAMIC \
- -DPLUGIN_SERVER_AUDIT=DYNAMIC \
- -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \
- -DPLUGIN_SPIDER=DYNAMIC \
- -DPLUGIN_SQL_ERRLOG=DYNAMIC \
- -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \
- -DPLUGIN_USER_VARIABLES=DYNAMIC \
- -DPLUGIN_WSREP_INFO=DYNAMIC \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373
-# -DPLUGIN_INNOBASE=DYNAMIC \
-# -DPLUGIN_PARTITION=DYNAMIC \
-# -DPLUGIN_ARIA=DYNAMIC \
-# -DPLUGIN_PERFSCHEMA=DYNAMIC \
-
# Print all Cmake options values
cmake -L
@@ -1657,7 +1602,7 @@ fi
%endif
%changelog
-* Mon Nov 13 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
@@ -1668,6 +1613,7 @@ fi
Resolves: #1490401; #1400463
- Update of Cmake arguments to supported format
Related: https://lists.launchpad.net/maria-discuss/msg04852.html
+- Remove false Provides
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
commit 0c047c18a7607fb225c35088b8814c2ca30fa4f6
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Nov 15 12:02:56 2017 +0100
Fix file removal on multilib systems
diff --git a/mariadb.spec b/mariadb.spec
index 0a259bc..0f806ce 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1100,7 +1100,6 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,
%endif
%if %{without clibrary} || %{without devel}
-unlink %{buildroot}%{_bindir}/mysql_config
rm %{buildroot}%{_bindir}/mysql_config*
rm %{buildroot}%{_bindir}/mariadb_config
rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
commit d82e5cb98533c58398a50f16efb111173230a1c1
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 13 09:18:22 2017 +0100
Divided to more sub-packages to match upstream's RPM list: #1490401; #1400463
Update of Cmake arguments to supported format: https://lists.launchpad.net/maria-discuss/msg04852.htm
diff --git a/mariadb.spec b/mariadb.spec
index a2cafa7..0a259bc 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -20,28 +20,35 @@
%global _default_patch_flags --no-backup-if-mismatch
# TokuDB engine
-# https://mariadb.com/kb/en/mariadb/tokudb/
-# TokuDB engine is available only for x86_64
-%ifarch x86_64
-%bcond_without tokudb
-%else
-%bcond_with tokudb
-%endif
-
+# https://mariadb.com/kb/en/mariadb/tokudb/
+# TokuDB engine is available only for x86_64
# Mroonga engine
-# https://mariadb.com/kb/en/mariadb/about-mroonga/
-# Actual version in MariaDB, 5.04, only supports the x86_64
-# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
+# https://mariadb.com/kb/en/mariadb/about-mroonga/
+# Actual version in MariaDB, 5.04, only supports the x86_64
+# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
+# RocksDB engine
+# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
+# RocksB engine is available only for x86_64
%ifarch x86_64
+%bcond_without tokudb
%bcond_without mroonga
+%bcond_without rocksdb
%else
+%bcond_with tokudb
%bcond_with mroonga
+%bcond_with rocksdb
%endif
# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing
# hierarchies and more complex graph structures to be handled in a relational fashion
%bcond_without oqgraph
+# Other plugins
+%bcond_without cracklib
+%bcond_without gssapi
+%bcond_without connect
+%bcond_without sphinx
+
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
%bcond_without clibrary
%bcond_without embedded
@@ -51,8 +58,8 @@
%bcond_without errmsg
%bcond_without bench
%bcond_without test
-%bcond_without connect
%bcond_without galera
+%bcond_without backup
# When there is already another package that ships /etc/my.cnf,
# rather include it than ship the file again, since conflicts between
@@ -62,6 +69,8 @@
# For deep debugging we need to build binaries with extra debug info
%bcond_with debug
+
+
# Include files for SysV init or systemd
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
%bcond_without init_systemd
@@ -179,29 +188,25 @@ Patch40: %{pkgnamepatch}-galera.cnf.patch
Patch43: %{pkgnamepatch}-recovery.patch
BuildRequires: cmake gcc-c++
+BuildRequires: zlib-devel
+BuildRequires: multilib-rpm-config
+BuildRequires: selinux-policy-devel
+
+# TokuDB and some core stuff
+BuildRequires: jemalloc-devel
+
+# asynchornous operations stuff
BuildRequires: libaio-devel
+# commands history features
BuildRequires: libedit-devel
+# CLI graphic
BuildRequires: ncurses-devel
+# debugging stuff
BuildRequires: systemtap-sdt-devel
-BuildRequires: zlib-devel
-BuildRequires: multilib-rpm-config
-BuildRequires: krb5-devel
-BuildRequires: selinux-policy-devel
%{?with_init_systemd:BuildRequires: systemd systemd-devel}
-# Sphinx storage engine
-#BuildRequires: sphinx libsphinxclient libsphinxclient-devel
# Bison SQL parser
BuildRequires: bison bison-devel
-# Jemalloc, used by TokuDB
-BuildRequires: jemalloc-devel
-
-# Cracklib plugin
-BuildRequires: cracklib-dicts cracklib-devel
-
-# Mariabackup
-BuildRequires: libarchive-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)
@@ -230,7 +235,7 @@ BuildRequires: perl(Time::HiRes)
BuildRequires: perl(Symbol)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
-Recommends: openssl
+Requires: openssl
Requires: bash coreutils grep
@@ -311,7 +316,7 @@ Provides: libmysqlclient.so.18(libmysqlclient_18)
The mariadb-libs package provides the essential shared libraries for any
MariaDB/MySQL client program or interface. You will need to install this
package to use any other MariaDB package or any clients that need to connect
-to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL.
+to a MariaDB/MySQL server.
%endif #clibrary
@@ -351,7 +356,6 @@ Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
-
%description common
The package provides the essential shared files for any MariaDB program.
You will need to install this package to use any other MariaDB package.
@@ -380,6 +384,9 @@ Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: galera >= 25.3.3
Requires(post): libselinux-utils
Requires(post): policycoreutils-python
+# wsrep requirements
+Requires: lsof
+Requires: rsync
# obsoletion of mariadb-galera-server
Provides: mariadb-galera-server = %{sameevr}
@@ -408,18 +415,23 @@ Requires: %{name}%{?_isa}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Recommends: %{name}-server-utils%{?_isa} = %{sameevr}
+Recommends: %{name}-backup%{?_isa} = %{sameevr}
+Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr}
+Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}
+Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}
+Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}
+
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
+
# for fuser in mysql-check-socket
Requires: psmisc
+
Requires: coreutils
Requires(pre): /usr/sbin/useradd
-# Sphinx storage engine
-#Recommends: sphinx libsphinxclient
# Bison SQL parser
+# WHY?? (testsuite??)
Requires: bison
-# Cracklib plugin:
-Recommends: cracklib-dicts
%if %{with init_systemd}
# We require this to be present for %%{_tmpfilesdir}
@@ -429,9 +441,6 @@ Requires(pre): systemd
Requires(posttrans): systemd
%{?systemd_requires: %systemd_requires}
%endif
-# wsrep requirements
-Requires: lsof
-Requires: rsync
# RHBZ#1496131; use 'iproute' instead of 'net-tools'
Requires: iproute
%if %{with mysql_names}
@@ -485,6 +494,85 @@ or products (such as Excel), or data retrieved from the environment
%endif
+%if %{with backup}
+%package backup
+Summary: The mariabackup tool for physical online backups
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: libarchive-devel
+
+%description backup
+MariaDB Backup is an open source tool provided by MariaDB for performing
+physical online backups of InnoDB, Aria and MyISAM tables.
+For InnoDB, "hot online" backups are possible.
+%endif
+
+
+%if %{with rocksdb}
+%package rocksdb-engine
+Summary: The RocksDB storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+
+%description rocksdb-engine
+The RocksDB storage engine is used for high performance servers on SSD drives.
+%endif
+
+
+%if %{with tokudb}
+%package tokudb-engine
+Summary: The TokuDB storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+
+%description tokudb-engine
+The TokuDB storage engine from Percona.
+%endif
+
+
+%if %{with cracklib}
+%package cracklib-password-check
+Summary: The password strength checking plugin
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: cracklib-dicts cracklib-devel
+Requires: cracklib-dicts
+
+%description cracklib-password-check
+CrackLib is a password strength checking library. It is installed by default
+in many Linux distributions and is invoked automatically (by pam_cracklib.so)
+whenever the user login password is modified.
+Now, with the cracklib_password_check password validation plugin, one can
+also use it to check MariaDB account passwords.
+%endif
+
+
+%if %{with gssapi}
+%package gssapi-server
+Summary: GSSAPI authentication plugin for server
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: krb5-devel
+
+%description gssapi-server
+GSSAPI authentication server-side plugin for MariaDB for passwordless login.
+This plugin includes support for Kerberos on Unix.
+%endif
+
+
+%if %{with sphinx}
+%package sphinx-engine
+Summary: The Sphinx storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: sphinx libsphinxclient libsphinxclient-devel
+Requires: sphinx libsphinxclient
+
+%description sphinx-engine
+The Sphinx storage engine for MariaDB.
+%endif
+
+
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
Group: Applications/Databases
@@ -520,10 +608,16 @@ Provides: mysql-devel%{?_isa} = %{sameevr}
%{?with_conflicts:Conflicts: community-mysql-devel}
%description devel
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains the libraries and header files that are needed for
-developing MariaDB/MySQL client applications.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+%if %{with clibrary}
+This package contains everything needed for developing MariaDB/MySQL client
+and server applications.
+%else
+This package contains everything needed for developing MariaDB/MySQL server
+applications. For developing client applications, use mariadb-connector-c
+package.
+%endif
%endif
@@ -563,10 +657,10 @@ Provides: mysql-embedded-devel%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}}
%description embedded-devel
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains files needed for developing and testing with
-the embedded version of the MariaDB server.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains files needed for developing and testing with
+the embedded version of the MariaDB server.
%endif
@@ -584,10 +678,10 @@ Provides: mysql-bench%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}}
%description bench
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains benchmark scripts and data for use when benchmarking
-MariaDB.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains benchmark scripts and data for use when benchmarking
+MariaDB.
%endif
@@ -618,10 +712,10 @@ Provides: mysql-test%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}}
%description test
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains the regression test suite distributed with
-the MariaDB sources.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains the regression test suite distributed with the MariaDB
+sources.
%endif
@@ -762,34 +856,75 @@ export LDFLAGS
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
+ -DTMPDIR=/var/tmp \
-DENABLED_LOCAL_INFILE=ON \
- -DENABLE_DTRACE=OFF \
- -DWITH_EMBEDDED_SERVER=ON \
+ -DENABLE_DTRACE=ON \
+ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
+ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
+ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
+ -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \
-DWITH_JEMALLOC=system \
- -DWITH_LIBARCHIVE=ON \
- -DWITH_MARIABACKUP=ON \
-%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\
-%{!?with_mroonga: -DWITHOUT_MROONGA=ON}\
-%{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\
- -DTMPDIR=/var/tmp \
-%{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\
+ -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} \
+ -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
+ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
+ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
+ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
+ -DPLUGIN_ARCHIVE=DYNAMIC \
+ -DPLUGIN_AUDIT_NULL=DYNAMIC \
+ -DPLUGIN_AUTH_ED25519=DYNAMIC \
+ -DPLUGIN_AUTH_PAM=DYNAMIC \
+ -DPLUGIN_AUTH_SOCKET=DYNAMIC \
+ -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \
+ -DPLUGIN_AUTH_0X0100=DYNAMIC \
+ -DPLUGIN_BLACKHOLE=DYNAMIC \
+ -DPLUGIN_CLIENT_ED25519=DYNAMIC \
+ -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \
+ -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \
+ -DPLUGIN_EXAMPLE=DYNAMIC \
+ -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_FEDERATED=DYNAMIC \
+ -DPLUGIN_FEDERATEDX=DYNAMIC \
+ -DPLUGIN_FEEDBACK=DYNAMIC \
+ -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_FTEXAMPLE=DYNAMIC \
+ -DPLUGIN_HANDLERSOCKET=DYNAMIC \
+ -DPLUGIN_LOCALES=DYNAMIC \
+ -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \
+ -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \
+ -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \
+ -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \
+ -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \
+ -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \
+ -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \
+ -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \
+ -DPLUGIN_SEQUENCE=DYNAMIC \
+ -DPLUGIN_SERVER_AUDIT=DYNAMIC \
+ -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \
+ -DPLUGIN_SPIDER=DYNAMIC \
+ -DPLUGIN_SQL_ERRLOG=DYNAMIC \
+ -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \
+ -DPLUGIN_USER_VARIABLES=DYNAMIC \
+ -DPLUGIN_WSREP_INFO=DYNAMIC \
+%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-make %{?_smp_mflags} VERBOSE=1
+# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373
+# -DPLUGIN_INNOBASE=DYNAMIC \
+# -DPLUGIN_PARTITION=DYNAMIC \
+# -DPLUGIN_ARIA=DYNAMIC \
+# -DPLUGIN_PERFSCHEMA=DYNAMIC \
+# Print all Cmake options values
+cmake -L
+
+make %{?_smp_mflags} VERBOSE=1
-# debuginfo extraction scripts fail to find source files in their real
-# location -- satisfy them by copying these files into location, which
-# is expected by scripts
-#for e in innobase xtradb ; do
-# for f in pars0grm.y pars0lex.l ; do
-# cp -p "storage/$e/pars/$f" "storage/$e/$f"
-# done
-#done
# build selinux policy
%if %{with galera}
@@ -817,7 +952,8 @@ ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1
fi
# Upstream install this into arch-independent directory
-# TODO: report to upstream
+# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340
+# 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
@@ -827,6 +963,7 @@ 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}
chmod 0750 %{buildroot}%{logfiledir}
touch %{buildroot}%{logfile}
@@ -843,9 +980,12 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
rm scripts/my.cnf
%endif
-# use different config file name for each variant of server
+# 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
+# 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
%if %{with init_systemd}
install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
@@ -853,9 +993,8 @@ install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_nam
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
-%endif
-%endif
-
+%endif #pid
+%endif #systemd
# install SysV init script
%if %{with init_sysv}
install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name}
@@ -870,26 +1009,35 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-
install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready
%endif
-# install selinux policy
+# install aditional galera selinux policy
%if %{with galera}
install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
%endif
-# mysql-test includes one executable that doesn't belong under /usr/share,
-# so move it and provide a symlink
+# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
+# Provide symlink expected by RH QA tests
+ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
+
# should move this to /etc/ ?
-rm %{buildroot}%{_bindir}/mysql_embedded
+# WHY??
+%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client
+
rm %{buildroot}%{_libdir}/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
-rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
-rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1*
-rm %{buildroot}%{_bindir}/mytop
+rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server.
+
+# WHY??
+rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton?
+
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ]
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql
+
+# WHY??
+rm %{buildroot}%{_bindir}/mytop #not shipped by upstream
+
+
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
@@ -906,45 +1054,39 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}}
# install galera config file
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
-
# install the clustercheck script
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
-
# install the galera_new_cluster script anyway
%if %{without init_systemd}
install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster
%endif
-# remove SysV init script and a symlink to that
-rm %{buildroot}%{_sysconfdir}/init.d/mysql
-rm %{buildroot}%{_libexecdir}/rcmysql
-
# remove duplicate logrotate script
rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
-
-# rename the wsrep README so it corresponds with the other README names
-cp Docs/README-wsrep Docs/README.wsrep
-
# remove *.jar file from mysql-test
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
+# Remove AppArmor files
+rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
# script without shebang: https://jira.mariadb.org/browse/MDEV-14266
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
-# Remove AppArmor files
-rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
-
# Disable plugins
+%if %{with ggsapi}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+%if %{with cracklib}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%endif
+
+%if %{without embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+%endif
-# install the list of skipped tests to be available for user runs
-install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test
-ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
%if %{without clibrary}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf
@@ -957,66 +1099,43 @@ unlink %{buildroot}%{_libdir}/libmariadb.so
rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so}
%endif
-%if %{without embedded}
-rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so*
-rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
-rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
-%endif
-
-%if %{without devel}
+%if %{without clibrary} || %{without devel}
unlink %{buildroot}%{_bindir}/mysql_config
rm %{buildroot}%{_bindir}/mysql_config*
rm %{buildroot}%{_bindir}/mariadb_config
-rm -r %{buildroot}%{_includedir}/mysql
-rm %{buildroot}%{_datadir}/aclocal/mysql.m4
-rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc
rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
-%else
-%if %{with clibrary}
-# Create symlinks to the 'libmariadb' library, for compatibility reasons
-# Note: the -libs subpackage has Provides: for this compat symlink; when
-# it is removed, they should also be removed
-pushd %{buildroot}%{_libdir}
-#ln -s libmariadb.so libmysqlclient.so
-ln -s libmariadb.so.3 libmysqlclient.so.18
-#ln -s libmariadb.so libmysqlclient_r.so
-popd
-%else
-# This file is already included in mariadb-connector-c
-rm %{buildroot}%{_includedir}/mysql/mysql_version.h
+%endif
-rm %{buildroot}%{_bindir}/*_config*
-rm %{buildroot}%{_mandir}/man1/*_config*
-#rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so*
+%if %{without clibrary} && %{with devel}
+# 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}
rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql}
%endif
-%endif
+
+%if %{without devel}
+rm -r %{buildroot}%{_includedir}/mysql
+rm %{buildroot}%{_datadir}/aclocal/mysql.m4
+rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc
+%if %{with clibrary}
+rm %{buildroot}%{_libdir}/libmariadb*.so
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+%endif # clibrary
+%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,my_print_defaults}
+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,my_print_defaults}.1*
-%endif
-
-%if %{without connect}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf
-%endif
-
-%if %{without oqgraph}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf
+mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
%endif
%if %{without tokudb}
-%ifarch x86_64
-rm %{buildroot}%{_bindir}/tokuftdump
-rm %{buildroot}%{_bindir}/tokuft_logprint
-%endif
# 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_logdump.1*
@@ -1032,6 +1151,10 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset
rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets
%endif
+%if %{without gssapi}
+rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
+%endif
+
%if %{without errmsg}
rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt
rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\
@@ -1044,10 +1167,15 @@ rm -r %{buildroot}%{_datadir}/sql-bench
%endif
%if %{without test}
-rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process}
+%if %{with embedded}
+rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
+rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
+%endif # embedded
+rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
+rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
rm -r %{buildroot}%{_datadir}/mysql-test
-rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
-%endif
+%endif # test
%if %{without galera}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
@@ -1098,8 +1226,10 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%endif
)
-%endif
-%endif
+%endif # if dry run
+%endif # with test
+
+
%pre server
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
@@ -1170,6 +1300,8 @@ if [ $1 -ge 1 ]; then
fi
%endif
+
+
%if %{with client}
%files
%{_bindir}/msql2mysql
@@ -1185,7 +1317,6 @@ fi
%{_bindir}/mysqlimport
%{_bindir}/mysqlshow
%{_bindir}/mysqlslap
-%{_bindir}/my_print_defaults
%{_mandir}/man1/msql2mysql.1*
%{_mandir}/man1/mysql.1*
@@ -1200,13 +1331,12 @@ fi
%{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
-%{_mandir}/man1/my_print_defaults.1*
%endif
%if %{with clibrary}
%files libs
%{_libdir}/libmariadb.so.*
-%{_libdir}/libmysqlclient.so.18
+%{?with_devel:%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}}
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
@@ -1225,10 +1355,10 @@ fi
%doc %{_datadir}/doc/%{_pkgdocdirname}
%dir %{_datadir}/%{pkg_name}
%{_datadir}/%{pkg_name}/charsets
-%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary}
+%if %{with clibrary}
%{_libdir}/%{pkg_name}/plugin/dialog.so
%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
-%endif # devel && errmsg && galera && config
+%endif # clibrary
%endif # common
%if %{with errmsg}
@@ -1262,7 +1392,7 @@ fi
%if %{with galera}
%files server-galera
-%doc Docs/README.wsrep
+%doc Docs/README-wsrep
%license LICENSE.clustercheck
%{_bindir}/clustercheck
%{_bindir}/galera_new_cluster
@@ -1283,15 +1413,14 @@ fi
%{_bindir}/aria_ftdump
%{_bindir}/aria_pack
%{_bindir}/aria_read_log
-%{_bindir}/mariabackup
%if %{with init_systemd}
%{_bindir}/mariadb-service-convert
%endif
-%{_bindir}/mbstream
%{_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
@@ -1307,21 +1436,8 @@ fi
%{_bindir}/wsrep_sst_rsync
%{_bindir}/wsrep_sst_xtrabackup
%{_bindir}/wsrep_sst_xtrabackup-v2
-%{?with_tokudb:%{_bindir}/tokuftdump}
-%{?with_tokudb:%{_bindir}/tokuft_logprint}
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
-%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf}
-# Cracklib plugin
-%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
-# RocksDB engine
-%if %{with rocksdb}
-%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
-%{_bindir}/mysql_ldb
-%{_bindir}/sst_dump
-%endif
-
%{_libexecdir}/mysqld
@@ -1336,8 +1452,15 @@ fi
%{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
+%{?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_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
+%if %{with clibrary}
%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
+%endif
%{_mandir}/man1/aria_chk.1*
%{_mandir}/man1/aria_dump_log.1*
@@ -1351,20 +1474,18 @@ fi
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
%{_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/mysqld_safe_helper.1*
-%{_mandir}/man1/my_safe_process.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man8/mysqld.8*
-%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*}
-%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*}
%{_mandir}/man1/wsrep_sst_common.1*
%{_mandir}/man1/wsrep_sst_mysqldump.1*
%{_mandir}/man1/wsrep_sst_rsync.1*
@@ -1414,6 +1535,47 @@ fi
%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
%config(noreplace) %{logrotateddir}/%{daemon_name}
+%if %{with cracklib}
+%files cracklib-password-check
+%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so
+%endif
+
+%if %{with backup}
+%files backup
+%{_bindir}/mariabackup
+%{_bindir}/mbstream
+%endif
+
+%if %{with rocksdb}
+%files rocksdb-engine
+%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
+%{_bindir}/mysql_ldb
+%{_bindir}/sst_dump
+%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so
+%endif
+
+%if %{with tokudb}
+%files tokudb-engine
+%{_bindir}/tokuftdump
+%{_bindir}/tokuft_logprint
+%{_mandir}/man1/tokuftdump.1*
+%{_mandir}/man1/tokuft_logdump.1*
+%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf
+%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so
+%endif
+
+%if %{with gssapi}
+%files gssapi-server
+%{_libdir}/%{pkg_name}/plugin/auth_gssapi.so
+%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+
+%if %{with sphinx}
+%files sphinx-engine
+%{_libdir}/%{pkg_name}/plugin/ha_sphinx.so
+%endif
+
%if %{with oqgraph}
%files oqgraph-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf
@@ -1442,10 +1604,8 @@ fi
%{_mandir}/man1/mysql_setpermission.1*
# Utilities that can be used remotely
%{_bindir}/mysql_upgrade
-%{_bindir}/mysqltest
%{_bindir}/perror
%{_mandir}/man1/mysql_upgrade.1*
-%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/perror.1*
# Other utilities
%{_bindir}/mysqld_safe_helper
@@ -1472,19 +1632,11 @@ fi
%files embedded-devel
%{_libdir}/libmysqld.so
-%{_bindir}/mysql_client_test_embedded
-%{_bindir}/mysqltest_embedded
-%{_mandir}/man1/mysql_client_test_embedded.1*
-%{_mandir}/man1/mysqltest_embedded.1*
%endif
%if %{with bench}
%files bench
%{_datadir}/sql-bench
-#TODO: do a sanity check
-%exclude %{_datadir}/sql-bench/README
-# RPMLINT W:
-# mariadb-bench.x86_64: W: no-documentation
%doc %{_datadir}/sql-bench/README
%endif
@@ -1492,18 +1644,31 @@ fi
%files test
%{_bindir}/mysql_client_test
%{_bindir}/my_safe_process
+%{_bindir}/mysql_client_test_embedded
+%{_bindir}/mysqltest
+%{_bindir}/mysqltest_embedded
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/my_safe_process.1*
+%{_mandir}/man1/mysql_client_test_embedded.1*
+%{_mandir}/man1/mysqltest.1*
+%{_mandir}/man1/mysqltest_embedded.1*
+%{_mandir}/man1/mysql-stress-test.pl.1*
+%{_mandir}/man1/mysql-test-run.pl.1*
%endif
%changelog
-* Wed Nov 01 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+* Mon Nov 13 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
- Update PCRE check
- Start using location libdir/mariadb for plugins
- Move libraries to libdir
+- Divided to more sub-packages to match upstream's RPM list
+ Resolves: #1490401; #1400463
+- Update of Cmake arguments to supported format
+ Related: https://lists.launchpad.net/maria-discuss/msg04852.html
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
commit be7f9270916d54b29bb92ffab7054d68f28168ff
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 6 16:06:33 2017 +0100
Added JIRA issue trackers
diff --git a/mariadb.spec b/mariadb.spec
index e75403b..a2cafa7 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -932,8 +932,7 @@ rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
-# RPMLINT E:
-# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf
+# script without shebang: https://jira.mariadb.org/browse/MDEV-14266
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
# Remove AppArmor files
@@ -1301,6 +1300,7 @@ fi
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
%{_bindir}/resolveip
+# wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296
%{_bindir}/wsrep_sst_common
%{_bindir}/wsrep_sst_mariabackup
%{_bindir}/wsrep_sst_mysqldump
commit cc70eb14e361b9bc0ef2f77df64ddd038cf6e72c
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 6 13:31:33 2017 +0100
Compatibility fix
diff --git a/mariadb.spec b/mariadb.spec
index 71b65c3..e75403b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -80,7 +80,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%if 0%{?fedora} >= 21
+%if 0%{?fedora} >= 21 || 0%{?rhel} > 7
%bcond_without bundled_pcre
%else
%bcond_with bundled_pcre
commit c9e70d5f1447e0bd023c860adb5649559ed2488e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Nov 3 03:41:33 2017 +0100
Rebase to 10.2.10 version
Patch 2: mariadb-install-test.patch has been incorporated by upstream
Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
Update PCRE check
Start using location libdir/mariadb for plugins
Move libraries to libdir
Update unstable tests list
diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch
deleted file mode 100644
index 77a90e7..0000000
--- a/mariadb-install-db-sharedir.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Use configured value instead of hardcoded path
-
-diff -up mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.1.18/scripts/mysql_install_db.pl.in
---- mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir 2016-10-04 19:03:15.562101826 +0200
-+++ mariadb-10.1.18/scripts/mysql_install_db.pl.in 2016-10-04 19:04:47.833130195 +0200
-@@ -320,7 +320,7 @@ elsif ( $opt->{basedir} )
- find_in_basedir($opt,"file","mysqld-nt",
- "bin"); # ,"sql"
- $srcpkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql",
-- "share","share/mysql"); # ,"scripts"
-+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts"
- $buildpkgdir = $srcpkgdatadir;
- $scriptdir = "$opt->{basedir}/scripts";
- }
-diff -up mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir mariadb-10.1.18/scripts/mysql_install_db.sh
---- mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir 2016-10-04 19:03:22.714104025 +0200
-+++ mariadb-10.1.18/scripts/mysql_install_db.sh 2016-10-04 19:08:11.457186833 +0200
-@@ -283,17 +283,17 @@ then
- cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin
- exit 1
- fi
-- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english`
-+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english`
- if test -z "$langdir"
- then
-- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english
-+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english
- exit 1
- fi
-- srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql`
-+ srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@`
- buildpkgdatadir=$srcpkgdatadir
- if test -z "$srcpkgdatadir"
- then
-- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql
-+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@
- exit 1
- fi
- scriptdir="$basedir/scripts"
diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch
deleted file mode 100644
index 1797474..0000000
--- a/mariadb-install-test.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Improve the documentation that will be installed in the mysql-test RPM.
-
---- mariadb-10.1.13/mysql-test/README.orig 2016-03-24 10:12:10.000000000 +0100
-+++ mariadb-10.1.13/mysql-test/README 2016-03-29 10:23:30.074326900 +0200
-@@ -1,15 +1,28 @@
--This directory contains a test suite for the MySQL daemon. To run
--the currently existing test cases, simply execute ./mysql-test-run in
--this directory. It will fire up the newly built mysqld and test it.
--
--Note that you do not have to have to do "make install", and you could
--actually have a co-existing MySQL installation. The tests will not
--conflict with it. To run the test suite in a source directory, you
--must do make first.
--
--All tests must pass. If one or more of them fail on your system, please
--read the following manual section for instructions on how to report the
--problem:
-+This directory contains a test suite for the MariaDB daemon. To run
-+the currently existing test cases, execute ./mysql-test-run in
-+this directory.
-+
-+For use in Red Hat distributions, you should run the script as user mysql,
-+who is created with nologin shell however, so the best bet is something like
-+ $ su -
-+ # cd /usr/share/mysql-test
-+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests"
-+
-+This will use the installed mysql executables, but will run a private copy
-+of the server process (using data files within /usr/share/mysql-test),
-+so you need not start the mysqld service beforehand.
-+
-+The "--skip-test-list=unstable-tests" option excludes tests that are
-+known to fail on one or more Red-Hat-supported platforms. You can omit it
-+if you want to check whether such failures occur for you. Documentation
-+about the reasons for omitting such tests can be found in the file
-+unstable-tests.
-+
-+To clean up afterwards, remove the created "var" subdirectory, eg
-+ # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var"
-+
-+If one or more tests fail on your system, please read the following manual
-+section for instructions on how to report the problem:
-
- https://mariadb.com/kb/en/reporting-bugs
-
-@@ -26,7 +39,8 @@ other relevant options.
-
- With no test cases named on the command line, mysql-test-run falls back
- to the normal "non-extern" behavior. The reason for this is that some
--tests cannot run with an external server.
-+tests cannot run with an external server (because they need to control the
-+options with which the server is started).
-
- You can create your own test cases. To create a test case, create a new
- file in the t subdirectory using a text editor. The file should have a .test
diff --git a/mariadb.spec b/mariadb.spec
index 8701125..71b65c3 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -60,8 +60,7 @@
%bcond_without config
# For deep debugging we need to build binaries with extra debug info
-# Does not work at this time: https://jira.mariadb.org/browse/MDEV-13986
-%bcond_with debug
+%bcond_with debug
# Include files for SysV init or systemd
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
@@ -81,11 +80,11 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%global pcre_version 8.41
%if 0%{?fedora} >= 21
-%bcond_without pcre
+%bcond_without bundled_pcre
%else
-%bcond_with pcre
+%bcond_with bundled_pcre
+%global pcre_bundled_version 8.41
%endif
# We define some system's well known locations here so we can use them easily
@@ -123,11 +122,11 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 9
+%global bugfixver 10
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 3%{?with_debug:.debug}%{?dist}
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -163,16 +162,11 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: testsuite README update, introducing skipped-tests.list
-# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263
-Patch2: %{pkgnamepatch}-install-test.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
# Patch7: add to the CMake file all files where we want macros to be expanded
Patch7: %{pkgnamepatch}-scripts.patch
-# Patch8: resolve conflict, when we combine MariaDB and MySQL packages
-Patch8: %{pkgnamepatch}-install-db-sharedir.patch
# Patch9: pre-configure to comply with guidelines
Patch9: %{pkgnamepatch}-ownsetup.patch
@@ -211,8 +205,8 @@ BuildRequires: libarchive-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_pcre:BuildRequires: pcre-devel >= 8.35}
-%{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}}
+%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
+%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-interpreter
@@ -271,10 +265,10 @@ Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr}
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%if 0%{?fedora} > 14 || 0%{?rhel} > 6
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
-%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$
+%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
%else
%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d
-%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so)
+%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so)
%filter_setup
%endif
@@ -504,7 +498,7 @@ Requires: perl(DBI) perl(DBD::mysql)
%description server-utils
This package contains all non-essential server utilities and scripts for
managing databases. It also contains all utilities requiring Perl and it is
-the only MariaDB subpackage, except test subpackage, that depends on Perl.
+the only MariaDB sub-package, except test subpackage, that depends on Perl.
%if %{with devel}
@@ -634,10 +628,8 @@ MariaDB is a community developed branch of MySQL.
%prep
%setup -q -n mariadb-%{version}
-%patch2 -p1
%patch4 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch37 -p1
%patch40 -p1
@@ -676,17 +668,27 @@ sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera
cat selinux/%{name}-server-galera.te
%endif
-# Check if PCRE version is actual
-%if %{with pcre}
+
+# Get version of PCRE, that upstream use
pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'`
pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'`
-if [ %{pcre_version} != "$pcre_maj.$pcre_min" ]
+%if %{without bundled_pcre}
+# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles
+if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ]
then
- echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n"
+ echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n"
exit 1
fi
-%endif
+%else
+# Check if the PCRE version that upstream use, is the same as the one present in system
+pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null `
+if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ]
+then
+ echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n"
+fi
+%endif # PCRE
+
%if %{without rocksdb}
rm -r storage/rocksdb/
@@ -695,6 +697,8 @@ rm -r storage/rocksdb/
# Remove python scripts remains from tokudb upstream (those files are not used anyway)
rm -r storage/tokudb/mysql-test/tokudb/t/*.py
+
+
%build
# fail quickly and obviously if user tries to build as root
@@ -747,11 +751,11 @@ export LDFLAGS
-DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
- -DINSTALL_LIBDIR="%{_lib}/mysql" \
+ -DINSTALL_LIBDIR="%{_lib}" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
- -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
+ -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
@@ -763,7 +767,7 @@ export LDFLAGS
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-%{?with_pcre: -DWITH_PCRE=system}\
+ -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \
-DWITH_JEMALLOC=system \
-DWITH_LIBARCHIVE=ON \
-DWITH_MARIABACKUP=ON \
@@ -781,11 +785,11 @@ make %{?_smp_mflags} VERBOSE=1
# debuginfo extraction scripts fail to find source files in their real
# location -- satisfy them by copying these files into location, which
# is expected by scripts
-for e in innobase xtradb ; do
- for f in pars0grm.y pars0lex.l ; do
- cp -p "storage/$e/pars/$f" "storage/$e/$f"
- done
-done
+#for e in innobase xtradb ; do
+# for f in pars0grm.y pars0lex.l ; do
+# cp -p "storage/$e/pars/$f" "storage/$e/$f"
+# done
+#done
# build selinux policy
%if %{with galera}
@@ -819,8 +823,8 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
-install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/
-install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/
+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}/
mkdir -p %{buildroot}%{logfiledir}
@@ -878,7 +882,7 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/
# should move this to /etc/ ?
rm %{buildroot}%{_bindir}/mysql_embedded
-rm %{buildroot}%{_libdir}/mysql/*.a
+rm %{buildroot}%{_libdir}/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
@@ -892,12 +896,6 @@ mkdir -p %{buildroot}%{logrotateddir}
mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name}
-%if %{with clibrary}
-mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
-# Save a name of the directory that contains libraries to this file
-echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
-%endif
-
# copy additional docs into build tree so %%doc will find them
install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}}
install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}}
@@ -952,16 +950,16 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
%if %{without clibrary}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf
# Client library and links
-rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.*
-unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so
-unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so
-unlink %{buildroot}%{_libdir}/mysql/libmariadb.so
+rm %{buildroot}%{_libdir}/libmariadb*.so.*
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+unlink %{buildroot}%{_libdir}/libmariadb.so
# Client plugins
-rm %{buildroot}%{_libdir}/mysql/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,auth_gssapi_client.so}
%endif
%if %{without embedded}
-rm %{buildroot}%{_libdir}/mysql/libmysqld.so*
+rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so*
rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
%endif
@@ -980,7 +978,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
# Create symlinks to the 'libmariadb' library, for compatibility reasons
# Note: the -libs subpackage has Provides: for this compat symlink; when
# it is removed, they should also be removed
-pushd %{buildroot}%{_libdir}/mysql/
+pushd %{buildroot}%{_libdir}
#ln -s libmariadb.so libmysqlclient.so
ln -s libmariadb.so.3 libmysqlclient.so.18
#ln -s libmariadb.so libmysqlclient_r.so
@@ -1208,9 +1206,8 @@ fi
%if %{with clibrary}
%files libs
-%{_libdir}/mysql/libmariadb.so.*
-%{_libdir}/mysql/libmysqlclient.so.18
-%{_sysconfdir}/ld.so.conf.d/*
+%{_libdir}/libmariadb.so.*
+%{_libdir}/libmysqlclient.so.18
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
@@ -1230,8 +1227,8 @@ fi
%dir %{_datadir}/%{pkg_name}
%{_datadir}/%{pkg_name}/charsets
%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary}
-%{_libdir}/mysql/plugin/dialog.so
-%{_libdir}/mysql/plugin/mysql_clear_password.so
+%{_libdir}/%{pkg_name}/plugin/dialog.so
+%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%endif # devel && errmsg && galera && config
%endif # common
@@ -1328,19 +1325,19 @@ fi
%{_libexecdir}/mysqld
-%{_libdir}/mysql/INFO_SRC
-%{_libdir}/mysql/INFO_BIN
+%{_libdir}/%{pkg_name}/INFO_SRC
+%{_libdir}/%{pkg_name}/INFO_BIN
%if %{without common}
%dir %{_datadir}/%{pkg_name}
%endif
-%dir %{_libdir}/mysql
-%dir %{_libdir}/mysql/plugin
-%{_libdir}/mysql/plugin/*
-%{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so}
-%{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so}
-%exclude %{_libdir}/mysql/plugin/dialog.so
-%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so
+%dir %{_libdir}/%{pkg_name}
+%dir %{_libdir}/%{pkg_name}/plugin
+%{_libdir}/%{pkg_name}/plugin/*
+%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
+%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
+%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
+%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%{_mandir}/man1/aria_chk.1*
%{_mandir}/man1/aria_dump_log.1*
@@ -1420,13 +1417,13 @@ fi
%if %{with oqgraph}
%files oqgraph-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf
-%{_libdir}/mysql/plugin/ha_oqgraph.so
+%{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so
%endif
%if %{with connect}
%files connect-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf
-%{_libdir}/mysql/plugin/ha_connect.so
+%{_libdir}/%{pkg_name}/plugin/ha_connect.so
%endif
%files server-utils
@@ -1461,9 +1458,9 @@ fi
%if %{with clibrary}
%{_bindir}/mysql_config*
%{_bindir}/mariadb_config*
-%{_libdir}/mysql/libmariadb.so
-%{_libdir}/mysql/libmysqlclient.so
-%{_libdir}/mysql/libmysqlclient_r.so
+%{_libdir}/libmariadb.so
+%{_libdir}/libmysqlclient.so
+%{_libdir}/libmysqlclient_r.so
%{_mandir}/man1/mysql_config*
%{_mandir}/man1/mariadb_config*
%endif
@@ -1471,10 +1468,10 @@ fi
%if %{with embedded}
%files embedded
-%{_libdir}/mysql/libmysqld.so.*
+%{_libdir}/libmysqld.so.*
%files embedded-devel
-%{_libdir}/mysql/libmysqld.so
+%{_libdir}/libmysqld.so
%{_bindir}/mysql_client_test_embedded
%{_bindir}/mysqltest_embedded
%{_mandir}/man1/mysql_client_test_embedded.1*
@@ -1500,6 +1497,14 @@ fi
%endif
%changelog
+* Wed Nov 01 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+- Rebase to 10.2.10 version
+- Patch 2: mariadb-install-test.patch has been incorporated by upstream
+- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
+- Update PCRE check
+- Start using location libdir/mariadb for plugins
+- Move libraries to libdir
+
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
Related: #1498956
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index bf4f3f0..022dda6 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -10,12 +10,9 @@ main.non_blocking_api : #1399847
perfschema.nesting : #1399847
perfschema.socket_summary_by_event_name_func : #1399847
perfschema.socket_summary_by_instance_func : #1399847
-perfschema.bad_option_1 : #1399847
-perfschema.bad_option_5 : #1399847
# <mkocka(a)redhat.com> needs this tests disabled for mode build
plugins.feedback_plugin_load : #
-
plugins.show_all_plugins : warnings in log
# ------------------------------
diff --git a/sources b/sources
index 11e9767..2161b03 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.9.tar.gz) = 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373
+SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239
commit 7b7a7f80e23807496aa7e4e495a27e5ca555d150
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Oct 16 14:42:14 2017 +0200
Update PCRE version and fix its failsafe
diff --git a/mariadb.spec b/mariadb.spec
index 5033d37..8701125 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -81,7 +81,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%global pcre_version 8.40
+%global pcre_version 8.41
%if 0%{?fedora} >= 21
%bcond_without pcre
%else
@@ -677,7 +677,7 @@ cat selinux/%{name}-server-galera.te
%endif
# Check if PCRE version is actual
-%{!?with_pcre:
+%if %{with pcre}
pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'`
pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'`
@@ -686,7 +686,7 @@ then
echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n"
exit 1
fi
-}
+%endif
%if %{without rocksdb}
rm -r storage/rocksdb/
commit d34bedc1a2ef0b2281daa87ffc507a023a29d4b0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Oct 16 14:28:44 2017 +0200
RPMLint error fix: Remove unused python scripts which remained from TokuDB upstream
diff --git a/mariadb.spec b/mariadb.spec
index 9b6a54c..5033d37 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -692,6 +692,8 @@ fi
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
@@ -1502,6 +1504,8 @@ fi
- Fix client library obsolete
Related: #1498956
- RPMLint error fix: description line too long
+- RPMLint error fix:
+ Remove unused python scripts which remained from TokuDB upstream
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
commit 4f0e1812ee6d9d36eea7376b809211a917d6519a
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Oct 8 00:35:13 2017 +0200
RPMLint error fix: description line too long
diff --git a/mariadb.spec b/mariadb.spec
index 08b5450..9b6a54c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -502,9 +502,9 @@ Provides: mysql-perl = %{sameevr}
Requires: perl(DBI) perl(DBD::mysql)
%description server-utils
-This package contains all non-essential server utilities and scripts for managing
-databases. It also contains all utilities requiring Perl and it is the only MariaDB
-subpackage, except test subpackage, that depends on Perl.
+This package contains all non-essential server utilities and scripts for
+managing databases. It also contains all utilities requiring Perl and it is
+the only MariaDB subpackage, except test subpackage, that depends on Perl.
%if %{with devel}
@@ -879,7 +879,6 @@ rm %{buildroot}%{_bindir}/mysql_embedded
rm %{buildroot}%{_libdir}/mysql/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
-#rm %{buildroot}%{_datadir}/%{pkg_name}/my-*.cnf
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
@@ -930,6 +929,8 @@ cp Docs/README-wsrep Docs/README.wsrep
# remove *.jar file from mysql-test
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
+rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
+rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# RPMLINT E:
# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf
@@ -1500,6 +1501,7 @@ fi
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
Related: #1498956
+- RPMLint error fix: description line too long
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
commit 082df141a1e83be5c01373d772fefd1f740cbe31
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 19:05:24 2017 +0200
Bump version for rebuild
diff --git a/mariadb.spec b/mariadb.spec
index e7dddd5..08b5450 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -127,7 +127,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 3%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1497,6 +1497,10 @@ fi
%endif
%changelog
+* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
+- Fix client library obsolete
+ Related: #1498956
+
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
- Use 'iproute' dependency instead of 'net-tools'
@@ -1507,8 +1511,6 @@ fi
Related: #1497234
- Fix building with client library
- Build with client library and testsuite, since this is F27 branch
-- Fix client library obsolete
- Related: #1498956
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
commit f43c1299ba97cf0b6471899e038b80ad198d38b4
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 18:13:25 2017 +0200
Fix client library obsolete
diff --git a/mariadb.spec b/mariadb.spec
index 4c31040..e7dddd5 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -354,8 +354,7 @@ Provides: mariadb-galera-common = %{sameevr}
Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr}
%if %{without clibrary}
-Obsoletes: %{name}-libs%{?_isa} <= %{sameevr}
-Obsoletes: %{name}-common%{?_isa} < %{sameevr}
+Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -1508,6 +1507,8 @@ fi
Related: #1497234
- Fix building with client library
- Build with client library and testsuite, since this is F27 branch
+- Fix client library obsolete
+ Related: #1498956
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
commit 604c1bd8ebe7dbde82cf2efc6e0863414bb9fc6f
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 14:37:00 2017 +0200
Start building with client library and testsuite, since this is a F27 branch
diff --git a/mariadb.spec b/mariadb.spec
index 19d1845..4c31040 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,7 +3,7 @@
%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
@@ -43,7 +43,7 @@
%bcond_without oqgraph
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
-%bcond_with clibrary
+%bcond_without clibrary
%bcond_without embedded
%bcond_without devel
%bcond_without client
@@ -1507,6 +1507,7 @@ fi
with dnf "--allowerasing" option
Related: #1497234
- Fix building with client library
+- Build with client library and testsuite, since this is F27 branch
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
6 years, 3 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=d82e5cb985....
Change:
-%ifarch x86_64
Thanks.
Full change:
============
commit 0b98906c25bf8b13adc333f615d4a725dc756237
Merge: 994a33f abdf8da
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Feb 28 10:48:30 2018 +0100
Merge branch 'f27'
commit abdf8da01ae714fc2d5639013461bb950475293b
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Feb 18 20:12:10 2018 +0100
Use -DINSTALL_MYSQLTESTDIR Cmake argument correctly; https://jira.mariadb.org/browse/MDEV-14972
diff --git a/mariadb.spec b/mariadb.spec
index 32ad6d6..1fc9213 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -831,7 +831,7 @@ export LDFLAGS
-DINSTALL_LIBDIR="%{_lib}" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \
- -DINSTALL_MYSQLTESTDIR=share/mysql-test \
+ -DINSTALL_MYSQLTESTDIR=%{?with_test:share/mysql-test}%{!?with_test:} \
-DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
@@ -963,12 +963,13 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait
install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
%endif
+%if %{with test}
# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
# Provide symlink expected by RH QA tests
ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
-
+%endif
# Client that uses libmysqld embedded server.
@@ -1121,10 +1122,9 @@ rm -r %{buildroot}%{_datadir}/sql-bench
rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
%endif # embedded
-rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest}
+rm %{buildroot}%{_bindir}/{mysql_client_test,mysqltest}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
-rm -r %{buildroot}%{_datadir}/mysql-test
%endif # test
%if %{without galera}
commit 00b1b90490dbe697ea55e1535f54e9d979b2b6c8
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Tue Jan 30 11:55:36 2018 +0100
Update ldconfig scriptlets
diff --git a/mariadb.spec b/mariadb.spec
index 85431a6..32ad6d6 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1188,11 +1188,13 @@ export MTR_BUILD_THREAD=%{__isa_bits}
-c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
%if %{with clibrary}
-%post libs -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_post libs
%endif
%if %{with embedded}
-%post embedded -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_post embedded
%endif
%if %{with galera}
@@ -1227,11 +1229,13 @@ fi
%endif
%if %{with clibrary}
-%postun libs -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_postun libs
%endif
%if %{with embedded}
-%postun embedded -p /sbin/ldconfig
+# Can be dropped on F27 EOL
+%ldconfig_postun embedded
%endif
%if %{with galera}
commit ed1cfbce0e107e983e8b8e95354c902e0c5add2e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Jan 27 02:34:32 2018 +0100
Extend failing tests list for PPC
diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list
index 5fd4928..5fc204e 100644
--- a/rh-skipped-tests-ppc.list
+++ b/rh-skipped-tests-ppc.list
@@ -1,2 +1,6 @@
# Fails since 10.1.12 only on PPC64
innodb_fts.fulltext :
+# Fails since 10.1.12 only on PPC64 and PPC64le; timeout after 1800 seconds
+innodb.innodb_defrag_concurrent :
+parts.partition_alter1_2_innodb :
+
commit ad0bf94ae52ced82bc9f755a343d286bde55831a
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Jan 26 18:26:43 2018 +0100
Use '-ldl' compiler flag when associated library used
Resolves: #1538990
diff --git a/mariadb.spec b/mariadb.spec
index a0eeb1b..85431a6 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 4%{?with_debug:.debug}%{?dist}
+Release: 5%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -786,6 +786,8 @@ 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"
+# Use -ldl for some plugins #1538990
+CFLAGS="$CFLAGS -ldl"
# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization; rhbz#529298
# Note: sparc = s390
%ifarch sparc sparcv9 sparc64
@@ -1622,6 +1624,10 @@ fi
%endif
%changelog
+* Fri Jan 26 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-5
+- Use '-ldl' compiler flag when associated library used
+ Resolves: #1538990
+
* Thu Jan 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-4
- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
configuration by upstream (without Jemalloc).
commit af8f71d7a59a5f746578e710844dfff675b9a549
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jan 25 12:09:50 2018 +0100
Use downstream tmpfiles instead of the upstream one; #1538066
diff --git a/mariadb.spec b/mariadb.spec
index aa7c469..a0eeb1b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -924,6 +924,9 @@ 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}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.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
@@ -931,6 +934,9 @@ rm %{buildroot}%{_libexecdir}/rcmysql
%if %{with init_systemd}
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}/usr/lib/tmpfiles.d/tmpfiles.conf
+# Install downstream version
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
@@ -986,10 +992,6 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
# Shipped as a standalona package in Fedora
rm %{buildroot}%{_bindir}/mytop
-# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
-mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf
-mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf
-
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
@@ -1624,6 +1626,8 @@ fi
- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
configuration by upstream (without Jemalloc).
Jemmalloc has been updated to version 5, which isn't backwards compatible.
+- Use downstream tmpfiles instead of the upstream one
+ Related: #1538066
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
commit c07b0bf23ab3eae3f1b485b4a674eee13cf7a8a5
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Jan 25 11:59:14 2018 +0100
Fix upgrade path - do build TokuDB, but build a configuration unsupported by upstream (Build without Jemalloc)
diff --git a/mariadb.spec b/mariadb.spec
index 29c8932..aa7c469 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -34,7 +34,7 @@
# Disable TokuDB since 10.1.12 on F>=28
# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail
# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates
-%bcond_with tokudb
+%bcond_without tokudb
%bcond_without mroonga
%bcond_without rocksdb
%else
@@ -141,7 +141,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 4%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -847,7 +847,7 @@ export LDFLAGS
-DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_JEMALLOC=system \
+ -DWITH_JEMALLOC=no \
-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} \
@@ -1620,6 +1620,11 @@ fi
%endif
%changelog
+* Thu Jan 25 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-4
+- Fix the upgrade path. Build TokuDB subpackage again, but build a unsupported
+ configuration by upstream (without Jemalloc).
+ Jemmalloc has been updated to version 5, which isn't backwards compatible.
+
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
commit 9be454122e9b43716cb1673f8da065894cf54619
Author: Honza Horak <hhorak(a)redhat.com>
Date: Tue Nov 7 12:24:46 2017 +0100
Print the same messages as before when starting the service in SysV init, to not scare users
Related: #1463411
diff --git a/mariadb.spec b/mariadb.spec
index 9693765..29c8932 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1625,6 +1625,9 @@ fi
- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
same as it is done in case of systemd unit file
Related: #1455850
+- Print the same messages as before when starting the service in SysV init,
+ to not scare users
+ Related: #1463411
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh
index 785ddc2..22d0566 100644
--- a/mysql-prepare-db-dir.sh
+++ b/mysql-prepare-db-dir.sh
@@ -68,11 +68,11 @@ else
# Provide some advice if the log file cannot be created by this script
errlogdir=$(dirname "$errlogfile")
if ! [ -d "$errlogdir" ] ; then
- echo "The directory $errlogdir does not exist."
+ echo "The directory $errlogdir does not exist." >&2
exit 1
elif [ -e "$errlogfile" -a ! -w "$errlogfile" ] ; then
- echo "The log file $errlogfile cannot be written, please, fix its permissions."
- echo "The daemon will be run under $myuser:$mygroup"
+ echo "The log file $errlogfile cannot be written, please, fix its permissions." >&2
+ echo "The daemon will be run under $myuser:$mygroup" >&2
exit 1
fi
fi
@@ -90,14 +90,14 @@ if should_initialize "$datadir" ; then
[ -x /sbin/restorecon ] && /sbin/restorecon "$datadir"
# Now create the database
- echo "Initializing @NICE_PROJECT_NAME@ database"
+ echo "Initializing @NICE_PROJECT_NAME@ database" >&2
# Avoiding deletion of files not created by mysql_install_db is
# guarded by time check and sleep should help work-arounded
# potential issues on systems with 1 second resolution timestamps
# https://bugzilla.redhat.com/show_bug.cgi?id=1335849#c19
INITDB_TIMESTAMP=`LANG=C date -u`
sleep 1
- @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser"
+ @bindir@/mysql_install_db --rpm --datadir="$datadir" --user="$myuser" >&2
ret=$?
if [ $ret -ne 0 ] ; then
echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2
@@ -128,8 +128,8 @@ else
else
# if the directory is not empty but mysql/ directory is missing, then
# print error and let user to initialize manually or empty the directory
- echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done."
- echo "Make sure the $datadir is empty before running `basename $0`."
+ echo "Database @NICE_PROJECT_NAME@ is not initialized, but the directory $datadir is not empty, so initialization cannot be done." >&2
+ echo "Make sure the $datadir is empty before running `basename $0`." >&2
exit 1
fi
fi
diff --git a/mysql.init.in b/mysql.init.in
index aa3b809..0282399 100644
--- a/mysql.init.in
+++ b/mysql.init.in
@@ -71,8 +71,8 @@ start(){
action $"Starting $prog: " /bin/true
ret=0
else
- @libexecdir@/mysql-check-socket || return 1
- su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" || return 4
+ @libexecdir@/mysql-check-socket >/dev/null || return 1
+ su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-prepare-db-dir $MYUSER $MYGROUP" >/dev/null || return 4
# Pass all the options determined above, to ensure consistent behavior.
# In many cases mysqld_safe would arrive at the same conclusions anyway
commit a218b6af2838a994df8c51cecca07825cbd82e96
Author: Honza Horak <hhorak(a)redhat.com>
Date: Sun Sep 24 12:55:50 2017 +0200
Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script, same as it is done in case of systemd unit file
Related: #1455850
diff --git a/mariadb.spec b/mariadb.spec
index 337f43e..9693765 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1622,6 +1622,9 @@ fi
%changelog
* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
- Do not build connect plugin with mongo and jdbc connectors
+- Support MYSQLD_OPTS and _WSREP_NEW_CLUSTER env vars in init script,
+ same as it is done in case of systemd unit file
+ Related: #1455850
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
diff --git a/mysql.init.in b/mysql.init.in
index 6ae046c..aa3b809 100644
--- a/mysql.init.in
+++ b/mysql.init.in
@@ -82,7 +82,7 @@ start(){
# Note: set --basedir to prevent probes that might trigger SELinux
# alarms, per bug #547485
su - $MYUSER -s /bin/bash -c "$exec --datadir='$datadir' --socket='$socketfile' \
- --pid-file='$pidfile' \
+ --pid-file='$pidfile' $MYSQLD_OPTS $_WSREP_NEW_CLUSTER \
--basedir=@prefix@ --user=$MYUSER" >/dev/null 2>&1 &
safe_pid=$!
commit 0d9da7bf48c4dbed3b077dbedeaffb6e47f99799
Author: Honza Horak <hhorak(a)redhat.com>
Date: Thu Nov 23 22:15:32 2017 +0100
Remove jar files used for testing from the source
Related: #1463417
diff --git a/mariadb.spec b/mariadb.spec
index 8557a3c..337f43e 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -697,6 +697,9 @@ sources.
%prep
%setup -q -n mariadb-%{version}
+# Removt JAR files that upstream puts into tarball
+find . -name "*.jar" -type f -exec rm --verbose -f {} \;
+
%patch4 -p1
%patch7 -p1
%patch9 -p1
@@ -852,6 +855,8 @@ export LDFLAGS
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect: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} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
@@ -1011,10 +1016,6 @@ install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_
# remove duplicate logrotate script
rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
-# remove *.jar file from mysql-test
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
-rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# Remove AppArmor files
rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
@@ -1619,6 +1620,9 @@ fi
%endif
%changelog
+* Thu Jan 11 2018 Honza Horak <hhorak(a)redhat.com> - 3:10.2.12-1
+- Do not build connect plugin with mongo and jdbc connectors
+
* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
- Rebase to 10.2.12
- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
commit fe524160efa2844bb9a1a51a91557f6c20243e24
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 11 12:55:15 2017 +0100
Rebase to 10.2.12
Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
TokuDB disabled
Failing tests lists updated
diff --git a/mariadb.spec b/mariadb.spec
index 980cca3..8557a3c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -13,6 +13,7 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}}
# Use Full RELRO for all binaries (RHBZ#1092548)
+# Deafult since F23 https://fedoraproject.org/wiki/Changes/Harden_All_Packages
%global _hardened_build 1
# By default, patch(1) creates backup files when chunks apply with offsets.
@@ -30,7 +31,10 @@
# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
# RocksB engine is available only for x86_64
%ifarch x86_64
-%bcond_without tokudb
+# Disable TokuDB since 10.1.12 on F>=28
+# It will either "freeze" the testsuite (probabbly stuck in some loop) or ~500 TokuDB tests will fail
+# This issue is probabbly caused by updates in Fedora Rwahide (F28) KOJI - like a new GCC and many build tools updates
+%bcond_with tokudb
%bcond_without mroonga
%bcond_without rocksdb
%else
@@ -133,7 +137,7 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 11
+%global bugfixver 12
Name: mariadb
Version: %{compatver}.%{bugfixver}
@@ -796,6 +800,8 @@ export CFLAGS CXXFLAGS
# building with PIE
LDFLAGS="$LDFLAGS -pie -Wl,-z,relro,-z,now"
export LDFLAGS
+# Simmilar flags provides MariaDB itself: -DSECURITY_HARDENED=ON
+# will elanble -pie and -Wl,-z,relro,-z,now, but also -fstack-protector and -D_FORTIFY_SOURCE=2
%endif
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
@@ -831,6 +837,7 @@ export LDFLAGS
-DTMPDIR=/var/tmp \
-DENABLED_LOCAL_INFILE=ON \
-DENABLE_DTRACE=ON \
+ -DSECURITY_HARDENED=%{?hardened_build:ON}%{!?hardened_build:OFF} \
-DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
-DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
-DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
@@ -844,14 +851,10 @@ export LDFLAGS
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
- -DTOKUDB_OK=1 \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# -DTOKUDB_OK=1
-# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537
-
# Print all Cmake options values
cmake -L
@@ -978,7 +981,9 @@ rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
# Shipped as a standalona package in Fedora
rm %{buildroot}%{_bindir}/mytop
-
+# Rename sysusers and tmpfiles config files, they should be named after the software they belong to
+mv %{buildroot}/usr/lib/sysusers.d/sysusers.conf %{buildroot}/usr/lib/sysusers.d/mariadb.conf
+mv %{buildroot}/usr/lib/tmpfiles.d/tmpfiles.conf %{buildroot}/usr/lib/tmpfiles.d/mariadb.conf
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
@@ -1147,9 +1152,10 @@ export MTR_BUILD_THREAD=%{__isa_bits}
# avoid redundant test runs with --binlog-format=mixed
# increase timeouts to prevent unwanted failures during mass rebuilds
-# Failing test debug 02/14/17
+# Usefull arguments:
# --do-test=mysql_client_test_nonblock \
# --skip-rpl
+# --suite=roles
(
set -ex
@@ -1483,6 +1489,13 @@ fi
%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
%config(noreplace) %{logrotateddir}/%{daemon_name}
+# New systemd feature - used to reconstruct damaged /etc
+# https://github.com/MariaDB/server/commit/7bbc6c14d1
+%dir /usr/lib/sysusers.d
+/usr/lib/sysusers.d/mariadb.conf
+%dir /usr/lib/tmpfiles.d
+/usr/lib/tmpfiles.d/mariadb.conf
+
%if %{with cracklib}
%files cracklib-password-check
%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
@@ -1606,6 +1619,11 @@ fi
%endif
%changelog
+* Wed Jan 10 2018 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.12-1
+- Rebase to 10.2.12
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 removed
+- TokuDB disabled
+
* Mon Dec 11 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-2
- Temporary fix for #1523875 removed, bug in Annobin fixed
Resolves: #1523875
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index 022dda6..11d5a9b 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -2,13 +2,10 @@
# https://jira.mariadb.org/browse/MDEV-8404?focusedCommentId=84275&page=com...
main.ssl_7937 : #1399847
main.ssl_crl_clients : #1399847
-main.ssl_cert_verify : #1399847
#
-main.userstat : #1399847
main.non_blocking_api : #1399847
perfschema.nesting : #1399847
-perfschema.socket_summary_by_event_name_func : #1399847
perfschema.socket_summary_by_instance_func : #1399847
# <mkocka(a)redhat.com> needs this tests disabled for mode build
@@ -27,14 +24,18 @@ rpl.rpl_row_img_eng_noblob :
sys_vars.slave_parallel_threads_basic :
+# Fails since 10.1.12
+innodb.innodb_defrag_binlog :
+
+# Fails on PPC, PPC64 and AArch
+parts.partition_alter4_innodb : #1399847
+
# https://jira.mariadb.org/browse/MDEV-14003
-spider/bg.spider3_fixes :
spider/bg.spider3_fixes_part :
spider/bg.spider_fixes :
spider/bg.spider_fixes_part :
spider/bg.basic_sql :
spider/bg.basic_sql_part :
-spider/bg.direct_aggregate :
spider/bg.direct_aggregate_part :
spider/bg.direct_update :
spider/bg.direct_update_part :
@@ -55,4 +56,3 @@ spider.function :
spider.ha :
spider.ha_part :
spider.vp_fixes :
-
diff --git a/rh-skipped-tests-ppc.list b/rh-skipped-tests-ppc.list
index f396da3..5fd4928 100644
--- a/rh-skipped-tests-ppc.list
+++ b/rh-skipped-tests-ppc.list
@@ -1,4 +1,2 @@
-parts.partition_alter4_innodb : #1399847
-connect.tbl_thread : warnings in log
-partition_alter1_2_innodb : warnings in log
-partition_alter2_1_1_innodb : warnings in log
+# Fails since 10.1.12 only on PPC64
+innodb_fts.fulltext :
diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list
index 5f46945..e69de29 100644
--- a/rh-skipped-tests-s390.list
+++ b/rh-skipped-tests-s390.list
@@ -1,6 +0,0 @@
-encryption.innodb-read-only : #1399847
-multi_source.gtid : warnings in log
-sys_vars.innodb_autoextend_increment_basic : warnings in log
-vcol.vcol_keys_innodb : warnings in log
-
-encryption.innodb-compressed-blob : started failing with 10.2.11 release
diff --git a/sources b/sources
index d8648b0..dc9be41 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44
+SHA512 (mariadb-10.2.12.tar.gz) = 8d3d3c84d4a01d6047e4f2b6802eb802e1f6a7b0e10e981c7ef9fdd27a5a25baab0af47a21b8637f4cbb9d21ef3bcc85097c5fdb8745c2a79040ab87fecb5a7b
commit 9c1b69700c1ede718aa30ddf8b62d46c5b528584
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Dec 11 12:55:15 2017 +0100
Temporary fix for #1523875 removed, bug in Annobin fixed
diff --git a/mariadb.spec b/mariadb.spec
index 3c58c95..980cca3 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -137,7 +137,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -789,9 +789,6 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
%endif
-# Temporary fix for rhbz#1523875
-CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" `
-
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS
@@ -1609,10 +1606,15 @@ fi
%endif
%changelog
+* Mon Dec 11 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-2
+- Temporary fix for #1523875 removed, bug in Annobin fixed
+ Resolves: #1523875
+
* Sat Dec 09 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-1
- Rebase to 10.2.11
- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
- Temporary fix for #1523875 intoruced
+ Related: #1523875
* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
commit 6cfe77260f023045af345c712549d98fb2f789d2
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 21:50:34 2017 +0100
Add failing test for 10.2.11 release
diff --git a/rh-skipped-tests-s390.list b/rh-skipped-tests-s390.list
index 52e7587..5f46945 100644
--- a/rh-skipped-tests-s390.list
+++ b/rh-skipped-tests-s390.list
@@ -2,3 +2,5 @@ encryption.innodb-read-only : #1399847
multi_source.gtid : warnings in log
sys_vars.innodb_autoextend_increment_basic : warnings in log
vcol.vcol_keys_innodb : warnings in log
+
+encryption.innodb-compressed-blob : started failing with 10.2.11 release
commit 6823344debd69918f0584d9fdb7eef3e5eb60c48
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 18:57:49 2017 +0100
Added reasons in comments to removed files section.
Based on a question asked on the usptream mailing list: https://lists.launchpad.net/maria-developers/msg11028.html
diff --git a/mariadb.spec b/mariadb.spec
index 29ad620..3c58c95 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -404,6 +404,8 @@ Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}
Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}
Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}
+Suggests: mytop
+
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
@@ -955,21 +957,29 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/
ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
-# should move this to /etc/ ?
-# WHY??
-%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client
+# 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}
+# Static libraries
rm %{buildroot}%{_libdir}/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server.
-
-# WHY??
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton?
-
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ]
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql
-
-# WHY??
-rm %{buildroot}%{_bindir}/mytop #not shipped by upstream
+# This script creates the MySQL system tables and starts the server.
+# Upstream says:
+# It looks like it's just "mysql_install_db && mysqld_safe"
+# I've never heard of anyone using it, I'd say, no need to pack it.
+rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
+# FS files first-bytes recoginiton
+# Not updated by upstream since nobody realy use that
+rm %{buildroot}%{_datadir}/%{pkg_name}/magic
+
+# Upstream ships them because of, https://jira.mariadb.org/browse/MDEV-10797
+# In Fedora we use our own systemd unit files and scripts
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
+
+# Binary for monitoring MySQL performance
+# Shipped as a standalona package in Fedora
+rm %{buildroot}%{_bindir}/mytop
commit c9863fb5fed22bae1ae931a6fbf4519ddce56bc9
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 02:46:07 2017 +0100
Include aliases for mariadb service; #1520905
diff --git a/mysql.service.in b/mysql.service.in
index 8292553..bb5b8c2 100644
--- a/mysql.service.in
+++ b/mysql.service.in
@@ -67,3 +67,5 @@ PrivateTmp=true
[Install]
WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
diff --git a/mysql@.service.in b/mysql@.service.in
index 3bf386d..34e645f 100644
--- a/mysql@.service.in
+++ b/mysql@.service.in
@@ -73,3 +73,5 @@ PrivateTmp=true
[Install]
WantedBy=multi-user.target
+Alias=mysql.service
+Alias=mysqld.service
commit d413e4241d87749f79bbb7c6d49c75996b183f5f
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sat Dec 9 02:34:41 2017 +0100
Rebase to 10.2.11
Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
Temporary fix for #1523875 intoruced
diff --git a/mariadb.spec b/mariadb.spec
index 895a9bb..29ad620 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -133,11 +133,11 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 10
+%global bugfixver 11
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -786,6 +786,10 @@ CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" `
%ifarch ppc64
CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O3|g" `
%endif
+
+# Temporary fix for rhbz#1523875
+CFLAGS=`echo $CFLAGS| sed -e "s|-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1||g" `
+
CXXFLAGS="$CFLAGS"
export CFLAGS CXXFLAGS
@@ -841,10 +845,14 @@ export LDFLAGS
-DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
+ -DTOKUDB_OK=1 \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
+# -DTOKUDB_OK=1
+# ^ is a temporary fix for https://jira.mariadb.org/browse/MDEV-14537
+
# Print all Cmake options values
cmake -L
@@ -1426,8 +1434,16 @@ fi
%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql
%{_datadir}/%{pkg_name}/mysql_to_mariadb.sql
%{_datadir}/%{pkg_name}/mysql_performance_tables.sql
-%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/install.sql}
-%{?with_mroonga:%{_datadir}/%{pkg_name}/mroonga/uninstall.sql}
+%if %{with mroonga}
+%{_datadir}/%{pkg_name}/mroonga/install.sql
+%{_datadir}/%{pkg_name}/mroonga/uninstall.sql
+%license %{_datadir}/%{pkg_name}/mroonga/COPYING
+%license %{_datadir}/%{pkg_name}/mroonga/AUTHORS
+%license %{_datadir}/groonga-normalizer-mysql/lgpl-2.0.txt
+%license %{_datadir}/groonga/COPYING
+%doc %{_datadir}/groonga-normalizer-mysql/README.md
+%doc %{_datadir}/groonga/README.md
+%endif
%{_datadir}/%{pkg_name}/my-*.cnf
%{_datadir}/%{pkg_name}/wsrep.cnf
%{_datadir}/%{pkg_name}/wsrep_notify
@@ -1583,6 +1599,11 @@ fi
%endif
%changelog
+* Sat Dec 09 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.11-1
+- Rebase to 10.2.11
+- Temporary fix for https://jira.mariadb.org/browse/MDEV-14537 introduced
+- Temporary fix for #1523875 intoruced
+
* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
Related: #1483331, #1515779
diff --git a/sources b/sources
index 2161b03..d8648b0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239
+SHA512 (mariadb-10.2.11.tar.gz) = 4041ee1f1e266e8b30f85b19c5c95bcb626f965df9e0e20eb801598cc7fc5f5f37906e8a75cc86d373aa642adcccf3b75a0e67994e18908fb733cc6520d04a44
commit 4983671d078d466b646907b0fb6fe52b4a3bed20
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Dec 6 09:51:51 2017 +0100
Remove 'Group' tags as they should not be used any more
https://fedoraproject.org/wiki/RPMGroups
diff --git a/mariadb.spec b/mariadb.spec
index 2c0d51b..895a9bb 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -141,7 +141,6 @@ Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
-Group: Applications/Databases
URL: http://mariadb.org
# Exceptions allow client libraries to be linked with most open source SW, not only GPL code. See README.mysql-license
License: GPLv2 with exceptions and LGPLv2 and BSD
@@ -293,7 +292,6 @@ contains the standard MariaDB/MySQL client programs and generic MySQL files.
%if %{with clibrary}
%package libs
Summary: The shared libraries required for MariaDB/MySQL clients
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-libs = %{sameevr}
@@ -322,7 +320,6 @@ to a MariaDB/MySQL server.
%if %{with config}
%package config
Summary: The config files required by server and client
-Group: Applications/Databases
%description config
The package provides the config file my.cnf and my.cnf.d directory used by any
@@ -335,7 +332,6 @@ package itself.
%if %{with common}
%package common
Summary: The shared files required by server and client
-Group: Applications/Databases
Requires: %{_sysconfdir}/my.cnf
# obsoletion of mariadb-galera-common
@@ -355,7 +351,6 @@ You will need to install this package to use any other MariaDB package.
%if %{with errmsg}
%package errmsg
Summary: The error messages files required by server and embedded
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
%description errmsg
@@ -368,7 +363,6 @@ MariaDB packages.
%if %{with galera}
%package server-galera
Summary: The configuration files and scripts for galera replication
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: galera >= 25.3.3
@@ -393,7 +387,6 @@ MariaDB is a community developed branch of MySQL.
%package server
Summary: The MariaDB server and related files
-Group: Applications/Databases
# note: no version here = %%{version}-%%{release}
%if %{with mysql_names}
@@ -455,7 +448,6 @@ MariaDB is a community developed branch of MySQL.
%if %{with oqgraph}
%package oqgraph-engine
Summary: The Open Query GRAPH engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
# boost and Judy required for oograph
BuildRequires: boost-devel Judy-devel
@@ -472,7 +464,6 @@ standard SQL syntax, and results joined onto other tables.
%if %{with connect}
%package connect-engine
Summary: The CONNECT storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description connect-engine
@@ -487,7 +478,6 @@ or products (such as Excel), or data retrieved from the environment
%if %{with backup}
%package backup
Summary: The mariabackup tool for physical online backups
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: libarchive-devel
@@ -501,7 +491,6 @@ For InnoDB, "hot online" backups are possible.
%if %{with rocksdb}
%package rocksdb-engine
Summary: The RocksDB storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description rocksdb-engine
@@ -512,7 +501,6 @@ The RocksDB storage engine is used for high performance servers on SSD drives.
%if %{with tokudb}
%package tokudb-engine
Summary: The TokuDB storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%description tokudb-engine
@@ -523,7 +511,6 @@ The TokuDB storage engine from Percona.
%if %{with cracklib}
%package cracklib-password-check
Summary: The password strength checking plugin
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: cracklib-dicts cracklib-devel
Requires: cracklib-dicts
@@ -540,7 +527,6 @@ also use it to check MariaDB account passwords.
%if %{with gssapi}
%package gssapi-server
Summary: GSSAPI authentication plugin for server
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: krb5-devel
@@ -553,7 +539,6 @@ This plugin includes support for Kerberos on Unix.
%if %{with sphinx}
%package sphinx-engine
Summary: The Sphinx storage engine for MariaDB
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
BuildRequires: sphinx libsphinxclient libsphinxclient-devel
Requires: sphinx libsphinxclient
@@ -565,7 +550,6 @@ The Sphinx storage engine for MariaDB.
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
-Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-perl = %{sameevr}
@@ -582,7 +566,6 @@ 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
-Group: Applications/Databases
%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}}
# avoid issues with openssl1.0 / openssl1.1 / compat
Requires: pkgconfig(openssl)
@@ -614,7 +597,6 @@ package.
%if %{with embedded}
%package embedded
Summary: MariaDB as an embeddable library
-Group: Applications/Databases
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
%if %{with mysql_names}
@@ -633,7 +615,6 @@ MariaDB is a community developed branch of MySQL.
%package embedded-devel
Summary: Development files for MariaDB as an embeddable library
-Group: Applications/Databases
Requires: %{name}-embedded%{?_isa} = %{sameevr}
Requires: %{name}-devel%{?_isa} = %{sameevr}
# embedded-devel should require libaio-devel (rhbz#1290517)
@@ -657,7 +638,6 @@ the embedded version of the MariaDB server.
%if %{with bench}
%package bench
Summary: MariaDB benchmark scripts and data
-Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-bench = %{sameevr}
@@ -678,7 +658,6 @@ MariaDB.
%if %{with test}
%package test
Summary: The test suite distributed with MariaDB
-Group: Applications/Databases
Requires: %{name}%{?_isa} = %{sameevr}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-server%{?_isa} = %{sameevr}
@@ -1604,9 +1583,11 @@ fi
%endif
%changelog
-* Thu Nov 23 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
+* Wed Dec 06 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
- Fix PID file location
Related: #1483331, #1515779
+- Remove 'Group' tags as they should not be used any more
+ Related: https://fedoraproject.org/wiki/RPMGroups
* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
commit 23b69efe580b1f0c44c1c5828dcad3160945f7f5
Author: Honza Horak <hhorak(a)redhat.com>
Date: Fri Dec 1 16:10:14 2017 +0100
Use conditions definition for optional plugins as described at https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L1...
diff --git a/mariadb.spec b/mariadb.spec
index 07a44f5..2c0d51b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -44,10 +44,12 @@
%bcond_without oqgraph
# Other plugins
-%bcond_without cracklib
-%bcond_without gssapi
-%bcond_without connect
-%bcond_without sphinx
+# Allow to override the values outside of spec
+# https://github.com/rpm-software-management/rpm/blob/34c2ba3c/macros.in#L1...
+%{!?_with_cracklib: %{!?_without_cracklib: %bcond_without cracklib}}
+%{!?_with_gssapi: %{!?_without_gssapi: %bcond_without gssapi}}
+%{!?_with_connect: %{!?_without_sphinx: %bcond_without connect}}
+%{!?_with_sphinx: %{!?_without_sphinx: %bcond_without sphinx}}
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
%bcond_without clibrary
@@ -211,7 +213,7 @@ BuildRequires: bison bison-devel
BuildRequires: pam-devel
# use either new enough version of pcre or provide bundles(pcre)
%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
-%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
+%{!?with_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-interpreter
commit 869d50aa46e27ecf170c32467236689435c6fb19
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Nov 23 15:06:29 2017 +0100
Fix PID file location
Related: #1483331, #1515779
diff --git a/mariadb.spec b/mariadb.spec
index 625ad8c..07a44f5 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -78,7 +78,7 @@
%global daemon_name %{name}
%global daemondir %{_unitdir}
%global daemon_no_prefix %{pkg_name}
-%global mysqld_pid_dir mysqld
+%global mysqld_pid_dir mariadb
%else
%bcond_with init_systemd
%bcond_without init_sysv
@@ -135,7 +135,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 1%{?with_debug:.debug}%{?dist}
+Release: 2%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1602,6 +1602,10 @@ fi
%endif
%changelog
+* Thu Nov 23 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-2
+- Fix PID file location
+ Related: #1483331, #1515779
+
* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
commit 9454f6d0ae91525e189b970ca26e049ed4656342
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 20 14:38:51 2017 +0100
Remove false Provides
List only relevant Cmake arguments
diff --git a/mariadb.spec b/mariadb.spec
index 0f806ce..625ad8c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -296,18 +296,6 @@ Requires: %{name}-common%{?_isa} = %{sameevr}
%if %{with mysql_names}
Provides: mysql-libs = %{sameevr}
Provides: mysql-libs%{?_isa} = %{sameevr}
-# these are the provides for the libmysqlclient.so.18 compatibility
-# symlink; the library auto-provides system does not handle this kind
-# of symlink. They should be removed when the symlink is removed
-%if 0%{?__isa_bits} == 64
-Provides: libmysqlclient.so.18()(64bit)
-Provides: libmysqlclient.so.18(libmysqlclient_16)(64bit)
-Provides: libmysqlclient.so.18(libmysqlclient_18)(64bit)
-%else
-Provides: libmysqlclient.so.18
-Provides: libmysqlclient.so.18(libmysqlclient_16)
-Provides: libmysqlclient.so.18(libmysqlclient_18)
-%endif # isa_bits
%endif # mysql_names
%{?obsoleted_mysql_case_evr:Obsoletes: MySQL-libs < %{obsoleted_mysql_case_evr}}
%{?obsoleted_mysql_evr:Obsoletes: mysql-libs < %{obsoleted_mysql_evr}}
@@ -873,52 +861,9 @@ export LDFLAGS
-DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
-DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
-DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
- -DPLUGIN_ARCHIVE=DYNAMIC \
- -DPLUGIN_AUDIT_NULL=DYNAMIC \
- -DPLUGIN_AUTH_ED25519=DYNAMIC \
- -DPLUGIN_AUTH_PAM=DYNAMIC \
- -DPLUGIN_AUTH_SOCKET=DYNAMIC \
- -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \
- -DPLUGIN_AUTH_0X0100=DYNAMIC \
- -DPLUGIN_BLACKHOLE=DYNAMIC \
- -DPLUGIN_CLIENT_ED25519=DYNAMIC \
- -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \
- -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \
- -DPLUGIN_EXAMPLE=DYNAMIC \
- -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_FEDERATED=DYNAMIC \
- -DPLUGIN_FEDERATEDX=DYNAMIC \
- -DPLUGIN_FEEDBACK=DYNAMIC \
- -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \
- -DPLUGIN_FTEXAMPLE=DYNAMIC \
- -DPLUGIN_HANDLERSOCKET=DYNAMIC \
- -DPLUGIN_LOCALES=DYNAMIC \
- -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \
- -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \
- -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \
- -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \
- -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \
- -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \
- -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \
- -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \
- -DPLUGIN_SEQUENCE=DYNAMIC \
- -DPLUGIN_SERVER_AUDIT=DYNAMIC \
- -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \
- -DPLUGIN_SPIDER=DYNAMIC \
- -DPLUGIN_SQL_ERRLOG=DYNAMIC \
- -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \
- -DPLUGIN_USER_VARIABLES=DYNAMIC \
- -DPLUGIN_WSREP_INFO=DYNAMIC \
%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373
-# -DPLUGIN_INNOBASE=DYNAMIC \
-# -DPLUGIN_PARTITION=DYNAMIC \
-# -DPLUGIN_ARIA=DYNAMIC \
-# -DPLUGIN_PERFSCHEMA=DYNAMIC \
-
# Print all Cmake options values
cmake -L
@@ -1657,7 +1602,7 @@ fi
%endif
%changelog
-* Mon Nov 13 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+* Mon Nov 20 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
@@ -1668,6 +1613,7 @@ fi
Resolves: #1490401; #1400463
- Update of Cmake arguments to supported format
Related: https://lists.launchpad.net/maria-discuss/msg04852.html
+- Remove false Provides
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
commit 0c047c18a7607fb225c35088b8814c2ca30fa4f6
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Wed Nov 15 12:02:56 2017 +0100
Fix file removal on multilib systems
diff --git a/mariadb.spec b/mariadb.spec
index 0a259bc..0f806ce 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -1100,7 +1100,6 @@ rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,
%endif
%if %{without clibrary} || %{without devel}
-unlink %{buildroot}%{_bindir}/mysql_config
rm %{buildroot}%{_bindir}/mysql_config*
rm %{buildroot}%{_bindir}/mariadb_config
rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
commit d82e5cb98533c58398a50f16efb111173230a1c1
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 13 09:18:22 2017 +0100
Divided to more sub-packages to match upstream's RPM list: #1490401; #1400463
Update of Cmake arguments to supported format: https://lists.launchpad.net/maria-discuss/msg04852.htm
diff --git a/mariadb.spec b/mariadb.spec
index a2cafa7..0a259bc 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -20,28 +20,35 @@
%global _default_patch_flags --no-backup-if-mismatch
# TokuDB engine
-# https://mariadb.com/kb/en/mariadb/tokudb/
-# TokuDB engine is available only for x86_64
-%ifarch x86_64
-%bcond_without tokudb
-%else
-%bcond_with tokudb
-%endif
-
+# https://mariadb.com/kb/en/mariadb/tokudb/
+# TokuDB engine is available only for x86_64
# Mroonga engine
-# https://mariadb.com/kb/en/mariadb/about-mroonga/
-# Actual version in MariaDB, 5.04, only supports the x86_64
-# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
+# https://mariadb.com/kb/en/mariadb/about-mroonga/
+# Actual version in MariaDB, 5.04, only supports the x86_64
+# Mroonga upstream warns about using 32-bit package: http://mroonga.org/docs/install.html
+# RocksDB engine
+# https://mariadb.com/kb/en/library/myrocks-supported-platforms/
+# RocksB engine is available only for x86_64
%ifarch x86_64
+%bcond_without tokudb
%bcond_without mroonga
+%bcond_without rocksdb
%else
+%bcond_with tokudb
%bcond_with mroonga
+%bcond_with rocksdb
%endif
# The Open Query GRAPH engine (OQGRAPH) is a computation engine allowing
# hierarchies and more complex graph structures to be handled in a relational fashion
%bcond_without oqgraph
+# Other plugins
+%bcond_without cracklib
+%bcond_without gssapi
+%bcond_without connect
+%bcond_without sphinx
+
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
%bcond_without clibrary
%bcond_without embedded
@@ -51,8 +58,8 @@
%bcond_without errmsg
%bcond_without bench
%bcond_without test
-%bcond_without connect
%bcond_without galera
+%bcond_without backup
# When there is already another package that ships /etc/my.cnf,
# rather include it than ship the file again, since conflicts between
@@ -62,6 +69,8 @@
# For deep debugging we need to build binaries with extra debug info
%bcond_with debug
+
+
# Include files for SysV init or systemd
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
%bcond_without init_systemd
@@ -179,29 +188,25 @@ Patch40: %{pkgnamepatch}-galera.cnf.patch
Patch43: %{pkgnamepatch}-recovery.patch
BuildRequires: cmake gcc-c++
+BuildRequires: zlib-devel
+BuildRequires: multilib-rpm-config
+BuildRequires: selinux-policy-devel
+
+# TokuDB and some core stuff
+BuildRequires: jemalloc-devel
+
+# asynchornous operations stuff
BuildRequires: libaio-devel
+# commands history features
BuildRequires: libedit-devel
+# CLI graphic
BuildRequires: ncurses-devel
+# debugging stuff
BuildRequires: systemtap-sdt-devel
-BuildRequires: zlib-devel
-BuildRequires: multilib-rpm-config
-BuildRequires: krb5-devel
-BuildRequires: selinux-policy-devel
%{?with_init_systemd:BuildRequires: systemd systemd-devel}
-# Sphinx storage engine
-#BuildRequires: sphinx libsphinxclient libsphinxclient-devel
# Bison SQL parser
BuildRequires: bison bison-devel
-# Jemalloc, used by TokuDB
-BuildRequires: jemalloc-devel
-
-# Cracklib plugin
-BuildRequires: cracklib-dicts cracklib-devel
-
-# Mariabackup
-BuildRequires: libarchive-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)
@@ -230,7 +235,7 @@ BuildRequires: perl(Time::HiRes)
BuildRequires: perl(Symbol)
# for running some openssl tests rhbz#1189180
BuildRequires: openssl openssl-devel
-Recommends: openssl
+Requires: openssl
Requires: bash coreutils grep
@@ -311,7 +316,7 @@ Provides: libmysqlclient.so.18(libmysqlclient_18)
The mariadb-libs package provides the essential shared libraries for any
MariaDB/MySQL client program or interface. You will need to install this
package to use any other MariaDB package or any clients that need to connect
-to a MariaDB/MySQL server. MariaDB is a community developed branch of MySQL.
+to a MariaDB/MySQL server.
%endif #clibrary
@@ -351,7 +356,6 @@ Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr}
Obsoletes: %{name}-libs <= %{sameevr}
%endif
-
%description common
The package provides the essential shared files for any MariaDB program.
You will need to install this package to use any other MariaDB package.
@@ -380,6 +384,9 @@ Requires: %{name}-server%{?_isa} = %{sameevr}
Requires: galera >= 25.3.3
Requires(post): libselinux-utils
Requires(post): policycoreutils-python
+# wsrep requirements
+Requires: lsof
+Requires: rsync
# obsoletion of mariadb-galera-server
Provides: mariadb-galera-server = %{sameevr}
@@ -408,18 +415,23 @@ Requires: %{name}%{?_isa}
Requires: %{name}-common%{?_isa} = %{sameevr}
Requires: %{name}-errmsg%{?_isa} = %{sameevr}
Recommends: %{name}-server-utils%{?_isa} = %{sameevr}
+Recommends: %{name}-backup%{?_isa} = %{sameevr}
+Recommends: %{name}-craclkib-password-check%{?_isa} = %{sameevr}
+Recommends: %{name}-gssapi-server%{?_isa} = %{sameevr}
+Recommends: %{name}-rocksdb-engine%{?_isa} = %{sameevr}
+Recommends: %{name}-tokudb-engine%{?_isa} = %{sameevr}
+
Requires: %{_sysconfdir}/my.cnf
Requires: %{_sysconfdir}/my.cnf.d
+
# for fuser in mysql-check-socket
Requires: psmisc
+
Requires: coreutils
Requires(pre): /usr/sbin/useradd
-# Sphinx storage engine
-#Recommends: sphinx libsphinxclient
# Bison SQL parser
+# WHY?? (testsuite??)
Requires: bison
-# Cracklib plugin:
-Recommends: cracklib-dicts
%if %{with init_systemd}
# We require this to be present for %%{_tmpfilesdir}
@@ -429,9 +441,6 @@ Requires(pre): systemd
Requires(posttrans): systemd
%{?systemd_requires: %systemd_requires}
%endif
-# wsrep requirements
-Requires: lsof
-Requires: rsync
# RHBZ#1496131; use 'iproute' instead of 'net-tools'
Requires: iproute
%if %{with mysql_names}
@@ -485,6 +494,85 @@ or products (such as Excel), or data retrieved from the environment
%endif
+%if %{with backup}
+%package backup
+Summary: The mariabackup tool for physical online backups
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: libarchive-devel
+
+%description backup
+MariaDB Backup is an open source tool provided by MariaDB for performing
+physical online backups of InnoDB, Aria and MyISAM tables.
+For InnoDB, "hot online" backups are possible.
+%endif
+
+
+%if %{with rocksdb}
+%package rocksdb-engine
+Summary: The RocksDB storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+
+%description rocksdb-engine
+The RocksDB storage engine is used for high performance servers on SSD drives.
+%endif
+
+
+%if %{with tokudb}
+%package tokudb-engine
+Summary: The TokuDB storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+
+%description tokudb-engine
+The TokuDB storage engine from Percona.
+%endif
+
+
+%if %{with cracklib}
+%package cracklib-password-check
+Summary: The password strength checking plugin
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: cracklib-dicts cracklib-devel
+Requires: cracklib-dicts
+
+%description cracklib-password-check
+CrackLib is a password strength checking library. It is installed by default
+in many Linux distributions and is invoked automatically (by pam_cracklib.so)
+whenever the user login password is modified.
+Now, with the cracklib_password_check password validation plugin, one can
+also use it to check MariaDB account passwords.
+%endif
+
+
+%if %{with gssapi}
+%package gssapi-server
+Summary: GSSAPI authentication plugin for server
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: krb5-devel
+
+%description gssapi-server
+GSSAPI authentication server-side plugin for MariaDB for passwordless login.
+This plugin includes support for Kerberos on Unix.
+%endif
+
+
+%if %{with sphinx}
+%package sphinx-engine
+Summary: The Sphinx storage engine for MariaDB
+Group: Applications/Databases
+Requires: %{name}-server%{?_isa} = %{sameevr}
+BuildRequires: sphinx libsphinxclient libsphinxclient-devel
+Requires: sphinx libsphinxclient
+
+%description sphinx-engine
+The Sphinx storage engine for MariaDB.
+%endif
+
+
%package server-utils
Summary: Non-essential server utilities for MariaDB/MySQL applications
Group: Applications/Databases
@@ -520,10 +608,16 @@ Provides: mysql-devel%{?_isa} = %{sameevr}
%{?with_conflicts:Conflicts: community-mysql-devel}
%description devel
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains the libraries and header files that are needed for
-developing MariaDB/MySQL client applications.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+%if %{with clibrary}
+This package contains everything needed for developing MariaDB/MySQL client
+and server applications.
+%else
+This package contains everything needed for developing MariaDB/MySQL server
+applications. For developing client applications, use mariadb-connector-c
+package.
+%endif
%endif
@@ -563,10 +657,10 @@ Provides: mysql-embedded-devel%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-embedded-devel < %{obsoleted_mysql_evr}}
%description embedded-devel
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains files needed for developing and testing with
-the embedded version of the MariaDB server.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains files needed for developing and testing with
+the embedded version of the MariaDB server.
%endif
@@ -584,10 +678,10 @@ Provides: mysql-bench%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-bench < %{obsoleted_mysql_evr}}
%description bench
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains benchmark scripts and data for use when benchmarking
-MariaDB.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains benchmark scripts and data for use when benchmarking
+MariaDB.
%endif
@@ -618,10 +712,10 @@ Provides: mysql-test%{?_isa} = %{sameevr}
%{?obsoleted_mysql_evr:Obsoletes: mysql-test < %{obsoleted_mysql_evr}}
%description test
-MariaDB is a multi-user, multi-threaded SQL database server. This
-package contains the regression test suite distributed with
-the MariaDB sources.
+MariaDB is a multi-user, multi-threaded SQL database server.
MariaDB is a community developed branch of MySQL.
+This package contains the regression test suite distributed with the MariaDB
+sources.
%endif
@@ -762,34 +856,75 @@ export LDFLAGS
-DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \
-DMYSQL_DATADIR="%{dbdatadir}" \
-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
+ -DTMPDIR=/var/tmp \
-DENABLED_LOCAL_INFILE=ON \
- -DENABLE_DTRACE=OFF \
- -DWITH_EMBEDDED_SERVER=ON \
+ -DENABLE_DTRACE=ON \
+ -DWITH_EMBEDDED_SERVER=%{?with_embedded:ON}%{!?with_embedded:OFF} \
+ -DWITH_MARIABACKUP=%{?with_backup:ON}%{!?with_backup:NO} \
+ -DWITH_UNIT_TESTS=%{?with_test:ON}%{!?with_test:NO} \
+ -DCONC_WITH_SSL=%{?with_clibrary:ON}%{!?with_clibrary:NO} \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
- -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \
-DWITH_JEMALLOC=system \
- -DWITH_LIBARCHIVE=ON \
- -DWITH_MARIABACKUP=ON \
-%{!?with_tokudb: -DWITHOUT_TOKUDB=ON}\
-%{!?with_mroonga: -DWITHOUT_MROONGA=ON}\
-%{!?with_oqgraph: -DWITHOUT_OQGRAPH=ON}\
- -DTMPDIR=/var/tmp \
-%{?with_debug: -DCMAKE_BUILD_TYPE=Debug}\
+ -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} \
+ -DPLUGIN_ROCKSDB=%{?with_rocksdb:DYNAMIC}%{!?with_rocksdb:NO} \
+ -DPLUGIN_SPHINX=%{?with_sphinx:DYNAMIC}%{!?with_sphinx:NO} \
+ -DPLUGIN_TOKUDB=%{?with_tokudb:DYNAMIC}%{!?with_tokudb:NO} \
+ -DPLUGIN_CONNECT=%{?with_connect:DYNAMIC}%{!?with_connect:NO} \
+ -DPLUGIN_ARCHIVE=DYNAMIC \
+ -DPLUGIN_AUDIT_NULL=DYNAMIC \
+ -DPLUGIN_AUTH_ED25519=DYNAMIC \
+ -DPLUGIN_AUTH_PAM=DYNAMIC \
+ -DPLUGIN_AUTH_SOCKET=DYNAMIC \
+ -DPLUGIN_AUTH_TEST_PLUGIN=DYNAMIC \
+ -DPLUGIN_AUTH_0X0100=DYNAMIC \
+ -DPLUGIN_BLACKHOLE=DYNAMIC \
+ -DPLUGIN_CLIENT_ED25519=DYNAMIC \
+ -DPLUGIN_DAEMON_EXAMPLE=DYNAMIC \
+ -DPLUGIN_DEBUG_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_DIALOG_EXAMPLES=DYNAMIC \
+ -DPLUGIN_EXAMPLE=DYNAMIC \
+ -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_FEDERATED=DYNAMIC \
+ -DPLUGIN_FEDERATEDX=DYNAMIC \
+ -DPLUGIN_FEEDBACK=DYNAMIC \
+ -DPLUGIN_FILE_KEY_MANAGEMENT=DYNAMIC \
+ -DPLUGIN_FTEXAMPLE=DYNAMIC \
+ -DPLUGIN_HANDLERSOCKET=DYNAMIC \
+ -DPLUGIN_LOCALES=DYNAMIC \
+ -DPLUGIN_METADATA_LOCK_INFO=DYNAMIC \
+ -DPLUGIN_QA_AUTH_CLIENT=DYNAMIC \
+ -DPLUGIN_QA_AUTH_INTERFACE=DYNAMIC \
+ -DPLUGIN_QA_AUTH_SERVER=DYNAMIC \
+ -DPLUGIN_QUERY_CACHE_INFO=DYNAMIC \
+ -DPLUGIN_QUERY_RESPONSE_TIME=DYNAMIC \
+ -DPLUGIN_SEMISYNC_MASTER=DYNAMIC \
+ -DPLUGIN_SEMISYNC_SLAVE=DYNAMIC \
+ -DPLUGIN_SEQUENCE=DYNAMIC \
+ -DPLUGIN_SERVER_AUDIT=DYNAMIC \
+ -DPLUGIN_SIMPLE_PASSWORD_CHECK=DYNAMIC \
+ -DPLUGIN_SPIDER=DYNAMIC \
+ -DPLUGIN_SQL_ERRLOG=DYNAMIC \
+ -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC \
+ -DPLUGIN_USER_VARIABLES=DYNAMIC \
+ -DPLUGIN_WSREP_INFO=DYNAMIC \
+%{?with_debug: -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=OFF -DWITH_INNODB_EXTRA_DEBUG=ON -DWITH_VALGRIND=ON} \
%{?_hardened_build: -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
-make %{?_smp_mflags} VERBOSE=1
+# Following argumets leads to compile errors. Tracked as https://jira.mariadb.org/browse/MDEV-14373
+# -DPLUGIN_INNOBASE=DYNAMIC \
+# -DPLUGIN_PARTITION=DYNAMIC \
+# -DPLUGIN_ARIA=DYNAMIC \
+# -DPLUGIN_PERFSCHEMA=DYNAMIC \
+# Print all Cmake options values
+cmake -L
+
+make %{?_smp_mflags} VERBOSE=1
-# debuginfo extraction scripts fail to find source files in their real
-# location -- satisfy them by copying these files into location, which
-# is expected by scripts
-#for e in innobase xtradb ; do
-# for f in pars0grm.y pars0lex.l ; do
-# cp -p "storage/$e/pars/$f" "storage/$e/$f"
-# done
-#done
# build selinux policy
%if %{with galera}
@@ -817,7 +952,8 @@ ln -s mysql_config.1 %{buildroot}%{_mandir}/man1/mysql_config-%{__isa_bits}.1
fi
# Upstream install this into arch-independent directory
-# TODO: report to upstream
+# Reported to upstream as: https://jira.mariadb.org/browse/MDEV-14340
+# 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
@@ -827,6 +963,7 @@ 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}
chmod 0750 %{buildroot}%{logfiledir}
touch %{buildroot}%{logfile}
@@ -843,9 +980,12 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf
rm scripts/my.cnf
%endif
-# use different config file name for each variant of server
+# 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
+# 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
%if %{with init_systemd}
install -D -p -m 644 scripts/mysql.service %{buildroot}%{_unitdir}/%{daemon_name}.service
@@ -853,9 +993,8 @@ install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_nam
install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf
%if 0%{?mysqld_pid_dir:1}
echo "d %{pidfiledir} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
-%endif
-%endif
-
+%endif #pid
+%endif #systemd
# install SysV init script
%if %{with init_sysv}
install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name}
@@ -870,26 +1009,35 @@ install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-
install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready
%endif
-# install selinux policy
+# install aditional galera selinux policy
%if %{with galera}
install -p -m 644 -D selinux/%{name}-server-galera.pp %{buildroot}%{_datadir}/selinux/packages/%{name}/%{name}-server-galera.pp
%endif
-# mysql-test includes one executable that doesn't belong under /usr/share,
-# so move it and provide a symlink
+# mysql-test includes one executable that doesn't belong under /usr/share, so move it and provide a symlink
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
+# Provide symlink expected by RH QA tests
+ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
+
# should move this to /etc/ ?
-rm %{buildroot}%{_bindir}/mysql_embedded
+# WHY??
+%{?with_embedded:rm %{buildroot}%{_bindir}/mysql_embedded} #upstream ships in client
+
rm %{buildroot}%{_libdir}/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
-rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
-rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
-rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1*
-rm %{buildroot}%{_bindir}/mytop
+rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure #This script creates the MySQL system tables and starts the server.
+
+# WHY??
+rm %{buildroot}%{_datadir}/%{pkg_name}/magic #FS files first-bytes recoginiton?
+
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server #Usage: mysql.server {start|stop|restart|reload|force-reload|status|configtest|bootstrap} [ MySQL server options ]
+rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server #Can't execute /usr/local/mysql/bin/mysqld_multi from dir /usr/local/mysql
+
+# WHY??
+rm %{buildroot}%{_bindir}/mytop #not shipped by upstream
+
+
# put logrotate script where it needs to be
mkdir -p %{buildroot}%{logrotateddir}
@@ -906,45 +1054,39 @@ install -p -m 0644 %{SOURCE71} %{basename:%{SOURCE71}}
# install galera config file
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
-
# install the clustercheck script
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
touch %{buildroot}%{_sysconfdir}/sysconfig/clustercheck
install -p -m 0755 scripts/clustercheck %{buildroot}%{_bindir}/clustercheck
-
# install the galera_new_cluster script anyway
%if %{without init_systemd}
install -p -m 0755 scripts/galera_new_cluster %{buildroot}%{_bindir}/galera_new_cluster
%endif
-# remove SysV init script and a symlink to that
-rm %{buildroot}%{_sysconfdir}/init.d/mysql
-rm %{buildroot}%{_libexecdir}/rcmysql
-
# remove duplicate logrotate script
rm %{buildroot}%{_sysconfdir}/logrotate.d/mysql
-
-# rename the wsrep README so it corresponds with the other README names
-cp Docs/README-wsrep Docs/README.wsrep
-
# remove *.jar file from mysql-test
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
+# Remove AppArmor files
+rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
# script without shebang: https://jira.mariadb.org/browse/MDEV-14266
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
-# Remove AppArmor files
-rm -r %{buildroot}%{_datadir}/%{pkg_name}/policy/apparmor
-
# Disable plugins
+%if %{with ggsapi}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+%if %{with cracklib}
sed -i 's/^plugin-load-add/#plugin-load-add/' %{buildroot}%{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%endif
+
+%if %{without embedded}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
+%endif
-# install the list of skipped tests to be available for user runs
-install -p -m 0644 mysql-test/unstable-tests %{buildroot}%{_datadir}/mysql-test
-ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
%if %{without clibrary}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf
@@ -957,66 +1099,43 @@ unlink %{buildroot}%{_libdir}/libmariadb.so
rm %{buildroot}%{_libdir}/%{pkg_name}/plugin/{dialog.so,mysql_clear_password.so,sha256_password.so,auth_gssapi_client.so}
%endif
-%if %{without embedded}
-rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so*
-rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
-rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
-%endif
-
-%if %{without devel}
+%if %{without clibrary} || %{without devel}
unlink %{buildroot}%{_bindir}/mysql_config
rm %{buildroot}%{_bindir}/mysql_config*
rm %{buildroot}%{_bindir}/mariadb_config
-rm -r %{buildroot}%{_includedir}/mysql
-rm %{buildroot}%{_datadir}/aclocal/mysql.m4
-rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc
rm %{buildroot}%{_mandir}/man1/mysql_config*.1*
unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
-%else
-%if %{with clibrary}
-# Create symlinks to the 'libmariadb' library, for compatibility reasons
-# Note: the -libs subpackage has Provides: for this compat symlink; when
-# it is removed, they should also be removed
-pushd %{buildroot}%{_libdir}
-#ln -s libmariadb.so libmysqlclient.so
-ln -s libmariadb.so.3 libmysqlclient.so.18
-#ln -s libmariadb.so libmysqlclient_r.so
-popd
-%else
-# This file is already included in mariadb-connector-c
-rm %{buildroot}%{_includedir}/mysql/mysql_version.h
+%endif
-rm %{buildroot}%{_bindir}/*_config*
-rm %{buildroot}%{_mandir}/man1/*_config*
-#rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so*
+%if %{without clibrary} && %{with devel}
+# 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}
rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql}
%endif
-%endif
+
+%if %{without devel}
+rm -r %{buildroot}%{_includedir}/mysql
+rm %{buildroot}%{_datadir}/aclocal/mysql.m4
+rm %{buildroot}%{_libdir}/pkgconfig/mariadb.pc
+%if %{with clibrary}
+rm %{buildroot}%{_libdir}/libmariadb*.so
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+%endif # clibrary
+%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,my_print_defaults}
+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,my_print_defaults}.1*
-%endif
-
-%if %{without connect}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/connect.cnf
-%endif
-
-%if %{without oqgraph}
-rm %{buildroot}%{_sysconfdir}/my.cnf.d/oqgraph.cnf
+mysqldump,mysqlimport,mysqlshow,mysqlslap}.1*
%endif
%if %{without tokudb}
-%ifarch x86_64
-rm %{buildroot}%{_bindir}/tokuftdump
-rm %{buildroot}%{_bindir}/tokuft_logprint
-%endif
# 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_logdump.1*
@@ -1032,6 +1151,10 @@ rm %{buildroot}%{_sysconfdir}/my.cnf.d/enable_encryption.preset
rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets
%endif
+%if %{without gssapi}
+rm -r %{buildroot}/etc/my.cnf.d/auth_gssapi.cnf
+%endif
+
%if %{without errmsg}
rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt
rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,czech,danish,dutch,estonian,\
@@ -1044,10 +1167,15 @@ rm -r %{buildroot}%{_datadir}/sql-bench
%endif
%if %{without test}
-rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process}
+%if %{with embedded}
+rm %{buildroot}%{_bindir}/{mysqltest_embedded,mysql_client_test_embedded}
+rm %{buildroot}%{_mandir}/man1/{mysqltest_embedded,mysql_client_test_embedded}.1*
+%endif # embedded
+rm %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process,mysqltest}
+rm %{buildroot}%{_mandir}/man1/{mysql_client_test,my_safe_process,mysqltest}.1*
+rm %{buildroot}%{_mandir}/man1/{mysql-test-run,mysql-stress-test}.pl.1*
rm -r %{buildroot}%{_datadir}/mysql-test
-rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
-%endif
+%endif # test
%if %{without galera}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/galera.cnf
@@ -1098,8 +1226,10 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%endif
)
-%endif
-%endif
+%endif # if dry run
+%endif # with test
+
+
%pre server
/usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
@@ -1170,6 +1300,8 @@ if [ $1 -ge 1 ]; then
fi
%endif
+
+
%if %{with client}
%files
%{_bindir}/msql2mysql
@@ -1185,7 +1317,6 @@ fi
%{_bindir}/mysqlimport
%{_bindir}/mysqlshow
%{_bindir}/mysqlslap
-%{_bindir}/my_print_defaults
%{_mandir}/man1/msql2mysql.1*
%{_mandir}/man1/mysql.1*
@@ -1200,13 +1331,12 @@ fi
%{_mandir}/man1/mysqlimport.1*
%{_mandir}/man1/mysqlshow.1*
%{_mandir}/man1/mysqlslap.1*
-%{_mandir}/man1/my_print_defaults.1*
%endif
%if %{with clibrary}
%files libs
%{_libdir}/libmariadb.so.*
-%{_libdir}/libmysqlclient.so.18
+%{?with_devel:%{_libdir}/{libmysqlclient.so.18,libmariadb.so,libmysqlclient.so,libmysqlclient_r.so}}
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
@@ -1225,10 +1355,10 @@ fi
%doc %{_datadir}/doc/%{_pkgdocdirname}
%dir %{_datadir}/%{pkg_name}
%{_datadir}/%{pkg_name}/charsets
-%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary}
+%if %{with clibrary}
%{_libdir}/%{pkg_name}/plugin/dialog.so
%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
-%endif # devel && errmsg && galera && config
+%endif # clibrary
%endif # common
%if %{with errmsg}
@@ -1262,7 +1392,7 @@ fi
%if %{with galera}
%files server-galera
-%doc Docs/README.wsrep
+%doc Docs/README-wsrep
%license LICENSE.clustercheck
%{_bindir}/clustercheck
%{_bindir}/galera_new_cluster
@@ -1283,15 +1413,14 @@ fi
%{_bindir}/aria_ftdump
%{_bindir}/aria_pack
%{_bindir}/aria_read_log
-%{_bindir}/mariabackup
%if %{with init_systemd}
%{_bindir}/mariadb-service-convert
%endif
-%{_bindir}/mbstream
%{_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
@@ -1307,21 +1436,8 @@ fi
%{_bindir}/wsrep_sst_rsync
%{_bindir}/wsrep_sst_xtrabackup
%{_bindir}/wsrep_sst_xtrabackup-v2
-%{?with_tokudb:%{_bindir}/tokuftdump}
-%{?with_tokudb:%{_bindir}/tokuft_logprint}
%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
-%{?with_tokudb:%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf}
-# Cracklib plugin
-%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
-# RocksDB engine
-%if %{with rocksdb}
-%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
-%{_bindir}/mysql_ldb
-%{_bindir}/sst_dump
-%endif
-
%{_libexecdir}/mysqld
@@ -1336,8 +1452,15 @@ fi
%{_libdir}/%{pkg_name}/plugin/*
%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
+%{?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_sphinx:%exclude %{_libdir}/%{pkg_name}/plugin/ha_sphinx.so}
+%if %{with clibrary}
%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
+%endif
%{_mandir}/man1/aria_chk.1*
%{_mandir}/man1/aria_dump_log.1*
@@ -1351,20 +1474,18 @@ fi
%{_mandir}/man1/myisamlog.1*
%{_mandir}/man1/myisampack.1*
%{_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/mysqld_safe_helper.1*
-%{_mandir}/man1/my_safe_process.1*
%{_mandir}/man1/innochecksum.1*
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolveip.1*
%{_mandir}/man1/resolve_stack_dump.1*
%{_mandir}/man8/mysqld.8*
-%{?with_tokudb:%{_mandir}/man1/tokuftdump.1*}
-%{?with_tokudb:%{_mandir}/man1/tokuft_logdump.1*}
%{_mandir}/man1/wsrep_sst_common.1*
%{_mandir}/man1/wsrep_sst_mysqldump.1*
%{_mandir}/man1/wsrep_sst_rsync.1*
@@ -1414,6 +1535,47 @@ fi
%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile}
%config(noreplace) %{logrotateddir}/%{daemon_name}
+%if %{with cracklib}
+%files cracklib-password-check
+%config(noreplace) %{_sysconfdir}/my.cnf.d/cracklib_password_check.cnf
+%{_libdir}/%{pkg_name}/plugin/cracklib_password_check.so
+%endif
+
+%if %{with backup}
+%files backup
+%{_bindir}/mariabackup
+%{_bindir}/mbstream
+%endif
+
+%if %{with rocksdb}
+%files rocksdb-engine
+%config(noreplace) %{_sysconfdir}/my.cnf.d/rocksdb.cnf
+%{_bindir}/mysql_ldb
+%{_bindir}/sst_dump
+%{_libdir}/%{pkg_name}/plugin/ha_rocksdb.so
+%endif
+
+%if %{with tokudb}
+%files tokudb-engine
+%{_bindir}/tokuftdump
+%{_bindir}/tokuft_logprint
+%{_mandir}/man1/tokuftdump.1*
+%{_mandir}/man1/tokuft_logdump.1*
+%config(noreplace) %{_sysconfdir}/my.cnf.d/tokudb.cnf
+%{_libdir}/%{pkg_name}/plugin/ha_tokudb.so
+%endif
+
+%if %{with gssapi}
+%files gssapi-server
+%{_libdir}/%{pkg_name}/plugin/auth_gssapi.so
+%config(noreplace) %{_sysconfdir}/my.cnf.d/auth_gssapi.cnf
+%endif
+
+%if %{with sphinx}
+%files sphinx-engine
+%{_libdir}/%{pkg_name}/plugin/ha_sphinx.so
+%endif
+
%if %{with oqgraph}
%files oqgraph-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf
@@ -1442,10 +1604,8 @@ fi
%{_mandir}/man1/mysql_setpermission.1*
# Utilities that can be used remotely
%{_bindir}/mysql_upgrade
-%{_bindir}/mysqltest
%{_bindir}/perror
%{_mandir}/man1/mysql_upgrade.1*
-%{_mandir}/man1/mysqltest.1*
%{_mandir}/man1/perror.1*
# Other utilities
%{_bindir}/mysqld_safe_helper
@@ -1472,19 +1632,11 @@ fi
%files embedded-devel
%{_libdir}/libmysqld.so
-%{_bindir}/mysql_client_test_embedded
-%{_bindir}/mysqltest_embedded
-%{_mandir}/man1/mysql_client_test_embedded.1*
-%{_mandir}/man1/mysqltest_embedded.1*
%endif
%if %{with bench}
%files bench
%{_datadir}/sql-bench
-#TODO: do a sanity check
-%exclude %{_datadir}/sql-bench/README
-# RPMLINT W:
-# mariadb-bench.x86_64: W: no-documentation
%doc %{_datadir}/sql-bench/README
%endif
@@ -1492,18 +1644,31 @@ fi
%files test
%{_bindir}/mysql_client_test
%{_bindir}/my_safe_process
+%{_bindir}/mysql_client_test_embedded
+%{_bindir}/mysqltest
+%{_bindir}/mysqltest_embedded
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%{_mandir}/man1/mysql_client_test.1*
+%{_mandir}/man1/my_safe_process.1*
+%{_mandir}/man1/mysql_client_test_embedded.1*
+%{_mandir}/man1/mysqltest.1*
+%{_mandir}/man1/mysqltest_embedded.1*
+%{_mandir}/man1/mysql-stress-test.pl.1*
+%{_mandir}/man1/mysql-test-run.pl.1*
%endif
%changelog
-* Wed Nov 01 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+* Mon Nov 13 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
- Rebase to 10.2.10 version
- Patch 2: mariadb-install-test.patch has been incorporated by upstream
- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
- Update PCRE check
- Start using location libdir/mariadb for plugins
- Move libraries to libdir
+- Divided to more sub-packages to match upstream's RPM list
+ Resolves: #1490401; #1400463
+- Update of Cmake arguments to supported format
+ Related: https://lists.launchpad.net/maria-discuss/msg04852.html
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
commit be7f9270916d54b29bb92ffab7054d68f28168ff
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 6 16:06:33 2017 +0100
Added JIRA issue trackers
diff --git a/mariadb.spec b/mariadb.spec
index e75403b..a2cafa7 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -932,8 +932,7 @@ rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
-# RPMLINT E:
-# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf
+# script without shebang: https://jira.mariadb.org/browse/MDEV-14266
chmod -x %{buildroot}%{_datadir}/sql-bench/myisam.cnf
# Remove AppArmor files
@@ -1301,6 +1300,7 @@ fi
%{_bindir}/replace
%{_bindir}/resolve_stack_dump
%{_bindir}/resolveip
+# wsrep_sst_common should be moved to /usr/share/mariadb: https://jira.mariadb.org/browse/MDEV-14296
%{_bindir}/wsrep_sst_common
%{_bindir}/wsrep_sst_mariabackup
%{_bindir}/wsrep_sst_mysqldump
commit cc70eb14e361b9bc0ef2f77df64ddd038cf6e72c
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Nov 6 13:31:33 2017 +0100
Compatibility fix
diff --git a/mariadb.spec b/mariadb.spec
index 71b65c3..e75403b 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -80,7 +80,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%if 0%{?fedora} >= 21
+%if 0%{?fedora} >= 21 || 0%{?rhel} > 7
%bcond_without bundled_pcre
%else
%bcond_with bundled_pcre
commit c9e70d5f1447e0bd023c860adb5649559ed2488e
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Fri Nov 3 03:41:33 2017 +0100
Rebase to 10.2.10 version
Patch 2: mariadb-install-test.patch has been incorporated by upstream
Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
Update PCRE check
Start using location libdir/mariadb for plugins
Move libraries to libdir
Update unstable tests list
diff --git a/mariadb-install-db-sharedir.patch b/mariadb-install-db-sharedir.patch
deleted file mode 100644
index 77a90e7..0000000
--- a/mariadb-install-db-sharedir.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Use configured value instead of hardcoded path
-
-diff -up mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.1.18/scripts/mysql_install_db.pl.in
---- mariadb-10.1.18/scripts/mysql_install_db.pl.in.pbasedir 2016-10-04 19:03:15.562101826 +0200
-+++ mariadb-10.1.18/scripts/mysql_install_db.pl.in 2016-10-04 19:04:47.833130195 +0200
-@@ -320,7 +320,7 @@ elsif ( $opt->{basedir} )
- find_in_basedir($opt,"file","mysqld-nt",
- "bin"); # ,"sql"
- $srcpkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql",
-- "share","share/mysql"); # ,"scripts"
-+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts"
- $buildpkgdir = $srcpkgdatadir;
- $scriptdir = "$opt->{basedir}/scripts";
- }
-diff -up mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir mariadb-10.1.18/scripts/mysql_install_db.sh
---- mariadb-10.1.18/scripts/mysql_install_db.sh.pbasedir 2016-10-04 19:03:22.714104025 +0200
-+++ mariadb-10.1.18/scripts/mysql_install_db.sh 2016-10-04 19:08:11.457186833 +0200
-@@ -283,17 +283,17 @@ then
- cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin
- exit 1
- fi
-- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english`
-+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english`
- if test -z "$langdir"
- then
-- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english
-+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english
- exit 1
- fi
-- srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql`
-+ srcpkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@`
- buildpkgdatadir=$srcpkgdatadir
- if test -z "$srcpkgdatadir"
- then
-- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql
-+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@
- exit 1
- fi
- scriptdir="$basedir/scripts"
diff --git a/mariadb-install-test.patch b/mariadb-install-test.patch
deleted file mode 100644
index 1797474..0000000
--- a/mariadb-install-test.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Improve the documentation that will be installed in the mysql-test RPM.
-
---- mariadb-10.1.13/mysql-test/README.orig 2016-03-24 10:12:10.000000000 +0100
-+++ mariadb-10.1.13/mysql-test/README 2016-03-29 10:23:30.074326900 +0200
-@@ -1,15 +1,28 @@
--This directory contains a test suite for the MySQL daemon. To run
--the currently existing test cases, simply execute ./mysql-test-run in
--this directory. It will fire up the newly built mysqld and test it.
--
--Note that you do not have to have to do "make install", and you could
--actually have a co-existing MySQL installation. The tests will not
--conflict with it. To run the test suite in a source directory, you
--must do make first.
--
--All tests must pass. If one or more of them fail on your system, please
--read the following manual section for instructions on how to report the
--problem:
-+This directory contains a test suite for the MariaDB daemon. To run
-+the currently existing test cases, execute ./mysql-test-run in
-+this directory.
-+
-+For use in Red Hat distributions, you should run the script as user mysql,
-+who is created with nologin shell however, so the best bet is something like
-+ $ su -
-+ # cd /usr/share/mysql-test
-+ # su -s /bin/bash mysql -c "./mysql-test-run --skip-test-list=unstable-tests"
-+
-+This will use the installed mysql executables, but will run a private copy
-+of the server process (using data files within /usr/share/mysql-test),
-+so you need not start the mysqld service beforehand.
-+
-+The "--skip-test-list=unstable-tests" option excludes tests that are
-+known to fail on one or more Red-Hat-supported platforms. You can omit it
-+if you want to check whether such failures occur for you. Documentation
-+about the reasons for omitting such tests can be found in the file
-+unstable-tests.
-+
-+To clean up afterwards, remove the created "var" subdirectory, eg
-+ # su -s /bin/bash - mysql -c "rm -rf /usr/share/mysql-test/var"
-+
-+If one or more tests fail on your system, please read the following manual
-+section for instructions on how to report the problem:
-
- https://mariadb.com/kb/en/reporting-bugs
-
-@@ -26,7 +39,8 @@ other relevant options.
-
- With no test cases named on the command line, mysql-test-run falls back
- to the normal "non-extern" behavior. The reason for this is that some
--tests cannot run with an external server.
-+tests cannot run with an external server (because they need to control the
-+options with which the server is started).
-
- You can create your own test cases. To create a test case, create a new
- file in the t subdirectory using a text editor. The file should have a .test
diff --git a/mariadb.spec b/mariadb.spec
index 8701125..71b65c3 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -60,8 +60,7 @@
%bcond_without config
# For deep debugging we need to build binaries with extra debug info
-# Does not work at this time: https://jira.mariadb.org/browse/MDEV-13986
-%bcond_with debug
+%bcond_with debug
# Include files for SysV init or systemd
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
@@ -81,11 +80,11 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%global pcre_version 8.41
%if 0%{?fedora} >= 21
-%bcond_without pcre
+%bcond_without bundled_pcre
%else
-%bcond_with pcre
+%bcond_with bundled_pcre
+%global pcre_bundled_version 8.41
%endif
# We define some system's well known locations here so we can use them easily
@@ -123,11 +122,11 @@
# Make long macros shorter
%global sameevr %{epoch}:%{version}-%{release}
%global compatver 10.2
-%global bugfixver 9
+%global bugfixver 10
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 3%{?with_debug:.debug}%{?dist}
+Release: 1%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -163,16 +162,11 @@ Source71: LICENSE.clustercheck
# https://jira.mariadb.org/browse/MDEV-12646
Source72: mariadb-server-galera.te
-# Patch2: testsuite README update, introducing skipped-tests.list
-# upstream questioned, if they are insterested: https://jira.mariadb.org/browse/MDEV-12263
-Patch2: %{pkgnamepatch}-install-test.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
# Patch7: add to the CMake file all files where we want macros to be expanded
Patch7: %{pkgnamepatch}-scripts.patch
-# Patch8: resolve conflict, when we combine MariaDB and MySQL packages
-Patch8: %{pkgnamepatch}-install-db-sharedir.patch
# Patch9: pre-configure to comply with guidelines
Patch9: %{pkgnamepatch}-ownsetup.patch
@@ -211,8 +205,8 @@ BuildRequires: libarchive-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_pcre:BuildRequires: pcre-devel >= 8.35}
-%{!?with_pcre:Provides: bundled(pcre) = %{pcre_version}}
+%{?with_bundled_pcre:BuildRequires: pcre-devel >= 8.35 pkgconf}
+%{?without_bundled_pcre:Provides: bundled(pcre) = %{pcre_bundled_version}}
# Few utilities needs Perl
%if 0%{?fedora} >= 22 || 0%{?rhel} > 7
BuildRequires: perl-interpreter
@@ -271,10 +265,10 @@ Obsoletes: mariadb-galera < %{obsoleted_mariadb_galera_evr}
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%if 0%{?fedora} > 14 || 0%{?rhel} > 6
%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::)
-%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$
+%global __provides_exclude_from ^(%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\\.so)$
%else
%filter_from_requires /perl(\(hostnames\|lib::mtr\|lib::v1\|mtr_\|My::\)/d
-%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\.so)
+%filter_provides_in -P (%{_datadir}/(mysql|mysql-test)/.*|%{_libdir}/%{pkg_name}/plugin/.*\.so)
%filter_setup
%endif
@@ -504,7 +498,7 @@ Requires: perl(DBI) perl(DBD::mysql)
%description server-utils
This package contains all non-essential server utilities and scripts for
managing databases. It also contains all utilities requiring Perl and it is
-the only MariaDB subpackage, except test subpackage, that depends on Perl.
+the only MariaDB sub-package, except test subpackage, that depends on Perl.
%if %{with devel}
@@ -634,10 +628,8 @@ MariaDB is a community developed branch of MySQL.
%prep
%setup -q -n mariadb-%{version}
-%patch2 -p1
%patch4 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch37 -p1
%patch40 -p1
@@ -676,17 +668,27 @@ sed -i 's/kerberos_port_t/kerberos_master_port_t/' selinux/%{name}-server-galera
cat selinux/%{name}-server-galera.te
%endif
-# Check if PCRE version is actual
-%if %{with pcre}
+
+# Get version of PCRE, that upstream use
pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'`
pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'`
-if [ %{pcre_version} != "$pcre_maj.$pcre_min" ]
+%if %{without bundled_pcre}
+# Check if the PCRE version in macro 'pcre_bundled_version', used in Provides: bundled(...), is the same version as upstream actually bundles
+if [ %{pcre_bundled_version} != "$pcre_maj.$pcre_min" ]
then
- echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n"
+ echo "\n Error: Bundled PCRE version is not correct. \n\tBundled version number:%{pcre_bundled_version} \n\tUpstream version number: $pcre_maj.$pcre_min\n"
exit 1
fi
-%endif
+%else
+# Check if the PCRE version that upstream use, is the same as the one present in system
+pcre_system_version=`pkgconf %{_libdir}/pkgconfig/libpcre.pc --modversion 2>/dev/null `
+if [ "$pcre_system_version" != "$pcre_maj.$pcre_min" ]
+then
+ echo "\n Warning: Error: Bundled PCRE version is not correct. \n\tSystem version number:$pcre_system_version \n\tUpstream version number: $pcre_maj.$pcre_min\n"
+fi
+%endif # PCRE
+
%if %{without rocksdb}
rm -r storage/rocksdb/
@@ -695,6 +697,8 @@ rm -r storage/rocksdb/
# Remove python scripts remains from tokudb upstream (those files are not used anyway)
rm -r storage/tokudb/mysql-test/tokudb/t/*.py
+
+
%build
# fail quickly and obviously if user tries to build as root
@@ -747,11 +751,11 @@ export LDFLAGS
-DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
- -DINSTALL_LIBDIR="%{_lib}/mysql" \
+ -DINSTALL_LIBDIR="%{_lib}" \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
- -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
+ -DINSTALL_PLUGINDIR="%{_lib}/%{pkg_name}/plugin" \
-DINSTALL_SBINDIR=libexec \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR=share \
@@ -763,7 +767,7 @@ export LDFLAGS
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-%{?with_pcre: -DWITH_PCRE=system}\
+ -DWITH_PCRE=%{?with_bundled_pcre:system}%{!?with_bundled_pcre:bundled} \
-DWITH_JEMALLOC=system \
-DWITH_LIBARCHIVE=ON \
-DWITH_MARIABACKUP=ON \
@@ -781,11 +785,11 @@ make %{?_smp_mflags} VERBOSE=1
# debuginfo extraction scripts fail to find source files in their real
# location -- satisfy them by copying these files into location, which
# is expected by scripts
-for e in innobase xtradb ; do
- for f in pars0grm.y pars0lex.l ; do
- cp -p "storage/$e/pars/$f" "storage/$e/$f"
- done
-done
+#for e in innobase xtradb ; do
+# for f in pars0grm.y pars0lex.l ; do
+# cp -p "storage/$e/pars/$f" "storage/$e/$f"
+# done
+#done
# build selinux policy
%if %{with galera}
@@ -819,8 +823,8 @@ mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
# install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files,
# but that's pretty wacko --- see also %%{name}-file-contents.patch)
-install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/
-install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/
+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}/
mkdir -p %{buildroot}%{logfiledir}
@@ -878,7 +882,7 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/
# should move this to /etc/ ?
rm %{buildroot}%{_bindir}/mysql_embedded
-rm %{buildroot}%{_libdir}/mysql/*.a
+rm %{buildroot}%{_libdir}/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
@@ -892,12 +896,6 @@ mkdir -p %{buildroot}%{logrotateddir}
mv %{buildroot}%{_datadir}/%{pkg_name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name}
chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name}
-%if %{with clibrary}
-mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
-# Save a name of the directory that contains libraries to this file
-echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
-%endif
-
# copy additional docs into build tree so %%doc will find them
install -p -m 0644 %{SOURCE5} %{basename:%{SOURCE5}}
install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}}
@@ -952,16 +950,16 @@ ln -s unstable-tests %{buildroot}%{_datadir}/mysql-test/rh-skipped-tests.list
%if %{without clibrary}
rm %{buildroot}%{_sysconfdir}/my.cnf.d/client.cnf
# Client library and links
-rm %{buildroot}%{_libdir}/mysql/libmariadb*.so.*
-unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so
-unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so
-unlink %{buildroot}%{_libdir}/mysql/libmariadb.so
+rm %{buildroot}%{_libdir}/libmariadb*.so.*
+unlink %{buildroot}%{_libdir}/libmysqlclient.so
+unlink %{buildroot}%{_libdir}/libmysqlclient_r.so
+unlink %{buildroot}%{_libdir}/libmariadb.so
# Client plugins
-rm %{buildroot}%{_libdir}/mysql/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,auth_gssapi_client.so}
%endif
%if %{without embedded}
-rm %{buildroot}%{_libdir}/mysql/libmysqld.so*
+rm %{buildroot}%{_libdir}/%{pkg_name}/libmysqld.so*
rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded}
rm %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded}.1*
%endif
@@ -980,7 +978,7 @@ unlink %{buildroot}%{_mandir}/man1/mariadb_config.1*
# Create symlinks to the 'libmariadb' library, for compatibility reasons
# Note: the -libs subpackage has Provides: for this compat symlink; when
# it is removed, they should also be removed
-pushd %{buildroot}%{_libdir}/mysql/
+pushd %{buildroot}%{_libdir}
#ln -s libmariadb.so libmysqlclient.so
ln -s libmariadb.so.3 libmysqlclient.so.18
#ln -s libmariadb.so libmysqlclient_r.so
@@ -1208,9 +1206,8 @@ fi
%if %{with clibrary}
%files libs
-%{_libdir}/mysql/libmariadb.so.*
-%{_libdir}/mysql/libmysqlclient.so.18
-%{_sysconfdir}/ld.so.conf.d/*
+%{_libdir}/libmariadb.so.*
+%{_libdir}/libmysqlclient.so.18
%config(noreplace) %{_sysconfdir}/my.cnf.d/client.cnf
%endif
@@ -1230,8 +1227,8 @@ fi
%dir %{_datadir}/%{pkg_name}
%{_datadir}/%{pkg_name}/charsets
%if %{with devel} && %{with errmsg} && %{with galera} && %{with config} && %{with clibrary}
-%{_libdir}/mysql/plugin/dialog.so
-%{_libdir}/mysql/plugin/mysql_clear_password.so
+%{_libdir}/%{pkg_name}/plugin/dialog.so
+%{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%endif # devel && errmsg && galera && config
%endif # common
@@ -1328,19 +1325,19 @@ fi
%{_libexecdir}/mysqld
-%{_libdir}/mysql/INFO_SRC
-%{_libdir}/mysql/INFO_BIN
+%{_libdir}/%{pkg_name}/INFO_SRC
+%{_libdir}/%{pkg_name}/INFO_BIN
%if %{without common}
%dir %{_datadir}/%{pkg_name}
%endif
-%dir %{_libdir}/mysql
-%dir %{_libdir}/mysql/plugin
-%{_libdir}/mysql/plugin/*
-%{?with_oqgraph:%exclude %{_libdir}/mysql/plugin/ha_oqgraph.so}
-%{?with_connect:%exclude %{_libdir}/mysql/plugin/ha_connect.so}
-%exclude %{_libdir}/mysql/plugin/dialog.so
-%exclude %{_libdir}/mysql/plugin/mysql_clear_password.so
+%dir %{_libdir}/%{pkg_name}
+%dir %{_libdir}/%{pkg_name}/plugin
+%{_libdir}/%{pkg_name}/plugin/*
+%{?with_oqgraph:%exclude %{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so}
+%{?with_connect:%exclude %{_libdir}/%{pkg_name}/plugin/ha_connect.so}
+%exclude %{_libdir}/%{pkg_name}/plugin/dialog.so
+%exclude %{_libdir}/%{pkg_name}/plugin/mysql_clear_password.so
%{_mandir}/man1/aria_chk.1*
%{_mandir}/man1/aria_dump_log.1*
@@ -1420,13 +1417,13 @@ fi
%if %{with oqgraph}
%files oqgraph-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/oqgraph.cnf
-%{_libdir}/mysql/plugin/ha_oqgraph.so
+%{_libdir}/%{pkg_name}/plugin/ha_oqgraph.so
%endif
%if %{with connect}
%files connect-engine
%config(noreplace) %{_sysconfdir}/my.cnf.d/connect.cnf
-%{_libdir}/mysql/plugin/ha_connect.so
+%{_libdir}/%{pkg_name}/plugin/ha_connect.so
%endif
%files server-utils
@@ -1461,9 +1458,9 @@ fi
%if %{with clibrary}
%{_bindir}/mysql_config*
%{_bindir}/mariadb_config*
-%{_libdir}/mysql/libmariadb.so
-%{_libdir}/mysql/libmysqlclient.so
-%{_libdir}/mysql/libmysqlclient_r.so
+%{_libdir}/libmariadb.so
+%{_libdir}/libmysqlclient.so
+%{_libdir}/libmysqlclient_r.so
%{_mandir}/man1/mysql_config*
%{_mandir}/man1/mariadb_config*
%endif
@@ -1471,10 +1468,10 @@ fi
%if %{with embedded}
%files embedded
-%{_libdir}/mysql/libmysqld.so.*
+%{_libdir}/libmysqld.so.*
%files embedded-devel
-%{_libdir}/mysql/libmysqld.so
+%{_libdir}/libmysqld.so
%{_bindir}/mysql_client_test_embedded
%{_bindir}/mysqltest_embedded
%{_mandir}/man1/mysql_client_test_embedded.1*
@@ -1500,6 +1497,14 @@ fi
%endif
%changelog
+* Wed Nov 01 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.10-1
+- Rebase to 10.2.10 version
+- Patch 2: mariadb-install-test.patch has been incorporated by upstream
+- Patch 8: mariadb-install-db-sharedir.patch; upstream started to use macros
+- Update PCRE check
+- Start using location libdir/mariadb for plugins
+- Move libraries to libdir
+
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
Related: #1498956
diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list
index bf4f3f0..022dda6 100644
--- a/rh-skipped-tests-base.list
+++ b/rh-skipped-tests-base.list
@@ -10,12 +10,9 @@ main.non_blocking_api : #1399847
perfschema.nesting : #1399847
perfschema.socket_summary_by_event_name_func : #1399847
perfschema.socket_summary_by_instance_func : #1399847
-perfschema.bad_option_1 : #1399847
-perfschema.bad_option_5 : #1399847
# <mkocka(a)redhat.com> needs this tests disabled for mode build
plugins.feedback_plugin_load : #
-
plugins.show_all_plugins : warnings in log
# ------------------------------
diff --git a/sources b/sources
index 11e9767..2161b03 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mariadb-10.2.9.tar.gz) = 11ba0913144d7298ffa4c0a0128a3d1525a39b8205ffc580311751cf25a4e86159e46a32d3c8330c4ea028cdd50643eb5381651df654751ca3e4fb3d4698a373
+SHA512 (mariadb-10.2.10.tar.gz) = 39c198009f8b19f4a08226ef9842b50e24636580b67c1c92d59c61cce3aa1edbd466e253c281dfcdfc58ab573ae9a59aaacb0ce3e8b82222043ddd849fc3e239
commit 7b7a7f80e23807496aa7e4e495a27e5ca555d150
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Oct 16 14:42:14 2017 +0200
Update PCRE version and fix its failsafe
diff --git a/mariadb.spec b/mariadb.spec
index 5033d37..8701125 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -81,7 +81,7 @@
# MariaDB 10.0 and later requires pcre >= 8.35, otherwise we need to use
# the bundled library, since the package cannot be build with older version
-%global pcre_version 8.40
+%global pcre_version 8.41
%if 0%{?fedora} >= 21
%bcond_without pcre
%else
@@ -677,7 +677,7 @@ cat selinux/%{name}-server-galera.te
%endif
# Check if PCRE version is actual
-%{!?with_pcre:
+%if %{with pcre}
pcre_maj=`grep '^m4_define(pcre_major' pcre/configure.ac | sed -r 's/^m4_define\(pcre_major, \[([0-9]+)\]\)/\1/'`
pcre_min=`grep '^m4_define(pcre_minor' pcre/configure.ac | sed -r 's/^m4_define\(pcre_minor, \[([0-9]+)\]\)/\1/'`
@@ -686,7 +686,7 @@ then
echo "\n Error: PCRE version is outdated. \n\tIncluded version:%{pcre_version} \n\tUpstream version: $pcre_maj.$pcre_min\n"
exit 1
fi
-}
+%endif
%if %{without rocksdb}
rm -r storage/rocksdb/
commit d34bedc1a2ef0b2281daa87ffc507a023a29d4b0
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Mon Oct 16 14:28:44 2017 +0200
RPMLint error fix: Remove unused python scripts which remained from TokuDB upstream
diff --git a/mariadb.spec b/mariadb.spec
index 9b6a54c..5033d37 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -692,6 +692,8 @@ fi
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
@@ -1502,6 +1504,8 @@ fi
- Fix client library obsolete
Related: #1498956
- RPMLint error fix: description line too long
+- RPMLint error fix:
+ Remove unused python scripts which remained from TokuDB upstream
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
commit 4f0e1812ee6d9d36eea7376b809211a917d6519a
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Sun Oct 8 00:35:13 2017 +0200
RPMLint error fix: description line too long
diff --git a/mariadb.spec b/mariadb.spec
index 08b5450..9b6a54c 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -502,9 +502,9 @@ Provides: mysql-perl = %{sameevr}
Requires: perl(DBI) perl(DBD::mysql)
%description server-utils
-This package contains all non-essential server utilities and scripts for managing
-databases. It also contains all utilities requiring Perl and it is the only MariaDB
-subpackage, except test subpackage, that depends on Perl.
+This package contains all non-essential server utilities and scripts for
+managing databases. It also contains all utilities requiring Perl and it is
+the only MariaDB subpackage, except test subpackage, that depends on Perl.
%if %{with devel}
@@ -879,7 +879,6 @@ rm %{buildroot}%{_bindir}/mysql_embedded
rm %{buildroot}%{_libdir}/mysql/*.a
rm %{buildroot}%{_datadir}/%{pkg_name}/binary-configure
rm %{buildroot}%{_datadir}/%{pkg_name}/magic
-#rm %{buildroot}%{_datadir}/%{pkg_name}/my-*.cnf
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1*
@@ -930,6 +929,8 @@ cp Docs/README-wsrep Docs/README.wsrep
# remove *.jar file from mysql-test
rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar
+rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo2.jar
+rm -r %{buildroot}%{_datadir}/mysql-test/plugin/connect/connect/std_data/Mongo3.jar
# RPMLINT E:
# mariadb-bench.x86_64: E: script-without-shebang /usr/share/sql-bench/myisam.cnf
@@ -1500,6 +1501,7 @@ fi
* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
- Fix client library obsolete
Related: #1498956
+- RPMLint error fix: description line too long
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
commit 082df141a1e83be5c01373d772fefd1f740cbe31
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 19:05:24 2017 +0200
Bump version for rebuild
diff --git a/mariadb.spec b/mariadb.spec
index e7dddd5..08b5450 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -127,7 +127,7 @@
Name: mariadb
Version: %{compatver}.%{bugfixver}
-Release: 2%{?with_debug:.debug}%{?dist}
+Release: 3%{?with_debug:.debug}%{?dist}
Epoch: 3
Summary: A community developed branch of MySQL
@@ -1497,6 +1497,10 @@ fi
%endif
%changelog
+* Thu Oct 05 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-3
+- Fix client library obsolete
+ Related: #1498956
+
* Wed Oct 04 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-2
- Fix of "with" and "without" macros, so they works
- Use 'iproute' dependency instead of 'net-tools'
@@ -1507,8 +1511,6 @@ fi
Related: #1497234
- Fix building with client library
- Build with client library and testsuite, since this is F27 branch
-- Fix client library obsolete
- Related: #1498956
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
commit f43c1299ba97cf0b6471899e038b80ad198d38b4
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 18:13:25 2017 +0200
Fix client library obsolete
diff --git a/mariadb.spec b/mariadb.spec
index 4c31040..e7dddd5 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -354,8 +354,7 @@ Provides: mariadb-galera-common = %{sameevr}
Obsoletes: mariadb-galera-common < %{obsoleted_mariadb_galera_common_evr}
%if %{without clibrary}
-Obsoletes: %{name}-libs%{?_isa} <= %{sameevr}
-Obsoletes: %{name}-common%{?_isa} < %{sameevr}
+Obsoletes: %{name}-libs <= %{sameevr}
%endif
@@ -1508,6 +1507,8 @@ fi
Related: #1497234
- Fix building with client library
- Build with client library and testsuite, since this is F27 branch
+- Fix client library obsolete
+ Related: #1498956
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
commit 604c1bd8ebe7dbde82cf2efc6e0863414bb9fc6f
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Thu Oct 5 14:37:00 2017 +0200
Start building with client library and testsuite, since this is a F27 branch
diff --git a/mariadb.spec b/mariadb.spec
index 19d1845..4c31040 100644
--- a/mariadb.spec
+++ b/mariadb.spec
@@ -3,7 +3,7 @@
%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
@@ -43,7 +43,7 @@
%bcond_without oqgraph
# For some use cases we do not need some parts of the package. Set to "...with" to exclude
-%bcond_with clibrary
+%bcond_without clibrary
%bcond_without embedded
%bcond_without devel
%bcond_without client
@@ -1507,6 +1507,7 @@ fi
with dnf "--allowerasing" option
Related: #1497234
- Fix building with client library
+- Build with client library and testsuite, since this is F27 branch
* Thu Sep 28 2017 Michal Schorm <mschorm(a)redhat.com> - 3:10.2.9-1
- Rebase to 10.2.9
6 years, 3 months
Architecture specific change in rpms/golang-github-boltdb-bolt.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-boltdb-bolt.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-boltdb-bolt.git/com....
Change:
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
Thanks.
Full change:
============
commit 475cfa00f3197af5208bc4bd0353afb628d4aadf
Author: Jan Chaloupka <jchaloup(a)redhat.com>
Date: Wed Feb 28 10:26:31 2018 +0100
Autogenerate some parts using the new macros
diff --git a/golang-github-boltdb-bolt.spec b/golang-github-boltdb-bolt.spec
index 4b262d0..ccf823a 100644
--- a/golang-github-boltdb-bolt.spec
+++ b/golang-github-boltdb-bolt.spec
@@ -1,164 +1,54 @@
-# If any of the following macros should be set otherwise,
-# you can wrap any of them with the following conditions:
-# - %%if 0%%{centos} == 7
-# - %%if 0%%{?rhel} == 7
-# - %%if 0%%{?fedora} == 23
-# Or just test for particular distribution:
-# - %%if 0%%{centos}
-# - %%if 0%%{?rhel}
-# - %%if 0%%{?fedora}
-#
-# Be aware, on centos, both %%rhel and %%centos are set. If you want to test
-# rhel specific macros, you can use %%if 0%%{?rhel} && 0%%{?centos} == 0 condition.
-# (Don't forget to replace double percentage symbol with single one in order to apply a condition)
-
-# Generate devel rpm
-%global with_devel 1
-# Build project from bundled dependencies
-%global with_bundled 0
-# Build with debug info rpm
-%global with_debug 0
-# Run tests in check section
-# tests run too long
-%global with_check 0
-# Generate unit-test rpm
-%global with_unit_test 1
-
-%if 0%{?with_debug}
-%global _dwz_low_mem_die_limit 0
-%else
-%global debug_package %{nil}
-%endif
-
-%global provider github
-%global provider_tld com
-%global project boltdb
-%global repo bolt
# https://github.com/boltdb/bolt
-%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
-%global import_path %{provider_prefix}
+%global provider_prefix github.com/boltdb/bolt
+%global gobaseipath %{provider_prefix}
%global commit 583e8937c61f1af6513608ccc75c97b6abdf4ff9
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20160818
-Name: golang-%{provider}-%{project}-%{repo}
+%gocraftmeta -i
+
+Name: %{goname}
Version: 1.3.0
-Release: 0.6.git%{shortcommit}%{?dist}
+Release: 0.7.%{commitdate}git%{shortcommit}%{?dist}
Summary: A low-level key/value database for Go
License: MIT
-URL: https://%{provider_prefix}
-Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
-
-# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
+URL: %{gourl}
+Source0: %{gosource}
%description
%{summary}
-%if 0%{?with_devel}
%package devel
Summary: %{summary}
-BuildArch: noarch
-%if 0%{?with_check}
BuildRequires: golang(golang.org/x/sys/unix)
-%endif
-
-Requires: golang(golang.org/x/sys/unix)
-
-Provides: golang(%{import_path}) = %{version}-%{release}
%description devel
%{summary}
This package contains library source intended for
building other packages which use import path with
-%{import_path} prefix.
-%endif
-
-%if 0%{?with_unit_test}
-%package unit-test
-Summary: Unit tests for %{name} package
-
-%if 0%{?with_check}
-#Here comes all BuildRequires: PACKAGE the unit tests
-#in %%check section need for running
-%endif
-
-# test subpackage tests code from devel subpackage
-Requires: %{name}-devel = %{version}-%{release}
-
-%description unit-test
-%{summary}
-
-This package contains unit tests for project
-providing packages with %{import_path} prefix.
-%endif
+%{gobaseipath} prefix.
%prep
-%setup -q -n %{repo}-%{commit}
-
-%build
+%gosetup
%install
-# source codes for building projects
-%if 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
-# find all *.go but no *_test.go files and generate devel.file-list
-for file in $(find . -iname "*.go" \! -iname "*_test.go") ; do
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
-done
-%endif
-
-# testing files for this project
-%if 0%{?with_unit_test}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-# find all *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*_test.go"); do
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list
-done
-%endif
+%goinstall
%check
-%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
-%if ! 0%{?with_bundled}
-export GOPATH=%{buildroot}/%{gopath}:%{gopath}
-%else
-export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
-%endif
-
-%if ! 0%{?gotest:1}
-%global gotest go test
-%endif
-
-%gotest %{import_path}
-%gotest %{import_path}/cmd/bolt
-%endif
+%gochecks %{gobaseipath}
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
-%if 0%{?with_devel}
%files devel -f devel.file-list
%license LICENSE
%doc README.md
-%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
-%dir %{gopath}/src/%{import_path}
-%endif
-
-%if 0%{?with_unit_test}
-%files unit-test -f unit-test.file-list
-%license LICENSE
-%doc README.md
-%endif
%changelog
+* Wed Feb 28 2018 Jan Chaloupka <jchaloup(a)redhat.com> - 1.3.0-0.7.20160818git583e893
+- Autogenerate some parts using the new macros
+
* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-0.6.git583e893
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6 years, 3 months
Architecture specific change in rpms/golang-github-bradfitz-http2.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-bradfitz-http2.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-bradfitz-http2.git/....
Change:
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
Thanks.
Full change:
============
commit 16b4fef59e8f4075304e77cdc6dfd3be008e8999
Author: Jan Chaloupka <jchaloup(a)redhat.com>
Date: Wed Feb 28 10:24:13 2018 +0100
Autogenerate some parts using the new macros
diff --git a/golang-github-bradfitz-http2.spec b/golang-github-bradfitz-http2.spec
index 799d047..ad64abc 100644
--- a/golang-github-bradfitz-http2.spec
+++ b/golang-github-bradfitz-http2.spec
@@ -1,159 +1,53 @@
-%if 0%{?fedora} || 0%{?rhel} == 6
-%global with_devel 1
-%global with_bundled 0
-%global with_debug 0
-%global with_check 1
-%global with_unit_test 1
-%else
-%global with_devel 0
-%global with_bundled 0
-%global with_debug 0
-%global with_check 0
-%global with_unit_test 0
-%endif
-
-%if 0%{?with_debug}
-%global _dwz_low_mem_die_limit 0
-%else
-%global debug_package %{nil}
-%endif
-
-%global provider github
-%global provider_tld com
-%global project bradfitz
-%global repo http2
# https://github.com/bradfitz/http2
-%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
-%global import_path %{provider_prefix}
+%global provider_prefix github.com/bradfitz/http2
+%global gobaseipath %{provider_prefix}
%global commit f8202bc903bda493ebba4aa54922d78430c2c42f
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20150509
-Name: golang-%{provider}-%{project}-%{repo}
+%gocraftmeta -i
+
+Name: %{goname}
Version: 0
-Release: 0.9.git%{shortcommit}%{?dist}
+Release: 0.10.%{commitdate}git%{shortcommit}%{?dist}
Summary: HTTP/2 support for Go (in active development)
License: BSD
-URL: https://%{provider_prefix}
-Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
-
-# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
+URL: %{gourl}
+Source0: %{gosource}
%description
%{summary}
-%if 0%{?with_devel}
%package devel
Summary: %{summary}
BuildArch: noarch
-%if 0%{?with_check}
-%endif
-
-Provides: golang(%{import_path}) = %{version}-%{release}
-Provides: golang(%{import_path}/hpack) = %{version}-%{release}
-
%description devel
%{summary}
This package contains library source intended for
building other packages which use import path with
-%{import_path} prefix.
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%package unit-test
-Summary: Unit tests for %{name} package
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
-%if 0%{?with_check}
-#Here comes all BuildRequires: PACKAGE the unit tests
-#in %%check section need for running
-%endif
-
-# test subpackage tests code from devel subpackage
-Requires: %{name}-devel = %{version}-%{release}
-
-%description unit-test
-%{summary}
-
-This package contains unit tests for project
-providing packages with %{import_path} prefix.
-%endif
+%{gobaseipath} prefix.
%prep
-%setup -q -n %{repo}-%{commit}
-
-%build
+%gosetup
%install
-# source codes for building projects
-%if 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
-# find all *.go but no *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*.go" \! -iname "*_test.go") ; do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
-done
-%endif
-
-# testing files for this project
-%if 0%{?with_unit_test} && 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-cp -rpav testdata %{buildroot}/%{gopath}/src/%{import_path}/.
-echo "%%{gopath}/src/%%{import_path}/testdata" >> unit-test.file-list
-# find all *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*_test.go"); do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list
-done
-%endif
-
-%if 0%{?with_devel}
-sort -u -o devel.file-list devel.file-list
-%endif
+%goinstall $(find . -iname "testdata" -type d)
%check
-%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
-%if ! 0%{?with_bundled}
-export GOPATH=%{buildroot}/%{gopath}:%{gopath}
-%else
-export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
-%endif
-
-%if ! 0%{?gotest:1}
-%global gotest go test
-%endif
-
-%gotest %{import_path}
-%gotest %{import_path}/hpack
-%endif
+%gochecks
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
-%if 0%{?with_devel}
%files devel -f devel.file-list
%license LICENSE
%doc README AUTHORS CONTRIBUTORS HACKING
-%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%files unit-test -f unit-test.file-list
-%license LICENSE
-%doc README AUTHORS CONTRIBUTORS HACKING
-%endif
%changelog
+* Wed Feb 28 2018 Jan Chaloupka <jchaloup(a)redhat.com> - 0-0.10.20150509gitf8202bc
+- Autogenerate some parts using the new macros
+
* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0-0.9.gitf8202bc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6 years, 3 months
Architecture specific change in rpms/golang-github-bmizerany-perks.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-bmizerany-perks.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-bmizerany-perks.git....
Change:
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
Thanks.
Full change:
============
commit 07ec87cdbfde5cfccdfdfd70ec0d54b23ed2d2af
Author: Jan Chaloupka <jchaloup(a)redhat.com>
Date: Wed Feb 28 10:03:33 2018 +0100
Autogenerate some parts using the new macros
diff --git a/golang-github-bmizerany-perks.spec b/golang-github-bmizerany-perks.spec
index 12c2a15..b279676 100644
--- a/golang-github-bmizerany-perks.spec
+++ b/golang-github-bmizerany-perks.spec
@@ -1,167 +1,55 @@
-%if 0%{?fedora} || 0%{?rhel} == 6
-%global with_devel 1
-%global with_bundled 0
-%global with_debug 0
-%global with_check 1
-%global with_unit_test 1
-%else
-%global with_devel 0
-%global with_bundled 0
-%global with_debug 0
-%global with_check 0
-%global with_unit_test 0
-%endif
-
-%if 0%{?with_debug}
-%global _dwz_low_mem_die_limit 0
-%else
-%global debug_package %{nil}
-%endif
-
-%global provider github
-%global provider_tld com
-%global project bmizerany
-%global repo perks
# https://github.com/bmizerany/perks
-%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
-%global import_path %{provider_prefix}
+%global provider_prefix github.com/bmizerany/perks
+%global gobaseipath %{provider_prefix}
%global commit d9a9656a3a4b1c2864fdb44db2ef8619772d92aa
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global commitdate 20140716
-Name: golang-%{provider}-%{project}-%{repo}
+%gocraftmeta -i
+
+Name: %{goname}
Version: 0
-Release: 0.11.git%{shortcommit}%{?dist}
+Release: 0.12.%{commitdate}git%{shortcommit}%{?dist}
Summary: Effective Computation of Things
License: MIT
-URL: https://%{provider_prefix}
-Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
+URL: %{gourl}
+Source0: %{gosource}
Patch0: add-license.patch
-# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
-ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
%description
%{summary}
-%if 0%{?with_devel}
%package devel
Summary: %{summary}
BuildArch: noarch
-%if 0%{?with_check}
-%endif
-
-
-Provides: golang(%{import_path}/histogram) = %{version}-%{release}
-Provides: golang(%{import_path}/quantile) = %{version}-%{release}
-Provides: golang(%{import_path}/topk) = %{version}-%{release}
-
%description devel
%{summary}
This package contains library source intended for
building other packages which use import path with
-%{import_path} prefix.
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%package unit-test
-Summary: Unit tests for %{name} package
-# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
-BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
-
-%if 0%{?with_check}
-#Here comes all BuildRequires: PACKAGE the unit tests
-#in %%check section need for running
-%endif
-
-# test subpackage tests code from devel subpackage
-Requires: %{name}-devel = %{version}-%{release}
-
-%description unit-test
-%{summary}
-
-This package contains unit tests for project
-providing packages with %{import_path} prefix.
-%endif
+%{gobaseipath} prefix.
%prep
-%setup -q -n %{repo}-%{commit}
+%gosetup
%patch0 -p1
-%build
-
%install
-# source codes for building projects
-%if 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
-# find all *.go but no *_test.go files and generate devel.file-list
-for file in $(find . -iname "*.go" \! -iname "*_test.go") ; do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
-done
-%endif
-
-# testing files for this project
-%if 0%{?with_unit_test} && 0%{?with_devel}
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
-install -d -p %{buildroot}/%{gopath}/src/%{import_path}/quantile
-echo "%%dir %%{gopath}/src/%%{import_path}/./quantile" >> devel.file-list
-
-cp -pav quantile/exampledata.txt %{buildroot}/%{gopath}/src/%{import_path}/quantile/.
-echo "%%{gopath}/src/%%{import_path}/quantile/exampledata.txt" >> unit-test.file-list
-# find all *_test.go files and generate unit-test.file-list
-for file in $(find . -iname "*_test.go"); do
- echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
- install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
- cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
- echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test.file-list
-done
-%endif
-
-%if 0%{?with_devel}
-sort -u -o devel.file-list devel.file-list
-%endif
+%goinstall quantile/exampledata.txt ./quantile
%check
-%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
-%if ! 0%{?with_bundled}
-export GOPATH=%{buildroot}/%{gopath}:%{gopath}
-%else
-export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath}
-%endif
-
-%if ! 0%{?gotest:1}
-%global gotest go test
-%endif
-
-%gotest %{import_path}/histogram
-%gotest %{import_path}/quantile
-%gotest %{import_path}/topk
-%endif
+%gochecks %{gobaseipath}/histogram
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
-%if 0%{?with_devel}
%files devel -f devel.file-list
%license LICENSE
%doc README.md
-%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
-%endif
-
-%if 0%{?with_unit_test} && 0%{?with_devel}
-%files unit-test -f unit-test.file-list
-%license LICENSE
-%doc README.md
-%endif
%changelog
+* Wed Feb 28 2018 Jan Chaloupka <jchaloup(a)redhat.com> - 0-0.12.20140716gitd9a9656
+- Autogenerate some parts using the new macros
+
* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0-0.11.gitd9a9656
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6 years, 3 months