[Buildroot] [PATCH] package/lvm2: update to version 2.03.05

Pascal de Bruijn p.debruijn at unilogic.nl
Tue Jan 7 14:45:12 UTC 2020


Signed-off-by: Pascal de Bruijn <p.debruijn at unilogic.nl>
---
 ...configure-Introduce-enable-symvers-option.patch | 278 ---------------------
 package/lvm2/lvm2.hash                             |   2 +-
 package/lvm2/lvm2.mk                               |   2 +-
 3 files changed, 2 insertions(+), 280 deletions(-)
 delete mode 100644 package/lvm2/0001-configure-Introduce-enable-symvers-option.patch

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 7ef1533..0000000
--- 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/lvm2.hash b/package/lvm2/lvm2.hash
index ad0d93b..a9367a2 100644
--- a/package/lvm2/lvm2.hash
+++ b/package/lvm2/lvm2.hash
@@ -1,5 +1,5 @@
 # From ftp://sources.redhat.com/pub/lvm2/sha512.sum
-sha512 3947523c6b0862ada40677ed171ed0cf95e070119e377296fc5ccb153e9c4212d34c0b16a887dbd68ccf265525345dabfed2aa59fb3604555429a7e2ecfff4d7  LVM2.2.02.183.tgz
+sha512 3b00f53771e99faa6459ae73353bff06ae37c64bd2659586ec25d0bb43bc3ff8ba5f713c68617fd7662a5f6cb65bca1ad0aea554819048d79c1cce20bf67c50a  LVM2.2.03.05.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 f2ed514..69a18fb 100644
--- a/package/lvm2/lvm2.mk
+++ b/package/lvm2/lvm2.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LVM2_VERSION = 2.02.183
+LVM2_VERSION = 2.03.05
 LVM2_SOURCE = LVM2.$(LVM2_VERSION).tgz
 LVM2_SITE = ftp://sources.redhat.com/pub/lvm2
 LVM2_INSTALL_STAGING = YES
-- 
2.7.4



More information about the buildroot mailing list