From 0ba39585139635049d44c12ae17f9a03bf7917c694616ebfacc56a7e71c9ac3c Mon Sep 17 00:00:00 2001 From: Gang He Date: Fri, 21 Aug 2020 03:28:00 +0000 Subject: [PATCH] Accepting request 828340 from home:hmzhao:branches:openSUSE:Factory - lvm can't pass build with gcc option Wstringop-overflow (bsc#1175565) + bug-1175565_lvm-cant-pass-build-with-gcc-option-Wstringop-overflow.patch - lvm2.spec + add obsoletes version for passing build + remove config item '--with-cluster=internal' for lvmlockd package OBS-URL: https://build.opensuse.org/request/show/828340 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=278 --- ...d-with-gcc-option-Wstringop-overflow.patch | 56 +++++++++++++++++++ lvm2.changes | 10 ++++ lvm2.spec | 18 ++++-- 3 files changed, 79 insertions(+), 5 deletions(-) create mode 100644 bug-1175565_lvm-cant-pass-build-with-gcc-option-Wstringop-overflow.patch diff --git a/bug-1175565_lvm-cant-pass-build-with-gcc-option-Wstringop-overflow.patch b/bug-1175565_lvm-cant-pass-build-with-gcc-option-Wstringop-overflow.patch new file mode 100644 index 0000000..053eec6 --- /dev/null +++ b/bug-1175565_lvm-cant-pass-build-with-gcc-option-Wstringop-overflow.patch @@ -0,0 +1,56 @@ +From c082344068ac0b080c5f3d97e0272952a665813b Mon Sep 17 00:00:00 2001 +From: Zhao Heming +Date: Thu, 20 Aug 2020 23:21:11 +0800 +Subject: [PATCH] change zero-sized array to fexlible array + +this change make gcc happy with compiling option: [-Wstringop-overflow=] + +Signed-off-by: Zhao Heming +--- + device_mapper/libdm-common.c | 2 +- + lib/activate/fs.c | 2 +- + libdm/libdm-common.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/device_mapper/libdm-common.c b/device_mapper/libdm-common.c +index bc691d6..3627457 100644 +--- a/device_mapper/libdm-common.c ++++ b/device_mapper/libdm-common.c +@@ -1445,7 +1445,7 @@ struct node_op_parms { + char *old_name; + int warn_if_udev_failed; + unsigned rely_on_udev; +- char names[0]; ++ char names[]; + }; + + static void _store_str(char **pos, char **ptr, const char *str) +diff --git a/lib/activate/fs.c b/lib/activate/fs.c +index b2c99fc..96f7df6 100644 +--- a/lib/activate/fs.c ++++ b/lib/activate/fs.c +@@ -313,7 +313,7 @@ struct fs_op_parms { + char *lv_name; + char *dev; + char *old_lv_name; +- char names[0]; ++ char names[]; + }; + + static void _store_str(char **pos, char **ptr, const char *str) +diff --git a/libdm/libdm-common.c b/libdm/libdm-common.c +index d75c704..d587c32 100644 +--- a/libdm/libdm-common.c ++++ b/libdm/libdm-common.c +@@ -1443,7 +1443,7 @@ struct node_op_parms { + char *old_name; + int warn_if_udev_failed; + unsigned rely_on_udev; +- char names[0]; ++ char names[]; + }; + + static void _store_str(char **pos, char **ptr, const char *str) +-- +1.8.3.1 + diff --git a/lvm2.changes b/lvm2.changes index 7876a6d..5cf33d4 100644 --- a/lvm2.changes +++ b/lvm2.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Aug 20 04:49:00 UTC 2020 - heming.zhao@suse.com + +- lvm can't pass build with gcc option Wstringop-overflow (bsc#1175565) + + bug-1175565_lvm-cant-pass-build-with-gcc-option-Wstringop-overflow.patch + +- lvm2.spec + + add obsoletes version for passing build + + remove config item '--with-cluster=internal' for lvmlockd package + ------------------------------------------------------------------- Mon Aug 10 07:11:00 UTC 2020 - heming.zhao@suse.com diff --git a/lvm2.spec b/lvm2.spec index a2dcc4f..8d08919 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -26,6 +26,12 @@ %define thin_provisioning_version 0.7.0 %define _supportsanlock 0 %define dlm_version 4.0 +# from lvm2 version 2.03, suse obsoleted clvm, cmirrord, liblvm2app & liblvm2cmd. +# so the obseletes version is 2.03 +%define lvm2_clvm_version 2.03 +%define lvm2_cmirrord_version 2.03 +%define liblvm2app2_2_version 2.03 +%define liblvm2cmd2_02_version 2.03 %if 0%{_supportsanlock} == 1 %define sanlock_version 3.3.0 %endif @@ -63,6 +69,7 @@ Patch1002: fate-309425_display-dm-name-for-lv-name.patch Patch1003: fate-31841_fsadm-add-support-for-btrfs.patch Patch1004: bug-935623_dmeventd-fix-dso-name-wrong-compare.patch Patch1005: bug-998893_make_pvscan_service_after_multipathd.patch +Patch1006: bug-1175565_lvm-cant-pass-build-with-gcc-option-Wstringop-overflow.patch # SUSE patches 2000+ for device mapper, udev rules Patch2001: bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch # SUSE patches 3000+ for test code @@ -79,7 +86,7 @@ Requires: modutils Requires(post): coreutils Requires(postun): coreutils Provides: lvm = %{version} -Obsoletes: lvm2-cmirrord +Obsoletes: lvm2-cmirrord <= %{lvm2_cmirrord_version} %{?systemd_requires} %if %{with devicemapper} BuildRequires: gcc-c++ @@ -92,6 +99,7 @@ BuildRequires: libcorosync-devel BuildRequires: pkgconfig(blkid) %if %{with lockd} BuildRequires: libdlm-devel +BuildRequires: systemd-devel %if 0%{_supportsanlock} == 1 BuildRequires: sanlock-devel >= %{sanlock_version} %endif @@ -115,6 +123,7 @@ Volume Manager. %patch1003 -p1 %patch1004 -p1 %patch1005 -p1 +%patch1006 -p1 %patch2001 -p1 %if !%{with lockd} @@ -148,7 +157,6 @@ extra_opts=" --with-default-locking-dir=/run/lock/lvm --with-default-pid-dir=/run --with-default-run-dir=/run/lvm - --with-cluster=internal --enable-lvmlockd-dlm %if 0%{_supportsanlock} == 1 --enable-lvmlockd-sanlock @@ -415,7 +423,7 @@ Requires: corosync Requires: device-mapper >= %{device_mapper_version} Requires: lvm2 = %{version} Recommends: libdlm >= %{dlm_version} -Obsoletes: lvm2-clvm +Obsoletes: lvm2-clvm <= %{lvm2_clvm_version} %{?systemd_requires} %if 0%{_supportsanlock} == 1 Requires: sanlock >= %{sanlock_version} @@ -668,8 +676,8 @@ LVM commands use lvmlockd to coordinate access to shared storage. Summary: LVM2 command line library Group: System/Libraries Conflicts: %{name} < %{version} -Obsoletes: liblvm2app2_2 -Obsoletes: liblvm2cmd2_02 +Obsoletes: liblvm2app2_2 <= %{liblvm2app2_2_version} +Obsoletes: liblvm2cmd2_02 <= %{liblvm2cmd2_02_version} %description -n %{cmdlib} The lvm2 command line library allows building programs that manage