[Buildroot] [git commit] package/lvm2: bump version to 2.03.12

Peter Korsgaard peter at korsgaard.com
Tue May 11 07:48:58 UTC 2021


commit: https://git.buildroot.net/buildroot/commit/?id=80997acd3587a4528f8877d9e8a502c39ed800c5
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Downstream patches have been mainlined in commits [1] (v2.03.06) and
[2] (v2.03.12). Second patch was slightly modified, so replace
--disable-symvers with --with-symvers=no.

[1] https://github.com/lvmteam/lvm2/commit/125f27ac37bc9b93cc96f64052b9681b3d479ee1
[2] https://github.com/lvmteam/lvm2/commit/1cedbaf13778de02e38b5dc80a7af246b7ec83e5

Signed-off-by: Marcin Niestroj <m.niestroj at grinn-global.com>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 ...configure-Introduce-enable-symvers-option.patch | 278 ---------------------
 ...ve-unsupported-options-event-timeout-rule.patch |  33 ---
 package/lvm2/lvm2.hash                             |   2 +-
 package/lvm2/lvm2.mk                               |   4 +-
 4 files changed, 3 insertions(+), 314 deletions(-)

diff --git a/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch b/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch
deleted file mode 100644
index 7ef153313c..0000000000
--- a/package/lvm2/0001-configure-Introduce-enable-symvers-option.patch
+++ /dev/null
@@ -1,278 +0,0 @@
-From 94d71c49eb1682a73465eb162b0a059561168bb2 Mon Sep 17 00:00:00 2001
-From: Marcin Niestroj <m.niestroj at grinn-global.com>
-Date: Fri, 20 Jul 2018 14:26:44 +0200
-Subject: [PATCH] configure: Introduce --enable-symvers option
-
-Only few libc (e.g. glibc) libraries support full symbol version
-resolution in runtime. There are lot of standard libraries that do not
-support that, such as dietlibc, musl and uclibc. Hence there is no
-reason to generate symbol versions when compiling against them.
-
-Additionally libdevmapper.so was broken when compiled against
-uclibc. Runtime linker loader caused calling dm_task_get_info_base()
-function recursively, leading to segmentation fault.
-
-Introduce --enable-symvers[=STYLE] option, which allows to choose
-between gnu and disabled symbol versioning. By default gnu symbol
-versioning is used to provide backward compatibility.
-__GNUC__ check is replaced now with GNU_SYMVER, which is generated by
-configure script. Additionally ld version script is included only in
-case of gnu option, which slightly reduces output size.
-
-Providing --disable-symvers to configure script when building against
-uclibc library fixes segmentation fault error described above, due to
-lack of several versions of the same symbol in libdevmapper.so
-library.
-
-Signed-off-by: Marcin Niestroj <m.niestroj at grinn-global.com>
----
- configure                 | 32 ++++++++++++++++++++++++++++++--
- configure.ac              | 28 +++++++++++++++++++++++++---
- include/configure.h.in    |  3 +++
- lib/misc/lib.h            | 10 +++++-----
- libdm/datastruct/bitset.c |  5 +----
- libdm/ioctl/libdm-iface.c |  2 +-
- libdm/libdm-deptree.c     |  2 +-
- libdm/libdm-stats.c       |  2 +-
- 8 files changed, 67 insertions(+), 17 deletions(-)
-
-diff --git a/configure b/configure
-index 7d945dfa8..94cd6b1ea 100755
---- a/configure
-+++ b/configure
-@@ -975,6 +975,7 @@ enable_fsadm
- enable_blkdeactivate
- enable_dmeventd
- enable_selinux
-+enable_symvers
- enable_nls
- with_localedir
- with_confdir
-@@ -1725,6 +1726,9 @@ Optional Features:
-   --disable-blkdeactivate disable blkdeactivate
-   --enable-dmeventd       enable the device-mapper event daemon
-   --disable-selinux       disable selinux support
-+  --enable-symvers[=STYLE]
-+                          enables symbol versioning of the shared library
-+                          [default=gnu]
-   --enable-nls            enable Native Language Support
- 
- Optional Packages:
-@@ -3156,7 +3160,6 @@ if test -z "$CFLAGS"; then :
- fi
- case "$host_os" in
- 	linux*)
--		CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
- 		# equivalent to -rdynamic
- 		ELDFLAGS="-Wl,--export-dynamic"
- 		# FIXME Generate list and use --dynamic-list=.dlopen.sym
-@@ -3178,7 +3181,6 @@ case "$host_os" in
- 		;;
- 	darwin*)
- 		CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
--		CLDFLAGS="$CLDFLAGS"
- 		ELDFLAGS=
- 		CLDWHOLEARCHIVE="-all_load"
- 		CLDNOWHOLEARCHIVE=
-@@ -14401,6 +14403,32 @@ done
- 	LIBS=$lvm_saved_libs
- fi
- 
-+################################################################################
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable symbol versioning" >&5
-+$as_echo_n "checking whether to enable symbol versioning... " >&6; }
-+# Check whether --enable-symvers was given.
-+if test "${enable_symvers+set}" = set; then :
-+  enableval=$enable_symvers;
-+  case "$enableval" in
-+    gnu|no) ;;
-+    *) as_fn_error $? "Unknown argument to enable/disable symvers" "$LINENO" 5 ;;
-+  esac
-+else
-+  enable_symvers=gnu
-+fi
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_symvers" >&5
-+$as_echo "$enable_symvers" >&6; }
-+
-+if test x$GCC = xyes && test x$enable_symvers = xgnu ; then
-+
-+$as_echo "#define GNU_SYMVER 1" >>confdefs.h
-+
-+  case "$host_os" in
-+    linux*) CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" ;;
-+  esac
-+fi
-+
- ################################################################################
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable internationalisation" >&5
- $as_echo_n "checking whether to enable internationalisation... " >&6; }
-diff --git a/configure.ac b/configure.ac
-index e427708cd..2e8712f92 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -30,13 +30,11 @@ AC_CANONICAL_TARGET([])
- AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"])
- case "$host_os" in
- 	linux*)
--		CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
- 		# equivalent to -rdynamic
- 		ELDFLAGS="-Wl,--export-dynamic"
- 		# FIXME Generate list and use --dynamic-list=.dlopen.sym
- 		CLDWHOLEARCHIVE="-Wl,-whole-archive"
- 		CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
--		LDDEPS="$LDDEPS .export.sym"
- 		LIB_SUFFIX=so
- 		DEVMAPPER=yes
- 		BUILD_LVMETAD=no
-@@ -52,7 +50,6 @@ case "$host_os" in
- 		;;
- 	darwin*)
- 		CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
--		CLDFLAGS="$CLDFLAGS"
- 		ELDFLAGS=
- 		CLDWHOLEARCHIVE="-all_load"
- 		CLDNOWHOLEARCHIVE=
-@@ -1656,6 +1653,31 @@ package as well (which may be called readline-devel or something similar).])
- 	LIBS=$lvm_saved_libs
- fi
- 
-+################################################################################
-+dnl -- Symbol versioning
-+AC_MSG_CHECKING(whether to enable symbol versioning)
-+AC_ARG_ENABLE(symvers,
-+              AC_HELP_STRING([--enable-symvers[[[=STYLE]]]],
-+                             [enables symbol versioning of the shared library [default=gnu]]),
-+                             [
-+  case "$enableval" in
-+    gnu|no) ;;
-+    *) AC_MSG_ERROR(Unknown argument to enable/disable symvers) ;;
-+  esac],
-+                             enable_symvers=gnu)
-+AC_MSG_RESULT($enable_symvers)
-+
-+if test x$GCC = xyes && test x$enable_symvers = xgnu ; then
-+  AC_DEFINE(GNU_SYMVER, 1,
-+            [Define to use GNU versioning in the shared library.])
-+  case "$host_os" in
-+    linux*)
-+      CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
-+      LDDEPS="$LDDEPS .export.sym"
-+      ;;
-+  esac
-+fi
-+
- ################################################################################
- dnl -- Internationalisation stuff
- AC_MSG_CHECKING(whether to enable internationalisation)
-diff --git a/include/configure.h.in b/include/configure.h.in
-index 15fd150ed..7a07a10ef 100644
---- a/include/configure.h.in
-+++ b/include/configure.h.in
-@@ -147,6 +147,9 @@
- /* Path to fsadm binary. */
- #undef FSADM_PATH
- 
-+/* Define to use GNU versioning in the shared library. */
-+#undef GNU_SYMVER
-+
- /* Define to 1 if you have the `alarm' function. */
- #undef HAVE_ALARM
- 
-diff --git a/lib/misc/lib.h b/lib/misc/lib.h
-index d7fa5c721..7cf98f932 100644
---- a/lib/misc/lib.h
-+++ b/lib/misc/lib.h
-@@ -41,16 +41,16 @@
-  * macro DM_EXPORT_SYMBOL to export the function and bind it to the
-  * specified version string.
-  *
-- * Since versioning is only available when compiling with GCC the entire
-- * compatibility version should be enclosed in '#if defined(__GNUC__)',
-- * for example:
-+ * Since versioning is only available when compiling with GCC
-+ * and GLIBC the entire compatibility version should be enclosed
-+ * in '#if defined(GNU_SYMVER)', for example:
-  *
-  *   int dm_foo(int bar)
-  *   {
-  *     return bar;
-  *   }
-  *
-- *   #if defined(__GNUC__)
-+ *   #if defined(GNU_SYMVER)
-  *   // Backward compatible dm_foo() version 1.02.104
-  *   int dm_foo_v1_02_104(void);
-  *   int dm_foo_v1_02_104(void)
-@@ -67,7 +67,7 @@
-  * versions of library symbols prior to the introduction of symbol
-  * versioning: it must never be used for new symbols.
-  */
--#if defined(__GNUC__)
-+#if defined(GNU_SYMVER)
- #define DM_EXPORT_SYMBOL(func, ver) \
- 	__asm__(".symver " #func "_v" #ver ", " #func "@DM_" #ver )
- #define DM_EXPORT_SYMBOL_BASE(func) \
-diff --git a/libdm/datastruct/bitset.c b/libdm/datastruct/bitset.c
-index b0826e1eb..2ec3f8f84 100644
---- a/libdm/datastruct/bitset.c
-+++ b/libdm/datastruct/bitset.c
-@@ -242,7 +242,7 @@ bad:
- 	return NULL;
- }
- 
--#if defined(__GNUC__)
-+#if defined(GNU_SYMVER)
- /*
-  * Maintain backward compatibility with older versions that did not
-  * accept a 'min_num_bits' argument to dm_bitset_parse_list().
-@@ -253,7 +253,4 @@ dm_bitset_t dm_bitset_parse_list_v1_02_129(const char *str, struct dm_pool *mem)
- 	return dm_bitset_parse_list(str, mem, 0);
- }
- DM_EXPORT_SYMBOL(dm_bitset_parse_list, 1_02_129);
--
--#else /* if defined(__GNUC__) */
--
- #endif
-diff --git a/libdm/ioctl/libdm-iface.c b/libdm/ioctl/libdm-iface.c
-index 769b69c1b..28e2eadee 100644
---- a/libdm/ioctl/libdm-iface.c
-+++ b/libdm/ioctl/libdm-iface.c
-@@ -2145,7 +2145,7 @@ void dm_lib_exit(void)
- 	_version_checked = 0;
- }
- 
--#if defined(__GNUC__)
-+#if defined(GNU_SYMVER)
- /*
-  * Maintain binary backward compatibility.
-  * Version script mechanism works with 'gcc' compatible compilers only.
-diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c
-index ab0545659..00651c0b2 100644
---- a/libdm/libdm-deptree.c
-+++ b/libdm/libdm-deptree.c
-@@ -3797,7 +3797,7 @@ void dm_tree_node_set_callback(struct dm_tree_node *dnode,
- 	dnode->callback_data = data;
- }
- 
--#if defined(__GNUC__)
-+#if defined(GNU_SYMVER)
- /*
-  * Backward compatible implementations.
-  *
-diff --git a/libdm/libdm-stats.c b/libdm/libdm-stats.c
-index 94ad380e0..76efbbe35 100644
---- a/libdm/libdm-stats.c
-+++ b/libdm/libdm-stats.c
-@@ -5065,7 +5065,7 @@ int dm_stats_start_filemapd(int fd, uint64_t group_id, const char *path,
-  * current dm_stats_create_region() version.
-  */
- 
--#if defined(__GNUC__)
-+#if defined(GNU_SYMVER)
- int dm_stats_create_region_v1_02_106(struct dm_stats *dms, uint64_t *region_id,
- 				     uint64_t start, uint64_t len, int64_t step,
- 				     int precise, const char *program_id,
--- 
-2.18.0
-
diff --git a/package/lvm2/0002-udev-remove-unsupported-options-event-timeout-rule.patch b/package/lvm2/0002-udev-remove-unsupported-options-event-timeout-rule.patch
deleted file mode 100644
index f162ec58de..0000000000
--- a/package/lvm2/0002-udev-remove-unsupported-options-event-timeout-rule.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 125f27ac37bc9b93cc96f64052b9681b3d479ee1 Mon Sep 17 00:00:00 2001
-From: Peter Rajnoha <prajnoha at redhat.com>
-Date: Tue, 13 Aug 2019 15:18:30 +0200
-Subject: [PATCH] udev: remove unsupported OPTIONS+="event_timeout" rule
-
-The OPTIONS+="event_timeout" is Unsupported since systemd/udev version 216,
-that is ~5 years ago.
-
-Since systemd/udev version 243, there's a new message printed if unsupported
-OPTIONS value is used:
-
-  Invalid value for OPTIONS key, ignoring: 'event_timeout=180'
-
-Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1740666
-
-Signed-off-by: Pascal de Bruijn <p.debruijn at unilogic.nl>
----
-diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in
-index 91cb991..7c58994 100644
---- a/udev/11-dm-lvm.rules.in
-+++ b/udev/11-dm-lvm.rules.in
-@@ -37,8 +37,6 @@ ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_DISABLE_OTHE
- 
- ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end"
- 
--OPTIONS+="event_timeout=180"
--
- # Do not create symlinks for inappropriate subdevices.
- ENV{DM_LV_NAME}=="pvmove?*|?*_vorigin", GOTO="lvm_disable"
- ENV{DM_LV_LAYER}=="?*", GOTO="lvm_disable"
--- 
-2.9.3
-
diff --git a/package/lvm2/lvm2.hash b/package/lvm2/lvm2.hash
index 9a581527e0..1260669480 100644
--- a/package/lvm2/lvm2.hash
+++ b/package/lvm2/lvm2.hash
@@ -1,5 +1,5 @@
 # From http://sources.redhat.com/pub/lvm2/sha512.sum
-sha512 f421505551aec2a09bc862f2fcc1ee825bc4d94c53a01d13265631e99308d60fbca40112be5bc7824cce3ef223c0775d2f6c345f6a3f227229a0566c903841bf  LVM2.2.02.185.tgz
+sha512 e4d3bfb38b346251a2ea2cee7b79f2e12ed407652b659b35b65f58c8bb252943cee1c511713aeec8ff3400790e0e99ea6b83e8740050defe5cbb118f18bf7700  LVM2.2.03.12.tgz
 # Locally computed sha256 checksums
 sha256 e76fbcd2fb97cf202da330301327754d2db5c58b5b4bebd3a8a749393e7603d1  COPYING
 sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a  COPYING.LIB
diff --git a/package/lvm2/lvm2.mk b/package/lvm2/lvm2.mk
index 653e72c72f..dc4e938697 100644
--- a/package/lvm2/lvm2.mk
+++ b/package/lvm2/lvm2.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LVM2_VERSION = 2.02.185
+LVM2_VERSION = 2.03.12
 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz
 LVM2_SITE = http://sources.redhat.com/pub/lvm2
 LVM2_INSTALL_STAGING = YES
@@ -20,7 +20,7 @@ LVM2_CONF_OPTS += \
 	--enable-cmdlib \
 	--enable-dmeventd \
 	--disable-nls \
-	--disable-symvers
+	--with-symvers=no
 
 LVM2_DEPENDENCIES += host-pkgconf libaio
 


More information about the buildroot mailing list